mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-23 18:36:31 +01:00
Core/AreaTrigger: Make sure areatrigger is removed correctly
This commit is contained in:
@@ -69,6 +69,16 @@ void AreaTrigger::RemoveFromWorld()
|
||||
///- Remove the AreaTrigger from the accessor and from all lists of objects in world
|
||||
if (IsInWorld())
|
||||
{
|
||||
_isRemoved = true;
|
||||
|
||||
if (Unit* caster = GetCaster())
|
||||
caster->_UnregisterAreaTrigger(this);
|
||||
|
||||
// Handle removal of all units, calling OnUnitExit & deleting auras if needed
|
||||
HandleUnitEnterExit({});
|
||||
|
||||
_ai->OnRemove();
|
||||
|
||||
WorldObject::RemoveFromWorld();
|
||||
GetMap()->GetObjectsStore().Remove<AreaTrigger>(GetGUID());
|
||||
}
|
||||
@@ -194,16 +204,6 @@ void AreaTrigger::Remove()
|
||||
{
|
||||
if (IsInWorld())
|
||||
{
|
||||
_isRemoved = true;
|
||||
|
||||
if (Unit* caster = GetCaster())
|
||||
caster->_UnregisterAreaTrigger(this);
|
||||
|
||||
// Handle removal of all units, calling OnUnitExit & deleting auras if needed
|
||||
HandleUnitEnterExit({});
|
||||
|
||||
_ai->OnRemove();
|
||||
|
||||
AddObjectToRemoveList(); // calls RemoveFromWorld
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user