From a9e86afefd3915bce49bfbcc32bccb4b76f73ec2 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Fri, 22 Jun 2018 00:35:07 -0300 Subject: Helena, stages 1 & 2 --- npc/012-2/helena.txt | 99 ++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 88 insertions(+), 11 deletions(-) (limited to 'npc/012-2/helena.txt') diff --git a/npc/012-2/helena.txt b/npc/012-2/helena.txt index 58809c47c..a1547414d 100644 --- a/npc/012-2/helena.txt +++ b/npc/012-2/helena.txt @@ -3,21 +3,39 @@ // Jesusalva // Description: // Lena +// Variables: +// $HELENA_ST +// Tracks how many set of Treasure Keys were given by all players thus far. +// Affects beer prices on Hurnscald. +// HurnscaldQuest_Bandits +// q1 -> Current status +// q2 -> Counter, and Bandit Hood timer +// q3 -> 012-2,47,40,0 script Helena NPC_FEMALE,{ .@q=getq(HurnscaldQuest_Bandits); - // Stage 1: Level 30, collect Bandit Hood + // Stage 1: Level 30, collect Treasure Key if (BaseLevel < 30) goto L_TooWeak; + if (.@q == 0) goto L_Start; if (.@q == 1) goto L_Return; - // Stage 2: Level 40, collect - if (BaseLevel < 40) goto L_TooWeak; - if (.@q == 1) goto L_Return; + // Stage 2: Level 40, collect Bandit Hood + if (BaseLevel < 40) goto L_Weak; + if (.@q == 2) goto L_Quest; + if (.@q == 3) goto L_Hood; // Stage 3: Level 45, defeat Bandit Lord - if (BaseLevel < 45) goto L_Weak; - goto L_Start; + if (BaseLevel < 45) goto L_Busy; + + goto L_Daily; + +L_Daily: + mesn; + mesq l("Ah, @@, my friend! Are you here to help us with @@? Or perhaps you have more @@ to show that Hurnscald is getting safer?", strcharinfo(0), getitemlink(TreasureKey), getitemlink(BanditHood)); + next; + mes col("TODO, Daily Bandit Hood quest", 1); + close; L_TooWeak: mesn; @@ -28,11 +46,19 @@ L_TooWeak: close; L_Weak: + mesn; + mesq l("You still need to grow a few levels more before being able to help me out again."); + close; + +L_Busy: mesn; mesq l("Ah, @@! I'm busy now, can we talk again later?", strcharinfo(0)); close; -L_Start: +L_Quest: + mesn; + mesq l("Ah, @@, 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; @@ -56,7 +82,7 @@ L_Start: mes ""; if (@menu == 2) close; - setq HurnscaldQuest_Bandits, 1; + setq HurnscaldQuest_Bandits, 3; mesn; mesq l("Wonderful! So, how about a warm up?"); next; @@ -66,7 +92,7 @@ L_Start: mesq l("Bring me 10 @@. I'll pay you some money for that, of course.", getitemlink(BanditHood)); close; -L_Return: +L_Hood: mesn; mesq lg("Adventurer, did you brought me what I asked? I see you have @@/10 @@.", countitem(BanditHood), getitemlink(BanditHood)); mes ""; @@ -79,14 +105,65 @@ L_Return: close; delitem BanditHood, 10; Zeny=Zeny+2000; - setq HurnscaldQuest_Bandits, 2; + setq HurnscaldQuest_Bandits, 4; mesn; - mesq l("Hey hey... Good job! I was you would ruin their hoods before being able to take them."); + mesq l("Hey hey... Good job! I was worried you would ruin their hoods before being able to take them."); next; mesn; mesq l("Here is 2000 GP for your efforts. Thanks for making Hurnscald a better place to live."); close; +L_Start: + mesn; + mesq l("Ah, hello."); + next; + mesn; + mesq l("We actually have a problem. Bandits ransacked this tavern, 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; + // 5 รท 4.5% = 112 Copper Slimes. You can kill Yellow Slimes too + mesn; + mesq l("If you bring us 5 @@, we'll be forever grateful.", 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."); + close; + +L_Return: + mesn; + mesq lg("Adventurer, did you brought me what I asked? I see you have @@/5 @@.", countitem(TreasureKey), getitemlink(TreasureKey)); + mes ""; + select + rif(countitem(TreasureKey) >= 5, l("Yes, take it.")), + rif(countitem(TreasureKey) < 5, l("No, I'll be back with them.")), + l("Hm, can we talk again later?"); + mes ""; + if (@menu != 1) + close; + delitem TreasureKey, 5; + Zeny=Zeny+1000; + 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 1000 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"); + close; + OnInit: .@npcId = getnpcid(0, .name$); setunitdata(.@npcId, UDT_HEADTOP, FairyHat); -- cgit v1.2.3-60-g2f50