summaryrefslogtreecommitdiff
path: root/npc/014-3
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2022-10-23 21:44:22 -0300
committerJesusaves <cpntb1@ymail.com>2022-10-23 21:44:22 -0300
commita7c45a192268da2601cef47a4cdba987ae2327ca (patch)
treec5fb5b97db109fe7106496dd96498c475881046b /npc/014-3
downloadserverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.gz
serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.bz2
serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.xz
serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.zip
Initial commit (Moubootaur Legends fork)
Diffstat (limited to 'npc/014-3')
-rw-r--r--npc/014-3/_import.txt6
-rw-r--r--npc/014-3/_mobs.txt12
-rw-r--r--npc/014-3/_warps.txt10
-rw-r--r--npc/014-3/fountain.txt134
-rw-r--r--npc/014-3/oscar.txt155
5 files changed, 317 insertions, 0 deletions
diff --git a/npc/014-3/_import.txt b/npc/014-3/_import.txt
new file mode 100644
index 0000000..a7f1841
--- /dev/null
+++ b/npc/014-3/_import.txt
@@ -0,0 +1,6 @@
+// Map 014-3: Woodlands Central Area
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/014-3/_mobs.txt",
+"npc/014-3/_warps.txt",
+"npc/014-3/fountain.txt",
+"npc/014-3/oscar.txt",
diff --git a/npc/014-3/_mobs.txt b/npc/014-3/_mobs.txt
new file mode 100644
index 0000000..70d2831
--- /dev/null
+++ b/npc/014-3/_mobs.txt
@@ -0,0 +1,12 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 014-3: Woodlands Central Area mobs
+014-3,115,75,91,52 monster Mouboo 1023,22,30000,35000
+014-3,63,74,41,48 monster Forest Mushroom 1060,10,60000,35000
+014-3,104,102,90,35 monster Squirrel 1032,26,30000,32000
+014-3,44,82,37,32 monster Centaur 1139,3,80000,60000
+014-3,164,75,31,14 monster Pinkie 1132,9,30000,20000,Oscar::OnKillPinkie
+014-3,95,65,49,25 monster Poison Spiky Mushroom 1043,11,45000,25000
+014-3,133,89,49,25 monster Poison Spiky Mushroom 1043,7,45000,45000
+014-3,128,112,70,21 monster Mauve Plant 1135,5,90000,90000
+014-3,44,82,37,32 monster Chagashroom Field 1128,4,90000,90000
+014-3,95,65,49,25 monster Plushroom Field 1011,4,90000,90000
diff --git a/npc/014-3/_warps.txt b/npc/014-3/_warps.txt
new file mode 100644
index 0000000..7d0cb6f
--- /dev/null
+++ b/npc/014-3/_warps.txt
@@ -0,0 +1,10 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 014-3: Woodlands Central Area warps
+014-3,120,121,0 warp #014-3_120_121 0,0,015-3,172,195
+014-3,131,135,0 warp #014-3_131_135 1,0,014-2,48,25
+014-3,206,92,0 warp #014-3_206_92 0,4,012-1,23,61
+014-3,155,40,0 warp #014-3_155_40 1,0,014-5,81,228
+014-3,120,67,0 warp #014-3_120_67 0,0,015-2,49,100
+014-3,55,42,0 warp #014-3_55_42 0,0,014-3,77,40
+014-3,77,39,0 warp #014-3_77_39 0,0,014-3,55,43
+014-3,29,70,0 warp #014-3_29_70 0,3,014-4,158,68
diff --git a/npc/014-3/fountain.txt b/npc/014-3/fountain.txt
new file mode 100644
index 0000000..d70d6d4
--- /dev/null
+++ b/npc/014-3/fountain.txt
@@ -0,0 +1,134 @@
+// TMW-2 Script
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Hurnscald doesn't have a well, but have a MAGIC FOUNTAIN ***
+// Req. Int 40 to finish Tier Elevation quest.
+
+014-3,134,100,0 script Fountain#Hurns NPC_NO_SPRITE,{
+ if (ST_TIER == 5 && gettimetick(2) < QUEST_ELEVARTEMPO) goto L_Tier2;
+
+ mesn l("Mana Saulc");
+ mesc l("Go away, I am too magical for you. %%n"); // quote
+ close;
+
+ // TODO FIXME: We don't have a "Magic" water, and we might add
+ // Mahed or Mahad, another well master (Mehoud? Muhoud?)
+ input .@count;
+
+ if (.@count == 0)
+ close;
+ .@Cost = .@count * .COST_PER_BOTTLE;
+ .@empty = countitem("EmptyBottle");
+
+ if (.@empty < .@count)
+ goto L_NotEnoughBottles;
+ if (Zeny < .@Cost)
+ goto L_NotEnoughMoney;
+
+ inventoryplace BottleOfTonoriWater, .@count;
+
+ Zeny=Zeny-.@Cost;
+ delitem "EmptyBottle", .@count;
+ getitem "BottleOfTonoriWater", .@count;
+ close;
+
+L_NotEnoughBottles:
+ mes "";
+ mesn;
+ mes l("You don't have that many empty bottles!");
+ close;
+
+L_NotEnoughMoney:
+ mes "";
+ mesn;
+ mes l("You don't have enough gold! You need @@ gp.", .@Cost);
+ close;
+
+
+L_Tier2:
+ if (readparam2(bInt) < 10) goto L_Dumb;
+ mesn;
+ mesc l("WHAT ARE YOU GOING TO DO?");
+ next;
+ select
+ l("Do nothing"), // 1
+ l("Drink the potion"), // 2
+ l("Pour the potion"), // 3
+ l("Wash yourself with the potion"), // 4
+ l("Burn the potion"), // 5
+ l("Drink the potion, and say magic words"), // 6
+ l("Say magic words"), // 7
+ l("Do a weird dance"), // 8
+ l("Blame Saulc"); // 9
+
+ mes "";
+ if (@menu == 1)
+ close;
+
+ if (@menu == 3)
+ goto L_Tier2Ok;
+
+ if (@menu <= 6)
+ goto L_Failed;
+
+ if (@menu == 9)
+ mesc l("Whatever you're blaming Saulc about, this one time, he is innocent.");
+ mesc l("Nothing happens.");
+ close;
+
+L_Fail2:
+ mesc l("Your low intelligence prevents anything from happening with you.");
+ mes "";
+
+L_Failed:
+ mesn strcharinfo(0);
+ mesq l("Ah no... That's not what I had to do... I wasted the potion...");
+ QUEST_ELEVARTEMPO=gettimetick(2);
+ close;
+
+L_Dumb:
+ mesn strcharinfo(0);
+ mesq l("Hello there pretty fountain, what about granting me magic?");
+ next;
+ mesc l("Unsurprisingly, nothing happens.");
+ close;
+
+L_Tier2Ok:
+ mesc l("You pour the whole potion on the fountain.");
+ next;
+ if (readparam2(bInt) < 20) goto L_Fail2;
+ mesc l("You hear birds singing! That is what you had to do!");
+ next;
+ if (readparam2(bInt) < 30) goto L_Fail2;
+ mesc l("Your body starts to glow. You're not sure why, the fountain did that!");
+ next;
+ if (readparam2(bInt) < 40) goto L_Fail2;
+ mesn;
+ mes l("I am the Magic Fountain of Hurnscald. You look qualified.");
+ next;
+ mesn;
+ mes l("Your next step is to get the book of the Second Sage Of Fate.");
+ next;
+ mesn;
+ mes l("I predict you're closer to find the Secret Of Mana, and therefore, be part on saving our world.");
+ next;
+ mesn;
+ mes l("I will empower you with raw mana now.");
+ next;
+ ST_TIER=6;
+ // Ref. 240 xp. You will be penalized with 1 xp for over-level. (waw...)
+ if (BaseLevel < 300)
+ getexp 300-BaseLevel, 0;
+ mesn;
+ mesq l("Run like the wind, @@! For you shall have only @@ to finish the ritual!", strcharinfo(0), FuzzyTime(QUEST_ELEVARTEMPO,2,2));
+ close;
+
+OnInit:
+ .COST_PER_BOTTLE = 0;
+ .sex = G_OTHER;
+ .distance = 3;
+
+ end;
+}
diff --git a/npc/014-3/oscar.txt b/npc/014-3/oscar.txt
new file mode 100644
index 0000000..336af69
--- /dev/null
+++ b/npc/014-3/oscar.txt
@@ -0,0 +1,155 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Hurnscald farmer
+
+014-3,169,66,0 script Oscar NPC_RAIJIN,{
+ .@q1=getq(HurnscaldQuest_Farmers);
+ .@q2=getq2(HurnscaldQuest_Farmers);
+ 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_Hello;
+ if (.@q1 == 3) goto L_Check;
+ if (.@q1 == 4) goto L_Letter;
+ if (.@q1 == 5) goto L_Thanks;
+
+ mesq l("Don't bother me, I'm busy right now. Since the Monster King left, I barely got a night of rest...");
+ close;
+
+L_Hello:
+ mesq l("Ah! @@! I heard you helped Hinnak with his Pinkies problem!", strcharinfo(0));
+ next;
+ mesn;
+ mesq l("Wouldn't you like to help me too?");
+ if (askyesno() != ASK_YES) {
+ mesq l("Sorry, I have to go.");
+ close;
+ }
+ next;
+ mesn;
+ mesq l("Great! Excellent! Because I am also diving in problems!!");
+ next;
+ if (readparam2(bAgi) < 30) goto L_Slow;
+ if (BaseLevel < 20) goto L_Weak;
+ mesn;
+ // Est. kill 400 Pinkies
+ mesq l("I hate so much the Pinkies on my fields, I want to do a soup! Can you provide me 10 @@? Many thanks.", getitemlink(PinkieLeg));
+ setq HurnscaldQuest_Farmers, 3, 0;
+ close;
+
+L_Slow:
+ mesn;
+ mesq l("But you're too slow. Sorry.");
+ next;
+ mesc l("Raise agility to do this quest.");
+ close;
+
+L_Weak:
+ mesn;
+ mesq l("But you're too weak. Sorry.");
+ close;
+
+L_Check:
+ mesq l("Hey, how is the monster extermination going?");
+ next;
+ mesn;
+ // You in average need to kill 400 Pinkies. But ya killed 200~250 previously. You get this bonus for not leaving the fields.
+ if (.@q2 >= 250)
+ mesq l("You killed so many Pinkies! My wife and I love you!");
+ else if (.@q2 >= 200)
+ mesq l("You are doing GREAT! Keep slaying them, hahaah!");
+ 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 >= 250 && countitem(PinkieLeg) >= 10, l("Today is soup of Pinkie Legs!")), L_RealHelp,
+ rif (.@q2 >= 250 && countitem(PinkieLeg) < 10, l("Thanks, they hate to drop their Legs.")), L_TrueHelp,
+ rif (.@q2 >= 100 && .@q2 < 250 && countitem(PinkieLeg) >= 10, l("Here are the Pinkie Legs.")), L_Help,
+ rif (.@q2 < 100 && countitem(PinkieLeg) >= 10, l("Here are the Pinkie Legs.")), L_NoKill,
+ l("I'm not done yet. I'll be back."), -;
+ close;
+
+L_RealHelp:
+ delitem PinkieLeg, 10;
+ getexp 2000, 60;
+ Zeny=Zeny+5000;
+ setq HurnscaldQuest_Farmers, 4, 0;
+ mes "";
+ mesn;
+ mesq l("Waw! You really did it, you're the savior of my farm!! You have my eternal gratitute. Here is 5000 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 1600, 0;
+ Zeny=Zeny+2500;
+ setq HurnscaldQuest_Farmers, 4, 0;
+ mesn;
+ mesq l("You have my eternal gratitute. Here is 2500 GP for your troubles.");
+ close;
+
+L_Help:
+ delitem PinkieLeg, 10;
+ getexp 1400, 0;
+ Zeny=Zeny+2000;
+ setq HurnscaldQuest_Farmers, 4, 0;
+ mes "";
+ mesn;
+ mesq l("Many thanks. You have my eternal gratitute. Here is 2000 GP for your troubles.");
+ close;
+
+L_NoKill:
+ mesn;
+ mesq l("Ahahahah, do you really think I'll accept legs if you don't help me cleaning my fields?");
+ next;
+ mesn;
+ mesq l("Kill at least a hundred of Pinkies here, and then we can talk.");
+ close;
+
+L_Letter:
+ mesq l("You're the savior of Hurnscald crops. Half from the world would die from famine, weren't for you.");
+ next;
+ mesn;
+ mesq l("@@ and I signed this letter. Deliver it to Airlia on the Town Hall, and she'll reward you correctly.", l("Hinnak"));
+ close;
+
+L_Thanks:
+ mesq l("Many thanks for all the help!");
+ close;
+
+OnKillPinkie:
+ .@q1=getq(HurnscaldQuest_Farmers);
+ .@q2=getq2(HurnscaldQuest_Farmers);
+ if (.@q1 == 3) {
+ setq2 HurnscaldQuest_Farmers, .@q2+1;
+ if (! (.@q2+1) % 10)
+ dispbottom l("@@ pinkies killed on @@'s field.", .@q2+1, l("Oscar"));
+ }
+ fix_mobkill(Pinkie);
+ end;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, FarmerHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, LeatherShirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, TulimsharGuardBoots);
+ setunitdata(.@npcId, UDT_WEAPON, CottonTrousers);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 2);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 0);
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+