Commit Graph
3371 Commits
Author SHA1 Message Date
luis dcd9f13034 missing opcodes implementation 2026-03-31 17:31:19 -03:00
luis f43549b385 CMSG_CLEAR_NEW_APPEARANCE 2026-03-31 17:13:20 -03:00
luis aefc60cbbe CMSG_BATTLEMASTER_JOIN_SKIRMISH 2026-03-31 17:08:41 -03:00
luis 1d72fd7232 real fix for unlcok races 2026-03-31 16:54:45 -03:00
luis c700e34a16 fix 2026-03-31 16:45:24 -03:00
luis d26340a39e brawl initial work 2026-03-31 16:42:46 -03:00
luis 8ab1495fc0 enable Wargame and clubs 2026-03-31 16:30:12 -03:00
luis 55e0e0e28d Full club finder 2026-03-31 15:59:08 -03:00
luis 8d5b8d3801 club finder part 1 2026-03-31 15:48:11 -03:00
luis 50326e21ac remove custom 2026-03-31 15:24:56 -03:00
luis 3280daf7e8 fixed ui 2026-03-31 15:21:21 -03:00
luis 603379b61e missing script 2026-03-31 15:06:50 -03:00
luis e138d624ad Fix build 2026-03-31 15:03:36 -03:00
luis 823204831b typo 2026-03-31 14:47:57 -03:00
luis fe70f1adf7 typo 2026-03-31 14:41:10 -03:00
luis 35b9c5a43f missing 2026-03-31 14:25:07 -03:00
luis 767df89695 update opcodes 2026-03-31 14:23:36 -03:00
luis 567847babf char perks 2026-03-31 14:17:41 -03:00
luis c2893e850c fix load 2026-03-31 14:00:39 -03:00
luis d146361a13 new perks more work 2026-03-31 13:59:36 -03:00
luis 5752bec436 rework 2026-03-31 13:54:43 -03:00
luis 0576a685d5 ++ 2026-03-31 13:51:50 -03:00
luis 61f9dee3bf second part 2026-03-31 13:50:12 -03:00
luis e4570bcedc init perk program full part 1 2026-03-31 13:46:54 -03:00
eXPo 0b6250c02f Core/Packets: Fixed Trading Post fully working now. 2026-03-31 19:30:50 +03:00
luis 633cb02880 fix allied races unlock as default 2026-03-31 12:38:31 -03:00
luis 1abf91fe16 Convert strategy code to use spatial grid snapshot for bot state
Audit found 200+ direct bot stat reads on worker threads across
strategy files. Converted the highest-impact patterns:

- RestStrategy: NeedsFood/NeedsDrink/IsActive/UpdateBehavior now use
  ai->GetCachedHealthPct() and ai->GetCachedManaPct() from snapshot
- GrindStrategy: Health/mana recovery check uses snapshot
- SoloStrategy: Rest trigger, recovery check, mana check use snapshot
- Strategy.cpp: ShouldFlee health check uses snapshot
- BotAI.h: Added DistanceTo/Distance2dTo helpers using snapshot position

All reads go through BotAI accessors which read from the PlayerSnapshot
populated every 100ms from the spatial grid's main thread update.
2026-03-31 11:54:54 -03:00
luis ce32828b0b Refactor bot state to use spatial grid as single source of truth
Replace the broken cache system (SnapshotBotState ran before
Player::Update so values were always stale) with the spatial grid's
PlayerSnapshot which is populated on the main thread every 100ms
with current data via the DoubleBufferedSpatialGrid.

BotAI now stores a PlayerSnapshot and refreshes it at the start of
each UpdateAI via RefreshFromSpatialGrid(). All accessors
(GetCurrentPosition, GetCachedHealthPct, GetCachedManaPct, etc.)
read from this snapshot. Worker threads get accurate, lock-free data.

Changes:
- BotAI: Replace 5 individual cache fields with single PlayerSnapshot
- BotAI: Add RefreshFromSpatialGrid() querying spatial grid by bot GUID
- BotAI: Add GetSnapshot(), GetCachedIsAlive(), GetCachedLevel() etc.
- RestStrategy: NeedsFood/NeedsDrink/IsActive use snapshot via ai->
- Remove BotSession::SnapshotBotState() entirely
- Remove SnapshotBotState call from BotWorldSessionMgr
- Remove MoveSpline.h dependency from BotAI and BotSession
2026-03-31 11:50:38 -03:00
luis 30ce95c8df Fix build: revert deferred movement, use direct MovePoint 2026-03-31 11:44:58 -03:00
luis 63c0420f71 Fix rest strategy using stale cached health — read bot stats directly
The main thread SnapshotBotState runs in OnWorldUpdate BEFORE
Map::Update/Player::Update, so it captures pre-regen health values.
The cache showed 49.4% while actual health was 100%.

Worker thread reads of bot->GetHealthPct() return correct values
because Player::Update has already run by the time the worker executes.
Reverted to direct reads which are proven correct by the
RestStrategy::UpdateBehavior logs showing health=100%.
2026-03-31 11:34:42 -03:00
Céfiro_Caecias 18c682e092 DB/World: DBErrors Fixes 2026-03-30 21:18:41 -03:00
Céfiro_Caecias 16d455c386 DB/World: item_loot_template 2026-03-30 20:35:52 -03:00
luis 71279e581a fix log 2026-03-30 19:20:24 -03:00
luis 9bdecbd8f1 gnomeregan 2026-03-30 19:19:22 -03:00
luis f4cb6ed15b core crash fix 2026-03-30 16:19:38 -03:00
luis b81c494693 ++ 2026-03-30 16:15:38 -03:00
luis 83de9fcfe0 typo 2026-03-30 15:41:16 -03:00
luis 70e2cd591e misc 2026-03-30 15:33:38 -03:00
Shauren ec7d87555f Core/Spells: Changed SpellEffectInfo::CalcBaseValue return type to double
Signed-off-by: luis <[email protected]>
2026-03-30 15:30:54 -03:00
Shauren 292d597c8b Core/Commands: Fix copypaste
Signed-off-by: luis <[email protected]>
2026-03-30 15:29:23 -03:00
Mirshod Allaberganov decaaf317a Scripts/Spells: Implement Feral Lunge (#31746)
Signed-off-by: luis <[email protected]>
2026-03-30 15:28:20 -03:00
luis d5c2e13de0 delves entrance 2026-03-30 12:31:08 -03:00
luis f865c6e8d4 typo 2026-03-30 10:46:37 -03:00
luis 25b815387a todo later 2026-03-30 10:43:20 -03:00
luis 8cf6c956f5 Housing: Fix interior editor activation — Status=0 enables editor mode 2026-03-30 10:39:48 -03:00
luis 84d71f17d0 crafting 2026-03-30 10:34:07 -03:00
luis c1d982cbec crafting 2026-03-29 20:54:03 -03:00
luis 86d21e9cfe crafting init 2026-03-29 01:54:54 -03:00
luis 101245f85e ++ 2026-03-29 01:16:08 -03:00
luis 7e1bd9bc5b +++ 2026-03-29 01:03:48 -03:00