summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/012-1/_mobs.txt2
-rw-r--r--npc/012-1/hinnak.txt112
-rw-r--r--npc/014-3/_mobs.txt2
-rw-r--r--npc/014-3/oscar.txt7
4 files changed, 118 insertions, 5 deletions
diff --git a/npc/012-1/_mobs.txt b/npc/012-1/_mobs.txt
index 0d87ed307..ea1e6e15f 100644
--- a/npc/012-1/_mobs.txt
+++ b/npc/012-1/_mobs.txt
@@ -2,7 +2,7 @@
// Map 012-1: Hurnscald mobs
012-1,90,63,35,14 monster Red Butterfly 1025,4,30000,90000
012-1,90,62,36,15 monster Mana Bug 1075,5,30000,90000
-012-1,85,33,35,15 monster Pinkie 1132,8,30000,90000
+012-1,85,33,35,15 monster Pinkie 1132,8,30000,90000,Hinnak::OnKillPinkie
012-1,44,47,21,32 monster Clover Patch 1028,4,60000,90000
012-1,135,58,7,29 monster Piousse 1003,6,40000,60000
012-1,85,86,52,15 monster Silk Worm 1034,5,30000,30000
diff --git a/npc/012-1/hinnak.txt b/npc/012-1/hinnak.txt
index b19792e88..5297ee61d 100644
--- a/npc/012-1/hinnak.txt
+++ b/npc/012-1/hinnak.txt
@@ -2,7 +2,7 @@
// Author:
// Jesusalva
// Description:
-// Hurnscald farmer
+// Hurnscald farmer.
014-3,187,84,0 script Hinnak NPC_ORC,{
.@q1=getq(HurnscaldQuest_Farmers);
@@ -10,11 +10,117 @@
mesn;
if (strcharinfo(0) == $MOST_HEROIC$) mesq l("Ah, if it isn't @@? You're the talk of the town!", $MOST_HEROIC$);
if (strcharinfo(0) == $MOST_HEROIC$) next;
- if (.@q1 < 2) goto L_Oscar;
+ if (.@q1 == 1) goto L_Check;
+ if (.@q1 > 2) goto L_Oscar;
+L_Start:
+ mesn;
+ mesq l("I hate you Pinkies, and I hate you Monster King too, for bringing forth these plagues!!");
+ next;
+ mesn strcharinfo(0);
+ mes col("The farmer seems mad and in need of help. Will you help him?", 9);
+ if (askyesno() != ASK_YES) {
+ mesq l("Sorry, I have to go.");
+ close;
+ }
+ next;
+ mesn;
+ mesq l("Ah, so you're willing to help? Great! Because I HATE THEM ALL!");
+ next;
+ if (readparam(bAgi) < 30) goto L_Slow;
+ if (BaseLevel < 20) goto L_Weak;
+ mesn;
+ mesq l("They jump left and right and left and right again, and I can't catch them.");
+ next;
+ mesn;
+ mesq l("Please kill some of them, and bring me 10 @@!", getitemlink(PinkAntenna));
+ setq HurnscaldQuest_Farmers, 1, 0;
+ close;
+
+OnKillPinkie:
+ .@q1=getq(HurnscaldQuest_Farmers);
+ .@q2=getq2(HurnscaldQuest_Farmers);
+ if (.@q1 == 1)
+ setq2 HurnscaldQuest_Farmers, .@q2+1;
+ end;
+
+L_Slow:
+ mesn;
+ mesq l("But you're too slow to catch any of them. Sorry.");
+ close;
+
+L_Weak:
+ mesn;
+ mesq l("But you're too weak to beat any of them. Sorry.");
+ close;
+
+L_Check:
+ mesn;
+ mesq l("Hey, how is the monster extermination going?");
+ next;
+ mesn;
+ // You in average need to kill 244 Pinkies. You get this bonus for not leaving the fields.
+ if (.@q2 >= 210)
+ mesq l("You killed so many Pinkies, I don't care with the Antennas anymore! They are almost gone!");
+ else if (.@q2 >= 150)
+ mesq l("I see you are doing good. Keep slaying them, hahaah!");
+ else if (.@q2 >= 100)
+ mesq l("Good job, you already killed over 100! Hahah, that sure teach them a lesson!");
+ else if (.@q2 >= 50)
+ mesq l("Yeah, teach them a lesson! Keep going!");
+ else
+ mesq l("Go kill them!!");
+ next;
+ menu
+ rif (.@q2 >= 210 && countitem(PinkAntenna) >= 10, l("No, I insist, keep the Antennas as a trophy.")), L_MegaHelp,
+ rif (.@q2 >= 210 && countitem(PinkAntenna) < 10, l("Thanks, they don't like to drop their Antennas.")), L_TrueHelp,
+ rif (.@q2 >= 100 && .@q2 < 210 && countitem(PinkAntenna) >= 10, l("Here are the Antennas.")), L_Help,
+ rif (.@q2 < 100 && countitem(PinkAntenna) >= 10, l("Here are the Antennas.")), L_NoKill,
+ l("I'm not done yet. I'll be back."), -;
+ close;
+
+L_MegaHelp:
+ delitem PinkAntenna, 10;
+ getexp 1600, 60;
+ Zeny=Zeny+2500;
+ setq HurnscaldQuest_Farmers, 2, 0;
+ mes "";
+ mesn;
+ mesq l("Waw! You really did it, you're the savior of my farm!! You have my eternal gratitute. Here is 2500 GP for your troubles!");
+ close;
+
+L_TrueHelp:
+ mes "";
+ mesn;
+ mesq l("I know how hard it is! I hate them with all my heart, only seeing you killing them left and right was GREAT!");
+ next;
+ getexp 1400, 0;
+ Zeny=Zeny+1500;
+ setq HurnscaldQuest_Farmers, 2, 0;
+ mesn;
+ mesq l("You have my eternal gratitute. Here is 1500 GP for your troubles.");
+ close;
+
+L_Help:
+ delitem PinkAntenna, 10;
+ getexp 1000, 0;
+ Zeny=Zeny+1000;
+ setq HurnscaldQuest_Farmers, 2, 0;
+ mes "";
+ mesn;
+ mesq l("Many thanks. You have my eternal gratitute. Here is 1000 GP for your troubles.");
+ close;
+
+L_NoKill:
+ mesn;
+ mesq l("That won't do it. I want to see PINK BLOOD! No... not so cluttered. Just kill the Pinkies on my farm.");
+ next;
+ mesn;
+ mesq l("The antennas by themselves mean nothing, I want to see you killing my ENEMIES, the pinkies!");
+ close;
L_Oscar:
- mesq l("Don't bother me, I'm busy right now. Since the Monster King left, I barely got a night of rest...");
+ mesq l("Maybe you could now help my friend Oscar. His farm is west of here.");
close;
L_Close:
diff --git a/npc/014-3/_mobs.txt b/npc/014-3/_mobs.txt
index 57e5bba6e..186168771 100644
--- a/npc/014-3/_mobs.txt
+++ b/npc/014-3/_mobs.txt
@@ -4,4 +4,4 @@
014-3,146,131,70,21 monster Forest Mushroom 1060,9,60000,45000
014-3,122,121,90,35 monster Squirrel 1032,26,30000,42000
014-3,62,101,37,32 monster Centaur 1139,4,60000,60000
-014-3,192,94,22,15 monster Pinkie 1132,6,30000,90000
+014-3,192,94,22,15 monster Pinkie 1132,6,30000,90000,Oscar::OnKillPinkie
diff --git a/npc/014-3/oscar.txt b/npc/014-3/oscar.txt
index acfc5b03f..a68f459a7 100644
--- a/npc/014-3/oscar.txt
+++ b/npc/014-3/oscar.txt
@@ -20,6 +20,13 @@ L_Hinnak:
L_Close:
close;
+OnKillPinkie:
+ .@q1=getq(HurnscaldQuest_Farmers);
+ .@q2=getq2(HurnscaldQuest_Farmers);
+ if (.@q1 == 3)
+ setq2 HurnscaldQuest_Farmers, .@q2+1;
+ end;
+
OnInit:
.@npcId = getnpcid(0, .name$);
setunitdata(.@npcId, UDT_HEADTOP, RiceHat);