summaryrefslogtreecommitdiff
path: root/npc/functions/bank.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/functions/bank.txt')
-rw-r--r--npc/functions/bank.txt297
1 files changed, 0 insertions, 297 deletions
diff --git a/npc/functions/bank.txt b/npc/functions/bank.txt
deleted file mode 100644
index 2af9136e..00000000
--- a/npc/functions/bank.txt
+++ /dev/null
@@ -1,297 +0,0 @@
-// Evol scripts.
-// Authors:
-// gumi
-// Reid
-// Jesusalva
-
-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);
-}
-
-// MerchantGuild_Quests(.bankid)
-function script MerchantGuild_Quests {
- mes "";
- // Quest Type, Quest Data, Quest Timer
- .@q=getq(General_MerchantRequest);
- .@q2=getq2(General_MerchantRequest);
- .@q3=getq3(General_MerchantRequest);
- .@id=getarg(0);
-
- // Cooldown
- if (.@q3 > gettimetick(2)) {
- mesn $@BANK_NAME$[.@id];
- mesq l("There are no tasks for you right now.");
- mesc l("Please come back later, in %s.", FuzzyTime(.@q3));
- next;
- return;
- }
-
- // TODO: Submit/Abort current request
- switch (.@q) {
- case MERCQ_LETTER:
- if (.@id == .@q2) {
- mesn $@BANK_NAME$[.@id];
- mesq l("Thanks for the letter! Your efforts are greatly appreciated.");
- Zeny+=rand2(100, 500);
- getexp rand2(1000, 5000), rand2(150, 300);
- setq General_MerchantRequest, MERCQ_NONE, 0, gettimetick(2)+1800;
- return;
- }
- else
- {
- mesn $@BANK_NAME$[.@id];
- mesq l("Current task: Deliver a letter to %s", $@BANK_TOWN$[.@q2]);
- next;
- select
- l("Continue"),
- l("Abort") + " ["+l("Change task")+"]";
- mes "";
- if (@menu == 1)
- return;
- setq General_MerchantRequest, MERCQ_NONE, 0, gettimetick(2);
- }
- break;
- /* ***************************************** */
- case MERCQ_GOODS:
- .@cont=ASK_NO;
- if (countitem(.@q2)) {
- mesc l("Deliver %s?", getitemlink(.@q2));
- .@cont=askyesno();
- }
- if (.@cont == ASK_YES) {
- mesn $@BANK_NAME$[.@id];
- mesq l("Thanks for the %s! Your efforts are greatly appreciated.", getitemlink(.@q2));
- delitem .@q2, 1;
- Zeny+=rand2(500, 2500);
- getexp rand2(5000, 15000), rand2(250, 400);
- setq General_MerchantRequest, MERCQ_NONE, 0, gettimetick(2)+7200;
- return;
- }
- else
- {
- mesn $@BANK_NAME$[.@id];
- mesq l("Current task: Purchase a(n) %s", getitemlink(.@q2));
- next;
- select
- l("Continue"),
- l("Abort") + " ["+l("Change task")+"]";
- mes "";
- if (@menu == 1)
- return;
- setq General_MerchantRequest, MERCQ_NONE, 0, gettimetick(2);
- }
- break;
- /* ***************************************** */
- case MERCQ_SCOUT:
- if (.@id == .@q2) {
- mesn $@BANK_NAME$[.@id];
- mesq l("Thanks for scorting our caravan! Your efforts are greatly appreciated.");
- Zeny+=rand2(2500, 5000);
- getexp rand2(21000, 35000), rand2(500, 800);
- setq General_MerchantRequest, MERCQ_NONE, 0, gettimetick(2)+43200;
- return;
- }
- else
- {
- mesn $@BANK_NAME$[.@id];
- mesq l("Current task: Scout guild member to %s", $@BANK_TOWN$[.@q2]);
- next;
- select
- l("Continue"),
- l("Abort");
- mes "";
- if (@menu == 1)
- return;
- setq General_MerchantRequest, MERCQ_NONE, 0, gettimetick(2);
- }
- break;
- }
-
- do
- {
- mesc l("The %s Merchant Guild has a few requests for you:", $@BANK_TOWN$[.@id]);
- .@town = .@id;
- while (.@town == .@id) {
- .@town=rand2(getarraysize($@BANK_TOWN$));
- }
- select
- l("How does this works?"),
- rif(.@town != .@id, l("★ Deliver a letter")),
- l("★★ Purchase goods"),
- //rif(.@town != .@id, l("★★★ Scout a caravan")),
- l("Sorry, I won't accept any.");
- mes "";
- switch (@menu) {
- case 1:
- mesc l("The Merchant Guild spawns multiple continents, and we can offer you a few tasks for them. Be careful as you might not be able to finish them and you'll have to abort!");
- mesc l("The more stars, the harder it is.");
- next;
- mesc l("After completing a request, there'll be a cooldown, proportional to the difficulty.");
- mesc l("You can only have one Merchant Guild request active at same time.");
- next;
- break;
- // Deliver a letter
- case 2:
- mesc l("We need you to deliver this important letter to %s! Avoid the roads and bandits!", $@BANK_NAME$[.@town]);
- next;
- mesc l("Accept request?");
- if (askyesno() == ASK_YES) {
- mesc l("I'm counting on you!");
- setq General_MerchantRequest, MERCQ_LETTER, .@town, gettimetick(2);
- return;
- }
- break;
- // Purchase goods
- case 3:
- .@item=any(ElixirOfLife,
- CarpSandwich, PioulegSandwich, MananaSandwich,
- MaggotSlimePotion, BlueberryCake, CarrotCake, Donut,
- DeathPotion, TreasureMap, IronIngot, SilverIngot, GoldIngot,
- Diamond, Ruby, Emerald, Sapphire, Topaz, Amethyst,
- CrudeDiamond, CrudeRuby, CrudeEmerald,
- CrudeSapphire, CrudeTopaz, CrudeAmethyst,
- RunestoneUruz, RunestoneRaido, RunestoneThurisaz,
- RunestoneKaunaz, RunestoneDagaz, RunestonePeorth);
- // TODO: equips, as crafting/tailoring is added
- mesc l("The merchant guild needs %s! Purchase it and deliver at the nearest merchant guild member!", getitemlink(.@item));
- next;
- mesc l("Accept request?");
- if (askyesno() == ASK_YES) {
- mesc l("I'm counting on you!");
- setq General_MerchantRequest, MERCQ_GOODS, .@item, gettimetick(2);
- return;
- }
- break;
- default:
- return;
- }
- } while (true);
- return;
-}
-