summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2018-06-22 00:35:07 -0300
committerJesusaves <cpntb1@ymail.com>2018-06-22 00:35:07 -0300
commita9e86afefd3915bce49bfbcc32bccb4b76f73ec2 (patch)
treea7ccbe495a5e9edadd11892354f3c0c30e52c947
parentf53d4ab581f4eb61577985da181b679331e999e7 (diff)
downloadserverdata-a9e86afefd3915bce49bfbcc32bccb4b76f73ec2.tar.gz
serverdata-a9e86afefd3915bce49bfbcc32bccb4b76f73ec2.tar.bz2
serverdata-a9e86afefd3915bce49bfbcc32bccb4b76f73ec2.tar.xz
serverdata-a9e86afefd3915bce49bfbcc32bccb4b76f73ec2.zip
Helena, stages 1 & 2
-rw-r--r--db/re/mob_db.conf1
-rw-r--r--npc/012-2/helena.txt99
2 files changed, 89 insertions, 11 deletions
diff --git a/db/re/mob_db.conf b/db/re/mob_db.conf
index fe24d4c68..cb3c2e809 100644
--- a/db/re/mob_db.conf
+++ b/db/re/mob_db.conf
@@ -3316,6 +3316,7 @@ mob_db: (
GoldOre: 300
CactusDrink: 350
CactusPotion: 250
+ TreasureKey: 250
OrangeCupcake: 200
CherryCake: 100
Topaz: 21
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;
@@ -29,10 +47,18 @@ L_TooWeak:
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);