diff options
Diffstat (limited to 'src/server/game')
30 files changed, 46 insertions, 47 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 */ |
