summaryrefslogtreecommitdiff
path: root/npc/008-2-13/lena.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/008-2-13/lena.txt')
-rw-r--r--npc/008-2-13/lena.txt270
1 files changed, 0 insertions, 270 deletions
diff --git a/npc/008-2-13/lena.txt b/npc/008-2-13/lena.txt
deleted file mode 100644
index 1de7a98b..00000000
--- a/npc/008-2-13/lena.txt
+++ /dev/null
@@ -1,270 +0,0 @@
-// The Mana World scripts.
-// Author:
-// Micksha
-// Jesusalva
-// Description:
-// Lena the Bowwoman.
-
-008-2-13,27,27,0 script Lena NPC_LENA,{
- .@q=getq(HurnscaldQuest_Bandits);
- // Declare all functions
- // Stage 1
- function lenaTooWeak;
- function lenaStart;
- function lenaReturn;
- // Stage 2
- function lenaQuest;
- function lenaCoinBag;
- // Stage 3
- function lenaBusy;
- function lenaBusy2;
- function lenaBanditLord;
- function lenaFinish;
- // Post stage
- function lenaDaily;
-
- switch (.@q) {
- // Stage 1
- case 0:
- if (BaseLevel < .minLevel_1)
- lenaTooWeak();
- lenaStart();
- break;
- case 1:
- lenaReturn();
- break;
- // Stage 2
- case 2:
- if (BaseLevel < .minLevel_2)
- lenaTooWeak();
- lenaQuest();
- break;
- case 3:
- lenaCoinBag();
- break;
- // Stage 3
- case 4:
- if (BaseLevel < .minLevel_1)
- lenaBusy();
- lenaBanditLord();
- break;
- case 5:
- case 6:
- lenaBusy2();
- break;
- case 7:
- lenaFinish();
- break;
- }
- close;
-
-function lenaDaily {
- // DailyQuest(lvl, cost, count, item)
- DailyQuest(40, 4, 10, CoinBag);
- return;
-}
-
-// ------------------------------------
-function lenaTooWeak {
- speech
- l("Hey."),
- l("Did you hear about the Bandit's attacks? They must have a hideout somewhere outside Hurnscald."),
- l("However, you are too weak to help me, so come back later.");
- close;
-}
-
-function lenaBusy {
- speech
- l("Hey."),
- l("Ah, I wish my dear friend Nickos could be here. He's one of the guards in Tulimshar and he'd know how to deal with those outlaws!"),
- l("I will inform you when I have more information about the bandits.");
- close;
-}
-
-function lenaBusy2 {
- mesn;
- mesq l("%s, we are counting on you! We, the whole Hurnscald town!", strcharinfo(0));
- close;
-}
-
-// ------------------------------------ Stage 1
-function lenaStart {
- mesn;
- mesq l("Ah, hello.");
- next;
- mesn;
- mesq l("We actually have a problem. Bandits ransacked Hurnscald, and took a huge loot.");
- next;
- mesn;
- mesq l("We pursued them until the mines, slayed them, and took the chests where they locked our stuff into.");
- next;
- mesn;
- mesq l("The problem is... The slimes ate the keys for the chests. This is not the first time such thing happens.");
- next;
- mesn;
- mesq l("If you bring us %d %s, we'll be forever grateful.", .numKeys, getitemlink(TreasureKey));
- select
- l("Don't worry ma'm, I'll recover the Treasure Keys at once."),
- l("Ah... Slimes... Sorry, not my cup of tea...");
- mes "";
- if (@menu == 2)
- close;
- setq HurnscaldQuest_Bandits, 1;
- mesn;
- mesq l("Wonderful! I'll be expecting you back.");
- return;
-}
-
-function lenaReturn {
- mesn;
- mesq l("Adventurer, did you brought me what I asked? I see you have %d/%d %s.", countitem(TreasureKey), .numKeys, getitemlink(TreasureKey));
- mes "";
- select
- rif(countitem(TreasureKey) >= .numKeys, l("Yes, take it.")),
- rif(countitem(TreasureKey) < .numKeys, l("No, I'll be back with them.")),
- l("Hm, can we talk again later?");
- mes "";
- if (@menu != 1)
- close;
- delitem TreasureKey, .numKeys;
- quest_gp(.maxLevel_1, 1000);
- quest_xp(.maxLevel_1, 1599); // 20% from needed exp
- setq HurnscaldQuest_Bandits, 2;
- mesn;
- mesq l("Hey hey... Good job! We can now use again the stuff we recovered from the bandits.");
- next;
- mesn;
- mesq l("Here is some GP for your efforts. Thanks for making Hurnscald a better place to live.");
- next;
- mesn;
- mesq l("This happens quite often, too. My friends and I are always collecting keys to reduce beer price on Hurnscald. %%2");
- return;
-}
-
-// ------------------------------------ Stage 2
-function lenaQuest {
- mesn;
- mesq l("Ah, %s, good thing you are here.", strcharinfo(0));
- next;
- mesn;
- mesq l("Bandits are a huge threat to Hurnscald. We're just a small farming town, and they're countless.");
- next;
- mesn;
- mesq l("Unlike the thieves guild, they are ruthless, and break everything. We lose more repairing damage than actually stolen.");
- next;
- mesn;
- mesq l("Last time I went to fight the Bandit Lord, I was severely wounded.");
- next;
- mesn;
- mesq l("I will reward whoever kills the current bandit leader, of course.");
- select
- l("I would gladly aid you to get rid of that scourge."),
- l("Sorry, I forgot my courage on my other set of pants.");
- mes "";
- if (@menu == 2)
- close;
- setq HurnscaldQuest_Bandits, 3;
- mesn;
- mesq l("Wonderful! So, how about a warm up?");
- next;
- mesn;
- mesq l("Bring me %d %s. This should help us amending the damage they caused and is a good warm-up exercise.", .numCoins, getitemlink(CoinBag));
- return;
-}
-
-function lenaCoinBag {
- mesn;
- mesq l("Adventurer, did you brought me what I asked? I see you have %d/%d %s.", countitem(CoinBag), .numCoins, getitemlink(CoinBag));
- mes "";
- select
- rif(countitem(CoinBag) >= .numCoins, l("Yes, take it.")),
- rif(countitem(CoinBag) < .numCoins, l("No, I'll be back with them.")),
- l("Hm, can we talk again later?");
- mes "";
- if (@menu != 1)
- close;
- inventoryplace FairyHat, 1;
- delitem CoinBag, .numCoins;
- .@gp=getiteminfo(CoinBag, ITEMINFO_SELLPRICE) * .numCoins * 15 / 10;
- quest_gp(.maxLevel_2, .@gp); // +50% of base sell price
- quest_xp(.maxLevel_2, 6842); // 20% from needed exp
- getitem FairyHat, 1;
- setq HurnscaldQuest_Bandits, 4;
- mesn;
- mesq l("Hey hey... Good job! This help us more than you think. Here is a hat like mine.");
- next;
- mesn;
- mesq l("Unfortunately, I feel this bandit threat may have grown. Come back later, I'll talk with the Brotherhood for a while and probably will need your help again.");
- return;
-}
-// ------------------------------------ Stage 3
-function lenaBanditLord {
- mesn;
- mesq l("So... I won't say you can't do it, %s. I will just say killing the Bandit Lord is no easy task.", strcharinfo(0));
- next;
- mesn;
- mesq l("The %s is not only a fearsome and ruthless leader. He is strong, and he have tricks on his sleeve.", getmonsterlink(BanditLord));
- next;
- mesn;
- mesq l("He will summon allies if he think you have the upper hand. So take care if you are going ranged.");
- next;
- mesn;
- mesq l("I know another Bandit Lord will take up his place, but the loss of their leader will make bandits scatter long enough.");
- next;
- mesn;
- mesq l("Will you help me- no, I mean, will you help us, the whole town of Hurnscald?");
- next;
- select
- l("Sorry, I need to better prepare myself."),
- l("I would gladly give my life for such noble goal.");
- mes "";
- if (@menu == 1)
- close;
- setq HurnscaldQuest_Bandits, 5;
- mesn;
- mesq l("...You have courage. Many people tried and failed.");
- next;
- mesn;
- mesq l("I know where the Bandit Lord room is, and I have a guard stationed not far from there. Ask him for the key.");
- next;
- mesn;
- mesq l("One last thing... Good luck. This bandit threat needs to be pushed back.");
- return;
-}
-
-function lenaFinish {
- mesn;
- mesq l("Ah... You did it!");
- next;
- mesn;
- mesq l("That's easy to know, because the bandits are less coordinated. Perhaps we will be able to sleep in peace this night!");
- next;
- inventoryplace ForestArmor, 1;
- getitem ForestArmor, 1;
- quest_xp(.maxLevel_3, 5842); // 10% from needed exp
- quest_jxp(.maxLevel_3, 93); // + JExp level 6
- setq HurnscaldQuest_Bandits, 8;
- mesn;
- mesq l("Here is the %s, like my armor, and one of the best for rangers.", getitemlink(ForestArmor));
- next;
- mesn;
- mesq l("Any friend of Hurnscald is my friend too. Come to me again, if you want to do daily quests!");
- return;
-}
-
-OnInit:
- .distance = 4;
-
- // Quest configuration
- .minLevel_1=15;
- .maxLevel_1=35;
- .numKeys = 15;
-
- .minLevel_2=30;
- .maxLevel_2=50;
- .numCoins = 20;
-
- .minLevel_3=35;
- .maxLevel_3=55;
- end;
-}