Add RemoveAurasWithInterruptFlags call before all TeleportTo operations
to prevent race condition crash in battlegrounds.
The crash occurs when area auras (like "Entering Battleground") are
queued for removal in Aura::UpdateTargetMap's targetsToRemove list,
but the unit is deleted before the 500ms update cycle completes,
causing SIGSEGV when accessing the dangling pointer.
This fix removes auras with AURA_INTERRUPT_FLAG_TELEPORTED and
AURA_INTERRUPT_FLAG_CHANGE_MAP before teleporting, matching the
behavior in Player::TeleportTo for real players.
Affected locations:
- BattleGround join/teleport
- Spirit healer/graveyard teleport
- Corpse resurrection teleport
- Meeting stone teleport
- Master follow teleport
- RPG unstuck teleport
- Random bot teleport
- Chat command teleport
Raid-specific teleports excluded as they require separate testing.
* Revert "[Large server fix] #1537 Serialize playerBots/botLoading with a mutex and use snapshot-based loops to fix concurrency crashes (#1540)"
This reverts commit 3fff58df1a2058894e9b758be07869aec87c2c70.
* Revert "[Fix] teleport to invalid map or invalid coordinates (x , y , z 200000, o ) given when teleporting player (g UI d full type player low , name , map , x , y , z , o ) (#1538)"
This reverts commit ca2e2ef0dbd8dcfb16123db65ae638424550e50c.
* Revert "Fix: prevent MoveSplineInitArgs::Validate velocity asserts (velocity > 0.01f) for bots, pets, and charmed units (#1534)"
This reverts commit 4e3ac609bd23d991150d956d4e69ee6de2fcf2bf.
* Revert "[Fix issue #1527] : startup crash in tank target selection — add TOCTOU & null-safety guards (#1532)"
This reverts commit c6b0424c29b6a1bf5b3574135128d30d19838411.
* Revert "[Fix issue #1528] Close small window where the “in a BG/arena” state can change between the check (InBattleground() / InArena()) and grabbing the pointer (GetBattleground()), which leads to a null dereference. (#1530)"
This reverts commit 2e0a161623eaa97b7d9ceea076779ae0cabeb877.
* Revert "Harden playerbot logout & packet dispatch; add null-safety in chat hooks and RPG checks (#1529)"
This reverts commit e4ea8e2694b0f6d098a945c6f863526cd14f9b3f.
* Revert "Dont wait to travel when in combat. (#1524)"
This reverts commit ddfa919154529fee59e7ba30d2ebe29c0ae4abdf.
* Revert "nullptr fix (#1523)"
This reverts commit 380312ffd231fd5e663a8a17daa80dd39906e3f0.
* Revert "Playerbots/LFG: fix false not eligible & dungeon 0/type 0, add clear diagnostics (#1521)"
This reverts commit 872e4176137b66c83ebcb03932fa8ff1e39fd791.
* Revert "nullptr exception (#1520)"
This reverts commit 3d28a815089fd0a878a6a1d469db657c6030d4b2.
* Revert "Removed bot freezing at startup and system message, not relevant anymore (#1519)"
This reverts commit bcd6f5bc066d5e8a54f2d37b7dfc54e5db0dd2d1.
This update enhances bot behavior by adding a check for both line of sight (LoS) and significant vertical height differences between the bot and its target. If the bot cannot see its target or if the height difference exceeds 5.0f, it calculates a valid path and moves closer to regain visibility and combat effectiveness. This resolves cases where bots would previously stand still when enemies jumped from elevated terrain or were behind obstacles.
This update enhances bot behavior in arena scenarios by addressing the issue where bots remain idle if their target moves behind line-of-sight (LoS obstacles). The bot now attempts to reposition near the target to regain LoS instead of standing still, preventing situations where enemies can recover without pressure.
Could someone test it?
- Refactored BattleGroundTactics.cpp
- Bots choose strategies to determine if they are more aggressive or defensive in objectives
- Largely improved bots tactics in WSG, AB, AV and EY
- Improved how bots chase flag carriers
- Fixed some bots stuck in action loops - especially in WSG and AV
- Fixed several other Bugs
* EoTS: Changed FC logic to use MoveNear while not in combat
Similar to WSG commit from a few days ago
* Changed action priorities in EotS to ACTION_MOVE + x
* Adjusted EotS flag carrier objective selection
Random chance reduced from 1/2 to 1/3
Distance threshold before objective switch is considered reduced to 15.0yds
* Updated AV strategy so only 2 towers need to be down before final boss
* Adjusted role assignments for AV: less defenders, more forward attackers
* Added strategy for team has flag in WSG
team has flag triggers bg protect fc action @ 75 priority
* Updated protectFC function with MoveNear instead of follow