From 9827685634c8487936b8e59cdece596c5abbb145 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sat, 4 Oct 2025 12:13:23 +0200 Subject: Core/AreaTrigger: Fix crashes happening if areatrigger is despawned in OnUnitEnter script Closes #31340 --- src/server/game/Entities/AreaTrigger/AreaTrigger.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/server') diff --git a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp index 74aa8596a58..1ed4b4d06ca 100644 --- a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp +++ b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp @@ -894,6 +894,14 @@ void AreaTrigger::HandleUnitEnter(Unit* unit) DoActions(unit); _ai->OnUnitEnter(unit); + + // OnUnitEnter script can despawn this areatrigger + if (!IsInWorld()) + return; + + // Register areatrigger in Unit after actions/scripts to allow them to determine + // if the unit is in one or more areatriggers with the same id + // without forcing every script to have additional logic excluding this areatrigger unit->EnterAreaTrigger(this); } -- cgit v1.2.3