aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Entities/AreaTrigger/AreaTrigger.cpp20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp
index 7fb0e6d2f73..5106b37cea1 100644
--- a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp
+++ b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp
@@ -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
}
}