From 01422b2e536928f49b2734c11ef0e08225aebc75 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sun, 18 Jul 2021 03:03:47 -0300 Subject: Our playe--clients, are now able to store up to 1200 items or so, thanks to the PREMIUM and DELUXE storage options. Contact your local banker TODAY! PS. Subject to credit analysis and reference validations. Special taxes may apply. Contact the Mouboo Central Bank for details. --- conf/map/storage.conf | 10 +++++++++ npc/functions/bank.txt | 57 +++++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 60 insertions(+), 7 deletions(-) diff --git a/conf/map/storage.conf b/conf/map/storage.conf index f417040e7..089d23d14 100644 --- a/conf/map/storage.conf +++ b/conf/map/storage.conf @@ -59,4 +59,14 @@ storage_conf: ( Name: "Fortress Storage" Capacity: 10 }, +{ + Id: 4 + Name: "Premium Storage" + Capacity: 300 +}, +{ + Id: 5 + Name: "Deluxe Storage" + Capacity: 500 +}, ) diff --git a/npc/functions/bank.txt b/npc/functions/bank.txt index f7650947f..40ff31dbd 100644 --- a/npc/functions/bank.txt +++ b/npc/functions/bank.txt @@ -154,18 +154,20 @@ function script BKInfo { speech S_LAST_NEXT, l("We organize some auction and we help local merchants to launch their businesses."), l("We also feature some services like a storage and a bank for members."), - l("Registration is open to everybody, but newcomers need to pay a fee for all of the paperwork."); + l("Registration is open to everybody, but newcomers need to pay a fee for all of the paperwork."), + l("If you have... references, we may also be able to offer you... premium storing."); narrator S_FIRST_BLANK_LINE, l("The bank and item storage is shared between all characters within a same account."), l("With it, you can safely move items and funds between your characters."), - l("To move between characters that are on different accounts, you have to use the Trade function."); + l("The Premium and Deluxe Storages are only available for characters which were reborn at least once."); return; } -// name, city, price +// name, city, price, ID function script BKReg { .@price=max(2000, getarg(2)-#BankP); + .@id=getarg(3, 1); @menu=3; do { @@ -180,8 +182,8 @@ function script BKReg { mes ""; if (@menu == 1) { Zeny=Zeny-.@price; - setq General_Banker, 1; - #BankP=#BankP+rand2(150,400); + setq General_Banker, .@id; + #BankP=#BankP+(rand2(150,400)*(.@id**2)); mesn getarg(0); mesq l("Registered! You can now use any banking service, of any town!"); } else if (@menu == 3) { @@ -206,6 +208,8 @@ function script Banker { l("I would like to store some items."), l("I would like to perform money transactions."), l("Did I received any mail?"), + rif(REBIRTH || is_sponsor(), l("I would like to use the Premium Storage.")), + rif(REBIRTH, l("I would like to use the Deluxe Storage.")), l("What is this guild for?"), l("Bye."); @@ -228,15 +232,54 @@ function script Banker { close; break; case 4: + if (getq(General_Banker) < 2) { + mesn; + mesq l("The Premium Storage is available to all our sponsors and anyone with... references. Such as yourself!"); + next; + .@price=25000; + mesn; + mesq l("It will allow you to store %d extra items, with unlimited weight or size limit, for only %s GP! Although premium clients such as yourself... deserve a discount!", 300, fnum(.@price)); + next; + BKReg(getarg(0), getarg(1), .@price, 2); + } + if (getq(General_Banker) >= 2) { + closeclientdialog; + openstorage 4; + close; + } + break; + case 5: + if (getq(General_Banker) < 2) { + mesn; + mesq l("This option is not yet available for you; Please purchase the Premium Storage first, and then we can get started on the deluxe."); + break; + } + if (getq(General_Banker) < 3) { + mesn; + mesq l("The Deluxe Storage is available only to our best customers, and how lucky you! YOU are eligible!"); + next; + .@price=100000; + mesn; + mesq l("It will allow you to store %d extra items, with unlimited weight or size limit, for only %s GP! Although premium clients such as yourself... deserve a discount!", 500, fnum(.@price)); + next; + BKReg(getarg(0), getarg(1), .@price, 3); + } + if (getq(General_Banker) >= 3) { + closeclientdialog; + openstorage 5; + close; + } + break; + case 6: mes ""; BKInfo(); break; } - if (@menu != 5) { + if (@menu != 7) { speech S_FIRST_BLANK_LINE | S_LAST_NEXT | S_NO_NPC_NAME, l("Something else?"); } - } while (@menu != 5); + } while (@menu != 7); } closedialog; goodbye; -- cgit v1.2.3-70-g09d2