summaryrefslogtreecommitdiff
path: root/npc/025-4/Battlecaves.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/025-4/Battlecaves.txt')
-rw-r--r--npc/025-4/Battlecaves.txt187
1 files changed, 185 insertions, 2 deletions
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;
}