diff options
author | Saulc <lucashelaine14@gmail.com> | 2018-01-13 20:50:42 +0100 |
---|---|---|
committer | Saulc <lucashelaine14@gmail.com> | 2018-01-13 20:50:42 +0100 |
commit | 20df2abc1aca00d6aa5dc78347133890f36b32f3 (patch) | |
tree | 4ad4a8bb8b0605473a702e314799a4626347721a /npc/functions/bank.txt | |
download | serverdata-20df2abc1aca00d6aa5dc78347133890f36b32f3.tar.gz serverdata-20df2abc1aca00d6aa5dc78347133890f36b32f3.tar.bz2 serverdata-20df2abc1aca00d6aa5dc78347133890f36b32f3.tar.xz serverdata-20df2abc1aca00d6aa5dc78347133890f36b32f3.zip |
Initial commit
Diffstat (limited to 'npc/functions/bank.txt')
-rw-r--r-- | npc/functions/bank.txt | 134 |
1 files changed, 134 insertions, 0 deletions
diff --git a/npc/functions/bank.txt b/npc/functions/bank.txt new file mode 100644 index 000000000..5b2813797 --- /dev/null +++ b/npc/functions/bank.txt @@ -0,0 +1,134 @@ +// Evol scripts. +// Authors: +// gumi +// Reid + +function script MerchantGuild_Bank { + do + { + if (BankVault > 0) + { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("You currently have @@ Esperin on your bank account.", + format_number(BankVault)), + l("What do you want to do with your money?"); + } + else + { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("What do you want to do with your money?"); + } + + select + rif(Zeny > 0, l("Deposit.")), + rif(BankVault > 0, l("Withdraw.")), + l("I'm done."); + + switch (@menu) + { + case 1: + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("How much do you want to deposit?"); + + menuint + l("Other."), -1, + rif(Zeny >= 5000, format_number(5000) + " E."), 5000, + rif(Zeny >= 10000, format_number(10000) + " E."), 10000, + rif(Zeny >= 25000, format_number(25000) + " E."), 25000, + rif(Zeny >= 50000, format_number(50000) + " E."), 50000, + rif(Zeny >= 100000, format_number(100000) + " E."), 100000, + rif(Zeny >= 250000, format_number(250000) + " E."), 250000, + rif(Zeny >= 500000, format_number(500000) + " E."), 500000, + rif(Zeny >= 1000000, format_number(1000000) + " E."), 1000000, + l("All of my money."), -2, + l("I changed my mind."), -3; + + switch (@menuret) + { + case -1: + input @menuret; + break; + case -2: + @menuret = Zeny; + } + + if (@menuret > 0) + { + if (@menuret > Zeny) + { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("You do not have enough Esperin on yourself."); + break; + } + + @menuret = min(MAX_BANK_ZENY, @menuret); // make sure the variable can't overflow + .@before = BankVault; // amount before the deposit + .@max = MAX_BANK_ZENY - BankVault; // maximum possible deposit + .@deposit = min(.@max, @menuret); // actual deposit + + if (.@deposit > 0) + { + BankVault += .@deposit; // add to bank + Zeny -= .@deposit; // remove from inventory + + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("You made a cash deposit of @@ E.", format_number(.@deposit)); + } + } + break; + + case 2: + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("How much do you want to withdraw?"); + + menuint + l("Other."), -1, + rif(BankVault >= 5000, format_number(5000) + " E."), 5000, + rif(BankVault >= 10000, format_number(10000) + " E."), 10000, + rif(BankVault >= 25000, format_number(25000) + " E."), 25000, + rif(BankVault >= 50000, format_number(50000) + " E."), 50000, + rif(BankVault >= 100000, format_number(100000) + " E."), 100000, + rif(BankVault >= 250000, format_number(250000) + " E."), 250000, + rif(BankVault >= 500000, format_number(500000) + " E."), 500000, + rif(BankVault >= 1000000, format_number(1000000) + " E."), 1000000, + l("All of my money."), -2, + l("I changed my mind."), -3; + + switch (@menuret) + { + case -1: + input @menuret; + break; + case -2: + @menuret = BankVault; + } + + if (@menuret > 0) + { + if (@menuret > BankVault) + { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("You do not have enough Esperin on your bank account."); + break; + } + + @menuret = min(MAX_ZENY, @menuret); // make sure the variable can't overflow + .@before = Zeny; // amount before the withdrawal + .@max = MAX_ZENY - Zeny; // maximum possible withdrawal + .@withdrawal = min(.@max, @menuret); // actual withdrawal + + if (.@withdrawal > 0) + { + Zeny += .@withdrawal; // add to inventory + BankVault -= .@withdrawal; // remove from bank + + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("You withdrew a total of @@ E.", format_number(.@withdrawal)); + } + } + break; + + default: return; + } + } while (true); +} |