From 0a1a7f497219513d3f7529d36176e87e0b9f5660 Mon Sep 17 00:00:00 2001 From: Coffee Date: Sat, 25 Jun 2011 09:22:13 -0300 Subject: Fixes a bug in the timer before the boss is spawned. Makes the player appear in the boss cave a few tiles up, to avoid being warp back all the time. Adds an additional check while fighting, so if a player gets out of the fight using #alonzialonzo or one of the towels the fight is stopped. Warps the player directly into the place where julia is hidden, so there is no way he just sit in the cave making it impossible for other players to enter. --- world/map/npc/025-3/barriers.txt | 124 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 122 insertions(+), 2 deletions(-) (limited to 'world/map/npc/025-3') 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; -- cgit v1.2.3-60-g2f50