summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoffee <coffee@coffee-EP45-UD3L.(none)>2011-06-14 21:22:15 -0300
committerCoffee <coffee@coffee-EP45-UD3L.(none)>2011-06-14 21:22:15 -0300
commitfbcc9fa6dbfea5f8e7e6e9aa4a32a6116a4de468 (patch)
treea44ecdb83c2e99b4f7f1a296252f119aeccd78ed
parent489d2d2da475e27a327075bef7a9d0422e43e5cf (diff)
downloadserverdata-fbcc9fa6dbfea5f8e7e6e9aa4a32a6116a4de468.tar.gz
serverdata-fbcc9fa6dbfea5f8e7e6e9aa4a32a6116a4de468.tar.bz2
serverdata-fbcc9fa6dbfea5f8e7e6e9aa4a32a6116a4de468.tar.xz
serverdata-fbcc9fa6dbfea5f8e7e6e9aa4a32a6116a4de468.zip
Fix some problems in the cavefights
-rw-r--r--npc/025-3/barriers.txt476
-rw-r--r--npc/025-4/Battlecaves.txt433
2 files changed, 522 insertions, 387 deletions
diff --git a/npc/025-3/barriers.txt b/npc/025-3/barriers.txt
index bbb8ee9a..e7a6eb71 100644
--- a/npc/025-3/barriers.txt
+++ b/npc/025-3/barriers.txt
@@ -1,4 +1,4 @@
-// -----------------------------------------------Warp to Cave 1--------------------------------------------------------------
+// -----------------------------------Warp to Cave 1 ---------------------------------------
025-3.gat,78,127,0 script #WarpBattleCave1 127,1,1,{
@@ -10,8 +10,13 @@
if (Rossy_Quest < 15) goto L_Block;
L_StartFight:
- set @battlecave1, 1;
+ set $@battlecave1, 1;
warp "025-4.gat", 41, 95;
+ set $@cave1fighter$, strcharinfo(0);
+ 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";
end;
L_SomeoneInside:
@@ -31,9 +36,49 @@ L_AlreadyHelped:
L_Block:
message strcharinfo(0), "I can't enter this cave. Maybe I should learn more about this place before I go inside.";
end;
+
+OnTimer5000:
+ if ($@battlecave1 == 0) goto L_AlreadyClean;
+ if (isloggedin(getcharid(3,$@cave1fighter$))==0) goto L_CleaningNorid;
+ attachrid(getcharid(3,$@cave1fighter$));
+ if (gettimetick(2) - $@cave1start >= $@CAVE1_TIME) goto L_Cleaning;
+ if (PC_DIE_COUNTER > $@cave1fighterdeaths) goto L_Cleaning;
+ setnpctimer 0;
+ end;
+
+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.";
+ set $@wave_cave1, 0;
+ set $@cave1_kills, 0;
+ set $@cave1start, 0;
+ set $@cave1fighter$, "";
+ set $@cave1fighterdeaths$, 0;
+ killmonster "025-4.gat", "#StartCaveFight1::OnMonsterDeath";
+ stopnpctimer;
+ setnpctimer 0;
+ end;
+
+L_CleaningNorid:
+ set $@wave_cave1, 0;
+ set $@cave1_kills, 0;
+ set $@cave1start, 0;
+ set $@cave1fighter$, "";
+ set $@cave1fighterdeaths$, 0;
+ killmonster "025-4.gat", "#StartCaveFight1::OnMonsterDeath";
+ stopnpctimer;
+ setnpctimer 0;
+ end;
+
+L_AlreadyClean:
+ stopnpctimer;
+ setnpctimer 0;
+ end;
+
}
-// -----------------------------------------------Warp to Cave 2--------------------------------------------------------------
+// ---------------------------- Warp to Cave 2 ----------------------------
025-3.gat,53,107,0 script #WarpBattleCave2 127,1,1,{
@@ -45,8 +90,13 @@ L_Block:
if (Rossy_Quest < 15) goto L_Block;
L_StartFight:
- set @battlecave2, 1;
+ set $@battlecave2, 1;
warp "025-4.gat", 110, 94;
+ set $@cave2fighter$, strcharinfo(0);
+ 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";
end;
L_SomeoneInside:
@@ -67,9 +117,47 @@ L_Block:
message strcharinfo(0), "I can't enter this cave. Maybe I should learn more about this place before I go inside.";
end;
+OnTimer5000:
+ if ($@battlecave2 == 0) goto L_AlreadyClean;
+ if (isloggedin(getcharid(3,$@cave2fighter$))==0) goto L_CleaningNorid;
+ attachrid(getcharid(3,$@cave2fighter$));
+ if (gettimetick(2) - $@cave2start >= $@CAVE2_TIME) goto L_Cleaning;
+ if (PC_DIE_COUNTER > $@cave2fighterdeaths) goto L_Cleaning;
+ setnpctimer 0;
+ end;
+
+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.";
+ set $@wave_cave2, 0;
+ set $@cave2_kills, 0;
+ set $@cave2start, 0;
+ set $@cave2fighter$, "";
+ set $@cave2fighterdeaths$, 0;
+ killmonster "025-4.gat", "#StartCaveFight2::OnMonsterDeath";
+ stopnpctimer;
+ setnpctimer 0;
+ end;
+
+L_CleaningNorid:
+ set $@wave_cave2, 0;
+ set $@cave2_kills, 0;
+ set $@cave2start, 0;
+ set $@cave2fighter$, "";
+ set $@cave2fighterdeaths$, 0;
+ killmonster "025-4.gat", "#StartCaveFight2::OnMonsterDeath";
+ stopnpctimer;
+ setnpctimer 0;
+ end;
+
+L_AlreadyClean:
+ stopnpctimer;
+ setnpctimer 0;
+ end;
}
-// -----------------------------------------------Warp to Cave 3-------------------------------------------------------------
+// --------------------------------- Warp to Cave 3 ----------------------------------------
025-3.gat,71,83,0 script #WarpBattleCave3 127,1,1,{
@@ -81,8 +169,13 @@ L_Block:
if (Rossy_Quest < 15) goto L_Block;
L_StartFight:
- set @battlecave3, 1;
+ set $@battlecave3, 1;
warp "025-4.gat", 168, 115;
+ set $@cave3fighter$, strcharinfo(0);
+ 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";
end;
L_SomeoneInside:
@@ -103,9 +196,47 @@ L_Block:
message strcharinfo(0), "I can't enter this cave. Maybe I should learn more about this place before I go inside.";
end;
+OnTimer5000:
+ if ($@battlecave3 == 0) goto L_AlreadyClean;
+ if (isloggedin(getcharid(3,$@cave3fighter$))==0) goto L_CleaningNorid;
+ attachrid(getcharid(3,$@cave3fighter$));
+ if (gettimetick(2) - $@cave3start >= $@CAVE3_TIME) goto L_Cleaning;
+ if (PC_DIE_COUNTER > $@cave3fighterdeaths) goto L_Cleaning;
+ setnpctimer 0;
+ end;
+
+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.";
+ set $@wave_cave3, 0;
+ set $@cave3_kills, 0;
+ set $@cave3start, 0;
+ set $@cave3fighter$, "";
+ set $@cave3fighterdeaths$, 0;
+ killmonster "025-4.gat", "#StartCaveFight3::OnMonsterDeath";
+ stopnpctimer;
+ setnpctimer 0;
+ end;
+
+L_CleaningNorid:
+ set $@wave_cave3, 0;
+ set $@cave3_kills, 0;
+ set $@cave3start, 0;
+ set $@cave3fighter$, "";
+ set $@cave3fighterdeaths$, 0;
+ killmonster "025-4.gat", "#StartCaveFight3::OnMonsterDeath";
+ stopnpctimer;
+ setnpctimer 0;
+ end;
+
+L_AlreadyClean:
+ stopnpctimer;
+ setnpctimer 0;
+ end;
}
-// -----------------------------------------------Warp to Cave 4-------------------------------------------------------------
+// --------------------------- Warp to Cave 4 --------------------------------------
025-3.gat,80,83,0 script #WarpBattleCave4 127,1,1,{
@@ -117,8 +248,13 @@ L_Block:
if (Rossy_Quest < 15) goto L_Block;
L_StartFight:
- set @battlecave4, 1;
+ set $@battlecave4, 1;
warp "025-4.gat", 32, 154;
+ set $@cave4fighter$, strcharinfo(0);
+ 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";
end;
L_SomeoneInside:
@@ -139,9 +275,47 @@ L_Block:
message strcharinfo(0), "I can't enter this cave. Maybe I should learn more about this place before I go inside.";
end;
+OnTimer5000:
+ if ($@battlecave4 == 0) goto L_AlreadyClean;
+ if (isloggedin(getcharid(3,$@cave4fighter$))==0) goto L_CleaningNorid;
+ attachrid(getcharid(3,$@cave4fighter$));
+ if (gettimetick(2) - $@cave4start >= $@CAVE4_TIME) goto L_Cleaning;
+ if (PC_DIE_COUNTER > $@cave4fighterdeaths) goto L_Cleaning;
+ setnpctimer 0;
+ end;
+
+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.";
+ set $@wave_cave4, 0;
+ set $@cave4_kills, 0;
+ set $@cave4start, 0;
+ set $@cave4fighter$, "";
+ set $@cave4fighterdeaths$, 0;
+ killmonster "025-4.gat", "#StartCaveFight4::OnMonsterDeath";
+ stopnpctimer;
+ setnpctimer 0;
+ end;
+
+L_CleaningNorid:
+ set $@wave_cave4, 0;
+ set $@cave4_kills, 0;
+ set $@cave4start, 0;
+ set $@cave4fighter$, "";
+ set $@cave4fighterdeaths$, 0;
+ killmonster "025-4.gat", "#StartCaveFight4::OnMonsterDeath";
+ stopnpctimer;
+ setnpctimer 0;
+ end;
+
+L_AlreadyClean:
+ stopnpctimer;
+ setnpctimer 0;
+ end;
}
-// -----------------------------------------------Warp to Cave 5-------------------------------------------------------------
+// --------------------------- Warp to Cave 5 ----------------------------------------
025-3.gat,71,30,0 script #WarpBattleCave5 127,1,1,{
@@ -153,8 +327,13 @@ L_Block:
if (Rossy_Quest < 15) goto L_Block;
L_StartFight:
- set @battlecave5, 1;
+ set $@battlecave5, 1;
warp "025-4.gat", 100, 158;
+ set $@cave5fighter$, strcharinfo(0);
+ 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";
end;
L_SomeoneInside:
@@ -175,9 +354,47 @@ L_Block:
message strcharinfo(0), "I can't enter this cave. Maybe I should learn more about this place before I go inside.";
end;
+OnTimer5000:
+ if ($@battlecave5 == 0) goto L_AlreadyClean;
+ if (isloggedin(getcharid(3,$@cave5fighter$))==0) goto L_CleaningNorid;
+ attachrid(getcharid(3,$@cave5fighter$));
+ if (gettimetick(2) - $@cave5start >= $@CAVE5_TIME) goto L_Cleaning;
+ if (PC_DIE_COUNTER > $@cave5fighterdeaths) goto L_Cleaning;
+ setnpctimer 0;
+ end;
+
+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.";
+ set $@wave_cave5, 0;
+ set $@cave5_kills, 0;
+ set $@cave5start, 0;
+ set $@cave5fighter$, "";
+ set $@cave5fighterdeaths$, 0;
+ killmonster "025-4.gat", "#StartCaveFight5::OnMonsterDeath";
+ stopnpctimer;
+ setnpctimer 0;
+ end;
+
+L_CleaningNorid:
+ set $@wave_cave5, 0;
+ set $@cave5_kills, 0;
+ set $@cave5start, 0;
+ set $@cave5fighter$, "";
+ set $@cave5fighterdeaths$, 0;
+ killmonster "025-4.gat", "#StartCaveFight5::OnMonsterDeath";
+ stopnpctimer;
+ setnpctimer 0;
+ end;
+
+L_AlreadyClean:
+ stopnpctimer;
+ setnpctimer 0;
+ end;
}
-// -----------------------------------------------Warp to Cave 6-------------------------------------------------------------
+// -------------------------------- Warp to Cave 6 -----------------------------------------
025-3.gat,128,35,0 script #WarpBattleCave6 127,1,1,{
@@ -189,8 +406,13 @@ L_Block:
if (Rossy_Quest < 15) goto L_Block;
L_StartFight:
- set @battlecave6, 1;
+ set $@battlecave6, 1;
warp "025-4.gat", 159, 172;
+ set $@cave6fighter$, strcharinfo(0);
+ 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";
end;
L_SomeoneInside:
@@ -211,10 +433,47 @@ L_Block:
message strcharinfo(0), "I can't enter this cave. Maybe I should learn more about this place before I go inside.";
end;
-
+OnTimer5000:
+ if ($@battlecave6 == 0) goto L_AlreadyClean;
+ if (isloggedin(getcharid(3,$@cave6fighter$))==0) goto L_CleaningNorid;
+ attachrid(getcharid(3,$@cave6fighter$));
+ if (gettimetick(2) - $@cave6start >= $@CAVE6_TIME) goto L_Cleaning;
+ if (PC_DIE_COUNTER > $@cave6fighterdeaths) goto L_Cleaning;
+ setnpctimer 0;
+ end;
+
+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.";
+ set $@wave_cave6, 0;
+ set $@cave6_kills, 0;
+ set $@cave6start, 0;
+ set $@cave6fighter$, "";
+ set $@cave6fighterdeaths$, 0;
+ killmonster "025-4.gat", "#StartCaveFight6::OnMonsterDeath";
+ stopnpctimer;
+ setnpctimer 0;
+ end;
+
+L_CleaningNorid:
+ set $@wave_cave6, 0;
+ set $@cave6_kills, 0;
+ set $@cave6start, 0;
+ set $@cave6fighter$, "";
+ set $@cave6fighterdeaths$, 0;
+ killmonster "025-4.gat", "#StartCaveFight6::OnMonsterDeath";
+ stopnpctimer;
+ setnpctimer 0;
+ end;
+
+L_AlreadyClean:
+ stopnpctimer;
+ setnpctimer 0;
+ end;
}
-// -----------------------------------------------Warp to Cave 7-------------------------------------------------------------
+// ---------------------------- Warp to Cave 7 ------------------------------------------
025-3.gat,70,57,0 script #WarpBattleCave7 127,1,1,{
@@ -226,8 +485,13 @@ L_Block:
if (Rossy_Quest < 15) goto L_Block;
L_StartFight:
- set @battlecave7, 1;
+ set $@battlecave7, 1;
warp "025-4.gat", 42, 217;
+ set $@cave7fighter$, strcharinfo(0);
+ 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";
end;
L_SomeoneInside:
@@ -248,6 +512,44 @@ L_Block:
message strcharinfo(0), "I can't enter this cave. Maybe I should learn more about this place before I go inside.";
end;
+OnTimer5000:
+ if ($@battlecave7 == 0) goto L_AlreadyClean;
+ if (isloggedin(getcharid(3,$@cave7fighter$))==0) goto L_CleaningNorid;
+ attachrid(getcharid(3,$@cave7fighter$));
+ if (gettimetick(2) - $@cave7start >= $@CAVE7_TIME) goto L_Cleaning;
+ if (PC_DIE_COUNTER > $@cave7fighterdeaths) goto L_Cleaning;
+ setnpctimer 0;
+ end;
+
+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.";
+ set $@wave_cave7, 0;
+ set $@cave7_kills, 0;
+ set $@cave7start, 0;
+ set $@cave7fighter$, "";
+ set $@cave7fighterdeaths$, 0;
+ killmonster "025-4.gat", "#StartCaveFight7::OnMonsterDeath";
+ stopnpctimer;
+ setnpctimer 0;
+ end;
+
+L_CleaningNorid:
+ set $@wave_cave7, 0;
+ set $@cave7_kills, 0;
+ set $@cave7start, 0;
+ set $@cave7fighter$, "";
+ set $@cave7fighterdeaths$, 0;
+ killmonster "025-4.gat", "#StartCaveFight7::OnMonsterDeath";
+ stopnpctimer;
+ setnpctimer 0;
+ end;
+
+L_AlreadyClean:
+ stopnpctimer;
+ setnpctimer 0;
+ end;
}
// -----------------------------------------------Warp to Cave 8-------------------------------------------------------------
@@ -262,8 +564,13 @@ L_Block:
if (Rossy_Quest < 15) goto L_Block;
L_StartFight:
- set @battlecave8, 1;
+ set $@battlecave8, 1;
warp "025-4.gat", 105, 214;
+ set $@cave8fighter$, strcharinfo(0);
+ 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";
end;
L_SomeoneInside:
@@ -284,9 +591,47 @@ L_Block:
message strcharinfo(0), "I can't enter this cave. Maybe I should learn more about this place before I go inside.";
end;
+OnTimer5000:
+ if ($@battlecave8 == 0) goto L_AlreadyClean;
+ if (isloggedin(getcharid(3,$@cave8fighter$))==0) goto L_CleaningNorid;
+ attachrid(getcharid(3,$@cave8fighter$));
+ if (gettimetick(2) - $@cave8start >= $@CAVE8_TIME) goto L_Cleaning;
+ if (PC_DIE_COUNTER > $@cave8fighterdeaths) goto L_Cleaning;
+ setnpctimer 0;
+ end;
+
+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.";
+ set $@wave_cave8, 0;
+ set $@cave8_kills, 0;
+ set $@cave8start, 0;
+ set $@cave8fighter$, "";
+ set $@cave8fighterdeaths$, 0;
+ killmonster "025-4.gat", "#StartCaveFight8::OnMonsterDeath";
+ stopnpctimer;
+ setnpctimer 0;
+ end;
+
+L_CleaningNorid:
+ set $@wave_cave8, 0;
+ set $@cave8_kills, 0;
+ set $@cave8start, 0;
+ set $@cave8fighter$, "";
+ set $@cave8fighterdeaths$, 0;
+ killmonster "025-4.gat", "#StartCaveFight8::OnMonsterDeath";
+ stopnpctimer;
+ setnpctimer 0;
+ end;
+
+L_AlreadyClean:
+ stopnpctimer;
+ setnpctimer 0;
+ end;
}
-// -----------------------------------------------Warp to Cave 9-------------------------------------------------------------
+// ------------------------------ Warp to Cave 9 ----------------------------------------
025-3.gat,138,160,0 script #WarpBattleCave9 127,1,1,{
@@ -298,8 +643,13 @@ L_Block:
if (Rossy_Quest < 15) goto L_Block;
L_StartFight:
- set @battlecave9, 1;
+ set $@battlecave9, 1;
warp "025-4.gat", 157, 224;
+ set $@cave9fighter$, strcharinfo(0);
+ 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";
end;
L_SomeoneInside:
@@ -320,9 +670,47 @@ L_Block:
message strcharinfo(0), "I can't enter this cave. Maybe I should learn more about this place before I go inside.";
end;
+OnTimer5000:
+ if ($@battlecave9 == 0) goto L_AlreadyClean;
+ if (isloggedin(getcharid(3,$@cave9fighter$))==0) goto L_CleaningNorid;
+ attachrid(getcharid(3,$@cave9fighter$));
+ if (gettimetick(2) - $@cave9start >= $@CAVE9_TIME) goto L_Cleaning;
+ if (PC_DIE_COUNTER > $@cave9fighterdeaths) goto L_Cleaning;
+ setnpctimer 0;
+ end;
+
+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.";
+ set $@wave_cave9, 0;
+ set $@cave9_kills, 0;
+ set $@cave9start, 0;
+ set $@cave9fighter$, "";
+ set $@cave9fighterdeaths$, 0;
+ killmonster "025-4.gat", "#StartCaveFight9::OnMonsterDeath";
+ stopnpctimer;
+ setnpctimer 0;
+ end;
+
+L_CleaningNorid:
+ set $@wave_cave9, 0;
+ set $@cave9_kills, 0;
+ set $@cave9start, 0;
+ set $@cave9fighter$, "";
+ set $@cave9fighterdeaths$, 0;
+ killmonster "025-4.gat", "#StartCaveFight9::OnMonsterDeath";
+ stopnpctimer;
+ setnpctimer 0;
+ end;
+
+L_AlreadyClean:
+ stopnpctimer;
+ setnpctimer 0;
+ end;
}
-// -----------------------------------------------Warp to Boss Cave----------------------------------------------------------
+// ----------------------------- Warp to Boss Cave -------------------------------
025-3.gat,77,170,0 script #WarpBossCave 127,1,1,{
@@ -337,9 +725,13 @@ L_Block:
L_StartFight:
if (Boss_10 != 1) message strcharinfo(0), "You hear screams, they seem to be very close from where you stand.";
- set Boss_10, 1;
- set @battlebosscave, 1;
+ set Boss_10, 1;
+ set $@battlebosscave, 1;
warp "025-4.gat", 157, 46;
+ set $@cave10fighter$, strcharinfo(0);
+ set $@cave10fighterdeaths, PC_DIE_COUNTER;
+ startnpctimer;
+ set $@cave10start, gettimetick(2);
end;
L_SomeoneInside:
@@ -351,5 +743,47 @@ L_AlreadyHelped:
message strcharinfo(0), "I already helped that little girl. There is nothing for me inside this cave.";
set @juliadone, 1;
end;
+
+OnTimer5000:
+ if ($@battlebosscave == 0) goto L_AlreadyClean;
+ if (isloggedin(getcharid(3,$@cave10fighter$))==0) goto L_CleaningNorid;
+ attachrid(getcharid(3,$@cave10fighter$));
+ if (gettimetick(2) - $@cave10start >= $@CAVE10_TIME) goto L_Cleaning;
+ if (PC_DIE_COUNTER > $@cave10fighterdeaths) goto L_Cleaning;
+ if ($@wave_cave10 == 5) goto L_SummonBoss;
+ setnpctimer 0;
+ end;
+
+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.";
+ set $@wave_cave10, 0;
+ set $@cave10_kills, 0;
+ set $@cave10start, 0;
+ set $@cave10fighter$, "";
+ set $@cave10fighterdeaths$, 0;
+ killmonster "025-4.gat", "#StartBossCaveFight::OnMonsterDeath";
+ killmonster "025-4.gat", "#StartBossCaveFight::OnBossDeath";
+ stopnpctimer;
+ setnpctimer 0;
+ end;
+
+L_CleaningNorid:
+ set $@wave_cave10, 0;
+ set $@cave10_kills, 0;
+ set $@cave10start, 0;
+ set $@cave10fighter$, "";
+ set $@cave10fighterdeaths$, 0;
+ killmonster "025-4.gat", "#StartBossCaveFight::OnMonsterDeath";
+ killmonster "025-4.gat", "#StartBossCaveFight::OnBossDeath";
+ stopnpctimer;
+ setnpctimer 0;
+ end;
+
+L_AlreadyClean:
+ stopnpctimer;
+ setnpctimer 0;
+ end;
}
diff --git a/npc/025-4/Battlecaves.txt b/npc/025-4/Battlecaves.txt
index af22aa61..2b435756 100644
--- a/npc/025-4/Battlecaves.txt
+++ b/npc/025-4/Battlecaves.txt
@@ -1,22 +1,14 @@
-// ----------------------------------------------- Cave 1 ---------------------------------------------------------
+// --------------------------------- Cave 1 -----------------------------------
025-4.gat,41,91,0 script #StartCaveFight1 111,{
if (Rossy_Quest < 15) goto L_Cheat;
- if (@battlecave1 == 1) goto L_StartFight;
+ if ($@battlecave1 == 1) goto L_Summon;
end;
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
- heal -Hp,0;
end;
-L_StartFight:
- set @battlecave1, 0;
- set $@cave1start, gettimetick(2);
- set $@cave1fighter$, strcharinfo(0);
- set $@cave1fighterdeaths, PC_DIE_COUNTER;
- startnpctimer;
-
L_Summon:
set $@cave1_loop, $@cave1_loop + 1;
areamonster "025-4.gat",26,63,60,97,"",$@CAVE1_MONSTERS_IDS[$@cave1_loop],$@CAVE1_MONSTERS_QTY[$@cave1_loop],"#StartCaveFight1::OnMonsterDeath";
@@ -48,9 +40,9 @@ L_Cleaning:
set $@cave1_kills, 0;
set $@cave1start, 0;
set $@cave1fighter$, "";
- set $@cave1fighterDeaths$, 0;
- stopnpctimer;
- setnpctimer 0;
+ set $@cave1fighterdeaths$, 0;
+ set $@battlecave1, 0;
+ killmonster "025-4.gat", "#StartCaveFight1::OnMonsterDeath";
end;
OnMonsterDeath:
@@ -67,49 +59,22 @@ onInit:
// Number of waves.
set $@CAVE1_WAVES, 3;
// Maximum time (in seconds) for the player to finish the fight.
- set $@CAVE1_TIME, 120;
- initnpctimer;
- stopnpctimer;
+ set $@CAVE1_TIME, 30;
-OnTimer5000:
- attachrid(getcharid(3,$@cave1fighter$));
- if (gettimetick(2) - $@cave1start >= $@CAVE1_TIME) goto L_Cleaning;
- if (PC_DIE_COUNTER > $@cave1fighterdeaths) goto L_Cleaning;
- setnpctimer 0;
- end;
}
-// -------------------------------------------- Cave 1 Checker --------------------------------------------
-025-4.gat,41,97,0 script #CheckCaveFight1 127,1,1,{
- if (cavefights & 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 ---------------------------------------------------------
+// --------------------------------- Cave 2 ---------------------------------------
025-4.gat,110,90,0 script #StartCaveFight2 111,{
if (Rossy_Quest < 15) goto L_Cheat;
- if (@battlecave2 == 1) goto L_StartFight;
+ if ($@battlecave2 == 1) goto L_Summon;
end;
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
- heal -Hp,0;
end;
-L_StartFight:
- set @battlecave2, 0;
- set $@cave2start, gettimetick(2);
- set $@cave2fighter$, strcharinfo(0);
- set $@cave2fighterdeaths, PC_DIE_COUNTER;
- startnpctimer;
-
L_Summon:
set $@cave2_loop, $@cave2_loop + 1;
areamonster "025-4.gat",97, 62, 126, 96,"",$@CAVE2_MONSTERS_IDS[$@cave2_loop],$@CAVE2_MONSTERS_QTY[$@cave2_loop],"#StartCaveFight2::OnMonsterDeath";
@@ -142,8 +107,8 @@ L_Cleaning:
set $@cave2start, 0;
set $@cave2fighter$, "";
set $@cave2fighterdeaths$, 0;
- stopnpctimer;
- setnpctimer 0;
+ set $@battlecave2, 0;
+ killmonster "025-4.gat", "#StartCaveFight2::OnMonsterDeath";
end;
OnMonsterDeath:
@@ -160,47 +125,19 @@ onInit:
// Number of waves.
set $@CAVE2_WAVES, 3;
// Maximum time (in seconds) for the player to finish the fight.
- set $@CAVE2_TIME, 120;
- initnpctimer;
- stopnpctimer;
-
-OnTimer5000:
- attachrid(getcharid(3,$@cave2fighter$));
- if (gettimetick(2) - $@cave2start >= $@CAVE2_TIME) goto L_Cleaning;
- if (PC_DIE_COUNTER > $@cave2fighterdeaths) goto L_Cleaning;
- setnpctimer 0;
- end;
+ set $@CAVE2_TIME, 30;
}
-// -------------------------------------------- Cave 2 Checker --------------------------------------------
-025-4.gat,110,96,0 script #CheckCaveFight2 127,1,1,{
- if (cavefights & 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 ---------------------------------------------------------
+// ------------------------------------ Cave 3 --------------------------------------
025-4.gat,168,111,0 script #StartCaveFight3 111,{
if (Rossy_Quest < 15) goto L_Cheat;
- if (@battlecave3 == 1) goto L_StartFight;
+ if ($@battlecave3 == 1) goto L_Summon;
end;
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
- heal -Hp,0;
end;
-L_StartFight:
- set @battlecave3, 0;
- set $@cave3start, gettimetick(2);
- set $@cave3fighter$, strcharinfo(0);
- set $@cave3fighterdeaths, PC_DIE_COUNTER;
- startnpctimer;
-
L_Summon:
set $@cave3_loop, $@cave3_loop + 1;
areamonster "025-4.gat",150, 84, 177, 117,"",$@CAVE3_MONSTERS_IDS[$@cave3_loop],$@CAVE3_MONSTERS_QTY[$@cave3_loop],"#StartCaveFight3::OnMonsterDeath";
@@ -233,8 +170,8 @@ L_Cleaning:
set $@cave3start, 0;
set $@cave3fighter$, "";
set $@cave3fighterdeaths$, 0;
- stopnpctimer;
- setnpctimer 0;
+ set $@battlecave3, 0;
+ killmonster "025-4.gat", "#StartCaveFight3::OnMonsterDeath";
end;
OnMonsterDeath:
@@ -251,47 +188,19 @@ onInit:
// Number of waves.
set $@CAVE3_WAVES, 3;
// Maximum time (in seconds) for the player to finish the fight.
- set $@CAVE3_TIME, 120;
- initnpctimer;
- stopnpctimer;
-
-OnTimer5000:
- attachrid(getcharid(3,$@cave3fighter$));
- if (gettimetick(2) - $@cave3start >= $@CAVE3_TIME) goto L_Cleaning;
- if (PC_DIE_COUNTER > $@cave3fighterdeaths) goto L_Cleaning;
- setnpctimer 0;
- end;
+ set $@CAVE3_TIME, 30;
}
-// -------------------------------------------- Cave 3 Checker --------------------------------------------
-025-4.gat,168,117,0 script #CheckCaveFight3 127,1,1,{
- if (cavefights & 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 ---------------------------------------------------------
+// --------------------------- Cave 4 --------------------------------
025-4.gat,32,150,0 script #StartCaveFight4 111,{
if (Rossy_Quest < 15) goto L_Cheat;
- if (@battlecave4 == 1) goto L_StartFight;
+ if ($@battlecave4 == 1) goto L_Summon;
end;
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
- heal -Hp,0;
end;
-L_StartFight:
- set @battlecave4, 0;
- set $@cave4start, gettimetick(2);
- set $@cave4fighter$, strcharinfo(0);
- set $@cave4fighterdeaths, PC_DIE_COUNTER;
- startnpctimer;
-
L_Summon:
set $@cave4_loop, $@cave4_loop + 1;
areamonster "025-4.gat",28, 124, 57, 156,"",$@CAVE4_MONSTERS_IDS[$@cave4_loop],$@CAVE4_MONSTERS_QTY[$@cave4_loop],"#StartCaveFight4::OnMonsterDeath";
@@ -324,8 +233,8 @@ L_Cleaning:
set $@cave4start, 0;
set $@cave4fighter$, "";
set $@cave4fighterdeaths$, 0;
- stopnpctimer;
- setnpctimer 0;
+ set $@battlecave4, 0;
+ killmonster "025-4.gat", "#StartCaveFight4::OnMonsterDeath";
end;
OnMonsterDeath:
@@ -342,47 +251,21 @@ onInit:
// Number of waves.
set $@CAVE4_WAVES, 3;
// Maximum time (in seconds) for the player to finish the fight.
- set $@CAVE4_TIME, 120;
- initnpctimer;
- stopnpctimer;
+ set $@CAVE4_TIME, 30;
-OnTimer5000:
- attachrid(getcharid(3,$@cave4fighter$));
- if (gettimetick(2) - $@cave4start >= $@CAVE4_TIME) goto L_Cleaning;
- if (PC_DIE_COUNTER > $@cave4fighterdeaths) goto L_Cleaning;
- setnpctimer 0;
- end;
}
-// -------------------------------------------- Cave 4 Checker --------------------------------------------
-025-4.gat,32,156,0 script #CheckCaveFight4 127,1,1,{
- if (cavefights & 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 ---------------------------------------------------------
+// ---------------------------- Cave 5 ------------------------------
+
025-4.gat,100,154,0 script #StartCaveFight5 111,{
if (Rossy_Quest < 15) goto L_Cheat;
- if (@battlecave5 == 1) goto L_StartFight;
+ if ($@battlecave5 == 1) goto L_Summon;
end;
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
- heal -Hp,0;
end;
-L_StartFight:
- set @battlecave5, 0;
- set $@cave5start, gettimetick(2);
- set $@cave5fighter$, strcharinfo(0);
- set $@cave5fighterdeaths, PC_DIE_COUNTER;
- startnpctimer;
-
L_Summon:
set $@cave5_loop, $@cave5_loop + 1;
areamonster "025-4.gat",91, 131, 124, 160,"",$@CAVE5_MONSTERS_IDS[$@cave5_loop],$@CAVE5_MONSTERS_QTY[$@cave5_loop],"#StartCaveFight5::OnMonsterDeath";
@@ -415,8 +298,8 @@ L_Cleaning:
set $@cave5start, 0;
set $@cave5fighter$, "";
set $@cave5fighterdeaths$, 0;
- stopnpctimer;
- setnpctimer 0;
+ set $@battlecave5, 0;
+ killmonster "025-4.gat", "#StartCaveFight5::OnMonsterDeath";
end;
OnMonsterDeath:
@@ -433,47 +316,20 @@ onInit:
// Number of waves.
set $@CAVE5_WAVES, 3;
// Maximum time (in seconds) for the player to finish the fight.
- set $@CAVE5_TIME, 120;
- initnpctimer;
- stopnpctimer;
-
-OnTimer5000:
- attachrid(getcharid(3,$@cave5fighter$));
- if (gettimetick(2) - $@cave5start >= $@CAVE5_TIME) goto L_Cleaning;
- if (PC_DIE_COUNTER > $@cave5fighterdeaths) goto L_Cleaning;
- setnpctimer 0;
- end;
+ set $@CAVE5_TIME, 30;
}
-// -------------------------------------------- Cave 5 Checker --------------------------------------------
-025-4.gat,100,160,0 script #CheckCaveFight5 127,1,1,{
- if (cavefights & 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 ---------------------------------------------------------
+// -------------------------------- Cave 6 -----------------------------------------
+
025-4.gat,159,168,0 script #StartCaveFight6 111,{
if (Rossy_Quest < 15) goto L_Cheat;
- if (@battlecave6 == 1) goto L_StartFight;
+ if ($@battlecave6 == 1) goto L_Summon;
end;
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
- heal -Hp,0;
end;
-L_StartFight:
- set @battlecave6, 0;
- set $@cave6start, gettimetick(2);
- set $@cave6fighter$, strcharinfo(0);
- set $@cave6fighterdeaths, PC_DIE_COUNTER;
- startnpctimer;
-
L_Summon:
set $@cave6_loop, $@cave6_loop + 1;
areamonster "025-4.gat",153, 143, 178, 174,"",$@CAVE6_MONSTERS_IDS[$@cave6_loop],$@CAVE6_MONSTERS_QTY[$@cave6_loop],"#StartCaveFight6::OnMonsterDeath";
@@ -506,8 +362,8 @@ L_Cleaning:
set $@cave6start, 0;
set $@cave6fighter$, "";
set $@cave6fighterdeaths$, 0;
- stopnpctimer;
- setnpctimer 0;
+ set $@battlecave6, 0;
+ killmonster "025-4.gat", "#StartCaveFight6::OnMonsterDeath";
end;
OnMonsterDeath:
@@ -524,47 +380,20 @@ onInit:
// Number of waves.
set $@CAVE6_WAVES, 3;
// Maximum time (in seconds) for the player to finish the fight.
- set $@CAVE6_TIME, 120;
- initnpctimer;
- stopnpctimer;
-
-OnTimer5000:
- attachrid(getcharid(3,$@cave6fighter$));
- if (gettimetick(2) - $@cave6start >= $@CAVE6_TIME) goto L_Cleaning;
- if (PC_DIE_COUNTER > $@cave6fighterdeaths) goto L_Cleaning;
- setnpctimer 0;
- end;
+ set $@CAVE6_TIME, 30;
}
-// -------------------------------------------- Cave 6 Checker --------------------------------------------
-025-4.gat,159,174,0 script #CheckCaveFight6 127,1,1,{
- if (cavefights & 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 ---------------------------------------------------------
+// -------------------------------- Cave 7 -----------------------------------
+
025-4.gat,39,215,0 script #StartCaveFight7 111,{
if (Rossy_Quest < 15) goto L_Cheat;
- if (@battlecave7 == 1) goto L_StartFight;
+ if ($@battlecave7 == 1) goto L_Summon;
end;
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
- heal -Hp,0;
end;
-L_StartFight:
- set @battlecave7, 0;
- set $@cave7start, gettimetick(2);
- set $@cave7fighter$, strcharinfo(0);
- set $@cave7fighterdeaths, PC_DIE_COUNTER;
- startnpctimer;
-
L_Summon:
set $@cave7_loop, $@cave7_loop + 1;
areamonster "025-4.gat",27, 185, 61, 219,"",$@CAVE7_MONSTERS_IDS[$@cave7_loop],$@CAVE7_MONSTERS_QTY[$@cave7_loop],"#StartCaveFight7::OnMonsterDeath";
@@ -597,8 +426,8 @@ L_Cleaning:
set $@cave7start, 0;
set $@cave7fighter$, "";
set $@cave7fighterdeaths$, 0;
- stopnpctimer;
- setnpctimer 0;
+ set $@battlecave7, 0;
+ killmonster "025-4.gat", "#StartCaveFight7::OnMonsterDeath";
end;
OnMonsterDeath:
@@ -615,47 +444,20 @@ onInit:
// Number of waves.
set $@CAVE7_WAVES, 3;
// Maximum time (in seconds) for the player to finish the fight.
- set $@CAVE7_TIME, 120;
- initnpctimer;
- stopnpctimer;
-
-OnTimer5000:
- attachrid(getcharid(3,$@cave7fighter$));
- if (gettimetick(2) - $@cave7start >= $@CAVE7_TIME) goto L_Cleaning;
- if (PC_DIE_COUNTER > $@cave7fighterdeaths) goto L_Cleaning;
- setnpctimer 0;
- end;
+ set $@CAVE7_TIME, 30;
}
-// -------------------------------------------- Cave 7 Checker --------------------------------------------
-025-4.gat,42,219,0 script #CheckCaveFight7 127,1,1,{
- if (cavefights & 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 ---------------------------------------------------------
+// --------------------------- Cave 8 -------------------------------
+
025-4.gat,105,210,0 script #StartCaveFight8 111,{
if (Rossy_Quest < 15) goto L_Cheat;
- if (@battlecave8 == 1) goto L_StartFight;
+ if ($@battlecave8 == 1) goto L_Summon;
end;
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
- heal -Hp,0;
end;
-L_StartFight:
- set @battlecave8, 0;
- set $@cave8start, gettimetick(2);
- set $@cave8fighter$, strcharinfo(0);
- set $@cave8fighterdeaths, PC_DIE_COUNTER;
- startnpctimer;
-
L_Summon:
set $@cave8_loop, $@cave8_loop + 1;
areamonster "025-4.gat",90, 193, 119, 216,"",$@CAVE8_MONSTERS_IDS[$@cave8_loop],$@CAVE8_MONSTERS_QTY[$@cave8_loop],"#StartCaveFight8::OnMonsterDeath";
@@ -688,8 +490,8 @@ L_Cleaning:
set $@cave8start, 0;
set $@cave8fighter$, "";
set $@cave8fighterdeaths$, 0;
- stopnpctimer;
- setnpctimer 0;
+ set $@battlecave8, 0;
+ killmonster "025-4.gat", "#StartCaveFight8::OnMonsterDeath";
end;
OnMonsterDeath:
@@ -706,47 +508,21 @@ onInit:
// Number of waves.
set $@CAVE8_WAVES, 3;
// Maximum time (in seconds) for the player to finish the fight.
- set $@CAVE8_TIME, 120;
- initnpctimer;
- stopnpctimer;
+ set $@CAVE8_TIME, 30;
-OnTimer5000:
- attachrid(getcharid(3,$@cave8fighter$));
- if (gettimetick(2) - $@cave8start >= $@CAVE8_TIME) goto L_Cleaning;
- if (PC_DIE_COUNTER > $@cave8fighterdeaths) goto L_Cleaning;
- setnpctimer 0;
- end;
}
-// -------------------------------------------- Cave 8 Checker --------------------------------------------
-025-4.gat,105,216,0 script #CheckCaveFight8 127,1,1,{
- if (cavefights & 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 ---------------------------------------------------------
+// --------------------------- Cave 9 -------------------------------
+
025-4.gat,157,220,0 script #StartCaveFight9 111,{
if (Rossy_Quest < 15) goto L_Cheat;
- if (@battlecave9 == 1) goto L_StartFight;
+ if ($@battlecave9 == 1) goto L_Summon;
end;
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
- heal -Hp,0;
end;
-L_StartFight:
- set @battlecave9, 0;
- set $@cave9start, gettimetick(2);
- set $@cave9fighter$, strcharinfo(0);
- set $@cave9fighterdeaths, PC_DIE_COUNTER;
- startnpctimer;
-
L_Summon:
set $@cave9_loop, $@cave9_loop + 1;
areamonster "025-4.gat",144, 192, 173, 226,"",$@CAVE9_MONSTERS_IDS[$@cave9_loop],$@CAVE9_MONSTERS_QTY[$@cave9_loop],"#StartCaveFight9::OnMonsterDeath";
@@ -779,8 +555,8 @@ L_Cleaning:
set $@cave9start, 0;
set $@cave9fighter$, "";
set $@cave9fighterdeaths$, 0;
- stopnpctimer;
- setnpctimer 0;
+ set $@battlecave9, 0;
+ killmonster "025-4.gat", "#StartCaveFight9::OnMonsterDeath";
end;
OnMonsterDeath:
@@ -797,51 +573,16 @@ onInit:
// Number of waves.
set $@CAVE9_WAVES, 3;
// Maximum time (in seconds) for the player to finish the fight.
- set $@CAVE9_TIME, 120;
- initnpctimer;
- stopnpctimer;
+ set $@CAVE9_TIME, 30;
-OnTimer5000:
- attachrid(getcharid(3,$@cave9fighter$));
- if (gettimetick(2) - $@cave9start >= $@CAVE9_TIME) goto L_Cleaning;
- if (PC_DIE_COUNTER > $@cave9fighterdeaths) goto L_Cleaning;
- setnpctimer 0;
- end;
}
-// -------------------------------------------- Cave 9 Checker --------------------------------------------
-025-4.gat,157,226,0 script #CheckCaveFight9 127,1,1,{
- if (cavefights & 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, 157;
- end;
-
-}
-// ----------------------------------------------- Boss Cave ---------------------------------------------------------
+// --------------------- 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_StartFight;
- message strcharinfo(0), "You shouldn't be here, you cheater.";
- heal -Hp,0;
+ 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;
end;
-L_Found:
- message strcharinfo(0), "You found a golden key.";
- set Killed_Boss, 1;
- end;
-
-L_StartFight:
- message strcharinfo(0), "The chest is locked. As you try to open it, monsters come from each corners of the cave.";
- set @battlebosscave, 0;
- set $@cave10start, gettimetick(2);
- set $@cave10fighter$, strcharinfo(0);
- set $@cave10fighterdeaths, PC_DIE_COUNTER;
- startnpctimer;
-
L_Summon:
set $@cave10_loop, $@cave10_loop + 1;
areamonster "025-4.gat",142, 24, 172, 48,"",$@CAVE10_MONSTERS_IDS[$@cave10_loop],$@CAVE10_MONSTERS_QTY[$@cave10_loop],"#StartBossCaveFight::OnMonsterDeath";
@@ -854,6 +595,8 @@ L_SummonBoss:
attachrid(getcharid(3,$@cave10fighter$));
message strcharinfo(0), "WHaaat? What is this?!";
areamonster "025-4.gat",142, 24, 172, 48,"",$@BOSS,1,"#StartBossCaveFight::OnBossDeath";
+ stopnpctimer;
+ setnpctimer 0;
end;
L_Done:
@@ -870,7 +613,7 @@ L_Done:
if ($@wave_cave10 != $@CAVE10_WAVES) goto L_Summon;
set $@wave_cave10, 5;
- setnpctimer 0;
+ startnpctimer;
end;
L_Cleaning:
@@ -880,7 +623,16 @@ L_Cleaning:
set $@cave10start, 0;
set $@cave10fighter$, "";
set $@cave10fighterdeaths$, 0;
- stopnpctimer;
+ set $@battlebosscave, 0;
+ killmonster "025-4.gat", "#StartBossCaveFight::OnMonsterDeath";
+ killmonster "025-4.gat", "#StartBossCaveFight::OnBossDeath";
+ end;
+
+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 == 2) goto L_SummonBoss;
setnpctimer 0;
end;
@@ -896,11 +648,9 @@ OnBossDeath:
set $@cave10start, 0;
set $@cave10fighter$, "";
set $@cave10fighterdeaths$, 0;
- stopnpctimer;
- setnpctimer 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...";
set Rossy_Quest, 16;
- message strcharinfo(0), "You find a gold key on the corpse on which you currently stand. That might open the chest.";
+ set Boss_10, 0;
end;
onInit:
@@ -915,55 +665,6 @@ onInit:
set $@CAVE10_WAVES, 4;
// Maximum time (in seconds) for the player to finish the fight.
set $@CAVE10_TIME, 120;
- initnpctimer;
- stopnpctimer;
-OnTimer5000:
- attachrid(getcharid(3,$@cave10fighter$));
- if (gettimetick(2) - $@cave10start >= $@CAVE10_TIME) goto L_Cleaning;
- if (PC_DIE_COUNTER > $@cave10fighterdeaths) goto L_Cleaning;
- if ($@wave_cave10 == 5) goto L_SummonBoss;
- setnpctimer 0;
- end;
-}
-// ----------------------------------------- Boss Cave Checker --------------------------------------------
-
-025-4.gat,157,47,0 script #CheckBossCaveFight 127,1,1,{
- if (Rossy_Quest >= 17) goto L_Done;
- if (Killed_Boss == 1) goto L_Killed;
- 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 cannot leave her alone.";
- end;
-
-L_Done:
- warp "025-3.gat", 77, 167;
- end;
-
}
-// ---------------------------------------- Julia Cave Checker --------------------------------------------
-025-4.gat,157,26,0 script #CheckJuliaCave 127,1,1,{
- if (Killed_Boss == 1) goto L_Done;
- message strcharinfo(0), "As you try to walk through, you sense an invisible door, you might need the key to open it.";
- end;
-
-L_Done:
- warp "025-4.gat", 93, 31;
- end;
-
-}
-// --------------------------------------- Julia Cave Checker 2 --------------------------------------------
-
-025-4.gat,93,34,0 script #CheckJuliaCave2 127,1,1,{
- if (Rossy_Quest >= 17) goto L_Done;
- message strcharinfo(0), "As you try to walk through, you sense an invisible door, you might need the key to open it.";
- warp "025-4.gat", 93, 31;
- end;
-
-L_Done:
- warp "025-4.gat", 157, 30;
- end;
-}