Core/ZoneScript: Add "invoker" param to ProcessEvent

This commit is contained in:
Jeremy authored and Ovahlord committed 2022-06-19 18:36:41 +02:00
1 parent b1e99db2a4
commit c5f81dc58f
20 files changed
+28 -28

No files matched your search

@@ -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);
}
@@ -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);
@@ -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;
@@ -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);
+2 -2
View File
@@ -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<WorldObject>(source, target);
WorldObject* refForMapAndZoneScript = Coalesce<WorldObject>(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)
+1 -1
View File
@@ -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
@@ -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)
{
@@ -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())
@@ -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)
{
@@ -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)
{
@@ -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;
@@ -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)
@@ -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)))
{
@@ -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)
{
@@ -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)
{
@@ -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)
{
@@ -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;
@@ -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;
}
@@ -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)
{
@@ -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)
{