summaryrefslogtreecommitdiff
path: root/world/map/npc/functions/banker.txt
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/functions/banker.txt')
-rw-r--r--world/map/npc/functions/banker.txt335
1 files changed, 178 insertions, 157 deletions
diff --git a/world/map/npc/functions/banker.txt b/world/map/npc/functions/banker.txt
index 3c060071..4b9e7050 100644
--- a/world/map/npc/functions/banker.txt
+++ b/world/map/npc/functions/banker.txt
@@ -1,228 +1,249 @@
//
-function script Banker {
+function|script|Banker|{
- if (BankAccount > 0) callsub S_MoveAccount;
+ if (BankAccount > 0) callsub S_MoveAccount;
L_Start:
- mes "[" + @npcname$ + "]";
- mes "\"Welcome to the bank!";
- mes "How can I help you?\"";
- next;
- menu
- "Deposit", L_Dep,
- "Withdraw", L_With,
- "Check my balance", L_Balance,
- "Open my storage", L_Storage,
- "Change Bank Options", L_Change,
- "Nevermind", L_Nev;
-
- close;
+ mes "[" + @npcname$ + "]";
+ mes "\"Welcome to the bank!";
+ mes "How can I help you?\"";
+ next;
+ menu
+ "Deposit", L_Dep,
+ "Withdraw", L_With,
+ "Check my balance", L_Balance,
+ "Open my storage", L_Storage,
+ "Change Bank Options", L_Change,
+ "Nevermind", L_Nev;
+ close;
// need to close window before opening storage.
L_Storage:
- if (#BankOptions & OPT_STORAGE_CLOSE) close2;
- openstorage;
- if (#BankOptions & OPT_STORAGE_CLOSE) end;
- goto L_Start;
+ if (#BankOptions & OPT_STORAGE_CLOSE) close2;
+ openstorage;
+ if (#BankOptions & OPT_STORAGE_CLOSE) end;
+ goto L_Start;
L_Dep:
- mes "[" + @npcname$ + "]";
- mes "\"How much would you like to deposit?\"";
- next;
- menu
- "Other", L_Dep_Input,
- "5,000 GP", L_Dep_5k,
- "10,000 GP", L_Dep_10k,
- "25,000 GP", L_Dep_25k,
- "50,000 GP", L_Dep_50k,
- "100,000 GP", L_Dep_100k,
- "250,000 GP", L_Dep_250k,
- "500,000 GP", L_Dep_500k,
- "1,000,000 GP", L_Dep_1kk,
- "All of my money", L_Dep_All,
- "I've changed my mind", L_Start,
- "Quit", -;
- return;
+ mes "[" + @npcname$ + "]";
+ mes "\"How much would you like to deposit?\"";
+ next;
+ menu
+ "Other", L_Dep_Input,
+ "5,000 GP", L_Dep_5k,
+ "10,000 GP", L_Dep_10k,
+ "25,000 GP", L_Dep_25k,
+ "50,000 GP", L_Dep_50k,
+ "100,000 GP", L_Dep_100k,
+ "250,000 GP", L_Dep_250k,
+ "500,000 GP", L_Dep_500k,
+ "1,000,000 GP", L_Dep_1kk,
+ "All of my money", L_Dep_All,
+ "I've changed my mind", L_Start,
+ "Quit", -;
+ return;
L_Dep_Input:
- input @Amount;
- if (@Amount >= 0) goto L_Dep_Continue;
- mes "[" + @npcname$ + "]";
- mes "\"I need a positive amount. What would you like to do?\"";
- menu
- "Go back", L_Start,
- "Try again", L_Dep_Input,
- "Deposit all", L_Dep_All,
- "Nevermind", -;
- goto L_Nev;
+ input @Amount;
+ if (@Amount >= 0)
+ goto L_Dep_Continue;
+ mes "[" + @npcname$ + "]";
+ mes "\"I need a positive amount. What would you like to do?\"";
+ menu
+ "Go back", L_Start,
+ "Try again", L_Dep_Input,
+ "Deposit all", L_Dep_All,
+ "Nevermind", -;
+ goto L_Nev;
L_Dep_5k:
- if (zeny<5000) goto L_NoMoney;
- set @Amount, 5000;
- goto L_Dep_Continue;
+ if (zeny<5000)
+ goto L_NoMoney;
+ set @Amount, 5000;
+ goto L_Dep_Continue;
L_Dep_10k:
- if (zeny<10000) goto L_NoMoney;
- set @Amount, 10000;
- goto L_Dep_Continue;
+ if (zeny<10000)
+ goto L_NoMoney;
+ set @Amount, 10000;
+ goto L_Dep_Continue;
L_Dep_25k:
- if (zeny<25000) goto L_NoMoney;
- set @Amount, 25000;
- goto L_Dep_Continue;
+ if (zeny<25000)
+ goto L_NoMoney;
+ set @Amount, 25000;
+ goto L_Dep_Continue;
L_Dep_50k:
- if (zeny<50000) goto L_NoMoney;
- set @Amount, 50000;
- goto L_Dep_Continue;
+ if (zeny<50000)
+ goto L_NoMoney;
+ set @Amount, 50000;
+ goto L_Dep_Continue;
L_Dep_100k:
- if (zeny<100000) goto L_NoMoney;
- set @Amount, 100000;
- goto L_Dep_Continue;
+ if (zeny<100000)
+ goto L_NoMoney;
+ set @Amount, 100000;
+ goto L_Dep_Continue;
L_Dep_250k:
- if (zeny<250000) goto L_NoMoney;
- set @Amount, 250000;
- goto L_Dep_Continue;
+ if (zeny<250000)
+ goto L_NoMoney;
+ set @Amount, 250000;
+ goto L_Dep_Continue;
L_Dep_500k:
- if (zeny<500000) goto L_NoMoney;
- set @Amount, 500000;
- goto L_Dep_Continue;
+ if (zeny<500000)
+ goto L_NoMoney;
+ set @Amount, 500000;
+ goto L_Dep_Continue;
L_Dep_1kk:
- if (zeny<1000000) goto L_NoMoney;
- set @Amount, 1000000;
- goto L_Dep_Continue;
+ if (zeny<1000000)
+ goto L_NoMoney;
+ set @Amount, 1000000;
+ goto L_Dep_Continue;
L_Dep_All:
- if (zeny<1) goto L_NoMoney;
- set @Amount, zeny;
+ if (zeny<1)
+ goto L_NoMoney;
+ set @Amount, zeny;
L_Dep_Continue:
- if (zeny < @Amount) goto L_NoMoney;
- set zeny, zeny - @Amount;
- set #BankAccount, #BankAccount + @Amount;
- goto L_Balance;
+ if (zeny < @Amount)
+ goto L_NoMoney;
+ set zeny, zeny - @Amount;
+ set #BankAccount, #BankAccount + @Amount;
+ goto L_Balance;
L_With:
- mes "[" + @npcname$ + "]";
- mes "\"How much would you like to withdraw?\"";
- menu
- "Other", L_With_Input,
- "5,000 GP", L_With_5k,
- "10,000 GP", L_With_10k,
- "25,000 GP", L_With_25k,
- "50,000 GP", L_With_50k,
- "100,000 GP", L_With_100k,
- "250,000 GP", L_With_250k,
- "500,000 GP", L_With_500k,
- "1,000,000 GP", L_With_1kk,
- "All of my money", L_With_All,
- "I've changed my mind", L_Start,
- "Quit", -;
- return;
+ mes "[" + @npcname$ + "]";
+ mes "\"How much would you like to withdraw?\"";
+ menu
+ "Other", L_With_Input,
+ "5,000 GP", L_With_5k,
+ "10,000 GP", L_With_10k,
+ "25,000 GP", L_With_25k,
+ "50,000 GP", L_With_50k,
+ "100,000 GP", L_With_100k,
+ "250,000 GP", L_With_250k,
+ "500,000 GP", L_With_500k,
+ "1,000,000 GP", L_With_1kk,
+ "All of my money", L_With_All,
+ "I've changed my mind", L_Start,
+ "Quit", -;
+ return;
L_With_Input:
- input @Amount;
- if (@Amount >= 0) goto L_With_Continue;
- mes "[" + @npcname$ + "]";
- mes "\"I need a positive amount. What would you like to do?\"";
- menu
- "Go back", L_Start,
- "Try again", L_With_Input,
- "Withdraw all", L_With_All,
- "Nevermind", -;
- goto L_Nev;
+ input @Amount;
+ if (@Amount >= 0)
+ goto L_With_Continue;
+ mes "[" + @npcname$ + "]";
+ mes "\"I need a positive amount. What would you like to do?\"";
+ menu
+ "Go back", L_Start,
+ "Try again", L_With_Input,
+ "Withdraw all", L_With_All,
+ "Nevermind", -;
+ goto L_Nev;
L_With_5k:
- if (#BankAccount < 5000) goto L_NoMoney;
- set @Amount, 5000;
- goto L_With_Continue;
+ if (#BankAccount < 5000)
+ goto L_NoMoney;
+ set @Amount, 5000;
+ goto L_With_Continue;
L_With_10k:
- if (#BankAccount < 10000) goto L_NoMoney;
- set @Amount, 10000;
- goto L_With_Continue;
+ if (#BankAccount < 10000)
+ goto L_NoMoney;
+ set @Amount, 10000;
+ goto L_With_Continue;
L_With_25k:
- if (#BankAccount < 25000) goto L_NoMoney;
- set @Amount, 25000;
- goto L_With_Continue;
+ if (#BankAccount < 25000)
+ goto L_NoMoney;
+ set @Amount, 25000;
+ goto L_With_Continue;
L_With_50k:
- if (#BankAccount < 50000) goto L_NoMoney;
- set @Amount, 50000;
- goto L_With_Continue;
+ if (#BankAccount < 50000)
+ goto L_NoMoney;
+ set @Amount, 50000;
+ goto L_With_Continue;
L_With_100k:
- if (#BankAccount < 100000) goto L_NoMoney;
- set @Amount, 100000;
- goto L_With_Continue;
+ if (#BankAccount < 100000)
+ goto L_NoMoney;
+ set @Amount, 100000;
+ goto L_With_Continue;
L_With_250k:
- if (#BankAccount < 250000) goto L_NoMoney;
- set @Amount, 250000;
- goto L_With_Continue;
+ if (#BankAccount < 250000)
+ goto L_NoMoney;
+ set @Amount, 250000;
+ goto L_With_Continue;
L_With_500k:
- if (#BankAccount < 500000) goto L_NoMoney;
- set @Amount, 500000;
- goto L_With_Continue;
+ if (#BankAccount < 500000)
+ goto L_NoMoney;
+ set @Amount, 500000;
+ goto L_With_Continue;
L_With_1kk:
- if (#BankAccount < 1000000) goto L_NoMoney;
- set @Amount, 1000000;
- goto L_With_Continue;
+ if (#BankAccount < 1000000)
+ goto L_NoMoney;
+ set @Amount, 1000000;
+ goto L_With_Continue;
L_With_All:
- if (#BankAccount < 0) goto L_NoMoney;
- set @Amount, #BankAccount;
+ if (#BankAccount < 0)
+ goto L_NoMoney;
+ set @Amount, #BankAccount;
L_With_Continue:
- if (#BankAccount < @Amount) goto L_NoMoney;
- set zeny, zeny + @Amount;
- set #BankAccount, #BankAccount - @Amount;
- goto L_Balance;
+ if (#BankAccount < @Amount)
+ goto L_NoMoney;
+ set zeny, zeny + @Amount;
+ set #BankAccount, #BankAccount - @Amount;
+ goto L_Balance;
L_Balance:
- mes "[" + @npcname$ + "]";
- mes "\"Your current bank balance is:";
- mes #BankAccount + " GP\"";
- if (#BankOptions & OPT_BANK_CLOSE) close;
- goto L_Start;
+ mes "[" + @npcname$ + "]";
+ mes "\"Your current bank balance is:";
+ mes #BankAccount + " GP\"";
+ if (#BankOptions & OPT_BANK_CLOSE) close;
+ goto L_Start;
L_Nev:
- mes "[" + @npcname$ + "]";
- mes "\"Goodbye then.\"";
- return;
+ mes "[" + @npcname$ + "]";
+ mes "\"Goodbye then.\"";
+ return;
L_NoMoney:
- mes "[" + @npcname$ + "]";
- mes "\"Oh dear, it seems that you don't have enough money.\"";
- goto L_Start;
+ mes "[" + @npcname$ + "]";
+ mes "\"Oh dear, it seems that you don't have enough money.\"";
+ goto L_Start;
S_MoveAccount:
- set #BankAccount, #BankAccount + BankAccount;
- set BankAccount, 0;
- return;
+ set #BankAccount, #BankAccount + BankAccount;
+ set BankAccount, 0;
+ return;
L_Change:
- setarray @menuitems$, "Keep the current settings", "Close NPC dialog after selecting storage option", "Close NPC dialog after checking your balance";
- if (#BankOptions & OPT_STORAGE_CLOSE) set @menuitems$[1], "Return to main menu after leaving storage";
- if (#BankOptions & OPT_BANK_CLOSE) set @menuitems$[2], "Return to main menu after leaving bank";
- menu
- @menuitems$[0], L_Start,
- @menuitems$[1], L_Change_Storage,
- @menuitems$[2], L_Change_Bank;
+ setarray @menuitems$, "Keep the current settings", "Close NPC dialog after selecting storage option", "Close NPC dialog after checking your balance";
+ if (#BankOptions & OPT_STORAGE_CLOSE) set @menuitems$[1], "Return to main menu after leaving storage";
+ if (#BankOptions & OPT_BANK_CLOSE) set @menuitems$[2], "Return to main menu after leaving bank";
+ menu
+ @menuitems$[0], L_Start,
+ @menuitems$[1], L_Change_Storage,
+ @menuitems$[2], L_Change_Bank;
L_Change_Storage:
- set #BankOptions, (#BankOptions ^ OPT_STORAGE_CLOSE);
- goto L_Start;
+ set #BankOptions, (#BankOptions ^ OPT_STORAGE_CLOSE);
+ goto L_Start;
L_Change_Bank:
- set #BankOptions, (#BankOptions ^ OPT_BANK_CLOSE);
- goto L_Start;
+ set #BankOptions, (#BankOptions ^ OPT_BANK_CLOSE);
+ goto L_Start;
}