diff options
Diffstat (limited to 'world/map/npc/009-7/eventHandler.txt')
-rw-r--r-- | world/map/npc/009-7/eventHandler.txt | 125 |
1 files changed, 1 insertions, 124 deletions
diff --git a/world/map/npc/009-7/eventHandler.txt b/world/map/npc/009-7/eventHandler.txt index 6f6419ca..421cefed 100644 --- a/world/map/npc/009-7/eventHandler.txt +++ b/world/map/npc/009-7/eventHandler.txt @@ -1,5 +1,3 @@ -// this file handles every events related to the fight club and calls the appropriate functions from core - 009-7,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; @@ -9,130 +7,9 @@ L_Enter: warp "009-7",34,22; // this warp is a special thanks for contributors end; } + 009-7,33,21,0|script|#trapdoor3FightClub|327,0,0 { warp "009-7",44,32; end; } - -009-7,22,38,0|script|#FightClubUtils|32767 -{ - end; - -OnIntrusion: - if(getgmlevel() >= 60) end; // allow GMs to be in the ring - if(getcharid(3) == $@Duel_RedPlayer) end; // do not kill the red fighter - if(getcharid(3) == $@Duel_BluePlayer) end; // do not kill the blue fighter - donpcevent "Rouge#Duels::OnAnnounceIntrusion"; - callfunc "fightclub_DestroyMe"; // only kill the intruder(s) - end; - -OnDelayedStart: - callfunc "fightclub_StartBattle"; - end; - -OnDelayedNextBattle: - callfunc "fightclub_NextBattleProceed"; - end; - -OnBecomeKiller: - callfunc "fightclub_enter_killer"; - end; - -OnCommandIntrusion: - areatimer 0, "009-7", $@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,20,45,0|script|#FightClubTimeLimit|32767,0,0 -{ - end; - -OnStartTimer: - set $@Duel_TotalTime, 0; - goto L_StartTimer; - -OnStopTimer: - stopnpctimer; - end; - -OnTimer1000: - set $@Duel_TotalTime, ($@Duel_TotalTime + 1); - if($@Duel_TotalTime >= $@Duel_TimeLimit) goto L_TimeOut; - goto L_StartTimer; - -L_TimeOut: - stopnpctimer; - callfunc "fightclub_TimeOut"; - end; - -L_StartTimer: - setnpctimer 0; - initnpctimer; - end; - -OnInit: - set $@Duel_TotalTime, 0; - end; -} - -009-7,20,44,0|script|#FightClubHandler|32767,0,0 -{ - end; - -OnInit: - // this event is called when the map server boots up - set $@fightclub_x1, 27; - set $@fightclub_y1, 42; - set $@fightclub_x2, 38; - set $@fightclub_y2, 48; - callfunc "fightclub_StartUp"; - callfunc "fightclub_CleanStage"; - goto L_StartTimer; - -L_StartTimer: - if($SANGUINE & $@SV_FCDBit != 0) end; - if(debug >= 2) end; - setnpctimer 0; - initnpctimer; - end; - -OnTimer2000: - // this events checks who is on stage every 2 seconds - set $@areausers, getareausers("009-7", $@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_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", $@fightclub_x1, $@fightclub_y1, $@fightclub_x2, $@fightclub_y2) == 0) goto L_BlueMissing; - if (isdead() == 1) goto L_IAmACorpse; - if (attachrid($@Duel_RedPlayer) == 0) goto L_RedMissing; - if (isin("009-7", $@fightclub_x1, $@fightclub_y1, $@fightclub_x2, $@fightclub_y2) == 0) goto L_RedMissing; - if (isdead() == 1) goto L_IAmACorpse; - detachrid; - goto L_StartTimer; - -L_Request: - callfunc "fightclub_NextBattle"; - goto L_StartTimer; - -L_IAmACorpse: - set $@duel_loser, getcharid(3); - callfunc "fightclub_death"; - goto L_StartTimer; - -L_RedMissing: - set $@Duel_Missing, 1; - callfunc "fightclub_Missing"; - goto L_StartTimer; - -L_BlueMissing: - set $@Duel_Missing, 2; - callfunc "fightclub_Missing"; - goto L_StartTimer; - -L_Intrusion: - donpcevent "#FightClubUtils::OnCommandIntrusion"; // we can not attach a second timer to this npc so we use another one - callfunc "fightclub_Intrusion"; - goto L_StartTimer; -} |