diff options
author | Shauren <shauren.trinity@gmail.com> | 2025-01-24 18:40:25 +0100 |
---|---|---|
committer | Ovahlord <dreadkiller@gmx.de> | 2025-01-26 12:48:37 +0100 |
commit | 7fc1eb1054a20af97db52bb33323f497951f2ce3 (patch) | |
tree | 103d790a753bed29d139a62e1faee48ee84e7fb9 | |
parent | 32f4c360acebb404d6dd64fca0ea2a7801b678bb (diff) |
Core/Objects: Removed type casts before accessing WorldObject::m_Events that became unneccessary after moving it from Unit to WorldObject
(cherry picked from commit bc8874f30597a996eb30b7b278bcc71b2f082f10)
5 files changed, 8 insertions, 28 deletions
diff --git a/src/server/game/Entities/Creature/TemporarySummon.cpp b/src/server/game/Entities/Creature/TemporarySummon.cpp index 95a7f9c19ff..5d5f872f335 100644 --- a/src/server/game/Entities/Creature/TemporarySummon.cpp +++ b/src/server/game/Entities/Creature/TemporarySummon.cpp @@ -328,9 +328,7 @@ void TempSummon::UnSummon(uint32 msTime) { if (msTime) { - ForcedUnsummonDelayEvent* pEvent = new ForcedUnsummonDelayEvent(*this); - - m_Events.AddEvent(pEvent, m_Events.CalculateTime(Milliseconds(msTime))); + m_Events.AddEventAtOffset(new ForcedDespawnDelayEvent(*this, 0s), Milliseconds(msTime)); return; } @@ -353,12 +351,6 @@ void TempSummon::UnSummon(uint32 msTime) AddObjectToRemoveList(); } -bool ForcedUnsummonDelayEvent::Execute(uint64 /*e_time*/, uint32 /*p_time*/) -{ - m_owner.UnSummon(); - return true; -} - void TempSummon::RemoveFromWorld() { if (!IsInWorld()) diff --git a/src/server/game/Entities/Creature/TemporarySummon.h b/src/server/game/Entities/Creature/TemporarySummon.h index 031429ae4d8..a4e81d8c8d4 100644 --- a/src/server/game/Entities/Creature/TemporarySummon.h +++ b/src/server/game/Entities/Creature/TemporarySummon.h @@ -161,13 +161,4 @@ class TC_GAME_API Puppet : public Minion void Update(uint32 time) override; }; -class TC_GAME_API ForcedUnsummonDelayEvent : public BasicEvent -{ -public: - ForcedUnsummonDelayEvent(TempSummon& owner) : BasicEvent(), m_owner(owner) { } - bool Execute(uint64 e_time, uint32 p_time) override; - -private: - TempSummon& m_owner; -}; #endif diff --git a/src/server/game/Entities/Totem/Totem.cpp b/src/server/game/Entities/Totem/Totem.cpp index b99117ada94..4cf2095bc21 100644 --- a/src/server/game/Entities/Totem/Totem.cpp +++ b/src/server/game/Entities/Totem/Totem.cpp @@ -101,7 +101,7 @@ void Totem::UnSummon(uint32 msTime) { if (msTime) { - m_Events.AddEvent(new ForcedUnsummonDelayEvent(*this), m_Events.CalculateTime(Milliseconds(msTime))); + m_Events.AddEventAtOffset(new ForcedDespawnDelayEvent(*this, 0s), Milliseconds(msTime)); return; } diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp index 7572a80a377..ce52ff5232b 100644 --- a/src/server/game/Spells/Auras/SpellAuras.cpp +++ b/src/server/game/Spells/Auras/SpellAuras.cpp @@ -1026,13 +1026,9 @@ void Aura::DropChargeDelayed(uint32 delay, AuraRemoveMode removeMode) // aura is already during delayed charge drop if (m_dropEvent) return; - // only units have events - Unit* owner = m_owner->ToUnit(); - if (!owner) - return; m_dropEvent = new ChargeDropEvent(this, removeMode); - owner->m_Events.AddEvent(m_dropEvent, owner->m_Events.CalculateTime(Milliseconds(delay))); + m_owner->m_Events.AddEventAtOffset(m_dropEvent, Milliseconds(delay)); } void Aura::SetStackAmount(uint8 stackAmount) diff --git a/src/server/scripts/Battlegrounds/IsleOfConquest/isle_of_conquest.cpp b/src/server/scripts/Battlegrounds/IsleOfConquest/isle_of_conquest.cpp index 460572978d5..77160ec7e4f 100644 --- a/src/server/scripts/Battlegrounds/IsleOfConquest/isle_of_conquest.cpp +++ b/src/server/scripts/Battlegrounds/IsleOfConquest/isle_of_conquest.cpp @@ -243,13 +243,13 @@ class spell_ioc_parachute_ic : public AuraScript class StartLaunchEvent : public BasicEvent { public: - StartLaunchEvent(Position const& pos, ObjectGuid const& guid) : _pos(pos), _guid(guid) + StartLaunchEvent(Map const* map, Position const& pos, ObjectGuid const& guid) : _map(map), _pos(pos), _guid(guid) { } bool Execute(uint64 /*time*/, uint32 /*diff*/) override { - Player* player = ObjectAccessor::FindPlayer(_guid); + Player* player = ObjectAccessor::GetPlayer(_map, _guid); if (!player || !player->GetVehicle()) return true; @@ -263,6 +263,7 @@ class StartLaunchEvent : public BasicEvent } private: + Map const* _map; Position _pos; ObjectGuid _guid; }; @@ -272,10 +273,10 @@ class spell_ioc_launch : public SpellScript { void Launch() { - if (!GetCaster()->ToCreature() || !GetExplTargetDest()) + if (!GetCaster()->IsCreature() || !GetExplTargetDest()) return; - GetCaster()->ToCreature()->m_Events.AddEvent(new StartLaunchEvent(*GetExplTargetDest(), ASSERT_NOTNULL(GetHitPlayer())->GetGUID()), GetCaster()->ToCreature()->m_Events.CalculateTime(2500ms)); + GetCaster()->m_Events.AddEventAtOffset(new StartLaunchEvent(GetCaster()->GetMap(), *GetExplTargetDest(), GetHitUnit()->GetGUID()), 2500ms); } void Register() override |