4332 Commits
Author SHA1 Message Date
Shauren 0f32a1d35d Core/Players: Fixed spellpower for devourer demon hunters (currently the only intellect based spec without mana)
Signed-off-by: luis <[email protected]>
2026-02-06 14:45:55 -03:00
Aqua Deus 47e7f1768a Scripts/Spells: Implement dh talent "Enduring Torment" (#31523)
Signed-off-by: luis <[email protected]>
2026-02-06 14:45:12 -03:00
Cristian Vintila 63cb26eecf Scripts/Spells: Update Atonement trigger spells (#31651)
Signed-off-by: luis <[email protected]>
2026-02-06 14:44:28 -03:00
Cristian Vintila 70b2af2acd Scripts/Spells: Implement druid talent Flower Walk (#31532)
Signed-off-by: luis <[email protected]>
2026-02-06 14:43:45 -03:00
Aqua Deus 269ab5a25a Scripts/Spells: Implement proc of dk talent Suppression (#30243)
Signed-off-by: luis <[email protected]>
2026-02-06 14:42:40 -03:00
Shauren 8496186319 Core/Misc: Add devourer demon hunter spec to enum
Signed-off-by: luis <[email protected]>
2026-02-06 14:42:15 -03:00
Meji 3d1c44ce7f DB/Hotfixes: Updated zhTW hotfixes to 12.0.0.65727
Signed-off-by: luis <[email protected]>
2026-02-06 14:41:45 -03:00
Meji d85db03a88 DB/Hotfixes: Updated zhCN hotfixes to 12.0.0.65727
Signed-off-by: luis <[email protected]>
2026-02-06 14:41:15 -03:00
Meji 7c9b0c3b1b DB/Hotfixes: Updated ruRU hotfixes to 12.0.0.65727
Signed-off-by: luis <[email protected]>
2026-02-06 14:40:51 -03:00
Meji 9e246e1a16 DB/Hotfixes: Updated ptBR hotfixes to 12.0.0.65727
Signed-off-by: luis <[email protected]>
2026-02-06 14:40:16 -03:00
Meji 605976fa1c DB/Hotfixes: Updated koKR hotfixes to 12.0.0.65727
Signed-off-by: luis <[email protected]>
2026-02-06 14:39:40 -03:00
Meji 1a9c41f80a DB/Hotfixes: Updated itIT hotfixes to 12.0.0.65727
Signed-off-by: luis <[email protected]>
2026-02-06 14:39:06 -03:00
Meji a1ecc7d28b DB/Hotfixes: Updated frFR hotfixes to 12.0.0.65727
Signed-off-by: luis <[email protected]>
2026-02-06 14:38:38 -03:00
Meji d7f1577900 DB/Hotfixes: Updated esMX hotfixes to 12.0.0.65727
Signed-off-by: luis <[email protected]>
2026-02-06 14:36:02 -03:00
Meji f21dbbd0e3 DB/Hotfixes: Updated esES hotfixes to 12.0.0.65727
Signed-off-by: luis <[email protected]>
2026-02-06 14:18:16 -03:00
Meji 6935f7efe2 DB/Hotfixes: Updated deDE hotfixes to 12.0.0.65727
Signed-off-by: luis <[email protected]>
2026-02-06 14:17:29 -03:00
Meji 9aaa95b3ee DB/Hotfixes: Updated hotfixes to 12.0.0.65727
Signed-off-by: luis <[email protected]>
2026-02-06 14:14:23 -03:00
Aqua Deus d17d583400 Scripts/Spells: Implement dh talent "Soul Sigils" (#31529)
Signed-off-by: luis <[email protected]>
2026-02-06 14:12:59 -03:00
Cristian Vintila 1ac20f3256 Scripts/Spells: Implement druid talent Guardian of Elune (#31541)
Signed-off-by: luis <[email protected]>
2026-02-06 14:12:10 -03:00
Cristian Vintila 4cf4ac7cef Scripts/Spells: Implement druid talent Maim (#31586)
Signed-off-by: luis <[email protected]>
2026-02-06 14:11:14 -03:00
ModoX 9eab46322c Core/Spells: Make sure that spells with overridden duration but default duration 0 are not flagged immune
Signed-off-by: luis <[email protected]>
2026-02-06 14:09:04 -03:00
Shauren f4065e2724 Core/PacketIO: Fix some DifficultyID types in packets
Signed-off-by: luis <[email protected]>
2026-02-06 14:08:04 -03:00
agathoandClaude Opus 4.6 18d20a2193 fix(bg): Prevent double bot population and register late-joining bots with coordinator
Two BG fixes:

1. BGBotManager::PopulateBattlegroundLocked now counts in-transit bots
   (dispatched via SendToBattleground but not yet in bg->GetPlayers())
   when calculating empty slots. Without this, both WAIT_JOIN and
   IN_PROGRESS population calls thought teams were empty and spawned
   full teams, resulting in 20v20 in a 10v10 BG.

2. BattlegroundAI::Update now calls coordinator->AddBot() when a bot
   has a coordinator but UNASSIGNED role. This handles late-joining bots
   that arrive after the coordinator was created, ensuring they get
   proper roles and participate in strategy execution.

Also converts TODO comments to NOTE/DESIGN NOTE across 10 files where
the TODOs described intentional design decisions rather than future work.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
Signed-off-by: luis <[email protected]>
2026-02-06 14:06:55 -03:00
luis 609119b7b9 fix(bg): Break infinite recursion in BGRoleManager role assignment loop 2026-02-06 14:06:24 -03:00
agathoandClaude 2d93b1d59f refactor(TOK): Move runtime behavior from BattlegroundAI into TempleOfKotmoguScript
Establish the lighthouse pattern by moving all TOK-specific runtime behavior
(orb pickup, escort, carrier movement, hunting, defense) from the generic
BattlegroundAI class into TempleOfKotmoguScript. BattlegroundAI now acts as
a thin delegation wrapper via the new IBGScript::ExecuteStrategy() virtual method.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Signed-off-by: luis <[email protected]>
2026-02-06 14:01:39 -03:00
agathoandClaude 8d360fd6e1 feat(TOK): Implement complete Temple of Kotmogu battleground AI
Implement all 6 TOK functions with full orb interaction, role-based
strategy dispatch, combat engagement, escort formations, carrier
movement with center push logic, and survival retreat behavior.
Includes comprehensive null safety, edge case handling, and logging.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Signed-off-by: luis <[email protected]>
2026-02-06 14:01:26 -03:00
agatho e3bc6c01a0 Planning
The plan is complete and correctly structured. The Planning step is marked `[x]` (complete), and the Implementation step has been replaced with 4 concrete implementation steps.

Here's a summary of the plan:

**4 Implementation Steps (mapping to spec's delivery phases):**

| Step | Scope | ~Lines |
|------|-------|--------|
| **Implement PickupOrb + basic dispatch** | `PickupOrb()` full impl, `ExecuteKotmoguStrategy()` role-based dispatch, header declarations, temporary stubs for 3 new functions | ~150 |
| **Implement HuntEnemyOrbCarrier + DefendOrbCarrier** | Combat engagement: enemy carrier hunting with priority targeting, friendly carrier defense with spatial cache | ~150 |
| **Implement EscortOrbCarrier + ExecuteOrbCarrierMovement** | Escort formations, center push logic with route navigation, defensive hold, ROAMER role completion | ~180 |
| **Polish, edge cases, build verification** | Null safety audit, edge case handling, logging completeness, HEALER_SUPPORT role, code style, final build | ~50 |

**Key design decisions:**
- Each step is independently buildable (stubs for not-yet-implemented functions)
- All implementations follow existing WSG/AB patterns (PickupFlag, ExecuteEscortBehavior, ExecuteDefenderBehavior, etc.)
- Only 2 files modified: `BattlegroundAI.cpp` and `BattlegroundAI.h`
- All coordination layer APIs already exist — the work is purely execution layer
- Verification at each step is "build compiles clean" since there are no automated unit tests for BattlegroundAI

Signed-off-by: luis <[email protected]>
2026-02-06 14:00:52 -03:00
agatho 2ac96144ba Technical Specification
## spec.md Summary

The technical specification covers the TOK execution layer implementation across **2 files** (`BattlegroundAI.cpp` and `.h`) with **6 functions** (3 reimplemented stubs + 3 new):

**Functions**:
| Function | Type | Purpose |
|----------|------|---------|
| `ExecuteKotmoguStrategy()` | Rewrite | Role-based dispatch (ORB_CARRIER, FLAG_ESCORT, FLAG_HUNTER, NODE_DEFENDER, ROAMER) |
| `PickupOrb()` | Rewrite | Find unheld orb, navigate to it, call `go->Use(player)` |
| `DefendOrbCarrier()` | Rewrite | Position near friendly carrier, attack threats |
| `HuntEnemyOrbCarrier()` | New | Find and attack enemy orb holders |
| `EscortOrbCarrier()` | New | Follow carrier in formation, assist combat |
| `ExecuteOrbCarrierMovement()` | New | Center push when 2+ orbs held, defensive hold otherwise |

**Key design decisions**:
- All functions follow existing WSG/AB patterns already proven in the codebase
- Uses `GAMEOBJECT_TYPE_FLAGSTAND` + `go->Use(player)` for orb pickup (same as WSG flags)
- Leverages spatial query cache (O(cells)) for combat target finding
- All coordination data comes from existing APIs (no coordination layer changes needed)
- No database changes, no config changes

**Delivery in 4 phases**: Orb Pickup → Combat → Escort/Center Push → Polish & Edge Cases

Signed-off-by: luis <[email protected]>
2026-02-06 14:00:52 -03:00
agatho dce6cf7df1 Requirements
## PRD Summary

The PRD at `.zenflow/tasks/tok-lighthouse-battleground-5045/requirements.md` documents:

**Core Problem:** The TOK coordination layer is ~80% complete (strategy, positions, role management, event tracking) but the execution layer is entirely stubbed out — bots never actually pick up orbs, attack enemies, or move to objectives.

**6 Requirements identified:**

1. **R1: Orb Pickup (Critical)** — Implement actual orb discovery, navigation, and GameObject interaction in `PickupOrb()`
2. **R2: Combat Engagement (Critical)** — Bots must call `Attack()` against enemies, especially enemy orb carriers
3. **R3: Center Push Execution (High)** — Orb carriers must navigate to center zone using pre-calculated routes when strategy dictates
4. **R4: Dynamic Strategy Execution (High)** — `ExecuteKotmoguStrategy()` must branch on the bot's assigned role (ORB_CARRIER, FLAG_ESCORT, NODE_ATTACKER, etc.)
5. **R5: Edge Case Handling (Medium)** — Handle death-with-orb, respawns, multiple bots targeting same orb, null pointers
6. **R6: Logging & Observability (Medium)** — Detailed logs for manual test validation

**Key finding:** The server-side scoring uses 3 concentric area triggers (6/4/2 pts per 5s), not the simplified 2-tier model in the playerbot data file. This is a minor data accuracy issue.

**Files to modify:** Primarily `BattlegroundAI.cpp` and `BattlegroundAI.h`. The coordination layer files are reused as-is.

Signed-off-by: luis <[email protected]>
2026-02-06 14:00:52 -03:00
agatho 72e41f6d6b Initialize task: TOK Lighthouse Battleground
Signed-off-by: luis <[email protected]>
2026-02-06 14:00:52 -03:00
agathoandClaude d5e4c55eb9 refactor(TOK): Move runtime behavior from BattlegroundAI into TempleOfKotmoguScript
Establish the lighthouse pattern by moving all TOK-specific runtime behavior
(orb pickup, escort, carrier movement, hunting, defense) from the generic
BattlegroundAI class into TempleOfKotmoguScript. BattlegroundAI now acts as
a thin delegation wrapper via the new IBGScript::ExecuteStrategy() virtual method.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Signed-off-by: luis <[email protected]>
2026-02-06 14:00:27 -03:00
agathoandClaude 0d2bcd3c25 feat(TOK): Implement complete Temple of Kotmogu battleground AI
Implement all 6 TOK functions with full orb interaction, role-based
strategy dispatch, combat engagement, escort formations, carrier
movement with center push logic, and survival retreat behavior.
Includes comprehensive null safety, edge case handling, and logging.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Signed-off-by: luis <[email protected]>
2026-02-06 14:00:26 -03:00
agatho d7bc07522c Planning
The plan is complete and correctly structured. The Planning step is marked `[x]` (complete), and the Implementation step has been replaced with 4 concrete implementation steps.

Here's a summary of the plan:

**4 Implementation Steps (mapping to spec's delivery phases):**

| Step | Scope | ~Lines |
|------|-------|--------|
| **Implement PickupOrb + basic dispatch** | `PickupOrb()` full impl, `ExecuteKotmoguStrategy()` role-based dispatch, header declarations, temporary stubs for 3 new functions | ~150 |
| **Implement HuntEnemyOrbCarrier + DefendOrbCarrier** | Combat engagement: enemy carrier hunting with priority targeting, friendly carrier defense with spatial cache | ~150 |
| **Implement EscortOrbCarrier + ExecuteOrbCarrierMovement** | Escort formations, center push logic with route navigation, defensive hold, ROAMER role completion | ~180 |
| **Polish, edge cases, build verification** | Null safety audit, edge case handling, logging completeness, HEALER_SUPPORT role, code style, final build | ~50 |

**Key design decisions:**
- Each step is independently buildable (stubs for not-yet-implemented functions)
- All implementations follow existing WSG/AB patterns (PickupFlag, ExecuteEscortBehavior, ExecuteDefenderBehavior, etc.)
- Only 2 files modified: `BattlegroundAI.cpp` and `BattlegroundAI.h`
- All coordination layer APIs already exist — the work is purely execution layer
- Verification at each step is "build compiles clean" since there are no automated unit tests for BattlegroundAI

Signed-off-by: luis <[email protected]>
2026-02-06 14:00:04 -03:00
agatho 9e00ae1e81 Technical Specification
## spec.md Summary

The technical specification covers the TOK execution layer implementation across **2 files** (`BattlegroundAI.cpp` and `.h`) with **6 functions** (3 reimplemented stubs + 3 new):

**Functions**:
| Function | Type | Purpose |
|----------|------|---------|
| `ExecuteKotmoguStrategy()` | Rewrite | Role-based dispatch (ORB_CARRIER, FLAG_ESCORT, FLAG_HUNTER, NODE_DEFENDER, ROAMER) |
| `PickupOrb()` | Rewrite | Find unheld orb, navigate to it, call `go->Use(player)` |
| `DefendOrbCarrier()` | Rewrite | Position near friendly carrier, attack threats |
| `HuntEnemyOrbCarrier()` | New | Find and attack enemy orb holders |
| `EscortOrbCarrier()` | New | Follow carrier in formation, assist combat |
| `ExecuteOrbCarrierMovement()` | New | Center push when 2+ orbs held, defensive hold otherwise |

**Key design decisions**:
- All functions follow existing WSG/AB patterns already proven in the codebase
- Uses `GAMEOBJECT_TYPE_FLAGSTAND` + `go->Use(player)` for orb pickup (same as WSG flags)
- Leverages spatial query cache (O(cells)) for combat target finding
- All coordination data comes from existing APIs (no coordination layer changes needed)
- No database changes, no config changes

**Delivery in 4 phases**: Orb Pickup → Combat → Escort/Center Push → Polish & Edge Cases

Signed-off-by: luis <[email protected]>
2026-02-06 14:00:04 -03:00
agatho 205282efc7 Requirements
## PRD Summary

The PRD at `.zenflow/tasks/tok-lighthouse-battleground-5045/requirements.md` documents:

**Core Problem:** The TOK coordination layer is ~80% complete (strategy, positions, role management, event tracking) but the execution layer is entirely stubbed out — bots never actually pick up orbs, attack enemies, or move to objectives.

**6 Requirements identified:**

1. **R1: Orb Pickup (Critical)** — Implement actual orb discovery, navigation, and GameObject interaction in `PickupOrb()`
2. **R2: Combat Engagement (Critical)** — Bots must call `Attack()` against enemies, especially enemy orb carriers
3. **R3: Center Push Execution (High)** — Orb carriers must navigate to center zone using pre-calculated routes when strategy dictates
4. **R4: Dynamic Strategy Execution (High)** — `ExecuteKotmoguStrategy()` must branch on the bot's assigned role (ORB_CARRIER, FLAG_ESCORT, NODE_ATTACKER, etc.)
5. **R5: Edge Case Handling (Medium)** — Handle death-with-orb, respawns, multiple bots targeting same orb, null pointers
6. **R6: Logging & Observability (Medium)** — Detailed logs for manual test validation

**Key finding:** The server-side scoring uses 3 concentric area triggers (6/4/2 pts per 5s), not the simplified 2-tier model in the playerbot data file. This is a minor data accuracy issue.

**Files to modify:** Primarily `BattlegroundAI.cpp` and `BattlegroundAI.h`. The coordination layer files are reused as-is.

Signed-off-by: luis <[email protected]>
2026-02-06 14:00:04 -03:00
agatho b7777ce6f7 Initialize task: TOK Lighthouse Battleground
Signed-off-by: luis <[email protected]>
2026-02-06 14:00:03 -03:00
agathoandClaude Opus 4.6 2f1954efdf feat(coordination): Complete Phase 3 Cross-Bot Event Coordination (Sprints 2-6)
Integrate BotMessageBus across all coordination domains enabling
group-local bot-to-bot communication for combat, dungeon, raid, arena,
and battleground systems.

Sprint 2: BotMessageBus infrastructure - factory methods, claim system
Sprint 3: Combat coordination overhaul - interrupt/dispel/CC claims
Sprint 4: Dungeon & M+ - trash pulls, wipe recovery, affix handling
Sprint 5: Raid coordination - enable 19 raid + 13 arena files in build,
  fix CombatEventData->CombatEvent API migration, tank swap/bloodlust/
  battle rez/wipe recovery broadcasts
Sprint 6: PvP coordination - arena burst/CC/defensive/kill target and
  BG flag carrier focus/node reinforcement broadcasts

37 files changed, 578 insertions(+), 111 deletions(-)

Co-Authored-By: Claude Opus 4.6 <[email protected]>
Signed-off-by: luis <[email protected]>
2026-02-06 13:58:53 -03:00
agathoandClaude 8bf9878f4a refactor(TOK): Move runtime behavior from BattlegroundAI into TempleOfKotmoguScript
Establish the lighthouse pattern by moving all TOK-specific runtime behavior
(orb pickup, escort, carrier movement, hunting, defense) from the generic
BattlegroundAI class into TempleOfKotmoguScript. BattlegroundAI now acts as
a thin delegation wrapper via the new IBGScript::ExecuteStrategy() virtual method.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Signed-off-by: luis <[email protected]>
2026-02-06 13:57:49 -03:00
agathoandClaude 22daccef67 feat(TOK): Implement complete Temple of Kotmogu battleground AI
Implement all 6 TOK functions with full orb interaction, role-based
strategy dispatch, combat engagement, escort formations, carrier
movement with center push logic, and survival retreat behavior.
Includes comprehensive null safety, edge case handling, and logging.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Signed-off-by: luis <[email protected]>
2026-02-06 13:56:21 -03:00
agathoandClaude Opus 4.6 04fbdf7242 WIP(refactoring): GameSystemsManager, CombatCoordinationIntegrator, and subsystem registry planning
Work-in-progress from recovery-refactoring-work branch including:
- GameSystemsManager interface and implementation
- CombatCoordinationIntegrator scaffolding
- BotAI and BotMessage header updates
- CMakeLists.txt updates for new files
- Subsystem registry refactoring task spec and documentation

Co-Authored-By: Claude Opus 4.6 <[email protected]>
Signed-off-by: luis <[email protected]>
2026-02-06 13:53:50 -03:00
agatho 858235aec4 Planning
The plan is complete and correctly structured. The Planning step is marked `[x]` (complete), and the Implementation step has been replaced with 4 concrete implementation steps.

Here's a summary of the plan:

**4 Implementation Steps (mapping to spec's delivery phases):**

| Step | Scope | ~Lines |
|------|-------|--------|
| **Implement PickupOrb + basic dispatch** | `PickupOrb()` full impl, `ExecuteKotmoguStrategy()` role-based dispatch, header declarations, temporary stubs for 3 new functions | ~150 |
| **Implement HuntEnemyOrbCarrier + DefendOrbCarrier** | Combat engagement: enemy carrier hunting with priority targeting, friendly carrier defense with spatial cache | ~150 |
| **Implement EscortOrbCarrier + ExecuteOrbCarrierMovement** | Escort formations, center push logic with route navigation, defensive hold, ROAMER role completion | ~180 |
| **Polish, edge cases, build verification** | Null safety audit, edge case handling, logging completeness, HEALER_SUPPORT role, code style, final build | ~50 |

**Key design decisions:**
- Each step is independently buildable (stubs for not-yet-implemented functions)
- All implementations follow existing WSG/AB patterns (PickupFlag, ExecuteEscortBehavior, ExecuteDefenderBehavior, etc.)
- Only 2 files modified: `BattlegroundAI.cpp` and `BattlegroundAI.h`
- All coordination layer APIs already exist — the work is purely execution layer
- Verification at each step is "build compiles clean" since there are no automated unit tests for BattlegroundAI

Signed-off-by: luis <[email protected]>
2026-02-06 13:52:55 -03:00
agatho eecf5db5de Technical Specification
## spec.md Summary

The technical specification covers the TOK execution layer implementation across **2 files** (`BattlegroundAI.cpp` and `.h`) with **6 functions** (3 reimplemented stubs + 3 new):

**Functions**:
| Function | Type | Purpose |
|----------|------|---------|
| `ExecuteKotmoguStrategy()` | Rewrite | Role-based dispatch (ORB_CARRIER, FLAG_ESCORT, FLAG_HUNTER, NODE_DEFENDER, ROAMER) |
| `PickupOrb()` | Rewrite | Find unheld orb, navigate to it, call `go->Use(player)` |
| `DefendOrbCarrier()` | Rewrite | Position near friendly carrier, attack threats |
| `HuntEnemyOrbCarrier()` | New | Find and attack enemy orb holders |
| `EscortOrbCarrier()` | New | Follow carrier in formation, assist combat |
| `ExecuteOrbCarrierMovement()` | New | Center push when 2+ orbs held, defensive hold otherwise |

**Key design decisions**:
- All functions follow existing WSG/AB patterns already proven in the codebase
- Uses `GAMEOBJECT_TYPE_FLAGSTAND` + `go->Use(player)` for orb pickup (same as WSG flags)
- Leverages spatial query cache (O(cells)) for combat target finding
- All coordination data comes from existing APIs (no coordination layer changes needed)
- No database changes, no config changes

**Delivery in 4 phases**: Orb Pickup → Combat → Escort/Center Push → Polish & Edge Cases

Signed-off-by: luis <[email protected]>
2026-02-06 13:52:11 -03:00
agatho f08740f4ce Requirements
## PRD Summary

The PRD at `.zenflow/tasks/tok-lighthouse-battleground-5045/requirements.md` documents:

**Core Problem:** The TOK coordination layer is ~80% complete (strategy, positions, role management, event tracking) but the execution layer is entirely stubbed out — bots never actually pick up orbs, attack enemies, or move to objectives.

**6 Requirements identified:**

1. **R1: Orb Pickup (Critical)** — Implement actual orb discovery, navigation, and GameObject interaction in `PickupOrb()`
2. **R2: Combat Engagement (Critical)** — Bots must call `Attack()` against enemies, especially enemy orb carriers
3. **R3: Center Push Execution (High)** — Orb carriers must navigate to center zone using pre-calculated routes when strategy dictates
4. **R4: Dynamic Strategy Execution (High)** — `ExecuteKotmoguStrategy()` must branch on the bot's assigned role (ORB_CARRIER, FLAG_ESCORT, NODE_ATTACKER, etc.)
5. **R5: Edge Case Handling (Medium)** — Handle death-with-orb, respawns, multiple bots targeting same orb, null pointers
6. **R6: Logging & Observability (Medium)** — Detailed logs for manual test validation

**Key finding:** The server-side scoring uses 3 concentric area triggers (6/4/2 pts per 5s), not the simplified 2-tier model in the playerbot data file. This is a minor data accuracy issue.

**Files to modify:** Primarily `BattlegroundAI.cpp` and `BattlegroundAI.h`. The coordination layer files are reused as-is.

Signed-off-by: luis <[email protected]>
2026-02-06 13:51:03 -03:00
agatho 5b95873792 Initialize task: TOK Lighthouse Battleground
Signed-off-by: luis <[email protected]>
2026-02-06 13:49:42 -03:00
agatho 94f5791002 docs(recovery): Document complete git stash recovery and add new EventBus alias
Recovery Documentation:
- Complete recovery status documented
- All merge conflicts resolved
- Build verification successful
- 13 obsolete file references removed from CMakeLists.txt

New File:
- AuraEventBus.h: Type alias for generic EventBus<AuraEvent>
- Part of refactoring to consolidate event bus system

Signed-off-by: luis <[email protected]>
2026-02-06 13:49:11 -03:00
agatho 94c4105865 fix(cmake): Remove obsolete EventBus.h and DI interface references
Removed references to files deleted during DI cleanup refactoring:
- All *EventBus.h files (replaced by consolidated event system)
- Interfaces/IBotSpawner.h, IBotSession.h, IBotPerformance.h (DI removed)
- Group/GroupEventBus.h (consolidated into GroupEvents.h)
- Social/SocialEventBus.h (consolidated)
- 10 event bus header files total

Build Status: ✅ worldserver.exe builds successfully
Recovery Status: ✅ Complete and verified

Signed-off-by: luis <[email protected]>
2026-02-06 13:48:41 -03:00
agatho 0ff48c3bae fix(recovery): Resolve merge conflicts from stash recovery
Resolved 4 conflicted files from git stash pop:

1. CooldownEvents.cpp/h: Took stashed version with better inline comments
   - "Major CDs are high priority" comment preserved
   - "Short expiry for coordination" comment preserved
   - Better documentation for MajorCooldownTier enum

2. CMakeLists.txt: Merged both versions intelligently
   - Kept Messaging files (buildable)
   - Added Phase 3 audit comment block documenting Arena/Raid discovery
   - Arena/Raid NOT included yet (stale APIs per audit)

3. PlayerbotModule.cpp: No actual conflicts (identical in both versions)
   - Took upstream version

This preserves both:
- Work from the other Claude Code instance (refactoring)
- Stashed work containing improved comments and documentation

Recovery Status: Merge conflicts resolved, ready for continuation

Signed-off-by: luis <[email protected]>
2026-02-06 13:48:08 -03:00
agatho 8026511f93 WIP: Current state from other instance
Signed-off-by: luis <[email protected]>
2026-02-06 13:47:10 -03:00
agathoandClaude Opus 4.5 a8099b9813 docs: Add comprehensive analysis of BG bot spawning bug
- Complete root cause analysis with log evidence
- Technical deep dive into QueueStatePoller workflow
- Before/after comparison showing 32x overhead reduction
- Testing recommendations and monitoring guidelines
- Lessons learned and future improvements

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Signed-off-by: luis <[email protected]>
2026-02-06 13:46:16 -03:00
agathoandClaude Opus 4.5 524da500f8 fix(bg): Stop continuous bot spawning during active battlegrounds
CRITICAL BUG FIX - Resolves 32x bot overhead issue (629 bots instead of 19)

Root Cause:
- QueueStatePoller continued polling BG queues AFTER battleground started
- Detected "empty queue" as shortage every 5 seconds during gameplay
- Spawned hundreds of warm pool bots continuously during BG preparation/combat
- Human player GUID became Empty after entering BG, but spawning continued

The Fix:
1. Unregister BG queue from QueueStatePoller when BG starts
2. Unregister when last human leaves queue (before BG starts)
3. Prevents infinite spawning loop during active gameplay

Changes:
- BGBotManager::OnBattlegroundStart() - Call UnregisterActiveBGQueue()
- BGBotManager::OnPlayerLeaveQueue() - Check if last human, unregister queue

Impact:
- Fixes bot explosion from 19 ordered → 629 spawned
- Prevents warm pool exhaustion during single BG
- Stops session creation spam hitting bot limit

Testing:
- Verified build successful
- Log analysis confirmed continuous spawning pattern
- Fix targets exact polling mechanism causing issue

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Signed-off-by: luis <[email protected]>
2026-02-06 13:45:24 -03:00