diff options
-rw-r--r-- | conf/map/storage.conf | 10 | ||||
-rw-r--r-- | 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; |