From c5f81dc58fa922a0a4ef077a8fcebe6fdab1d98a Mon Sep 17 00:00:00 2001 From: Jeremy Date: Sun, 19 Jun 2022 18:36:41 +0200 Subject: [PATCH] Core/ZoneScript: Add "invoker" param to ProcessEvent --- src/server/game/Battlefield/Zones/BattlefieldTB.cpp | 4 ++-- src/server/game/Battlefield/Zones/BattlefieldTB.h | 2 +- src/server/game/Battlefield/Zones/BattlefieldWG.cpp | 2 +- src/server/game/Battlefield/Zones/BattlefieldWG.h | 2 +- src/server/game/Events/GameEventSender.cpp | 4 ++-- src/server/game/Maps/ZoneScript.h | 2 +- .../BlackrockSpire/instance_blackrock_spire.cpp | 2 +- .../MagistersTerrace/instance_magisters_terrace.cpp | 2 +- .../scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp | 2 +- .../scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp | 2 +- .../Kalimdor/CavernsOfTime/EndTime/instance_end_time.cpp | 2 +- .../FrozenHalls/HallsOfReflection/boss_horAI.cpp | 2 +- .../FrozenHalls/HallsOfReflection/halls_of_reflection.cpp | 4 ++-- .../HallsOfReflection/instance_halls_of_reflection.cpp | 6 +++--- .../IcecrownCitadel/instance_icecrown_citadel.cpp | 2 +- .../Nexus/EyeOfEternity/instance_eye_of_eternity.cpp | 2 +- .../scripts/Northrend/Nexus/Oculus/instance_oculus.cpp | 2 +- .../Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp | 8 ++++---- .../scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp | 2 +- .../scripts/Northrend/VioletHold/instance_violet_hold.cpp | 2 +- 20 files changed, 28 insertions(+), 28 deletions(-) diff --git a/src/server/game/Battlefield/Zones/BattlefieldTB.cpp b/src/server/game/Battlefield/Zones/BattlefieldTB.cpp index 7c9661d0b4..1e6de815f6 100644 --- a/src/server/game/Battlefield/Zones/BattlefieldTB.cpp +++ b/src/server/game/Battlefield/Zones/BattlefieldTB.cpp @@ -911,7 +911,7 @@ void BattlefieldTB::OnGameObjectCreate(GameObject* go) } }; -void BattlefieldTB::ProcessEvent(WorldObject* obj, uint32 eventId) +void BattlefieldTB::ProcessEvent(WorldObject* obj, uint32 eventId, WorldObject* /*invoker*/) { if (!IsWarTime()) return; @@ -1102,5 +1102,5 @@ void TolBaradCapturePoint::ChangeTeam(TeamId /*oldTeam*/) } // Update counter - m_Bf->ProcessEvent(nullptr, EVENT_COUNT_CAPTURED_BASE); + m_Bf->ProcessEvent(nullptr, EVENT_COUNT_CAPTURED_BASE, nullptr); } diff --git a/src/server/game/Battlefield/Zones/BattlefieldTB.h b/src/server/game/Battlefield/Zones/BattlefieldTB.h index c66582cf44..714026f9bb 100644 --- a/src/server/game/Battlefield/Zones/BattlefieldTB.h +++ b/src/server/game/Battlefield/Zones/BattlefieldTB.h @@ -468,7 +468,7 @@ class TC_GAME_API BattlefieldTB : public Battlefield void PromotePlayer(Player* killer); void RemoveAurasFromPlayer(Player* player); - void ProcessEvent(WorldObject* obj, uint32 eventId) override; + void ProcessEvent(WorldObject* obj, uint32 eventId, WorldObject* invoker) override; void TowerDamaged(TBTowerId tbTowerId); void TowerDestroyed(TBTowerId tbTowerId); diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp index cbfd1ab9c6..c923474b61 100644 --- a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp +++ b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp @@ -1248,7 +1248,7 @@ void BattlefieldWG::UpdatedDestroyedTowerCount(TeamId team) } } -void BattlefieldWG::ProcessEvent(WorldObject* obj, uint32 eventId) +void BattlefieldWG::ProcessEvent(WorldObject* obj, uint32 eventId, WorldObject* /*invoker*/) { if (!obj || !IsWarTime()) return; diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.h b/src/server/game/Battlefield/Zones/BattlefieldWG.h index dfe1c10565..ab069d525c 100644 --- a/src/server/game/Battlefield/Zones/BattlefieldWG.h +++ b/src/server/game/Battlefield/Zones/BattlefieldWG.h @@ -382,7 +382,7 @@ class TC_GAME_API BattlefieldWG : public Battlefield void PromotePlayer(Player* killer); void UpdateTenacity(); - void ProcessEvent(WorldObject* obj, uint32 eventId) override; + void ProcessEvent(WorldObject* obj, uint32 eventId, WorldObject* invoker) override; bool FindAndRemoveVehicleFromList(Unit* vehicle); diff --git a/src/server/game/Events/GameEventSender.cpp b/src/server/game/Events/GameEventSender.cpp index e9d54e52d3..994b7fef4d 100644 --- a/src/server/game/Events/GameEventSender.cpp +++ b/src/server/game/Events/GameEventSender.cpp @@ -30,14 +30,14 @@ void GameEvents::Trigger(uint32 gameEventId, WorldObject* source, WorldObject* t ASSERT(source || target, "At least one of [source] or [target] must be provided"); - WorldObject* refForMapAndZoneScript = source; // Coalesce(source, target); + WorldObject* refForMapAndZoneScript = Coalesce(source, target); ZoneScript* zoneScript = refForMapAndZoneScript->GetZoneScript(); if (!zoneScript && refForMapAndZoneScript->IsPlayer()) zoneScript = refForMapAndZoneScript->FindZoneScript(); if (zoneScript) - zoneScript->ProcessEvent(source, gameEventId); + zoneScript->ProcessEvent(target, gameEventId, source); Map* map = refForMapAndZoneScript->GetMap(); if (target) diff --git a/src/server/game/Maps/ZoneScript.h b/src/server/game/Maps/ZoneScript.h index 6d9f2539dc..c7c28beec0 100644 --- a/src/server/game/Maps/ZoneScript.h +++ b/src/server/game/Maps/ZoneScript.h @@ -55,7 +55,7 @@ class TC_GAME_API ZoneScript virtual uint32 GetData(uint32 /*DataId*/) const { return 0; } virtual void SetData(uint32 /*DataId*/, uint32 /*Value*/) { } - virtual void ProcessEvent(WorldObject* /*obj*/, uint32 /*eventId*/) { } + virtual void ProcessEvent(WorldObject* /*obj*/, uint32 /*eventId*/, WorldObject* /*invoker*/) { } }; #endif 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 23091a0c1a..c13d0d107a 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp @@ -251,7 +251,7 @@ public: return true; } - void ProcessEvent(WorldObject* /*obj*/, uint32 eventId) override + void ProcessEvent(WorldObject* /*obj*/, uint32 eventId, WorldObject* /*invoker*/) override { switch (eventId) { diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp index 1a07515735..509c784533 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp @@ -173,7 +173,7 @@ class instance_magisters_terrace : public InstanceMapScript } } - void ProcessEvent(WorldObject* /*obj*/, uint32 eventId) override + void ProcessEvent(WorldObject* /*obj*/, uint32 eventId, WorldObject* /*invoker*/) override { if (eventId == EVENT_SPAWN_KALECGOS) if (!GetCreature(DATA_KALECGOS) && _events.Empty()) diff --git a/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp b/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp index 7ad0f3309e..124ef88e03 100644 --- a/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp +++ b/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp @@ -508,7 +508,7 @@ class instance_uldaman : public InstanceMapScript return ObjectGuid::Empty; } // end GetGuidData - void ProcessEvent(WorldObject* /*gameObject*/, uint32 eventId) override + void ProcessEvent(WorldObject* /*gameObject*/, uint32 eventId, WorldObject* /*invoker*/) override { switch (eventId) { diff --git a/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp index 2f66369b0d..b32188d21b 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp @@ -196,7 +196,7 @@ public: return true; } - void ProcessEvent(WorldObject* /*obj*/, uint32 eventId) override + void ProcessEvent(WorldObject* /*obj*/, uint32 eventId, WorldObject* /*invoker*/) override { switch (eventId) { diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EndTime/instance_end_time.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EndTime/instance_end_time.cpp index bd0cb3d4d3..04c2d751cc 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EndTime/instance_end_time.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EndTime/instance_end_time.cpp @@ -96,7 +96,7 @@ public: LoadObjectData(creatureData, gameobjectData); } - void ProcessEvent(WorldObject* /*obj*/, uint32 eventId) override + void ProcessEvent(WorldObject* /*obj*/, uint32 eventId, WorldObject* /*invoker*/) override { if (_executedMapEvents.find(eventId) != _executedMapEvents.end()) return; diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_horAI.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_horAI.cpp index 680b1e0d1c..ebb618cd23 100644 --- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_horAI.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_horAI.cpp @@ -30,7 +30,7 @@ void boss_horAI::Reset() me->SetImmuneToAll(true); me->SetReactState(REACT_PASSIVE); if (instance->GetData(DATA_WAVE_COUNT) != NOT_STARTED) - instance->ProcessEvent(nullptr, EVENT_DO_WIPE); + instance->ProcessEvent(nullptr, EVENT_DO_WIPE, nullptr); } void boss_horAI::DoAction(int32 actionId) 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 1cb228c194..727c974e0c 100644 --- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp @@ -714,7 +714,7 @@ class npc_jaina_or_sylvanas_intro_hor : public CreatureScript case EVENT_INTRO_LK_9: if (Creature* falric = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_FALRIC))) falric->AI()->Talk(SAY_FALRIC_INTRO_2); - _instance->ProcessEvent(0, EVENT_SPAWN_WAVES); + _instance->ProcessEvent(0, EVENT_SPAWN_WAVES, nullptr); _events.ScheduleEvent(EVENT_INTRO_LK_10, 4000); break; case EVENT_INTRO_LK_10: @@ -2052,7 +2052,7 @@ class at_hor_waves_restarter : public AreaTriggerScript if (_instance->GetData(DATA_INTRO_EVENT) == DONE && _instance->GetBossState(DATA_MARWYN) != DONE) { - _instance->ProcessEvent(0, EVENT_SPAWN_WAVES); + _instance->ProcessEvent(0, EVENT_SPAWN_WAVES, nullptr); if (Creature* falric = ObjectAccessor::GetCreature(*player, _instance->GetGuidData(DATA_FALRIC))) { diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp index eadb5a0ec2..b38ff1df30 100644 --- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp @@ -444,7 +444,7 @@ class instance_halls_of_reflection : public InstanceMapScript break; case DATA_WAVE_COUNT: if (_waveCount && data == NOT_STARTED) - ProcessEvent(nullptr, EVENT_DO_WIPE); + ProcessEvent(nullptr, EVENT_DO_WIPE, nullptr); break; case DATA_FROSTSWORN_GENERAL: if (data == DONE) @@ -522,7 +522,7 @@ class instance_halls_of_reflection : public InstanceMapScript switch (events.ExecuteEvent()) { case EVENT_NEXT_WAVE: - ProcessEvent(nullptr, EVENT_ADD_WAVE); + ProcessEvent(nullptr, EVENT_ADD_WAVE, nullptr); break; case EVENT_SPAWN_ESCAPE_EVENT: SpawnEscapeEvent(); @@ -533,7 +533,7 @@ class instance_halls_of_reflection : public InstanceMapScript } } - void ProcessEvent(WorldObject* /*obj*/, uint32 eventId) override + void ProcessEvent(WorldObject* /*obj*/, uint32 eventId, WorldObject* /*invoker*/) override { switch (eventId) { diff --git a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp index 069d512b50..b6c519fcb3 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp @@ -1211,7 +1211,7 @@ class instance_icecrown_citadel : public InstanceMapScript } } - void ProcessEvent(WorldObject* source, uint32 eventId) override + void ProcessEvent(WorldObject* source, uint32 eventId, WorldObject* /*invoker*/) override { switch (eventId) { diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp index e4161678f8..b2fb6324a5 100644 --- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp +++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp @@ -159,7 +159,7 @@ public: unit->SetControlled(true, UNIT_STATE_ROOT); } - void ProcessEvent(WorldObject* /*obj*/, uint32 eventId) override + void ProcessEvent(WorldObject* /*obj*/, uint32 eventId, WorldObject* /*invoker*/) override { if (eventId == EVENT_FOCUSING_IRIS) { diff --git a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp index 67ffa65a19..a572ddf265 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp @@ -161,7 +161,7 @@ class instance_oculus : public InstanceMapScript } } - void ProcessEvent(WorldObject* /*unit*/, uint32 eventId) override + void ProcessEvent(WorldObject* /*unit*/, uint32 eventId, WorldObject* /*invoker*/) override { if (eventId != EVENT_CALL_DRAGON) return; diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp index c5e5065431..2e407cb82a 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp @@ -1318,16 +1318,16 @@ class go_ulduar_tower : public GameObjectScript switch (me->GetEntry()) { case GO_TOWER_OF_STORMS: - instance->ProcessEvent(me, EVENT_TOWER_OF_STORM_DESTROYED); + instance->ProcessEvent(me, EVENT_TOWER_OF_STORM_DESTROYED, nullptr); break; case GO_TOWER_OF_FLAMES: - instance->ProcessEvent(me, EVENT_TOWER_OF_FLAMES_DESTROYED); + instance->ProcessEvent(me, EVENT_TOWER_OF_FLAMES_DESTROYED, nullptr); break; case GO_TOWER_OF_FROST: - instance->ProcessEvent(me, EVENT_TOWER_OF_FROST_DESTROYED); + instance->ProcessEvent(me, EVENT_TOWER_OF_FROST_DESTROYED, nullptr); break; case GO_TOWER_OF_LIFE: - instance->ProcessEvent(me, EVENT_TOWER_OF_LIFE_DESTROYED); + instance->ProcessEvent(me, EVENT_TOWER_OF_LIFE_DESTROYED, nullptr); break; } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp index 4f0bee3d90..ebe87de10e 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp @@ -579,7 +579,7 @@ class instance_ulduar : public InstanceMapScript } } - void ProcessEvent(WorldObject* /*gameObject*/, uint32 eventId) override + void ProcessEvent(WorldObject* /*gameObject*/, uint32 eventId, WorldObject* /*invoker*/) override { switch (eventId) { diff --git a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp index 5407d0caae..aa5329d191 100644 --- a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp +++ b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp @@ -909,7 +909,7 @@ class instance_violet_hold : public InstanceMapScript }); } - void ProcessEvent(WorldObject* /*go*/, uint32 eventId) override + void ProcessEvent(WorldObject* /*go*/, uint32 eventId, WorldObject* /*invoker*/) override { if (eventId == EVENT_ACTIVATE_CRYSTAL) {