diff options
Diffstat (limited to 'world/map/npc/009-7/eventHandler.txt')
-rw-r--r-- | world/map/npc/009-7/eventHandler.txt | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/world/map/npc/009-7/eventHandler.txt b/world/map/npc/009-7/eventHandler.txt index dcaae899..fbcec735 100644 --- a/world/map/npc/009-7/eventHandler.txt +++ b/world/map/npc/009-7/eventHandler.txt @@ -1,6 +1,6 @@ // this file handles every events related to the fight club and calls the appropriate functions from core -009-7.gat,45,33,0|script|#trapdoor2#FightClub|327,0,0 +009-7.gat,45,33,0|script|#trapdoor2FightClub|327,0,0 { if(countitem(647)||countitem(725)||countitem(1178)||countitem(5131)||countitem(5132)||countitem(5133)||countitem(5134)||countitem(5135)||countitem(5136)||countitem(5137)||countitem(5138)||countitem(5139)||countitem(5140)||(getgmlevel()>=20)) goto L_Enter; end; @@ -9,13 +9,13 @@ L_Enter: warp "009-7.gat",34,22; // this warp is a special thanks for contributors end; } -009-7.gat,33,21,0|script|#trapdoor3#FightClub|327,0,0 +009-7.gat,33,21,0|script|#trapdoor3FightClub|327,0,0 { warp "009-7.gat",44,32; end; } -009-7.gat,22,38,0|script|#FightClub#utils|127 +009-7.gat,22,38,0|script|#FightClubUtils|127 { end; @@ -40,11 +40,11 @@ OnBecomeKiller: end; OnCommandIntrusion: - areatimer "009-7.gat", $@fightclub_x1, $@fightclub_y1, $@fightclub_x2, $@fightclub_y2, 0, "#FightClub#utils::OnIntrusion"; // we can not do this directly on #handler because it already have a timer + areatimer "009-7.gat", $@fightclub_x1, $@fightclub_y1, $@fightclub_x2, $@fightclub_y2, 0, "#FightClubUtils::OnIntrusion"; // we can not do this directly on #handler because it already have a timer end; } -009-7.gat,20,45,0|script|#FightClub#TimeLimit|127,0,0 +009-7.gat,20,45,0|script|#FightClubTimeLimit|127,0,0 { end; @@ -76,7 +76,7 @@ OnInit: end; } -009-7.gat,20,44,0|script|#FightClub#handler|127,0,0 +009-7.gat,20,44,0|script|#FightClubHandler|127,0,0 { end; @@ -87,11 +87,12 @@ OnInit: set $@fightclub_x2, 38; set $@fightclub_y2, 48; callfunc "fightclub_StartUp"; - if(($fightclub_enabled % 5) != 3) end; callfunc "fightclub_CleanStage"; goto L_StartTimer; L_StartTimer: + if($SANGUINE & $@SV_FCDBit != 0) end; + if(debug >= 2) end; setnpctimer 0; initnpctimer; end; @@ -100,7 +101,8 @@ OnTimer2000: // this events checks who is on stage every 2 seconds set $@areausers, getareausers("009-7.gat", $@fightclub_x1, $@fightclub_y1, $@fightclub_x2, $@fightclub_y2); // get the number of players on stage if (($@areausers > 2) || (($@Duel_CurrentDuel < 1) && ($@areausers >= 1))) goto L_Intrusion; // too many players on the stage - if (($@Duel_CurrentDuel < 1) || ($@Duel_Started != 1)) goto L_StartTimer; // no intrusion and no duel ongoing so loop again + if (($@Duel_CurrentDuel < 1) && ($@Duel_Started != 1)) goto L_Request; // start the next duel + if ($@Duel_Started != 1) goto L_StartTimer; // no intrusion and no duel ongoing so loop again if (attachrid($@Duel_BluePlayer) == 0) goto L_BlueMissing; if (isin("009-7.gat", $@fightclub_x1, $@fightclub_y1, $@fightclub_x2, $@fightclub_y2) == 0) goto L_BlueMissing; if (isdead() == 1) goto L_IAmACorpse; @@ -110,6 +112,10 @@ OnTimer2000: detachrid; goto L_StartTimer; +L_Request: + callfunc "fightclub_NextBattle"; + goto L_StartTimer; + L_IAmACorpse: set $@duel_loser, getcharid(3); callfunc "fightclub_death"; @@ -126,7 +132,7 @@ L_BlueMissing: goto L_StartTimer; L_Intrusion: - cmdothernpc "#FightClub#utils", "Intrusion"; // we can not attach a second timer to this npc so we use another one + cmdothernpc "#FightClubUtils", "Intrusion"; // we can not attach a second timer to this npc so we use another one callfunc "fightclub_Intrusion"; goto L_StartTimer; } |