summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorAli-G <gauvain.dauchy@free.fr>2011-06-15 09:53:52 +0200
committerAli-G <gauvain.dauchy@free.fr>2011-06-15 09:53:52 +0200
commitd5011539f864d3b305afa8151f222b6bad3ed6f2 (patch)
tree68e7efc09f67c34cb54523629bc6c4c429ff802e /npc
parentfbcc9fa6dbfea5f8e7e6e9aa4a32a6116a4de468 (diff)
downloadserverdata-d5011539f864d3b305afa8151f222b6bad3ed6f2.tar.gz
serverdata-d5011539f864d3b305afa8151f222b6bad3ed6f2.tar.bz2
serverdata-d5011539f864d3b305afa8151f222b6bad3ed6f2.tar.xz
serverdata-d5011539f864d3b305afa8151f222b6bad3ed6f2.zip
Improved all scripts by adding barriers, adding infos, etc...
Diffstat (limited to 'npc')
-rw-r--r--npc/025-1/reset.txt10
-rw-r--r--npc/025-3/barriers.txt100
-rw-r--r--npc/025-4/Battlecaves.txt187
-rw-r--r--npc/025-4/_mobs.txt6
-rw-r--r--npc/025-4/_warps.txt1
5 files changed, 248 insertions, 56 deletions
diff --git a/npc/025-1/reset.txt b/npc/025-1/reset.txt
index f1224610..cbc98a14 100644
--- a/npc/025-1/reset.txt
+++ b/npc/025-1/reset.txt
@@ -14,6 +14,16 @@
set Alrd_Been, 0;
set Boss_10, 0;
set Killed_Boss, 0;
+ set @juliadone1, 0;
+ set @juliadone2, 0;
+ set @juliadone3, 0;
+ set @juliadone4, 0;
+ set @juliadone5, 0;
+ set @juliadone6, 0;
+ set @juliadone7, 0;
+ set @juliadone8, 0;
+ set @juliadone9, 0;
+ set @juliadone10, 0;
set FLAGS, FLAGS & ~FLAG_ROSSI_COMPLETED;
L_No:
diff --git a/npc/025-3/barriers.txt b/npc/025-3/barriers.txt
index e7a6eb71..28e8e680 100644
--- a/npc/025-3/barriers.txt
+++ b/npc/025-3/barriers.txt
@@ -16,7 +16,7 @@ L_StartFight:
set $@cave1fighterdeaths, PC_DIE_COUNTER;
startnpctimer;
set $@cave1start, gettimetick(2);
- message strcharinfo(0), "This is the message that you receive when you enter the cave";
+ message strcharinfo(0), "As you enter, you feel evil forces filling up this cave.";
end;
L_SomeoneInside:
@@ -28,9 +28,9 @@ L_AlreadyDone:
end;
L_AlreadyHelped:
- if (@juliadone == 1) end;
- message strcharinfo(0), "I already helped that little girl. There is nothing for me inside this cave.";
- set @juliadone, 1;
+ if (@juliadone1 == 1) end;
+ message strcharinfo(0), "There is nothing anymore for me inside this cave.";
+ set @juliadone1, 1;
end;
L_Block:
@@ -49,7 +49,7 @@ OnTimer5000:
L_Cleaning:
attachrid(getcharid(3,$@cave1fighter$));
warp "025-3.gat", 78, 129;
- message strcharinfo(0), "This is the message the player will see when he takes too long or get killed inside the cave.";
+ message strcharinfo(0), "You took too much time to free this cave from evil forces.";
set $@wave_cave1, 0;
set $@cave1_kills, 0;
set $@cave1start, 0;
@@ -96,7 +96,7 @@ L_StartFight:
set $@cave2fighterdeaths, PC_DIE_COUNTER;
startnpctimer;
set $@cave2start, gettimetick(2);
- message strcharinfo(0), "This is the message that you receive when you enter the cave";
+ message strcharinfo(0), "As you enter, you feel evil forces filling up this cave.";
end;
L_SomeoneInside:
@@ -108,9 +108,9 @@ L_AlreadyDone:
end;
L_AlreadyHelped:
- if (@juliadone == 1) end;
- message strcharinfo(0), "I already helped that little girl. There is nothing for me inside this cave.";
- set @juliadone, 1;
+ if (@juliadone2 == 1) end;
+ message strcharinfo(0), "There is nothing anymore for me inside this cave.";
+ set @juliadone2, 1;
end;
L_Block:
@@ -129,7 +129,7 @@ OnTimer5000:
L_Cleaning:
attachrid(getcharid(3,$@cave2fighter$));
warp "025-3.gat", 53, 109;
- message strcharinfo(0), "This is the message the player will see when he takes too long or get killed inside the cave.";
+ message strcharinfo(0), "You took too much time to free this cave from evil forces.";
set $@wave_cave2, 0;
set $@cave2_kills, 0;
set $@cave2start, 0;
@@ -175,7 +175,7 @@ L_StartFight:
set $@cave3fighterdeaths, PC_DIE_COUNTER;
startnpctimer;
set $@cave3start, gettimetick(2);
- message strcharinfo(0), "This is the message that you receive when you enter the cave";
+ message strcharinfo(0), "As you enter, you feel evil forces filling up this cave.";
end;
L_SomeoneInside:
@@ -187,9 +187,9 @@ L_AlreadyDone:
end;
L_AlreadyHelped:
- if (@juliadone == 1) end;
- message strcharinfo(0), "I already helped that little girl. There is nothing for me inside this cave.";
- set @juliadone, 1;
+ if (@juliadone3 == 1) end;
+ message strcharinfo(0), "There is nothing anymore for me inside this cave.";
+ set @juliadone3, 1;
end;
L_Block:
@@ -208,7 +208,7 @@ OnTimer5000:
L_Cleaning:
attachrid(getcharid(3,$@cave3fighter$));
warp "025-3.gat", 71, 85;
- message strcharinfo(0), "This is the message the player will see when he takes too long or get killed inside the cave.";
+ message strcharinfo(0), "You took too much time to free this cave from evil forces.";
set $@wave_cave3, 0;
set $@cave3_kills, 0;
set $@cave3start, 0;
@@ -254,7 +254,7 @@ L_StartFight:
set $@cave4fighterdeaths, PC_DIE_COUNTER;
startnpctimer;
set $@cave4start, gettimetick(2);
- message strcharinfo(0), "This is the message that you receive when you enter the cave";
+ message strcharinfo(0), "As you enter, you feel evil forces filling up this cave.";
end;
L_SomeoneInside:
@@ -266,9 +266,9 @@ L_AlreadyDone:
end;
L_AlreadyHelped:
- if (@juliadone == 1) end;
- message strcharinfo(0), "I already helped that little girl. There is nothing for me inside this cave.";
- set @juliadone, 1;
+ if (@juliadone4 == 1) end;
+ message strcharinfo(0), "There is nothing anymore for me inside this cave.";
+ set @juliadone4, 1;
end;
L_Block:
@@ -287,7 +287,7 @@ OnTimer5000:
L_Cleaning:
attachrid(getcharid(3,$@cave4fighter$));
warp "025-3.gat", 80, 85;
- message strcharinfo(0), "This is the message the player will see when he takes too long or get killed inside the cave.";
+ message strcharinfo(0), "You took too much time to free this cave from evil forces.";
set $@wave_cave4, 0;
set $@cave4_kills, 0;
set $@cave4start, 0;
@@ -333,7 +333,7 @@ L_StartFight:
set $@cave5fighterdeaths, PC_DIE_COUNTER;
startnpctimer;
set $@cave5start, gettimetick(2);
- message strcharinfo(0), "This is the message that you receive when you enter the cave";
+ message strcharinfo(0), "As you enter, you feel evil forces filling up this cave.";
end;
L_SomeoneInside:
@@ -345,9 +345,9 @@ L_AlreadyDone:
end;
L_AlreadyHelped:
- if (@juliadone == 1) end;
- message strcharinfo(0), "I already helped that little girl. There is nothing for me inside this cave.";
- set @juliadone, 1;
+ if (@juliadone5 == 1) end;
+ message strcharinfo(0), "There is nothing anymore for me inside this cave.";
+ set @juliadone5, 1;
end;
L_Block:
@@ -366,7 +366,7 @@ OnTimer5000:
L_Cleaning:
attachrid(getcharid(3,$@cave5fighter$));
warp "025-3.gat", 71, 32;
- message strcharinfo(0), "This is the message the player will see when he takes too long or get killed inside the cave.";
+ message strcharinfo(0), "You took too much time to free this cave from evil forces.";
set $@wave_cave5, 0;
set $@cave5_kills, 0;
set $@cave5start, 0;
@@ -412,7 +412,7 @@ L_StartFight:
set $@cave6fighterdeaths, PC_DIE_COUNTER;
startnpctimer;
set $@cave6start, gettimetick(2);
- message strcharinfo(0), "This is the message that you receive when you enter the cave";
+ message strcharinfo(0), "As you enter, you feel evil forces filling up this cave.";
end;
L_SomeoneInside:
@@ -424,9 +424,9 @@ L_AlreadyDone:
end;
L_AlreadyHelped:
- if (@juliadone == 1) end;
- message strcharinfo(0), "I already helped that little girl. There is nothing for me inside this cave.";
- set @juliadone, 1;
+ if (@juliadone6 == 1) end;
+ message strcharinfo(0), "There is nothing anymore for me inside this cave.";
+ set @juliadone6, 1;
end;
L_Block:
@@ -445,7 +445,7 @@ OnTimer5000:
L_Cleaning:
attachrid(getcharid(3,$@cave6fighter$));
warp "025-3.gat", 128, 37;
- message strcharinfo(0), "This is the message the player will see when he takes too long or get killed inside the cave.";
+ message strcharinfo(0), "You took too much time to free this cave from evil forces.";
set $@wave_cave6, 0;
set $@cave6_kills, 0;
set $@cave6start, 0;
@@ -491,7 +491,7 @@ L_StartFight:
set $@cave7fighterdeaths, PC_DIE_COUNTER;
startnpctimer;
set $@cave7start, gettimetick(2);
- message strcharinfo(0), "This is the message that you receive when you enter the cave";
+ message strcharinfo(0), "As you enter, you feel evil forces filling up this cave.";
end;
L_SomeoneInside:
@@ -503,9 +503,9 @@ L_AlreadyDone:
end;
L_AlreadyHelped:
- if (@juliadone == 1) end;
- message strcharinfo(0), "I already helped that little girl. There is nothing for me inside this cave.";
- set @juliadone, 1;
+ if (@juliadone7 == 1) end;
+ message strcharinfo(0), "There is nothing anymore for me inside this cave.";
+ set @juliadone7, 1;
end;
L_Block:
@@ -524,7 +524,7 @@ OnTimer5000:
L_Cleaning:
attachrid(getcharid(3,$@cave7fighter$));
warp "025-3.gat", 70, 59;
- message strcharinfo(0), "This is the message the player will see when he takes too long or get killed inside the cave.";
+ message strcharinfo(0), "You took too much time to free this cave from evil forces.";
set $@wave_cave7, 0;
set $@cave7_kills, 0;
set $@cave7start, 0;
@@ -570,7 +570,7 @@ L_StartFight:
set $@cave8fighterdeaths, PC_DIE_COUNTER;
startnpctimer;
set $@cave8start, gettimetick(2);
- message strcharinfo(0), "This is the message that you receive when you enter the cave";
+ message strcharinfo(0), "As you enter, you feel evil forces filling up this cave.";
end;
L_SomeoneInside:
@@ -582,9 +582,9 @@ L_AlreadyDone:
end;
L_AlreadyHelped:
- if (@juliadone == 1) end;
- message strcharinfo(0), "I already helped that little girl. There is nothing for me inside this cave.";
- set @juliadone, 1;
+ if (@juliadone8 == 1) end;
+ message strcharinfo(0), "There is nothing anymore for me inside this cave.";
+ set @juliadone8, 1;
end;
L_Block:
@@ -603,7 +603,7 @@ OnTimer5000:
L_Cleaning:
attachrid(getcharid(3,$@cave8fighter$));
warp "025-3.gat", 138, 94;
- message strcharinfo(0), "This is the message the player will see when he takes too long or get killed inside the cave.";
+ message strcharinfo(0), "You took too much time to free this cave from evil forces.";
set $@wave_cave8, 0;
set $@cave8_kills, 0;
set $@cave8start, 0;
@@ -649,7 +649,7 @@ L_StartFight:
set $@cave9fighterdeaths, PC_DIE_COUNTER;
startnpctimer;
set $@cave9start, gettimetick(2);
- message strcharinfo(0), "This is the message that you receive when you enter the cave";
+ message strcharinfo(0), "As you enter, you feel evil forces filling up this cave.";
end;
L_SomeoneInside:
@@ -661,9 +661,9 @@ L_AlreadyDone:
end;
L_AlreadyHelped:
- if (@juliadone == 1) end;
- message strcharinfo(0), "I already helped that little girl. There is nothing for me inside this cave.";
- set @juliadone, 1;
+ if (@juliadone9 == 1) end;
+ message strcharinfo(0), "There is nothing anymore for me inside this cave.";
+ set @juliadone9, 1;
end;
L_Block:
@@ -682,7 +682,7 @@ OnTimer5000:
L_Cleaning:
attachrid(getcharid(3,$@cave9fighter$));
warp "025-3.gat", 138, 158;
- message strcharinfo(0), "This is the message the player will see when he takes too long or get killed inside the cave.";
+ message strcharinfo(0), "You took too much time to free this cave from evil forces.";
set $@wave_cave9, 0;
set $@cave9_kills, 0;
set $@cave9start, 0;
@@ -720,7 +720,7 @@ L_AlreadyClean:
//Check if you can enter this cave
if (cavefights & BATTLE_CAVE1 && cavefights & BATTLE_CAVE2 && cavefights & BATTLE_CAVE3 && cavefights & BATTLE_CAVE4 && cavefights & BATTLE_CAVE5 && cavefights & BATTLE_CAVE6 && cavefights & BATTLE_CAVE7 && cavefights & BATTLE_CAVE8 && cavefights & BATTLE_CAVE9) goto L_StartFight;
- message strcharinfo(0), "It feels like something terrible is lurking inside this cave... But you can't enter before you defeat the monsters in the other caves.";
+ message strcharinfo(0), "It feels like something terrible is lurking inside this cave... But don't have enough of a particular force to enter, you are too frightened.";
end;
L_StartFight:
@@ -739,9 +739,9 @@ L_SomeoneInside:
end;
L_AlreadyHelped:
- if (@juliadone == 1) end;
- message strcharinfo(0), "I already helped that little girl. There is nothing for me inside this cave.";
- set @juliadone, 1;
+ if (@juliadone10 == 1) end;
+ message strcharinfo(0), "There is nothing anymore for me inside this cave.";
+ set @juliadone10, 1;
end;
OnTimer5000:
@@ -757,7 +757,7 @@ OnTimer5000:
L_Cleaning:
attachrid(getcharid(3,$@cave10fighter$));
warp "025-3.gat", 77, 168;
- message strcharinfo(0), "This is the message the player will see when he takes too long or get killed inside the cave.";
+ message strcharinfo(0), "You took too much time to free this cave from evil forces.";
set $@wave_cave10, 0;
set $@cave10_kills, 0;
set $@cave10start, 0;
diff --git a/npc/025-4/Battlecaves.txt b/npc/025-4/Battlecaves.txt
index 2b435756..119da5cc 100644
--- a/npc/025-4/Battlecaves.txt
+++ b/npc/025-4/Battlecaves.txt
@@ -7,6 +7,7 @@
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
+ percentheal -100, 0;
end;
L_Summon:
@@ -60,7 +61,18 @@ onInit:
set $@CAVE1_WAVES, 3;
// Maximum time (in seconds) for the player to finish the fight.
set $@CAVE1_TIME, 30;
+}
+
+// --------------------- Cave 1 Checker ----------------------------
+
+025-4.gat,41,97,0 script #CheckCaveFight1 127,1,1,{
+ if (cavefight & BATTLE_CAVE1) goto L_Done;
+ message strcharinfo(0), "Evil forces make you stop, you need to defeat them first before getting out.";
+ end;
+L_Done:
+ warp "025-3.gat", 78, 130;
+ end;
}
// --------------------------------- Cave 2 ---------------------------------------
@@ -73,6 +85,7 @@ onInit:
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
+ percentheal -100, 0;
end;
L_Summon:
@@ -128,6 +141,18 @@ onInit:
set $@CAVE2_TIME, 30;
}
+// --------------------- Cave 2 Checker ----------------------------
+
+025-4.gat,110,96,0 script #CheckCaveFight2 127,1,1,{
+ if (cavefight & BATTLE_CAVE2) goto L_Done;
+ message strcharinfo(0), "Evil forces make you stop, you need to defeat them first before getting out.";
+ end;
+
+L_Done:
+ warp "025-3.gat", 53, 110;
+ end;
+}
+
// ------------------------------------ Cave 3 --------------------------------------
025-4.gat,168,111,0 script #StartCaveFight3 111,{
if (Rossy_Quest < 15) goto L_Cheat;
@@ -136,6 +161,7 @@ onInit:
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
+ percentheal -100, 0;
end;
L_Summon:
@@ -191,6 +217,18 @@ onInit:
set $@CAVE3_TIME, 30;
}
+// --------------------- Cave 3 Checker ----------------------------
+
+025-4.gat,168,117,0 script #CheckCaveFight3 127,1,1,{
+ if (cavefight & BATTLE_CAVE3) goto L_Done;
+ message strcharinfo(0), "Evil forces make you stop, you need to defeat them first before getting out.";
+ end;
+
+L_Done:
+ warp "025-3.gat", 71, 85;
+ end;
+}
+
// --------------------------- Cave 4 --------------------------------
025-4.gat,32,150,0 script #StartCaveFight4 111,{
if (Rossy_Quest < 15) goto L_Cheat;
@@ -199,6 +237,7 @@ onInit:
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
+ percentheal -100, 0;
end;
L_Summon:
@@ -252,7 +291,18 @@ onInit:
set $@CAVE4_WAVES, 3;
// Maximum time (in seconds) for the player to finish the fight.
set $@CAVE4_TIME, 30;
+}
+
+// --------------------- Cave 4 Checker ----------------------------
+
+025-4.gat,32,156,0 script #CheckCaveFight4 127,1,1,{
+ if (cavefight & BATTLE_CAVE4) goto L_Done;
+ message strcharinfo(0), "Evil forces make you stop, you need to defeat them first before getting out.";
+ end;
+L_Done:
+ warp "025-3.gat", 80, 85;
+ end;
}
// ---------------------------- Cave 5 ------------------------------
@@ -264,6 +314,7 @@ onInit:
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
+ percentheal -100, 0;
end;
L_Summon:
@@ -319,6 +370,18 @@ onInit:
set $@CAVE5_TIME, 30;
}
+// --------------------- Cave 5 Checker ----------------------------
+
+025-4.gat,100,160,0 script #CheckCaveFight5 127,1,1,{
+ if (cavefight & BATTLE_CAVE5) goto L_Done;
+ message strcharinfo(0), "Evil forces make you stop, you need to defeat them first before getting out.";
+ end;
+
+L_Done:
+ warp "025-3.gat", 71, 33;
+ end;
+}
+
// -------------------------------- Cave 6 -----------------------------------------
025-4.gat,159,168,0 script #StartCaveFight6 111,{
@@ -328,6 +391,7 @@ onInit:
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
+ percentheal -100, 0;
end;
L_Summon:
@@ -383,6 +447,18 @@ onInit:
set $@CAVE6_TIME, 30;
}
+// --------------------- Cave 6 Checker ----------------------------
+
+025-4.gat,159,174,0 script #CheckCaveFight6 127,1,1,{
+ if (cavefight & BATTLE_CAVE6) goto L_Done;
+ message strcharinfo(0), "Evil forces make you stop, you need to defeat them first before getting out.";
+ end;
+
+L_Done:
+ warp "025-3.gat", 128, 38;
+ end;
+}
+
// -------------------------------- Cave 7 -----------------------------------
025-4.gat,39,215,0 script #StartCaveFight7 111,{
@@ -392,6 +468,7 @@ onInit:
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
+ percentheal -100, 0;
end;
L_Summon:
@@ -447,6 +524,18 @@ onInit:
set $@CAVE7_TIME, 30;
}
+// --------------------- Cave 7 Checker ----------------------------
+
+025-4.gat,42,219,0 script #CheckCaveFight7 127,1,1,{
+ if (cavefight & BATTLE_CAVE7) goto L_Done;
+ message strcharinfo(0), "Evil forces make you stop, you need to defeat them first before getting out.";
+ end;
+
+L_Done:
+ warp "025-3.gat", 70, 60;
+ end;
+}
+
// --------------------------- Cave 8 -------------------------------
025-4.gat,105,210,0 script #StartCaveFight8 111,{
@@ -456,6 +545,7 @@ onInit:
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
+ percentheal -100, 0;
end;
L_Summon:
@@ -509,7 +599,18 @@ onInit:
set $@CAVE8_WAVES, 3;
// Maximum time (in seconds) for the player to finish the fight.
set $@CAVE8_TIME, 30;
+}
+
+// --------------------- Cave 8 Checker ----------------------------
+
+025-4.gat,105,216,0 script #CheckCaveFight8 127,1,1,{
+ if (cavefight & BATTLE_CAVE8) goto L_Done;
+ message strcharinfo(0), "Evil forces make you stop, you need to defeat them first before getting out.";
+ end;
+L_Done:
+ warp "025-3.gat", 138, 95;
+ end;
}
// --------------------------- Cave 9 -------------------------------
@@ -521,6 +622,7 @@ onInit:
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
+ percentheal -100, 0;
end;
L_Summon:
@@ -574,13 +676,32 @@ onInit:
set $@CAVE9_WAVES, 3;
// Maximum time (in seconds) for the player to finish the fight.
set $@CAVE9_TIME, 30;
+}
+
+// --------------------- Cave 9 Checker ----------------------------
+
+025-4.gat,157,226,0 script #CheckCaveFight9 127,1,1,{
+ if (cavefight & BATTLE_CAVE9) goto L_Done;
+ message strcharinfo(0), "Evil forces make you stop, you need to defeat them first before getting out.";
+ end;
+L_Done:
+ warp "025-3.gat", 138, 158;
+ end;
}
// --------------------- Boss Cave ----------------------------
025-4.gat,157,42,0 script #StartBossCaveFight 111,{
+ if (Rossy_Quest == 16) goto L_Found;
if ($@battlebosscave == 1 && cavefights & BATTLE_CAVE1 && cavefights & BATTLE_CAVE2 && cavefights & BATTLE_CAVE3 && cavefights & BATTLE_CAVE4 && cavefights & BATTLE_CAVE5 && cavefights & BATTLE_CAVE6 && cavefights & BATTLE_CAVE7 && cavefights & BATTLE_CAVE8 && cavefights & BATTLE_CAVE9 && Rossy_Quest == 15) goto L_Summon;
+ message strcharinfo(0), "You shouldn't be here, you cheater.";
+ percentheal -100, 0;
+ end;
+
+L_Found:
+ message strcharinfo(0), "You found a golden key.";
+ set Killed_Boss, 1;
end;
L_Summon:
@@ -631,7 +752,7 @@ L_Cleaning:
OnTimer4000:
attachrid(getcharid(3,$@cave10fighter$));
set @boss, @boss + 1;
- if (@boss == 1) message strcharinfo(0), "Here you put a message indicating that maybe the battle will go a little longer";
+ if (@boss == 1) message strcharinfo(0), "Due to the number of monsters in this cave, you feel you have more time to kill them all.";
if (@boss == 2) goto L_SummonBoss;
setnpctimer 0;
end;
@@ -648,7 +769,7 @@ OnBossDeath:
set $@cave10start, 0;
set $@cave10fighter$, "";
set $@cave10fighterdeaths$, 0;
- message strcharinfo(0), "I am now sure I defeated all the monsters of these spooky caves! Julia must be in a room accessible from this place...";
+ message strcharinfo(0), "What a harsh battle! Oh, a golden key, it might open the chest!";
set Rossy_Quest, 16;
set Boss_10, 0;
end;
@@ -665,6 +786,68 @@ onInit:
set $@CAVE10_WAVES, 4;
// Maximum time (in seconds) for the player to finish the fight.
set $@CAVE10_TIME, 120;
+}
+
+// --------------------- Boss Cave Checker ----------------------------
+
+025-4.gat,157,48,0 script #CheckCaveFight1 127,1,1,{
+ if (Rossy_Quest >= 17) goto L_Done;
+ if (Killed_Boss == 1) goto L_Done;
+ message strcharinfo(0), "Evil forces make you stop, you need to defeat them first before getting out.";
+ end;
+
+L_Killed:
+ message strcharinfo(0), "The little girl seems so close, you can't let her stay here.";
+ end;
+
+L_Done:
+ warp "025-3.gat", 77, 168;
+ end;
+}
+
+// --------------------- Julia Cave Checker Outside ----------------------------
+
+025-4.gat,157,24,0 script #CheckJuliaCaveOutside 127,1,1,{
+ if (Killed_Boss == 1) goto L_Done;
+ message strcharinfo(0), "As you try to walk through, you bump into an invisible door. You might need a key to open it.";
+ end;
+
+L_Done:
+ warp "025-4.gat", 93, 33;
+ end;
+}
+
+// --------------------- Julia Cave Checker Inside ----------------------------
+
+025-4.gat,93,35,0 script #CheckJuliaCaveInside 127,1,1,{
+ if (Rossy_Quest >= 17 && Killed_Boss == 1) goto L_Done;
+ if (Rossy_Quest >= 17 && Killed_Boss == 0) goto L_Cheat2;
+ if (Rossy_Quest == 16 && Killed_Boss == 1) goto L_Save;
+ if (Rossy_Quest == 16 && Killed_Boss == 0) goto L_Cheat3;
+ if (Rossy_Quest <= 15) goto L_Cheat;
+ end;
+L_Cheat:
+ message strcharinfo(0), "You shouldn't be here, you cheater.";
+ percentheal -100, 0;
+ end;
+
+L_Cheat2:
+ message strcharinfo(0), "You saved Julia without having killed the boss? Is that even possible?";
+ percentheal -100, 0;
+ end;
+
+L_Cheat3:
+ message strcharinfo(0), "You can save Julia without killing the boss? Cheating isn't fair.";
+ percentheal -100, 0;
+ end;
+
+L_Done:
+ warp "025-4.gat", 157, 26;
+ end;
+
+L_Save:
+ message strcharinfo(0), "You can't leave Julia here, all alone!";
+ end;
}
diff --git a/npc/025-4/_mobs.txt b/npc/025-4/_mobs.txt
index ca9a8f35..81cd1cf4 100644
--- a/npc/025-4/_mobs.txt
+++ b/npc/025-4/_mobs.txt
@@ -1,9 +1,9 @@
// This file is generated automatically. All manually changes will be removed when running the Converter.
// mobs
-025-4.gat,29,29,20,15 monster CaveMaggot 1056,3,0,0,Mob025-4::On1056
-025-4.gat,94,23,20,18 monster CaveMaggot 1056,5,0,0,Mob025-4::On1056
-025-4.gat,157,35,30,22 monster CaveMaggot 1056,30,0,0,Mob025-4::On1056
+025-4.gat,29,31,20,14 monster CaveMaggot 1056,3,0,0,Mob025-4::On1056
+025-4.gat,94,24,20,21 monster CaveMaggot 1056,5,0,0,Mob025-4::On1056
+025-4.gat,157,36,30,24 monster CaveMaggot 1056,15,0,0,Mob025-4::On1056
025-4.gat,0,0,0 script Mob025-4 -1,{
diff --git a/npc/025-4/_warps.txt b/npc/025-4/_warps.txt
index 6787b071..e0b9ae4d 100644
--- a/npc/025-4/_warps.txt
+++ b/npc/025-4/_warps.txt
@@ -2,4 +2,3 @@
// warps
025-4.gat,28,37 warp ToMainHall -1,-1,025-3.gat,105,87
-025-4.gat,93,34 warp ToMainHall -1,-1,025-4.gat,157,26