summaryrefslogtreecommitdiff
path: root/world/map/npc
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc')
-rw-r--r--world/map/npc/025-3/barriers.txt124
-rw-r--r--world/map/npc/025-4/battlecaves.txt18
2 files changed, 139 insertions, 3 deletions
diff --git a/world/map/npc/025-3/barriers.txt b/world/map/npc/025-3/barriers.txt
index 46048298..0196b6bf 100644
--- a/world/map/npc/025-3/barriers.txt
+++ b/world/map/npc/025-3/barriers.txt
@@ -43,12 +43,24 @@ L_Block:
OnTimer5000:
if ($@battlecave1 == 0) goto L_AlreadyClean;
if (isloggedin(getcharid(3,$@cave1fighter$))==0) goto L_CleaningNorid;
+ if (getareausers("025-4.gat", 26, 63, 60, 97) < 1) goto L_Ranaway;
attachrid(getcharid(3,$@cave1fighter$));
if (gettimetick(2) - $@cave1start >= $@CAVE1_TIME) goto L_Cleaning;
if (PC_DIE_COUNTER > $@cave1fighterdeaths) goto L_CleaningDead;
setnpctimer 0;
end;
+L_Ranaway:
+ 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_Cleaning:
attachrid(getcharid(3,$@cave1fighter$));
warp "025-3.gat", 78, 129;
@@ -141,12 +153,24 @@ L_Block:
OnTimer5000:
if ($@battlecave2 == 0) goto L_AlreadyClean;
if (isloggedin(getcharid(3,$@cave2fighter$))==0) goto L_CleaningNorid;
+ if (getareausers("025-4.gat", 97, 62, 126, 96) < 1) goto L_Ranaway;
attachrid(getcharid(3,$@cave2fighter$));
if (gettimetick(2) - $@cave2start >= $@CAVE2_TIME) goto L_Cleaning;
if (PC_DIE_COUNTER > $@cave2fighterdeaths) goto L_CleaningDead;
setnpctimer 0;
end;
+L_Ranaway:
+ 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_Cleaning:
attachrid(getcharid(3,$@cave2fighter$));
warp "025-3.gat", 53, 109;
@@ -238,12 +262,24 @@ L_Block:
OnTimer5000:
if ($@battlecave3 == 0) goto L_AlreadyClean;
if (isloggedin(getcharid(3,$@cave3fighter$))==0) goto L_CleaningNorid;
+ if (getareausers("025-4.gat", 150, 84, 177, 117) < 1) goto L_Ranaway;
attachrid(getcharid(3,$@cave3fighter$));
if (gettimetick(2) - $@cave3start >= $@CAVE3_TIME) goto L_Cleaning;
if (PC_DIE_COUNTER > $@cave3fighterdeaths) goto L_CleaningDead;
setnpctimer 0;
end;
+L_Ranaway:
+ 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_Cleaning:
attachrid(getcharid(3,$@cave3fighter$));
warp "025-3.gat", 71, 85;
@@ -335,12 +371,24 @@ L_Block:
OnTimer5000:
if ($@battlecave4 == 0) goto L_AlreadyClean;
if (isloggedin(getcharid(3,$@cave4fighter$))==0) goto L_CleaningNorid;
+ if (getareausers("025-4.gat", 28, 124, 57, 156) < 1) goto L_Ranaway;
attachrid(getcharid(3,$@cave4fighter$));
if (gettimetick(2) - $@cave4start >= $@CAVE4_TIME) goto L_Cleaning;
if (PC_DIE_COUNTER > $@cave4fighterdeaths) goto L_CleaningDead;
setnpctimer 0;
end;
+L_Ranaway:
+ 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_Cleaning:
attachrid(getcharid(3,$@cave4fighter$));
warp "025-3.gat", 80, 85;
@@ -432,12 +480,24 @@ L_Block:
OnTimer5000:
if ($@battlecave5 == 0) goto L_AlreadyClean;
if (isloggedin(getcharid(3,$@cave5fighter$))==0) goto L_CleaningNorid;
+ if (getareausers("025-4.gat", 91, 131, 124, 160) < 1) goto L_Ranaway;
attachrid(getcharid(3,$@cave5fighter$));
if (gettimetick(2) - $@cave5start >= $@CAVE5_TIME) goto L_Cleaning;
if (PC_DIE_COUNTER > $@cave5fighterdeaths) goto L_CleaningDead;
setnpctimer 0;
end;
+L_Ranaway:
+ 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_Cleaning:
attachrid(getcharid(3,$@cave5fighter$));
warp "025-3.gat", 71, 32;
@@ -529,12 +589,24 @@ L_Block:
OnTimer5000:
if ($@battlecave6 == 0) goto L_AlreadyClean;
if (isloggedin(getcharid(3,$@cave6fighter$))==0) goto L_CleaningNorid;
+ if (getareausers("025-4.gat", 153, 143, 178, 174) < 1) goto L_Ranaway;
attachrid(getcharid(3,$@cave6fighter$));
if (gettimetick(2) - $@cave6start >= $@CAVE6_TIME) goto L_Cleaning;
if (PC_DIE_COUNTER > $@cave6fighterdeaths) goto L_CleaningDead;
setnpctimer 0;
end;
+L_Ranaway:
+ 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_Cleaning:
attachrid(getcharid(3,$@cave6fighter$));
warp "025-3.gat", 128, 37;
@@ -626,12 +698,24 @@ L_Block:
OnTimer5000:
if ($@battlecave7 == 0) goto L_AlreadyClean;
if (isloggedin(getcharid(3,$@cave7fighter$))==0) goto L_CleaningNorid;
+ if (getareausers("025-4.gat", 27, 185, 61, 219) < 1) goto L_Ranaway;
attachrid(getcharid(3,$@cave7fighter$));
if (gettimetick(2) - $@cave7start >= $@CAVE7_TIME) goto L_Cleaning;
if (PC_DIE_COUNTER > $@cave7fighterdeaths) goto L_CleaningDead;
setnpctimer 0;
end;
+L_Ranaway:
+ 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_Cleaning:
attachrid(getcharid(3,$@cave7fighter$));
warp "025-3.gat", 70, 59;
@@ -723,12 +807,24 @@ L_Block:
OnTimer5000:
if ($@battlecave8 == 0) goto L_AlreadyClean;
if (isloggedin(getcharid(3,$@cave8fighter$))==0) goto L_CleaningNorid;
+ if (getareausers("025-4.gat", 90, 193, 119, 216) < 1) goto L_Ranaway;
attachrid(getcharid(3,$@cave8fighter$));
if (gettimetick(2) - $@cave8start >= $@CAVE8_TIME) goto L_Cleaning;
if (PC_DIE_COUNTER > $@cave8fighterdeaths) goto L_CleaningDead;
setnpctimer 0;
end;
+L_Ranaway:
+ 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_Cleaning:
attachrid(getcharid(3,$@cave8fighter$));
warp "025-3.gat", 138, 94;
@@ -820,12 +916,24 @@ L_Block:
OnTimer5000:
if ($@battlecave9 == 0) goto L_AlreadyClean;
if (isloggedin(getcharid(3,$@cave9fighter$))==0) goto L_CleaningNorid;
+ if (getareausers("025-4.gat", 144, 192, 173, 226) < 1) goto L_Ranaway;
attachrid(getcharid(3,$@cave9fighter$));
if (gettimetick(2) - $@cave9start >= $@CAVE9_TIME) goto L_Cleaning;
if (PC_DIE_COUNTER > $@cave9fighterdeaths) goto L_CleaningDead;
setnpctimer 0;
end;
+L_Ranaway:
+ 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_Cleaning:
attachrid(getcharid(3,$@cave9fighter$));
warp "025-3.gat", 138, 158;
@@ -906,7 +1014,7 @@ L_Wait:
L_StartFight:
message strcharinfo(0), "You go through the magic barrier without problems... you can hear screams that seem to be very close.";
set $@battlebosscave, 1;
- warp "025-4.gat", 157, 46;
+ warp "025-4.gat", 157, 44;
set $@cave10fighter$, strcharinfo(0);
set $@cave10fighterdeaths, PC_DIE_COUNTER;
startnpctimer;
@@ -925,13 +1033,25 @@ L_AlreadyHelped:
OnTimer5000:
if ($@battlebosscave == 0) goto L_AlreadyClean;
if (isloggedin(getcharid(3,$@cave10fighter$))==0) goto L_CleaningNorid;
+ if (getareausers("025-4.gat", 142, 24, 172, 48) < 1) goto L_Ranaway;
attachrid(getcharid(3,$@cave10fighter$));
if (gettimetick(2) - $@cave10start >= $@CAVE10_TIME) goto L_Cleaning;
if (PC_DIE_COUNTER > $@cave10fighterdeaths) goto L_CleaningDead;
- if ($@wave_cave10 == 5) goto L_SummonBoss;
setnpctimer 0;
end;
+L_Ranaway:
+ 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_Cleaning:
attachrid(getcharid(3,$@cave10fighter$));
warp "025-3.gat", 77, 168;
diff --git a/world/map/npc/025-4/battlecaves.txt b/world/map/npc/025-4/battlecaves.txt
index 9b802526..a7b596f4 100644
--- a/world/map/npc/025-4/battlecaves.txt
+++ b/world/map/npc/025-4/battlecaves.txt
@@ -955,7 +955,21 @@ L_Cleaning:
killmonster "025-4.gat", "#StartBossCaveFight::OnBossDeath";
end;
+L_CleaningNorid:
+ stopnpctimer;
+ setnpctimer 0;
+ set $@wave_cave10, 0;
+ set $@cave10_kills, 0;
+ set $@cave10start, 0;
+ set $@cave10fighter$, "";
+ set $@cave10fighterdeaths$, 0;
+ set $@battlebosscave, 0;
+ killmonster "025-4.gat", "#StartBossCaveFight::OnMonsterDeath";
+ killmonster "025-4.gat", "#StartBossCaveFight::OnBossDeath";
+ end;
+
OnTimer4000:
+ if (isloggedin(getcharid(3,$@cave10fighter$))==0) goto L_CleaningNorid;
attachrid(getcharid(3,$@cave10fighter$));
set @boss, @boss + 1;
if (@boss == 1) message strcharinfo(0), "You feel something strange... Looks like something terrible is about to show up in this cave.";
@@ -975,8 +989,10 @@ OnBossDeath:
set $@cave10start, 0;
set $@cave10fighter$, "";
set $@cave10fighterdeaths$, 0;
- message strcharinfo(0), "What a harsh battle! I should save Julia now.";
+ set $@battlebosscave, 0;
+ message strcharinfo(0), "What a harsh battle! You lose no time and run to the door before more monsters start to appear.";
set Rossy_Quest, 16;
+ warp "025-4.gat", 93, 33;
end;
L_Close: