diff options
author | Golrag <golrag.jeremy@gmail.com> | 2015-04-18 11:11:06 +0200 |
---|---|---|
committer | Golrag <golrag.jeremy@gmail.com> | 2015-04-18 11:22:30 +0200 |
commit | d999caee67d106add61a07df648ec5109784d37a (patch) | |
tree | 8d7f0a9c5f917cfe5288cdcebd5502bb77c25d38 /src | |
parent | 99ef803f1d0976c03c0cd1c75126511b54d62513 (diff) |
Core/AreaTrigger: Added 'bool entered' to OnTrigger
Diffstat (limited to 'src')
50 files changed, 91 insertions, 93 deletions
diff --git a/src/server/game/AI/SmartScripts/SmartAI.cpp b/src/server/game/AI/SmartScripts/SmartAI.cpp index 98f6a540889..74d9e5b4a9c 100644 --- a/src/server/game/AI/SmartScripts/SmartAI.cpp +++ b/src/server/game/AI/SmartScripts/SmartAI.cpp @@ -931,7 +931,7 @@ class SmartTrigger : public AreaTriggerScript SmartTrigger() : AreaTriggerScript("SmartTrigger") { } - bool OnTrigger(Player* player, AreaTriggerEntry const* trigger) override + bool OnTrigger(Player* player, AreaTriggerEntry const* trigger, bool /*entered*/) override { if (!player->IsAlive()) return false; diff --git a/src/server/game/Battlegrounds/Battleground.cpp b/src/server/game/Battlegrounds/Battleground.cpp index 166eff5e495..8e983bc59c9 100644 --- a/src/server/game/Battlegrounds/Battleground.cpp +++ b/src/server/game/Battlegrounds/Battleground.cpp @@ -1922,7 +1922,7 @@ uint32 Battleground::GetTeamScore(uint32 teamId) const return 0; } -void Battleground::HandleAreaTrigger(Player* player, uint32 trigger) +void Battleground::HandleAreaTrigger(Player* player, uint32 trigger, bool /*entered*/) { TC_LOG_DEBUG("bg.battleground", "Unhandled AreaTrigger %u in Battleground %u. Player coords (x: %f, y: %f, z: %f)", trigger, player->GetMapId(), player->GetPositionX(), player->GetPositionY(), player->GetPositionZ()); diff --git a/src/server/game/Battlegrounds/Battleground.h b/src/server/game/Battlegrounds/Battleground.h index b2f8aec7fae..43ef7d9511b 100644 --- a/src/server/game/Battlegrounds/Battleground.h +++ b/src/server/game/Battlegrounds/Battleground.h @@ -417,7 +417,7 @@ class Battleground // Triggers handle // must be implemented in BG subclass - virtual void HandleAreaTrigger(Player* /*player*/, uint32 /*Trigger*/); + virtual void HandleAreaTrigger(Player* /*player*/, uint32 /*trigger*/, bool /*entered*/); // must be implemented in BG subclass if need AND call base class generic code virtual void HandleKillPlayer(Player* player, Player* killer); virtual void HandleKillUnit(Creature* /*creature*/, Player* /*killer*/) { } diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp index bcb5cbea16c..3e9e7e5e5cb 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp @@ -231,7 +231,7 @@ void BattlegroundAB::RemovePlayer(Player* /*player*/, ObjectGuid /*guid*/, uint3 { } -void BattlegroundAB::HandleAreaTrigger(Player* player, uint32 trigger) +void BattlegroundAB::HandleAreaTrigger(Player* player, uint32 trigger, bool entered) { if (GetStatus() != STATUS_IN_PROGRESS) return; @@ -260,7 +260,7 @@ void BattlegroundAB::HandleAreaTrigger(Player* player, uint32 trigger) case 4674: // Unk3 //break; default: - Battleground::HandleAreaTrigger(player, trigger); + Battleground::HandleAreaTrigger(player, trigger, entered); break; } } diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAB.h b/src/server/game/Battlegrounds/Zones/BattlegroundAB.h index 48b2b94951c..c4006381520 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundAB.h +++ b/src/server/game/Battlegrounds/Zones/BattlegroundAB.h @@ -283,7 +283,7 @@ class BattlegroundAB : public Battleground void StartingEventCloseDoors() override; void StartingEventOpenDoors() override; void RemovePlayer(Player* player, ObjectGuid guid, uint32 team) override; - void HandleAreaTrigger(Player* Source, uint32 Trigger) override; + void HandleAreaTrigger(Player* source, uint32 trigger, bool entered) override; bool SetupBattleground() override; void Reset() override; void EndBattleground(uint32 winner) override; diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp index 193a7009818..8ea632a1dba 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp @@ -493,7 +493,7 @@ void BattlegroundAV::RemovePlayer(Player* player, ObjectGuid /*guid*/, uint32 /* player->RemoveAurasDueToSpell(AV_BUFF_H_CAPTAIN); } -void BattlegroundAV::HandleAreaTrigger(Player* player, uint32 trigger) +void BattlegroundAV::HandleAreaTrigger(Player* player, uint32 trigger, bool entered) { if (GetStatus() != STATUS_IN_PROGRESS) return; @@ -522,7 +522,7 @@ void BattlegroundAV::HandleAreaTrigger(Player* player, uint32 trigger) //Source->Unmount(); break; default: - Battleground::HandleAreaTrigger(player, trigger); + Battleground::HandleAreaTrigger(player, trigger, entered); break; } } diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAV.h b/src/server/game/Battlegrounds/Zones/BattlegroundAV.h index 93516279cb0..eaeadb51b19 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundAV.h +++ b/src/server/game/Battlegrounds/Zones/BattlegroundAV.h @@ -1615,7 +1615,7 @@ class BattlegroundAV : public Battleground void StartingEventOpenDoors() override; void RemovePlayer(Player* player, ObjectGuid guid, uint32 team) override; - void HandleAreaTrigger(Player* player, uint32 trigger) override; + void HandleAreaTrigger(Player* player, uint32 trigger, bool entered) override; bool SetupBattleground() override; void ResetBGSubclass() override; diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundBE.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundBE.cpp index e9313290c6a..2d9c05a4bb9 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundBE.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundBE.cpp @@ -43,7 +43,7 @@ void BattlegroundBE::StartingEventOpenDoors() SpawnBGObject(i, 60); } -void BattlegroundBE::HandleAreaTrigger(Player* player, uint32 trigger) +void BattlegroundBE::HandleAreaTrigger(Player* player, uint32 trigger, bool entered) { if (GetStatus() != STATUS_IN_PROGRESS) return; @@ -54,7 +54,7 @@ void BattlegroundBE::HandleAreaTrigger(Player* player, uint32 trigger) case 4539: // buff trigger? break; default: - Battleground::HandleAreaTrigger(player, trigger); + Battleground::HandleAreaTrigger(player, trigger, entered); break; } } diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundBE.h b/src/server/game/Battlegrounds/Zones/BattlegroundBE.h index 16324366f99..42d2ef3ca0f 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundBE.h +++ b/src/server/game/Battlegrounds/Zones/BattlegroundBE.h @@ -51,7 +51,7 @@ class BattlegroundBE : public Arena void StartingEventCloseDoors() override; void StartingEventOpenDoors() override; - void HandleAreaTrigger(Player* Source, uint32 Trigger) override; + void HandleAreaTrigger(Player* source, uint32 trigger, bool entered) override; bool SetupBattleground() override; void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet) override; }; diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundDS.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundDS.cpp index bad534a0282..0acfd287372 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundDS.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundDS.cpp @@ -122,7 +122,7 @@ void BattlegroundDS::StartingEventOpenDoors() player->RemoveAurasDueToSpell(SPELL_WARL_DEMONIC_CIRCLE); } -void BattlegroundDS::HandleAreaTrigger(Player* player, uint32 trigger) +void BattlegroundDS::HandleAreaTrigger(Player* player, uint32 trigger, bool entered) { if (GetStatus() != STATUS_IN_PROGRESS) return; @@ -140,7 +140,7 @@ void BattlegroundDS::HandleAreaTrigger(Player* player, uint32 trigger) _pipeKnockBackCount = 0; break; default: - Battleground::HandleAreaTrigger(player, trigger); + Battleground::HandleAreaTrigger(player, trigger, entered); break; } } diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundDS.h b/src/server/game/Battlegrounds/Zones/BattlegroundDS.h index 5e2badb3ed1..9289d10f662 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundDS.h +++ b/src/server/game/Battlegrounds/Zones/BattlegroundDS.h @@ -97,7 +97,7 @@ class BattlegroundDS : public Arena void StartingEventCloseDoors() override; void StartingEventOpenDoors() override; - void HandleAreaTrigger(Player* Source, uint32 Trigger) override; + void HandleAreaTrigger(Player* source, uint32 trigger, bool entered) override; bool SetupBattleground() override; void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet) override; diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp index 52091991c67..e9e4bbb2a9c 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp @@ -406,7 +406,7 @@ void BattlegroundEY::RemovePlayer(Player* player, ObjectGuid guid, uint32 /*team } } -void BattlegroundEY::HandleAreaTrigger(Player* player, uint32 trigger) +void BattlegroundEY::HandleAreaTrigger(Player* player, uint32 trigger, bool entered) { if (GetStatus() != STATUS_IN_PROGRESS) return; @@ -449,7 +449,7 @@ void BattlegroundEY::HandleAreaTrigger(Player* player, uint32 trigger) case 5866: break; default: - Battleground::HandleAreaTrigger(player, trigger); + Battleground::HandleAreaTrigger(player, trigger, entered); break; } } diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundEY.h b/src/server/game/Battlegrounds/Zones/BattlegroundEY.h index 9e9061177ae..c88a5a0ce45 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundEY.h +++ b/src/server/game/Battlegrounds/Zones/BattlegroundEY.h @@ -373,7 +373,7 @@ class BattlegroundEY : public Battleground void RespawnFlagAfterDrop(); void RemovePlayer(Player* player, ObjectGuid guid, uint32 team) override; - void HandleAreaTrigger(Player* Source, uint32 Trigger) override; + void HandleAreaTrigger(Player* source, uint32 trigger, bool entered) override; void HandleKillPlayer(Player* player, Player* killer) override; WorldSafeLocsEntry const* GetClosestGraveYard(Player* player) override; bool SetupBattleground() override; diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp index 6f6e23a8a59..1d55b213293 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp @@ -264,7 +264,7 @@ void BattlegroundIC::RemovePlayer(Player* player, ObjectGuid /*guid*/, uint32 /* } } -void BattlegroundIC::HandleAreaTrigger(Player* player, uint32 trigger) +void BattlegroundIC::HandleAreaTrigger(Player* player, uint32 trigger, bool /*entered*/) { // this is wrong way to implement these things. On official it done by gameobject spell cast. if (GetStatus() != STATUS_IN_PROGRESS) diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundIC.h b/src/server/game/Battlegrounds/Zones/BattlegroundIC.h index 64025cb8a4c..fd47e72ed05 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundIC.h +++ b/src/server/game/Battlegrounds/Zones/BattlegroundIC.h @@ -931,7 +931,7 @@ class BattlegroundIC : public Battleground void PostUpdateImpl(uint32 diff) override; void RemovePlayer(Player* player, ObjectGuid guid, uint32 team) override; - void HandleAreaTrigger(Player* player, uint32 trigger) override; + void HandleAreaTrigger(Player* player, uint32 trigger, bool entered) override; bool SetupBattleground() override; void SpawnLeader(uint32 teamid); void HandleKillUnit(Creature* unit, Player* killer) override; diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundNA.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundNA.cpp index ad96c877759..483ce020466 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundNA.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundNA.cpp @@ -40,7 +40,7 @@ void BattlegroundNA::StartingEventOpenDoors() SpawnBGObject(i, 60); } -void BattlegroundNA::HandleAreaTrigger(Player* player, uint32 trigger) +void BattlegroundNA::HandleAreaTrigger(Player* player, uint32 trigger, bool entered) { if (GetStatus() != STATUS_IN_PROGRESS) return; @@ -51,7 +51,7 @@ void BattlegroundNA::HandleAreaTrigger(Player* player, uint32 trigger) case 4537: // buff trigger? break; default: - Battleground::HandleAreaTrigger(player, trigger); + Battleground::HandleAreaTrigger(player, trigger, entered); break; } } diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundNA.h b/src/server/game/Battlegrounds/Zones/BattlegroundNA.h index 9ae5906034f..6b6507f8083 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundNA.h +++ b/src/server/game/Battlegrounds/Zones/BattlegroundNA.h @@ -50,7 +50,7 @@ class BattlegroundNA : public Arena void StartingEventCloseDoors() override; void StartingEventOpenDoors() override; - void HandleAreaTrigger(Player* Source, uint32 Trigger) override; + void HandleAreaTrigger(Player* source, uint32 trigger, bool entered) override; bool SetupBattleground() override; void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet) override; }; diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundRL.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundRL.cpp index b4ae8f6d5c4..a17a6278115 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundRL.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundRL.cpp @@ -40,7 +40,7 @@ void BattlegroundRL::StartingEventOpenDoors() SpawnBGObject(i, 60); } -void BattlegroundRL::HandleAreaTrigger(Player* player, uint32 trigger) +void BattlegroundRL::HandleAreaTrigger(Player* player, uint32 trigger, bool entered) { if (GetStatus() != STATUS_IN_PROGRESS) return; @@ -51,7 +51,7 @@ void BattlegroundRL::HandleAreaTrigger(Player* player, uint32 trigger) case 4697: // buff trigger? break; default: - Battleground::HandleAreaTrigger(player, trigger); + Battleground::HandleAreaTrigger(player, trigger, entered); break; } } diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundRL.h b/src/server/game/Battlegrounds/Zones/BattlegroundRL.h index c460bc7cea6..36c5def54b2 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundRL.h +++ b/src/server/game/Battlegrounds/Zones/BattlegroundRL.h @@ -47,7 +47,7 @@ class BattlegroundRL : public Arena void StartingEventCloseDoors() override; void StartingEventOpenDoors() override; - void HandleAreaTrigger(Player* Source, uint32 Trigger) override; + void HandleAreaTrigger(Player* source, uint32 trigger, bool entered) override; bool SetupBattleground() override; }; #endif diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundRV.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundRV.cpp index fb6efb28967..e7ba2cb76ca 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundRV.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundRV.cpp @@ -81,7 +81,7 @@ void BattlegroundRV::StartingEventOpenDoors() TogglePillarCollision(); } -void BattlegroundRV::HandleAreaTrigger(Player* player, uint32 trigger) +void BattlegroundRV::HandleAreaTrigger(Player* player, uint32 trigger, bool entered) { if (GetStatus() != STATUS_IN_PROGRESS) return; @@ -95,7 +95,7 @@ void BattlegroundRV::HandleAreaTrigger(Player* player, uint32 trigger) case 5474: break; default: - Battleground::HandleAreaTrigger(player, trigger); + Battleground::HandleAreaTrigger(player, trigger, entered); break; } } diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundRV.h b/src/server/game/Battlegrounds/Zones/BattlegroundRV.h index 2d0bb11b24d..ba4ad8c04c0 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundRV.h +++ b/src/server/game/Battlegrounds/Zones/BattlegroundRV.h @@ -99,7 +99,7 @@ class BattlegroundRV : public Arena void StartingEventOpenDoors() override; void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet) override; - void HandleAreaTrigger(Player* Source, uint32 Trigger) override; + void HandleAreaTrigger(Player* source, uint32 trigger, bool entered) override; bool SetupBattleground() override; private: diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp index 6b79c57835b..59452eab637 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp @@ -508,7 +508,7 @@ void BattlegroundSA::AddPlayer(Player* player) void BattlegroundSA::RemovePlayer(Player* /*player*/, ObjectGuid /*guid*/, uint32 /*team*/) { } -void BattlegroundSA::HandleAreaTrigger(Player* /*Source*/, uint32 /*Trigger*/) +void BattlegroundSA::HandleAreaTrigger(Player* /*source*/, uint32 /*trigger*/, bool /*entered*/) { // this is wrong way to implement these things. On official it done by gameobject spell cast. if (GetStatus() != STATUS_IN_PROGRESS) diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundSA.h b/src/server/game/Battlegrounds/Zones/BattlegroundSA.h index 0877da8781a..183392ac40b 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundSA.h +++ b/src/server/game/Battlegrounds/Zones/BattlegroundSA.h @@ -594,7 +594,7 @@ class BattlegroundSA : public Battleground /// Called when a player leave battleground void RemovePlayer(Player* player, ObjectGuid guid, uint32 team) override; - void HandleAreaTrigger(Player* Source, uint32 Trigger) override; + void HandleAreaTrigger(Player* source, uint32 trigger, bool entered) override; /* Scorekeeping */ diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp index b5b5c80d938..040905a32d4 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp @@ -651,7 +651,7 @@ void BattlegroundWS::UpdateTeamScore(uint32 team) UpdateWorldState(BG_WS_FLAG_CAPTURES_HORDE, GetTeamScore(team)); } -void BattlegroundWS::HandleAreaTrigger(Player* player, uint32 trigger) +void BattlegroundWS::HandleAreaTrigger(Player* player, uint32 trigger, bool entered) { if (GetStatus() != STATUS_IN_PROGRESS) return; @@ -694,7 +694,7 @@ void BattlegroundWS::HandleAreaTrigger(Player* player, uint32 trigger) case 4629: // unk4 break; default: - Battleground::HandleAreaTrigger(player, trigger); + Battleground::HandleAreaTrigger(player, trigger, entered); break; } diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundWS.h b/src/server/game/Battlegrounds/Zones/BattlegroundWS.h index 1f473a2a138..febbf2a0bca 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundWS.h +++ b/src/server/game/Battlegrounds/Zones/BattlegroundWS.h @@ -216,7 +216,7 @@ class BattlegroundWS : public Battleground void EventPlayerCapturedFlag(Player* player); void RemovePlayer(Player* player, ObjectGuid guid, uint32 team) override; - void HandleAreaTrigger(Player* player, uint32 trigger) override; + void HandleAreaTrigger(Player* player, uint32 trigger, bool entered) override; void HandleKillPlayer(Player* player, Player* killer) override; bool SetupBattleground() override; void Reset() override; diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp index 94b009219d6..8b1d91a89f3 100644 --- a/src/server/game/Handlers/MiscHandler.cpp +++ b/src/server/game/Handlers/MiscHandler.cpp @@ -585,8 +585,6 @@ void WorldSession::HandleResurrectResponse(WorldPackets::Misc::ResurrectResponse void WorldSession::HandleAreaTriggerOpcode(WorldPackets::Misc::AreaTrigger& packet) { - TC_LOG_DEBUG("network", "CMSG_AREATRIGGER. Trigger ID: %u", packet.AreaTriggerID); - Player* player = GetPlayer(); if (player->IsInFlight()) { @@ -657,9 +655,9 @@ void WorldSession::HandleAreaTriggerOpcode(WorldPackets::Misc::AreaTrigger& pack } if (player->isDebugAreaTriggers) - ChatHandler(player->GetSession()).PSendSysMessage(LANG_DEBUG_AREATRIGGER_REACHED, packet.AreaTriggerID); + ChatHandler(player->GetSession()).PSendSysMessage(packet.Entered ? LANG_DEBUG_AREATRIGGER_ENTERED : LANG_DEBUG_AREATRIGGER_LEFT, packet.AreaTriggerID); - if (sScriptMgr->OnAreaTrigger(player, atEntry)) + if (sScriptMgr->OnAreaTrigger(player, atEntry, packet.Entered)) return; if (player->IsAlive()) @@ -699,10 +697,10 @@ void WorldSession::HandleAreaTriggerOpcode(WorldPackets::Misc::AreaTrigger& pack if (Battleground* bg = player->GetBattleground()) if (bg->GetStatus() == STATUS_IN_PROGRESS) - bg->HandleAreaTrigger(player, packet.AreaTriggerID); + bg->HandleAreaTrigger(player, packet.AreaTriggerID, packet.Entered); if (OutdoorPvP* pvp = player->GetOutdoorPvP()) - if (pvp->HandleAreaTrigger(_player, packet.AreaTriggerID)) + if (pvp->HandleAreaTrigger(_player, packet.AreaTriggerID, packet.Entered)) return; AreaTriggerStruct const* at = sObjectMgr->GetAreaTrigger(packet.AreaTriggerID); diff --git a/src/server/game/Miscellaneous/Language.h b/src/server/game/Miscellaneous/Language.h index 0e89c3f7a0d..c5d425e4130 100644 --- a/src/server/game/Miscellaneous/Language.h +++ b/src/server/game/Miscellaneous/Language.h @@ -995,8 +995,9 @@ enum TrinityStrings LANG_MOVIE_NOT_EXIST = 1201, LANG_DEBUG_AREATRIGGER_ON = 1202, LANG_DEBUG_AREATRIGGER_OFF = 1203, - LANG_DEBUG_AREATRIGGER_REACHED = 1204, - // Room for more debug 1205-1299 not used + LANG_DEBUG_AREATRIGGER_ENTERED = 1204, + LANG_DEBUG_AREATRIGGER_LEFT = 1205, + // Room for more debug 1206-1299 not used // Isle of Conquest LANG_BG_IC_START_TWO_MINUTES = 1205, diff --git a/src/server/game/OutdoorPvP/OutdoorPvP.h b/src/server/game/OutdoorPvP/OutdoorPvP.h index 3af6655d953..1b7b086fd29 100644 --- a/src/server/game/OutdoorPvP/OutdoorPvP.h +++ b/src/server/game/OutdoorPvP/OutdoorPvP.h @@ -205,7 +205,7 @@ class OutdoorPvP : public ZoneScript virtual void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates & /*packet*/) { } // called when a player triggers an areatrigger - virtual bool HandleAreaTrigger(Player* /*player*/, uint32 /*trigger*/) { return false; } + virtual bool HandleAreaTrigger(Player* /*player*/, uint32 /*trigger*/, bool /*entered*/) { return false; } // called on custom spell virtual bool HandleCustomSpell(Player* player, uint32 spellId, GameObject* go); diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index 1496ca988e5..16a735908da 100644 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -951,13 +951,13 @@ bool ScriptMgr::OnDummyEffect(Unit* caster, uint32 spellId, SpellEffIndex effInd return tmpscript->OnDummyEffect(caster, spellId, effIndex, target); } -bool ScriptMgr::OnAreaTrigger(Player* player, AreaTriggerEntry const* trigger) +bool ScriptMgr::OnAreaTrigger(Player* player, AreaTriggerEntry const* trigger, bool entered) { ASSERT(player); ASSERT(trigger); GET_SCRIPT_RET(AreaTriggerScript, sObjectMgr->GetAreaTriggerScriptId(trigger->ID), tmpscript, false); - return tmpscript->OnTrigger(player, trigger); + return tmpscript->OnTrigger(player, trigger, entered); } Battleground* ScriptMgr::CreateBattleground(BattlegroundTypeId /*typeId*/) diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h index 2ac42dd1a63..588d909ae94 100644 --- a/src/server/game/Scripting/ScriptMgr.h +++ b/src/server/game/Scripting/ScriptMgr.h @@ -513,7 +513,7 @@ class AreaTriggerScript : public ScriptObject bool IsDatabaseBound() const final override { return true; } // Called when the area trigger is activated by a player. - virtual bool OnTrigger(Player* /*player*/, AreaTriggerEntry const* /*trigger*/) { return false; } + virtual bool OnTrigger(Player* /*player*/, AreaTriggerEntry const* /*trigger*/, bool /*entered*/) { return false; } }; class BattlegroundScript : public ScriptObject @@ -1001,7 +1001,7 @@ class ScriptMgr public: /* AreaTriggerScript */ - bool OnAreaTrigger(Player* player, AreaTriggerEntry const* trigger); + bool OnAreaTrigger(Player* player, AreaTriggerEntry const* trigger, bool entered); public: /* BattlegroundScript */ diff --git a/src/server/scripts/EasternKingdoms/BaradinHold/boss_alizabal.cpp b/src/server/scripts/EasternKingdoms/BaradinHold/boss_alizabal.cpp index 293d4cca10a..0ead3699a79 100644 --- a/src/server/scripts/EasternKingdoms/BaradinHold/boss_alizabal.cpp +++ b/src/server/scripts/EasternKingdoms/BaradinHold/boss_alizabal.cpp @@ -65,7 +65,7 @@ class at_alizabal_intro : public AreaTriggerScript public: at_alizabal_intro() : AreaTriggerScript("at_alizabal_intro") { } - bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) + bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/, bool /*entered*/) { if (InstanceScript* instance = player->GetInstanceScript()) if (Creature* alizabal = ObjectAccessor::GetCreature(*player, instance->GetGuidData(DATA_ALIZABAL))) diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp index 59255691f48..873d003bcd1 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp @@ -82,7 +82,7 @@ class at_ring_of_law : public AreaTriggerScript public: at_ring_of_law() : AreaTriggerScript("at_ring_of_law") { } - bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) override + bool OnTrigger(Player* player, const AreaTriggerEntry* /*areaTrigger*/, bool /*entered*/) override { if (InstanceScript* instance = player->GetInstanceScript()) { diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp index 635333a5886..c22e106a96a 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp @@ -522,7 +522,7 @@ class at_dragonspire_hall : public AreaTriggerScript public: at_dragonspire_hall() : AreaTriggerScript("at_dragonspire_hall") { } - bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) override + bool OnTrigger(Player* player, const AreaTriggerEntry* /*areaTrigger*/, bool /*entered*/) override { if (player && player->IsAlive()) { @@ -546,7 +546,7 @@ class at_blackrock_stadium : public AreaTriggerScript public: at_blackrock_stadium() : AreaTriggerScript("at_blackrock_stadium") { } - bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) override + bool OnTrigger(Player* player, const AreaTriggerEntry* /*areaTrigger*/, bool /*entered*/) override { if (player && player->IsAlive()) { diff --git a/src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.cpp b/src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.cpp index 3ced85f09a2..7453925d551 100644 --- a/src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.cpp +++ b/src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.cpp @@ -41,7 +41,7 @@ class at_malfurion_stormrage : public AreaTriggerScript public: at_malfurion_stormrage() : AreaTriggerScript("at_malfurion_stormrage") { } - bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) override + bool OnTrigger(Player* player, const AreaTriggerEntry* /*areaTrigger*/, bool /*entered*/) override { if (player->GetInstanceScript() && !player->FindNearestCreature(15362, 15)) player->SummonCreature(15362, player->GetPositionX(), player->GetPositionY(), player->GetPositionZ(), -1.52f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 100000); diff --git a/src/server/scripts/EasternKingdoms/Uldaman/uldaman.cpp b/src/server/scripts/EasternKingdoms/Uldaman/uldaman.cpp index 7cd7da771d1..3b5da13318a 100644 --- a/src/server/scripts/EasternKingdoms/Uldaman/uldaman.cpp +++ b/src/server/scripts/EasternKingdoms/Uldaman/uldaman.cpp @@ -143,7 +143,7 @@ class AreaTrigger_at_map_chamber : public AreaTriggerScript { } - bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) override + bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/, bool /*entered*/) override { if (player->GetQuestStatus(QUEST_HIDDEN_CHAMBER) == QUEST_STATUS_INCOMPLETE) player->AreaExploredOrEventHappens(QUEST_HIDDEN_CHAMBER); diff --git a/src/server/scripts/EasternKingdoms/zone_duskwood.cpp b/src/server/scripts/EasternKingdoms/zone_duskwood.cpp index 9bbaf616a6c..04a1625dae2 100644 --- a/src/server/scripts/EasternKingdoms/zone_duskwood.cpp +++ b/src/server/scripts/EasternKingdoms/zone_duskwood.cpp @@ -146,7 +146,7 @@ class at_twilight_grove : public AreaTriggerScript public: at_twilight_grove() : AreaTriggerScript("at_twilight_grove") { } - bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) override + bool OnTrigger(Player* player, const AreaTriggerEntry* /*areaTrigger*/, bool /*entered*/) override { if (player->GetQuestStatus(QUEST_NIGHTMARES_CORRUPTION) == QUEST_STATUS_INCOMPLETE) if (!player->FindNearestCreature(NPC_TWILIGHT_CORRUPTER, 500.0f, true)) diff --git a/src/server/scripts/Events/childrens_week.cpp b/src/server/scripts/Events/childrens_week.cpp index dd2f860c66c..dab0ad5b95a 100644 --- a/src/server/scripts/Events/childrens_week.cpp +++ b/src/server/scripts/Events/childrens_week.cpp @@ -920,7 +920,7 @@ class at_bring_your_orphan_to : public AreaTriggerScript public: at_bring_your_orphan_to() : AreaTriggerScript("at_bring_your_orphan_to") { } - bool OnTrigger(Player* player, AreaTriggerEntry const* trigger) override + bool OnTrigger(Player* player, AreaTriggerEntry const* areaTrigger, bool /*entered*/) override { if (player->isDead() || !player->HasAura(SPELL_ORPHAN_OUT)) return false; @@ -928,7 +928,7 @@ class at_bring_your_orphan_to : public AreaTriggerScript uint32 questId = 0; uint32 orphanId = 0; - switch (trigger->ID) + switch (areaTrigger->ID) { case AT_DOWN_AT_THE_DOCKS: questId = QUEST_DOWN_AT_THE_DOCKS; diff --git a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp index 025ba8d6bb2..336413dc7cc 100644 --- a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp +++ b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp @@ -444,7 +444,7 @@ class at_zumrah : public AreaTriggerScript public: at_zumrah() : AreaTriggerScript("at_zumrah") { } - bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) override + bool OnTrigger(Player* player, const AreaTriggerEntry* /*areaTrigger*/, bool /*entered*/) override { Creature* pZumrah = player->FindNearestCreature(ZUMRAH_ID, 30.0f); diff --git a/src/server/scripts/Maelstrom/Stonecore/stonecore.cpp b/src/server/scripts/Maelstrom/Stonecore/stonecore.cpp index 54ffc4fcb47..94afd73dd44 100644 --- a/src/server/scripts/Maelstrom/Stonecore/stonecore.cpp +++ b/src/server/scripts/Maelstrom/Stonecore/stonecore.cpp @@ -400,7 +400,7 @@ class at_sc_corborus_intro : public AreaTriggerScript public: at_sc_corborus_intro() : AreaTriggerScript("at_sc_corborus_intro") { } - bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override + bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/, bool /*entered*/) override { if (InstanceScript* instance = player->GetInstanceScript()) if (Creature* corborus = instance->GetCreature(DATA_CORBORUS)) @@ -414,7 +414,7 @@ class at_sc_slabhide_intro : public AreaTriggerScript public: at_sc_slabhide_intro() : AreaTriggerScript("at_sc_slabhide_intro") { } - bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override + bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/, bool /*entered*/) override { if (InstanceScript* instance = player->GetInstanceScript()) if (Creature* slabhide = instance->GetCreature(DATA_SLABHIDE)) diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp index 07f295c6810..6587f01e643 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp @@ -149,7 +149,7 @@ class at_baltharus_plateau : public AreaTriggerScript public: at_baltharus_plateau() : AreaTriggerScript("at_baltharus_plateau") { } - bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override + bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/, bool /*entered*/) override { // Only trigger once if (InstanceScript* instance = player->GetInstanceScript()) diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp index 20add695394..e447b5d11e2 100644 --- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp @@ -2003,7 +2003,7 @@ class at_hor_intro_start : public AreaTriggerScript public: at_hor_intro_start() : AreaTriggerScript("at_hor_intro_start") { } - bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) override + bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/, bool /*entered*/) override { if (player->IsGameMaster()) return true; @@ -2029,7 +2029,7 @@ class at_hor_waves_restarter : public AreaTriggerScript public: at_hor_waves_restarter() : AreaTriggerScript("at_hor_waves_restarter") { } - bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) override + bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/, bool /*entered*/) override { if (player->IsGameMaster()) return true; @@ -2064,7 +2064,7 @@ class at_hor_impenetrable_door : public AreaTriggerScript public: at_hor_impenetrable_door() : AreaTriggerScript("at_hor_impenetrable_door") { } - bool OnTrigger(Player* player, AreaTriggerEntry const* /*at*/) override + bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/, bool /*entered*/) override { if (player->IsGameMaster()) return true; @@ -2084,7 +2084,7 @@ class at_hor_shadow_throne : public AreaTriggerScript public: at_hor_shadow_throne() : AreaTriggerScript("at_hor_shadow_throne") { } - bool OnTrigger(Player* player, AreaTriggerEntry const* /*at*/) override + bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/, bool /*entered*/) override { if (player->IsGameMaster()) return true; @@ -2705,7 +2705,7 @@ class at_hor_uther_quel_delar_start : public AreaTriggerScript public: at_hor_uther_quel_delar_start() : AreaTriggerScript("at_hor_uther_quel_delar_start") { } - bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) override + bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/, bool /*entered*/) override { if (player->IsGameMaster()) return true; diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp index 3384b562860..51caf46365a 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp @@ -546,7 +546,7 @@ class at_tyrannus_event_starter : public AreaTriggerScript public: at_tyrannus_event_starter() : AreaTriggerScript("at_tyrannus_event_starter") { } - bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) override + bool OnTrigger(Player* player, const AreaTriggerEntry* /*areaTrigger*/, bool /*entered*/) override { InstanceScript* instance = player->GetInstanceScript(); if (player->IsGameMaster() || !instance) diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp index 937e5d5bed2..5a2376b8266 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp @@ -1572,7 +1572,7 @@ class at_sindragosa_lair : public AreaTriggerScript public: at_sindragosa_lair() : AreaTriggerScript("at_sindragosa_lair") { } - bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override + bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/, bool /*entered*/) override { if (InstanceScript* instance = player->GetInstanceScript()) { diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp index 27eedc25f24..91702f3a0da 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp @@ -2084,7 +2084,7 @@ class at_icc_saurfang_portal : public AreaTriggerScript public: at_icc_saurfang_portal() : AreaTriggerScript("at_icc_saurfang_portal") { } - bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override + bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/, bool /*entered*/) override { InstanceScript* instance = player->GetInstanceScript(); if (!instance || instance->GetBossState(DATA_DEATHBRINGER_SAURFANG) != DONE) @@ -2118,7 +2118,7 @@ class at_icc_shutdown_traps : public AreaTriggerScript public: at_icc_shutdown_traps() : AreaTriggerScript("at_icc_shutdown_traps") { } - bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override + bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/, bool /*entered*/) override { if (InstanceScript* instance = player->GetInstanceScript()) instance->SetData(DATA_UPPERSPIRE_TELE_ACT, DONE); @@ -2132,7 +2132,7 @@ class at_icc_start_blood_quickening : public AreaTriggerScript public: at_icc_start_blood_quickening() : AreaTriggerScript("at_icc_start_blood_quickening") { } - bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override + bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/, bool /*entered*/) override { if (InstanceScript* instance = player->GetInstanceScript()) if (instance->GetData(DATA_BLOOD_QUICKENING_STATE) == NOT_STARTED) @@ -2146,7 +2146,7 @@ class at_icc_start_frostwing_gauntlet : public AreaTriggerScript public: at_icc_start_frostwing_gauntlet() : AreaTriggerScript("at_icc_start_frostwing_gauntlet") { } - bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override + bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/, bool /*entered*/) override { if (InstanceScript* instance = player->GetInstanceScript()) if (Creature* crok = ObjectAccessor::GetCreature(*player, instance->GetGuidData(DATA_CROK_SCOURGEBANE))) diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp index a12e2d05285..76c137ab990 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp @@ -81,7 +81,7 @@ class at_frozen_throne_teleport : public AreaTriggerScript public: at_frozen_throne_teleport() : AreaTriggerScript("at_frozen_throne_teleport") { } - bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override + bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/, bool /*entered*/) override { if (player->IsInCombat()) { diff --git a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp index fbdbd093513..91f7e2c477b 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp @@ -630,7 +630,7 @@ class at_kelthuzad_center : public AreaTriggerScript public: at_kelthuzad_center() : AreaTriggerScript("at_kelthuzad_center") { } - bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) override + bool OnTrigger(Player* player, const AreaTriggerEntry* /*areaTrigger*/, bool /*entered*/) override { if (player->IsGameMaster()) return false; diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp b/src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp index a8da4ff7438..6496b54dd82 100644 --- a/src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp +++ b/src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp @@ -82,7 +82,7 @@ void OutdoorPvPSI::HandlePlayerLeaveZone(Player* player, uint32 zone) OutdoorPvP::HandlePlayerLeaveZone(player, zone); } -bool OutdoorPvPSI::HandleAreaTrigger(Player* player, uint32 trigger) +bool OutdoorPvPSI::HandleAreaTrigger(Player* player, uint32 trigger, bool /*entered*/) { switch (trigger) { diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPSI.h b/src/server/scripts/OutdoorPvP/OutdoorPvPSI.h index eb2d5f6b84c..5f358b58218 100644 --- a/src/server/scripts/OutdoorPvP/OutdoorPvPSI.h +++ b/src/server/scripts/OutdoorPvP/OutdoorPvPSI.h @@ -67,7 +67,7 @@ class OutdoorPvPSI : public OutdoorPvP void SendRemoveWorldStates(Player* player); - bool HandleAreaTrigger(Player* player, uint32 trigger); + bool HandleAreaTrigger(Player* player, uint32 trigger, bool entered); bool HandleDropFlag(Player* player, uint32 spellId); diff --git a/src/server/scripts/Outland/zone_netherstorm.cpp b/src/server/scripts/Outland/zone_netherstorm.cpp index 8266e80e7bb..ece9aa5133d 100644 --- a/src/server/scripts/Outland/zone_netherstorm.cpp +++ b/src/server/scripts/Outland/zone_netherstorm.cpp @@ -315,7 +315,7 @@ class at_commander_dawnforge : public AreaTriggerScript public: at_commander_dawnforge() : AreaTriggerScript("at_commander_dawnforge") { } - bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) override + bool OnTrigger(Player* player, const AreaTriggerEntry* /*areaTrigger*/, bool /*entered*/) override { //if player lost aura or not have at all, we should not try start event. if (!player->HasAura(SPELL_SUNFURY_DISGUISE)) diff --git a/src/server/scripts/World/areatrigger_scripts.cpp b/src/server/scripts/World/areatrigger_scripts.cpp index 110a7bbbc91..c37fbdcc241 100644 --- a/src/server/scripts/World/areatrigger_scripts.cpp +++ b/src/server/scripts/World/areatrigger_scripts.cpp @@ -53,7 +53,7 @@ class AreaTrigger_at_coilfang_waterfall : public AreaTriggerScript public: AreaTrigger_at_coilfang_waterfall() : AreaTriggerScript("at_coilfang_waterfall") { } - bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) override + bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/, bool /*entered*/) override { if (GameObject* go = GetClosestGameObjectWithEntry(player, GO_COILFANG_WATERFALL, 35.0f)) if (go->getLootState() == GO_READY) @@ -81,7 +81,7 @@ class AreaTrigger_at_legion_teleporter : public AreaTriggerScript public: AreaTrigger_at_legion_teleporter() : AreaTriggerScript("at_legion_teleporter") { } - bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) override + bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/, bool /*entered*/) override { if (player->IsAlive() && !player->IsInCombat()) { @@ -119,7 +119,7 @@ class AreaTrigger_at_stormwright_shelf : public AreaTriggerScript public: AreaTrigger_at_stormwright_shelf() : AreaTriggerScript("at_stormwright_shelf") { } - bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) override + bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/, bool /*entered*/) override { if (!player->isDead() && player->GetQuestStatus(QUEST_STRENGTH_OF_THE_TEMPEST) == QUEST_STATUS_INCOMPLETE) player->CastSpell(player, SPELL_CREATE_TRUE_POWER_OF_THE_TEMPEST, false); @@ -143,7 +143,7 @@ class AreaTrigger_at_scent_larkorwi : public AreaTriggerScript public: AreaTrigger_at_scent_larkorwi() : AreaTriggerScript("at_scent_larkorwi") { } - bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) override + bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/, bool /*entered*/) override { if (!player->isDead() && player->GetQuestStatus(QUEST_SCENT_OF_LARKORWI) == QUEST_STATUS_INCOMPLETE) { @@ -170,7 +170,7 @@ class AreaTrigger_at_last_rites : public AreaTriggerScript public: AreaTrigger_at_last_rites() : AreaTriggerScript("at_last_rites") { } - bool OnTrigger(Player* player, AreaTriggerEntry const* trigger) override + bool OnTrigger(Player* player, AreaTriggerEntry const* areaTrigger, bool /*entered*/) override { if (!(player->GetQuestStatus(QUEST_LAST_RITES) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(QUEST_LAST_RITES) == QUEST_STATUS_COMPLETE || @@ -180,7 +180,7 @@ class AreaTrigger_at_last_rites : public AreaTriggerScript WorldLocation pPosition; - switch (trigger->ID) + switch (areaTrigger->ID) { case 5332: case 5338: @@ -228,12 +228,12 @@ class AreaTrigger_at_sholazar_waygate : public AreaTriggerScript public: AreaTrigger_at_sholazar_waygate() : AreaTriggerScript("at_sholazar_waygate") { } - bool OnTrigger(Player* player, AreaTriggerEntry const* trigger) override + bool OnTrigger(Player* player, AreaTriggerEntry const* areaTrigger, bool /*entered*/) override { if (!player->isDead() && (player->GetQuestStatus(QUEST_MEETING_A_GREAT_ONE) != QUEST_STATUS_NONE || (player->GetQuestStatus(QUEST_THE_MAKERS_OVERLOOK) == QUEST_STATUS_REWARDED && player->GetQuestStatus(QUEST_THE_MAKERS_PERCH) == QUEST_STATUS_REWARDED))) { - switch (trigger->ID) + switch (areaTrigger->ID) { case AT_SHOLAZAR: player->CastSpell(player, SPELL_SHOLAZAR_TO_UNGORO_TELEPORT, true); @@ -265,7 +265,7 @@ class AreaTrigger_at_nats_landing : public AreaTriggerScript public: AreaTrigger_at_nats_landing() : AreaTriggerScript("at_nats_landing") { } - bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) override + bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/, bool /*entered*/) override { if (!player->IsAlive() || !player->HasAura(SPELL_FISH_PASTE)) return false; @@ -310,9 +310,9 @@ class AreaTrigger_at_brewfest : public AreaTriggerScript _triggerTimes[AT_BREWFEST_DUROTAR] = _triggerTimes[AT_BREWFEST_DUN_MOROGH] = 0; } - bool OnTrigger(Player* player, AreaTriggerEntry const* trigger) override + bool OnTrigger(Player* player, AreaTriggerEntry const* areaTrigger, bool /*entered*/) override { - uint32 triggerId = trigger->ID; + uint32 triggerId = areaTrigger->ID; // Second trigger happened too early after first, skip for now if (sWorld->GetGameTime() - _triggerTimes[triggerId] < AREATRIGGER_TALK_COOLDOWN) return false; @@ -363,18 +363,17 @@ class AreaTrigger_at_area_52_entrance : public AreaTriggerScript _triggerTimes[AT_AREA_52_SOUTH] = _triggerTimes[AT_AREA_52_NORTH] = _triggerTimes[AT_AREA_52_WEST] = _triggerTimes[AT_AREA_52_EAST] = 0; } - bool OnTrigger(Player* player, AreaTriggerEntry const* trigger) override + bool OnTrigger(Player* player, AreaTriggerEntry const* areaTrigger, bool /*entered*/) override { float x = 0.0f, y = 0.0f, z = 0.0f; if (!player->IsAlive()) return false; - uint32 triggerId = trigger->ID; - if (sWorld->GetGameTime() - _triggerTimes[trigger->ID] < SUMMON_COOLDOWN) + if (sWorld->GetGameTime() - _triggerTimes[areaTrigger->ID] < SUMMON_COOLDOWN) return false; - switch (triggerId) + switch (areaTrigger->ID) { case AT_AREA_52_EAST: x = 3044.176f; @@ -400,7 +399,7 @@ class AreaTrigger_at_area_52_entrance : public AreaTriggerScript player->SummonCreature(NPC_SPOTLIGHT, x, y, z, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 5000); player->AddAura(SPELL_A52_NEURALYZER, player); - _triggerTimes[trigger->ID] = sWorld->GetGameTime(); + _triggerTimes[areaTrigger->ID] = sWorld->GetGameTime(); return false; } @@ -435,7 +434,7 @@ public: stormforgedEradictorGUID.Clear(); } - bool OnTrigger(Player* player, AreaTriggerEntry const* /* trigger */) override + bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/, bool /*entered*/) override { if (player->GetQuestStatus(QUEST_THE_LONESOME_WATCHER) != QUEST_STATUS_INCOMPLETE) return false; |