summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2022-05-07 16:48:19 -0300
committerJesusaves <cpntb1@ymail.com>2022-05-07 16:48:19 -0300
commit48475f59c168ab97767212c93ca64105da0ba710 (patch)
tree3f52ea96b31d9887c00b3e0210b1af1951289fdd /npc
parent2667d25751e5323523166a2f23b5195f11ee6013 (diff)
downloadserverdata-48475f59c168ab97767212c93ca64105da0ba710.tar.gz
serverdata-48475f59c168ab97767212c93ca64105da0ba710.tar.bz2
serverdata-48475f59c168ab97767212c93ca64105da0ba710.tar.xz
serverdata-48475f59c168ab97767212c93ca64105da0ba710.zip
The Episode is almost complete
Diffstat (limited to 'npc')
-rw-r--r--npc/004-3-1/falkrun.txt73
-rw-r--r--npc/014-5/sagratha.txt2
-rw-r--r--npc/017-3/doctor.txt41
-rw-r--r--npc/019-1/_warps.txt1
-rw-r--r--npc/019-5-1/_import.txt4
-rw-r--r--npc/019-5-1/_mobs.txt16
-rw-r--r--npc/019-5-1/_warps.txt8
-rw-r--r--npc/019-5-2/_import.txt4
-rw-r--r--npc/019-5-2/_mobs.txt23
-rw-r--r--npc/019-5-2/_warps.txt11
-rw-r--r--npc/019-5-3/_import.txt4
-rw-r--r--npc/019-5-3/_warps.txt3
-rw-r--r--npc/019-5-3/episode.txt75
-rw-r--r--npc/019-5/_import.txt5
-rw-r--r--npc/019-5/_mobs.txt27
-rw-r--r--npc/019-5/_warps.txt18
-rw-r--r--npc/019-5/episode.txt33
-rw-r--r--npc/019-6/_import.txt4
-rw-r--r--npc/019-6/_mobs.txt6
-rw-r--r--npc/019-6/_warps.txt4
-rw-r--r--npc/020-4/henry.txt34
-rw-r--r--npc/_import.txt5
-rw-r--r--npc/functions/util.txt4
-rw-r--r--npc/functions/weather.txt2
24 files changed, 403 insertions, 4 deletions
diff --git a/npc/004-3-1/falkrun.txt b/npc/004-3-1/falkrun.txt
index 71d85d39f..162e92402 100644
--- a/npc/004-3-1/falkrun.txt
+++ b/npc/004-3-1/falkrun.txt
@@ -5,9 +5,11 @@
// Part of the Doctor's Quest. Lore Master. Saulc's Residence Gatekeeper.
004-3-1,37,23,0 script Falkrun NPC_INDIGENOUS_ANY,{
+ if (instance_id() >= 0) goto L_Episode;
mesn;
mesq l("Howdy! Lately I feel like a placeholder, just surviving on these harsh lands.");
next;
+L_Main:
// He needs to explain the Civil War and the Great Fire for Doctor's Quest
mesn;
mesq l("Our clan has moved away from Tulimshar before the Civil War, almost was wiped off during the Great Fire, and when we thought we could finally life in peace, the Mana War and the Monster War broke out in rapid succession."); // Hence, TMW2
@@ -117,6 +119,77 @@
} while (@menu != 1);
close;
+L_Episode:
+ if (getq(LoFQuest_EPISODE) != 11)
+ goto L_Main;
+ if (getq3(LoFQuest_EPISODE) &&
+ mobcount(getmap(), all) <= 0)
+ goto L_EpFinish;
+ if (getq3(LoFQuest_EPISODE) &&
+ mobcount(getmap(), all) > 0) {
+ npctalk l("Good luck, %s! There are more monsters nearby!", strcharinfo(0));
+ end;
+ }
+ setq3 LoFQuest_EPISODE, 1;
+ mesn;
+ mesq l("Uh? What are you doing here?!");
+ next;
+ select
+ l("I don't know?"),
+ l("How did I got here?"),
+ l("Who are you?");
+ mes "";
+ mesn;
+ mesq l("What have you done?! We're under attack!");
+ next;
+ mesn;
+ mesq l("Quick, battle position! They'll strike! I'll help you a tiny bit!");
+ mesc l("WARNING: You have a time limit!"), 1;
+ next;
+ instance_set_timeout(900, 900, getq2(LoFQuest_EPISODE));
+ SC_Bonus(90, SC_INCHITRATE, 50);
+ SC_Bonus(90, SC_INCMHPRATE, 65);
+ SC_Bonus(90, SC_KAIZEL, 80);
+ percentheal 100, 100;
+ .@m$ = getmap();
+ monster(.@m$, 42, 31, "Lost", BlueSlimeMother, 1);
+ monster(.@m$, 45, 31, "Lost", CopperSlimeMother, 1);
+ monster(.@m$, 43, 32, "Lost", YellowSlimeMother, 1);
+ monster(.@m$, 44, 32, "Lost", RedSlimeMother, 1);
+ monster(.@m$, 42, 33, "Lost", ChocolateSlimeMother, 1);
+ monster(.@m$, 45, 33, "Lost", WhiteSlimeMother, 1);
+ monster(.@m$, 43, 34, "Lost", AzulSlimeMother, 1);
+ monster(.@m$, 44, 34, "Lost", SeaSlimeMother, 1);
+ monster(.@m$, 45, 35, "Lost", GreenSlimeMother, 1);
+ //monster(.@m$, 47, 35, "Lost", LavaSlimeMother, 1);
+ monster(.@m$, 68, 30, "Lost", Thug, 1);
+ monster(.@m$, 70, 22, "Lost", Thug, 1);
+ monster(.@m$, 74, 42, "Lost", Thug, 1);
+ closeclientdialog;
+ close;
+
+L_EpFinish:
+ // Cleanup
+ instance_set_timeout(900, 900, getq2(LoFQuest_EPISODE));
+ enablenpc instance_npcname("#004-3-1_70_25", getq2(LoFQuest_EPISODE));
+ enablenpc instance_npcname("#004-3-1_68_33", getq2(LoFQuest_EPISODE));
+ if (CHEST_MONEY) {
+ mesc l("You were refunded in %s GP!", fnum(CHEST_MONEY));
+ Zeny+=CHEST_MONEY;
+ CHEST_MONEY=0;
+ }
+ setq LoFQuest_EPISODE, 12;
+ getitem SacredLifePotion, 10;
+ getitem SacredImmortalityPotion, 5;
+ getexp 60000, 0;
+ // Final dialog
+ mesn;
+ mesq l("Phew... We should be safe now. Thanks, %s!", strcharinfo(0));
+ next;
+ mesn;
+ mesq l("...Even if this is your fault. Anyway, ##Breturn to whoever sent you here##b and begone.");
+ close;
+
OnInit:
.distance = 4;
.sex = G_OTHER;
diff --git a/npc/014-5/sagratha.txt b/npc/014-5/sagratha.txt
index a5e2ebfb9..36614af64 100644
--- a/npc/014-5/sagratha.txt
+++ b/npc/014-5/sagratha.txt
@@ -26,7 +26,7 @@ function script SaggyInstCheck {
// Map name limit: 4 chars (sgt1)
.@mapn$="sgt1@"+getcharid(0);
.@map2$="sgt2@"+getcharid(0);
- if (!(isinstance(.@q2) && .@q2 != 0)) {
+ if (!(isinstance(.@q2) && .@q2 != 0 && instanceowner(.@q2) == getcharid(3))) {
.@inst = instance_create("Sagratha House "+getcharid(0), getcharid(3), IOT_CHAR);
instance_attachmap("014-5-1", .@inst, false, .@mapn$);
//instance_attachmap("015-8", .@inst, false, .@mapn$);
diff --git a/npc/017-3/doctor.txt b/npc/017-3/doctor.txt
index edc4f2a9b..7ae865a24 100644
--- a/npc/017-3/doctor.txt
+++ b/npc/017-3/doctor.txt
@@ -11,6 +11,8 @@
showavatar NPC_LOF_DOCTOR;
.@q=getq(LoFQuest_EPISODE);
if (BaseLevel < 30) goto L_Weak;
+ if (.@q == 13) goto L_Poison;
+ if (.@q == 14) goto L_TimeFlask;
if (.@q == 1) goto L_Check;
if (.@q == 2 && BaseLevel >= 40) goto L_Miler;
if (.@q >= 2) goto L_Tea;
@@ -172,7 +174,46 @@ L_Miler:
setq LoFQuest_EPISODE, 3;
close;
+/////// Final Act
+L_Poison:
+ mesn;
+ mesq l("%s, how in the world you got this status ailment?!", strcharinfo(0));
+ next;
+ select
+ l("I don't know."),
+ l("Henry gave something to drink.");
+ mes "";
+ mesn;
+ mesq l("Listen, this is not a disease. No remedy can cure you, and it cannot be inflicted by consumables.");
+ next;
+ mesn;
+ mesq l("Have you been fiddling with time? Anyway, this is not a disease, but a ##Bcomplex curse##b.");
+ next;
+ mesn;
+ mesq l("This curse reclaims your soul to the Soul Eater. Except, she perished on the Great Fire.");
+ next;
+ mesn;
+ mesq l("Meaning you must warp shortly before the Great Fire, defeat her, and be back before the Great Fire happen.");
+ next;
+ mesn;
+ mesq l("For now, eat this. It'll improve your condition... for now. I don't know where you'll find a time travelling device, but if you find one, come to me. I'll help you.");
+ setq LoFQuest_EPISODE, 14;
+ sc_end SC_POISON;
+ close;
+L_TimeFlask:
+ mesn;
+ mesq l("If you don't defeat the Soul Eater before the Great Fire happens, which for the record, has already happened, your soul will slowly be reclaimed by her until your existence ceases to serve as fuel to bring back one of the greatest horrors of story.");
+ next;
+ if (!countitem(TimeFlask)) {
+ mesn;
+ mesq l("You better find a way to travel back in time soon!");
+ close;
+ }
+ mesn;
+ mesq l("This %s will do. I mean, it won't be a comfortable trip, but you are in an emergency situation.", getitemlink(TimeFlask));
+ mesc l("WARNING: Quest in development."), 1;
+ close;
OnInit:
.sex=G_MALE;
diff --git a/npc/019-1/_warps.txt b/npc/019-1/_warps.txt
index a29a45f12..85492a95f 100644
--- a/npc/019-1/_warps.txt
+++ b/npc/019-1/_warps.txt
@@ -2,4 +2,5 @@
// Map 019-1: Snow Field warps
019-1,70,21,0 warp #019-1_70_21 3,0,020-1,70,127
019-1,61,102,0 warp #019-1_61_102 3,0,019-4,95,28
+019-1,21,70,0 warp #019-1_21_70 0,1,019-6,256,69
019-1,84,53,0 warp #019-1_84_53 0,0,019-1-1,33,41
diff --git a/npc/019-5-1/_import.txt b/npc/019-5-1/_import.txt
new file mode 100644
index 000000000..e46d7b873
--- /dev/null
+++ b/npc/019-5-1/_import.txt
@@ -0,0 +1,4 @@
+// Map 019-5-1: Frosty Underground
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/019-5-1/_mobs.txt",
+"npc/019-5-1/_warps.txt",
diff --git a/npc/019-5-1/_mobs.txt b/npc/019-5-1/_mobs.txt
new file mode 100644
index 000000000..79bd47d54
--- /dev/null
+++ b/npc/019-5-1/_mobs.txt
@@ -0,0 +1,16 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-5-1: Frosty Underground mobs
+019-5-1,68,101,6,4 monster Yeti 1064,2,100000,30000
+019-5-1,55,61,12,13 monster Moggun 1070,14,100000,30000
+019-5-1,119,104,2,2 monster Snowman 1440,1,100000,30000
+019-5-1,132,71,4,3 monster White Slime 1094,4,100000,30000
+019-5-1,107,85,7,4 monster Blue Slime 1087,2,100000,30000
+019-5-1,98,77,3,2 monster White Slime 1094,4,100000,30000
+019-5-1,70,82,3,2 monster White Slime 1094,6,100000,30000
+019-5-1,106,34,3,2 monster White Slime 1094,4,100000,30000
+019-5-1,33,37,3,2 monster White Slime 1094,4,100000,30000
+019-5-1,144,105,7,4 monster Blue Slime 1087,2,100000,30000
+019-5-1,152,55,7,4 monster Blue Slime 1087,2,100000,30000
+019-5-1,84,53,7,4 monster Blue Slime 1087,2,100000,30000
+019-5-1,47,23,7,5 monster Snowman 1440,2,100000,30000
+019-5-1,113,48,6,4 monster Yeti 1064,2,100000,30000
diff --git a/npc/019-5-1/_warps.txt b/npc/019-5-1/_warps.txt
new file mode 100644
index 000000000..acbf5dc4b
--- /dev/null
+++ b/npc/019-5-1/_warps.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-5-1: Frosty Underground warps
+019-5-1,139,19,0 warp #019-5-1_139_19 0,0,019-5,180,187
+019-5-1,78,30,0 warp #019-5-1_78_30 0,0,019-5,119,198
+019-5-1,83,43,0 warp #019-5-1_83_43 0,0,019-5,124,211
+019-5-1,131,48,0 warp #019-5-1_131_48 0,0,019-5,172,216
+019-5-1,131,55,0 warp #019-5-1_131_55 0,0,019-5,172,223
+019-5-1,124,109,0 warp #019-5-1_124_109 0,0,019-5,165,277
diff --git a/npc/019-5-2/_import.txt b/npc/019-5-2/_import.txt
new file mode 100644
index 000000000..3a8419a49
--- /dev/null
+++ b/npc/019-5-2/_import.txt
@@ -0,0 +1,4 @@
+// Map 019-5-2: Snow Hills Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/019-5-2/_mobs.txt",
+"npc/019-5-2/_warps.txt",
diff --git a/npc/019-5-2/_mobs.txt b/npc/019-5-2/_mobs.txt
new file mode 100644
index 000000000..a9c7e433a
--- /dev/null
+++ b/npc/019-5-2/_mobs.txt
@@ -0,0 +1,23 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-5-2: Snow Hills Cave mobs
+019-5-2,56,135,4,4 monster White Slime 1094,7,100000,30000
+019-5-2,35,153,3,3 monster White Slime 1094,7,100000,30000
+019-5-2,39,104,4,4 monster White Slime 1094,7,100000,30000
+019-5-2,73,153,4,4 monster White Slime 1094,7,100000,30000
+019-5-2,64,104,1,1 monster White Slime 1094,7,100000,30000
+019-5-2,24,168,3,2 monster Blue Slime 1087,2,100000,30000
+019-5-2,87,134,2,1 monster Blue Slime 1087,2,100000,30000
+019-5-2,55,122,2,1 monster Blue Slime 1087,2,100000,30000
+019-5-2,35,128,2,1 monster Blue Slime 1087,2,100000,30000
+019-5-2,53,84,2,1 monster Blue Slime 1087,2,100000,30000
+019-5-2,75,136,10,13 monster Moggun 1070,5,100000,30000
+019-5-2,39,31,21,10 monster Moggun 1070,12,100000,30000
+019-5-2,40,31,2,1 monster Azul Skull Slime 1402,2,100000,30000
+019-5-2,122,157,10,8 monster Yeti 1064,2,100000,30000
+019-5-2,102,166,7,6 monster Azul Skull Slime 1402,5,100000,30000
+019-5-2,109,81,7,6 monster Azul Slime Mother 1243,1,100000,30000
+019-5-2,123,90,2,1 monster Blue Slime 1087,2,100000,30000
+019-5-2,109,97,4,4 monster White Slime 1094,7,100000,30000
+019-5-2,119,41,21,10 monster Moggun 1070,8,100000,30000
+019-5-2,51,94,19,7 monster Azul Skull Slime 1402,5,100000,30000
+019-5-2,121,172,4,4 monster White Slime 1094,7,100000,30000
diff --git a/npc/019-5-2/_warps.txt b/npc/019-5-2/_warps.txt
new file mode 100644
index 000000000..c54de646f
--- /dev/null
+++ b/npc/019-5-2/_warps.txt
@@ -0,0 +1,11 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-5-2: Snow Hills Cave warps
+019-5-2,46,74,0 warp #019-5-2_46_74 0,0,019-5,45,75
+019-5-2,33,176,0 warp #019-5-2_33_176 0,0,019-5,37,174
+019-5-2,126,181,0 warp #019-5-2_126_181 0,0,019-5,101,144
+019-5-2,35,42,0 warp #019-5-2_35_42 0,0,019-5,78,110
+019-5-2,108,163,0 warp #019-5-2_108_163 0,0,019-5,83,125
+019-5-2,110,103,0 warp #019-5-2_110_103 0,0,019-5,108,166
+019-5-2,119,95,0 warp #019-5-2_119_95 0,0,019-5,108,157
+019-5-2,119,59,0 warp #019-5-2_119_59 0,0,019-5,102,112
+019-5-2,128,46,0 warp #019-5-2_128_46 0,0,019-5,102,108
diff --git a/npc/019-5-3/_import.txt b/npc/019-5-3/_import.txt
new file mode 100644
index 000000000..07c705f89
--- /dev/null
+++ b/npc/019-5-3/_import.txt
@@ -0,0 +1,4 @@
+// Map 019-5-3: Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/019-5-3/_warps.txt",
+"npc/019-5-3/episode.txt",
diff --git a/npc/019-5-3/_warps.txt b/npc/019-5-3/_warps.txt
new file mode 100644
index 000000000..9c34218d9
--- /dev/null
+++ b/npc/019-5-3/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-5-3: Indoors warps
+019-5-3,31,33,0 warp #019-5-3_31_33 1,0,019-5,128,40
diff --git a/npc/019-5-3/episode.txt b/npc/019-5-3/episode.txt
new file mode 100644
index 000000000..08254dbe4
--- /dev/null
+++ b/npc/019-5-3/episode.txt
@@ -0,0 +1,75 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva <jesusalva@tmw2.org>
+// Description:
+// The Episode
+
+019-5-3,21,25,0 script Mysterious Chest#EP1 NPC_CHEST,{
+ if (instance_id() < 0) end;
+ .@gp = BankVault + Zeny;
+ .@money = 1+(BaseLevel > 60 ? (BaseLevel > 80 ? .@gp/5 : .@gp/10) : .@gp/50);
+ .@money = max(.@money, 1000);
+ mesc l("Do you want to open this chest?");
+ mesc l("You must deposit %s GP, which will be returned if quest is completed.", fnum(.@money));
+ mesc l("There is a time limit, which is already running.");
+ // At level 80, the "boss" is just small fry.
+ if (BaseLevel < 80)
+ mesc l("WARNING: Dangerous!!"), 1;
+ if (Zeny < .@money) close;
+ next;
+ if (askyesno() == ASK_NO) {
+ closeclientdialog;
+ close;
+ }
+ CHEST_MONEY=(CHEST_MONEY/2)+.@money; // You lose 50% of whatever you put earlier
+ Zeny-=.@money;
+ disablenpc instance_npcname("Mysterious Chest#EP1", getq2(LoFQuest_EPISODE));
+ enablenpc instance_npcname("Mysterious Chest#EP2", getq2(LoFQuest_EPISODE));
+ // Good luck with your boss :3
+ .@m$=getmap();
+ monster(.@m$, 31, 31, "???", JackO, 1);
+ sleep2(max(300, 10000-(BaseLevel * 100)));
+ monster(.@m$, 30, 31, "???", MagicGoblin, 1);
+ monster(.@m$, 31, 31, "???", MagicGoblin, 1);
+ sleep2(max(15000, 60000-(BaseLevel * 200)));
+ monster(.@m$, 30, 31, "???", MagicGoblin, 1);
+ monster(.@m$, 31, 31, "???", MagicGoblin, 1);
+ close;
+
+OnInit:
+ .distance = 2;
+ end;
+}
+
+
+019-5-3,21,25,0 script Mysterious Chest#EP2 NPC_CHEST,{
+ if (instance_id() < 0) end;
+ if (mobcount(getmap(), "all")) end;
+ mesc l("Do you want to open this chest?");
+ if (askyesno() == ASK_NO) {
+ closeclientdialog;
+ close;
+ }
+ if (getq(LoFQuest_EPISODE) != 11) {
+ atcommand("@ban 3d "+strcharinfo(0));
+ end;
+ }
+ .@q2 = getq2(LoFQuest_EPISODE);
+ instance_set_timeout(900, 900, .@q2);
+ warp "ep02@"+getcharid(0), 37, 20; // To Falkrun
+ disablenpc instance_npcname("#004-3-1_70_25", getq2(LoFQuest_EPISODE));
+ disablenpc instance_npcname("#004-3-1_68_33", getq2(LoFQuest_EPISODE));
+ disablenpc instance_npcname("Mysterious Chest#EP2", getq2(LoFQuest_EPISODE));
+ close;
+
+OnInstanceInit:
+ .distance = 2;
+ disablenpc instance_npcname("Mysterious Chest#EP2");
+ end;
+
+OnInit:
+ .distance = 2;
+ disablenpc .name$;
+ end;
+}
+
diff --git a/npc/019-5/_import.txt b/npc/019-5/_import.txt
new file mode 100644
index 000000000..79fadae3f
--- /dev/null
+++ b/npc/019-5/_import.txt
@@ -0,0 +1,5 @@
+// Map 019-5: Rock Plateau
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/019-5/_mobs.txt",
+"npc/019-5/_warps.txt",
+"npc/019-5/episode.txt",
diff --git a/npc/019-5/_mobs.txt b/npc/019-5/_mobs.txt
new file mode 100644
index 000000000..54040c219
--- /dev/null
+++ b/npc/019-5/_mobs.txt
@@ -0,0 +1,27 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-5: Rock Plateau mobs
+019-5,85,195,26,10 monster Moggun 1070,12,100000,30000
+019-5,128,261,11,6 monster Wolvern 1037,5,100000,30000
+019-5,113,219,7,6 monster Wolvern 1037,2,100000,30000
+019-5,77,272,5,4 monster Wolvern 1037,2,100000,30000
+019-5,156,200,22,16 monster Wolvern 1037,7,100000,30000
+019-5,186,227,5,4 monster Wolvern 1037,2,100000,30000
+019-5,37,175,1,1 monster White Slime 1094,7,100000,30000
+019-5,45,75,1,1 monster Blue Slime 1087,1,100000,30000
+019-5,81,125,51,28 monster Moggun 1070,25,100000,30000
+019-5,189,123,12,18 monster Wolvern 1037,6,100000,30000
+019-5,160,115,12,10 monster Wolvern 1037,6,100000,30000
+019-5,169,163,24,15 monster Wolvern 1037,6,100000,30000
+019-5,58,71,24,15 monster Wolvern 1037,6,100000,30000
+019-5,122,116,10,12 monster Wolvern 1037,6,100000,30000
+019-5,110,173,12,10 monster Wolvern 1037,6,100000,30000
+019-5,108,168,1,1 monster White Slime 1094,7,100000,30000
+019-5,108,158,1,1 monster Blue Slime 1087,1,100000,30000
+019-5,87,119,18,17 monster Yeti 1064,2,100000,30000
+019-5,138,22,1,1 monster White Slime 1094,4,100000,30000
+019-5,157,66,1,1 monster White Slime 1094,4,100000,30000
+019-5,174,46,2,2 monster Blue Slime 1087,2,100000,30000
+019-5,143,43,2,2 monster Blue Slime 1087,2,100000,30000
+019-5,122,61,1,1 monster White Slime 1094,4,100000,30000
+019-5,132,70,2,2 monster Blue Slime 1087,2,100000,30000
+019-5,106,157,97,149 monster Pollet 1219,24,200000,30000
diff --git a/npc/019-5/_warps.txt b/npc/019-5/_warps.txt
new file mode 100644
index 000000000..53989cbde
--- /dev/null
+++ b/npc/019-5/_warps.txt
@@ -0,0 +1,18 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-5: Rock Plateau warps
+019-5,136,285,0 warp #019-5_136_285 1,0,019-6,94,18
+019-5,119,197,0 warp #019-5_119_197 0,0,019-5-1,78,29
+019-5,172,215,0 warp #019-5_172_215 0,0,019-5-1,131,47
+019-5,172,222,0 warp #019-5_172_222 0,0,019-5-1,131,54
+019-5,180,186,0 warp #019-5_180_186 0,0,019-5-1,139,18
+019-5,124,210,0 warp #019-5_124_210 0,0,019-5-1,83,42
+019-5,165,276,0 warp #019-5_165_276 0,0,019-5-1,124,108
+019-5,108,165,0 warp #019-5_108_165 0,0,019-5-2,110,102
+019-5,108,156,0 warp #019-5_108_156 0,0,019-5-2,119,94
+019-5,102,111,0 warp #019-5_102_111 0,0,019-5-2,119,58
+019-5,102,107,0 warp #019-5_102_107 0,0,019-5-2,128,45
+019-5,101,143,0 warp #019-5_101_143 0,0,019-5-2,126,180
+019-5,37,173,0 warp #019-5_37_173 0,0,019-5-2,33,175
+019-5,45,73,0 warp #019-5_45_73 0,0,019-5-2,46,76
+019-5,78,109,0 warp #019-5_78_109 0,0,019-5-2,35,41
+019-5,83,123,0 warp #019-5_83_123 0,0,019-5-2,108,165
diff --git a/npc/019-5/episode.txt b/npc/019-5/episode.txt
new file mode 100644
index 000000000..7264a53f0
--- /dev/null
+++ b/npc/019-5/episode.txt
@@ -0,0 +1,33 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva <jesusalva@tmw2.org>
+// Description:
+// The Episode
+
+019-5,128,39,0 script #EpisodeDoor NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ if (getq(LoFQuest_EPISODE) != 11) {
+ dispbottom l("This door is locked. A warning sign is on the door: \"do not enter!\".");
+ end;
+ }
+ // The Episode
+ setq3 LoFQuest_EPISODE, 0;
+ .@q2=getq2(LoFQuest_EPISODE);
+ .@mapn$="ep01@"+getcharid(0);
+ .@mape$="ep02@"+getcharid(0);
+ if (instanceowner(.@q2) == getcharid(3)) {
+ instance_set_timeout(900, 900, .@q2);
+ } else {
+ .@q2 = instance_create("Episode "+getcharid(0), getcharid(3), IOT_CHAR);
+ instance_attachmap("019-5-3", .@q2, false, .@mapn$);
+ instance_attachmap("004-3-1", .@q2, false, .@mape$);
+ instance_set_timeout(900, 900, .@q2);
+ instance_init(.@q2);
+ setq2 LoFQuest_EPISODE, .@q2;
+ }
+ // Warp to instance
+ warp .@mapn$, 30, 32;
+ end;
+}
+
diff --git a/npc/019-6/_import.txt b/npc/019-6/_import.txt
new file mode 100644
index 000000000..c1ac348b5
--- /dev/null
+++ b/npc/019-6/_import.txt
@@ -0,0 +1,4 @@
+// Map 019-6: snow Path
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/019-6/_mobs.txt",
+"npc/019-6/_warps.txt",
diff --git a/npc/019-6/_mobs.txt b/npc/019-6/_mobs.txt
new file mode 100644
index 000000000..765d2cf44
--- /dev/null
+++ b/npc/019-6/_mobs.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-6: snow Path mobs
+019-6,144,58,109,42 monster Pollet 1219,12,200000,30000
+019-6,94,63,48,52 monster Santa Slime 1096,6,30000,30000
+019-6,141,50,100,45 monster Fluffy 1022,50,100000,30000
+019-6,125,71,75,37 monster Wolvern 1037,12,60000,30000
diff --git a/npc/019-6/_warps.txt b/npc/019-6/_warps.txt
new file mode 100644
index 000000000..be355b35b
--- /dev/null
+++ b/npc/019-6/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-6: snow Path warps
+019-6,257,70,0 warp #019-6_257_70 0,1,019-1,22,69
+019-6,95,17,0 warp #019-6_95_17 1,0,019-5,135,284
diff --git a/npc/020-4/henry.txt b/npc/020-4/henry.txt
index cc38c9f29..c0854189d 100644
--- a/npc/020-4/henry.txt
+++ b/npc/020-4/henry.txt
@@ -45,9 +45,37 @@
mesn;
mesq "...";
next;
- mesn;
- mesq l("Alright. Now to give your quest. But not now. Come back later.");
- next;
+ if (BaseLevel < 47) {
+ mesn;
+ mesq l("Alright. Now to give your quest. But not now, you're still weak. Come back later, will you.");
+ close; // Next quest is Level 70 so.
+ } else {
+ mesn;
+ mesq l("West of here, north of here, is a cabin. Investigate. That's all.");
+ next;
+ mesn;
+ mesq l("...Oh, right! We locked it. Uhm, we'll open it for you. Be careful.");
+ setq LoFQuest_EPISODE, 11;
+ close;
+ }
+ }
+ // Also part of The EPISODE
+ if (getq(LoFQuest_EPISODE) == 12) {
+ if (BaseLevel < 50) {
+ mesn;
+ mesq l("Before you give me your report, acquire level %d.", 50);
+ close; // Next quest is Level 70 so.
+ } else {
+ mesn;
+ mesq l("Hm, thanks for your report. This is most useful. Here, drink this.");
+ next;
+ mesc l("You start feeling dizzy.");
+ mesn;
+ mesq l("%s? You don't look so well. You should see a doctor immediately!", strcharinfo(0));
+ setq LoFQuest_EPISODE, 13;
+ SC_Bonus(86400, SC_POISON, 1);
+ close;
+ }
}
// Level requeriment
diff --git a/npc/_import.txt b/npc/_import.txt
index d6a59f20c..80d1b554f 100644
--- a/npc/_import.txt
+++ b/npc/_import.txt
@@ -221,6 +221,11 @@
@include "npc/019-3/_import.txt"
@include "npc/019-4-1/_import.txt"
@include "npc/019-4/_import.txt"
+@include "npc/019-5-1/_import.txt"
+@include "npc/019-5-2/_import.txt"
+@include "npc/019-5-3/_import.txt"
+@include "npc/019-5/_import.txt"
+@include "npc/019-6/_import.txt"
@include "npc/020-1/_import.txt"
@include "npc/020-2/_import.txt"
@include "npc/020-3/_import.txt"
diff --git a/npc/functions/util.txt b/npc/functions/util.txt
index d3aebb7d1..68967b55e 100644
--- a/npc/functions/util.txt
+++ b/npc/functions/util.txt
@@ -1191,6 +1191,10 @@ function script NewcomerEXPDROPUP {
sc_end SC_CASH_RECEIVEITEM;
sc_start SC_CASH_PLUSEXP, 86400000, (REBIRTH ? .@BONUS : .@BONUS*2/3);
sc_start SC_CASH_RECEIVEITEM, 86400000, .@BONUS;
+ // This does not belong here, but...
+ if (getq(LoFQuest_EPISODE) == 13) {
+ sc_start SC_POISON, 86400000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK;
+ }
return .@BONUS;
}
diff --git a/npc/functions/weather.txt b/npc/functions/weather.txt
index 149cb1618..f2642ee80 100644
--- a/npc/functions/weather.txt
+++ b/npc/functions/weather.txt
@@ -98,6 +98,8 @@ OnInit:
htput(.wcore, "019-2", "iceland");
htput(.wcore, "019-3", "iceland");
htput(.wcore, "019-4", "iceland");
+ htput(.wcore, "019-5", "iceland");
+ htput(.wcore, "019-6", "iceland");
htput(.wcore, "020-1", "iceland");
htput(.wcore, "022-1", "iceland");
htput(.wcore, "024-1", "iceland");