4183 Commits
Author SHA1 Message Date
agathoandClaude Opus 4.5 4db282ca6d fix(ci): Add macOS support and missing mutex include
- ResourceMonitor.cpp: Add macOS-specific includes (mach/mach.h, sysctl.h)
  and memory collection implementation using mach task_info API
- AuraStateCache.cpp: Add missing <mutex> include for std::unique_lock

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Signed-off-by: luis <[email protected]>
2026-01-22 21:28:59 -03:00
agathoandClaude Opus 4.5 7ba34fe25e fix(ci): Add missing <atomic> include and fix atomic<float> operator
- AuraStateCache.h: Add missing <atomic> include
- ResourceTypes.h: Change SoulShardSystem _shards from atomic<float> to float
  (atomic<float> doesn't support compound operators like -= in C++20)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Signed-off-by: luis <[email protected]>
2026-01-22 21:28:09 -03:00
agathoandClaude Opus 4.5 cc20427d77 fix(ci): Fix C++20 compilation errors - missing includes and unused forward decl
- SafeObjectReference.h: Add <sstream> and <iomanip> for std::setprecision
- HealingTargetSelector.h: Include SharedDefines.h instead of forward declaring DispelType
- TacticalCoordinator.h: Remove unused BotAI forward declaration that conflicts with using directive

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Signed-off-by: luis <[email protected]>
2026-01-22 21:27:17 -03:00
agathoandClaude Opus 4.5 230cc39a5d fix(ci): Resolve Windows Boost path and Linux linker issues
- Skip FindSystemBoost.cmake on CI (GITHUB_ACTIONS env) to use standard
  Boost finding with MarkusJx/install-boost action
- Change Linux build from SCRIPTS=dynamic to SCRIPTS=static to fix
  linker error with static Boost libraries

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Signed-off-by: luis <[email protected]>
2026-01-22 21:24:24 -03:00
agathoandClaude Opus 4.5 5b964c8d50 fix(ci): Add git submodule init for TBB dependency
Playerbot requires Intel TBB which is vendored as a git submodule.
All CI workflows now initialize submodules before CMake configure.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Signed-off-by: luis <[email protected]>
2026-01-22 21:22:34 -03:00
agathoandClaude Opus 4.5 d777d1be92 fix(ci): Resolve CI build failures on playerbot-dev
- Update Boost version to 1.89.0 for Windows builds (required by upstream)
- Add BUILD_PLAYERBOT=ON to all workflow CMake configurations
- Make ModuleUpdateManager include/usage conditional on BUILD_PLAYERBOT
  in World.cpp to support builds with/without playerbot module

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Signed-off-by: luis <[email protected]>
2026-01-22 21:20:34 -03:00
agathoandClaude Opus 4.5 2583f507bc fix(playerbot): Resolve build errors and implement spec-based role detection
Build fixes:
- Add Player forward declaration to JITBotFactory.h
- Add missing includes: BotWorldSessionMgr.h, BotSession.h, DB2Stores.h
- Fix LocalizedString usage with DEFAULT_LOCALE instead of integer index
- Fix SpellName pointer dereference: (*spellInfo->SpellName)[DEFAULT_LOCALE]
- Fix PlayerSpell member access: .active/.disabled instead of .IsActive()/.IsDisabled()
- Remove non-existent BotSessionMgr.cpp/.h from CMakeLists.txt

New features:
- Implement enterprise-grade role detection in JITBotFactory using DB2 spec data
- Add GetPlayerSpecRole() using ChrSpecializationEntry for accurate role detection
- Add GroupRoleToBotRole() conversion for pool system compatibility
- Add DetermineBotRole() as main entry point for spec-based role determination
- Distinguish melee/ranged DPS using ChrSpecializationFlag

Code cleanup:
- Remove obsolete BotSessionMgr files (replaced by BotWorldSessionMgr)
- Remove IBotSessionMgr interface (no longer needed)
- Remove MockSpatialGridManager test mock
- Remove invalid dynamic_cast<BotAI*>(UnitAI*) - types are unrelated

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Signed-off-by: luis <[email protected]>
2026-01-22 19:59:45 -03:00
agathoandClaude Opus 4.5 6697f36bf4 docs(playerbot): Add crash analysis and quest system audit reports
- CRASH_ANALYSIS_2026-01-08.md - Documentation of crash investigation
- Quest/QUEST_SYSTEM_AUDIT_REPORT.md - Quest system audit findings

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Signed-off-by: luis <[email protected]>
2026-01-22 19:58:59 -03:00
agathoandClaude Opus 4.5 79b0df716a chore(playerbot): Add SQL fixes to sql/playerbot/fixes location
Additional SQL fix scripts:
- 01_fix_binding_shot_crash.sql
- 02_fix_class_race_matrix.sql
- add_template_validation_constraints.sql
- fix_corrupt_template_entry.sql

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Signed-off-by: luis <[email protected]>
2026-01-22 19:57:57 -03:00
agathoandClaude Opus 4.5 cd6d4c064f feat(playerbot): Add SQL schema and migration files
Database schemas for playerbot module:
- 01_playerbot_structure.sql - Core playerbot tables
- 01_index_optimization.sql - Performance indexes
- 02_playerbot_names.sql - Bot name generation
- 02_query_optimization.sql - Query performance tuning
- 03_mysql_configuration.cnf - Recommended MySQL settings
- 04_performance_validation.sql - Performance monitoring queries
- 05_auction_price_history.sql - Auction house bot support
- 06_instance_bot_pool.sql - Instance bot warm pool
- 07_bot_templates.sql - Bot configuration templates
- 08_jit_bot_tracking.sql - JIT bot creation tracking
- 09_warm_pool_persistence.sql - Warm pool state persistence

Fixes:
- 01_fix_binding_shot_crash.sql - Hunter ability crash fix
- add_template_validation_constraints.sql - Data integrity
- fix_corrupt_template_entry.sql - Template repair

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Signed-off-by: luis <[email protected]>
2026-01-22 19:56:54 -03:00
agathoandClaude Opus 4.5 a97a7c218d feat(playerbot): Improve spatial grid and movement behavior
- Enhanced DoubleBufferedSpatialGrid with better thread safety
- Improved LeaderFollowBehavior for smoother bot following
- Better position tracking and updates

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Signed-off-by: luis <[email protected]>
2026-01-22 19:55:26 -03:00
agathoandClaude Opus 4.5 2e604dcb0e feat(playerbot): Enhance bot session management
- Added instance bot tracking in BotSession
- Improved BotWorldSessionMgr with better session lifecycle handling
- Enhanced deferred packet processing for thread safety
- Better integration with instance bot orchestration

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Signed-off-by: luis <[email protected]>
2026-01-22 19:35:29 -03:00
agathoandClaude Opus 4.5 723fd5daf6 feat(playerbot): Improve instance bot pool and queue state polling
- Enhanced InstanceBotOrchestrator with better bot assignment
- Improved InstanceBotPool management
- QueueStatePoller now tracks active queues more efficiently
- Better shortage detection and JIT triggering

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Signed-off-by: luis <[email protected]>
2026-01-22 19:33:44 -03:00
agathoandClaude Opus 4.5 ad005b4b9e feat(playerbot): Enhance LFG bot management and group coordination
- Improved LFGBotManager with better queue handling
- Enhanced LFGGroupCoordinator for smoother group formation
- Better integration with warm pool system

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Signed-off-by: luis <[email protected]>
2026-01-22 19:32:42 -03:00
agathoandClaude Opus 4.5 6a16cd0141 chore: Remove obsolete .serena workspace memory files
These are local workspace configuration files that should not be tracked.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Signed-off-by: luis <[email protected]>
2026-01-22 19:30:42 -03:00
agathoandClaude Opus 4.5 9f7447ff83 fix(playerbot): Fix bot spec detection, gear application, and group combat assist
Three critical fixes for bot functionality:

1. BaselineRotationManager: Fix specialization detection
   - GetActiveTalentGroup() returns talent GROUP index (0 or 1), not spec
   - Changed to GetPrimarySpecialization() == ChrSpecialization::None
   - Bots with specs now use proper spec-based rotations instead of BASELINE

2. BotPostLoginConfigurator: Fix gear never being applied
   - shouldApplyGear was always false due to broken condition
   - Changed to always apply gear, using BotGearFactory as fallback
   - Added WasRecentlyConfigured() to prevent LevelManager re-leveling race
   - Fixed ApplyClassSpells() to properly learn specialization spells

3. GroupCombatStrategy: Fix group combat assist detection
   - ObjectAccessor::FindPlayer() returned NULL for some bot group members
   - Added FindGroupMember() helper with fallback lookups:
     * ObjectAccessor::FindPlayer() (in-world)
     * ObjectAccessor::FindConnectedPlayer() (any connected player)
     * BotWorldSessionMgr::GetPlayerBot() (module registry)
   - Bots now properly detect when group members are in combat and assist

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Signed-off-by: luis <[email protected]>
2026-01-22 19:29:28 -03:00
agathoandClaude Opus 4.5 1e7064357a chore(ci): Port CI/CD workflows and set 60-min build timeouts
- Port workflows from TrinityCore playerbot-dev:
  - codeql-analysis.yml: CodeQL security scanning
  - notifications.yml: Discord/Slack notifications
  - release.yml: Multi-platform release builds
  - upstream-sync.yml: Weekly TrinityCore sync
  - docs-validation.yml: Documentation validation
  - stale.yml: Stale issue/PR management

- Update build timeouts to 60 minutes for GitHub Actions:
  - win-x64-build.yml
  - linux-build.yml
  - macos-arm-build.yml
  - release.yml (all 3 platform builds)
  - playerbot-ci.yml (build and test jobs)

- Update Boost to 1.89.0 across workflows
- Adapt artifact names to WowCommunityProject-*
- Update branch references from playerbot-dev/master to main

Co-Authored-By: Claude Opus 4.5 <[email protected]>
2026-01-22 21:31:28 +01:00
StorM 788a2dd08f Update QueueEventData.h 2026-01-21 16:58:40 +01:00
StorM 54eb39d384 fix QueueEventData.h 2026-01-21 16:58:31 +01:00
StorM ba59c8b7cc fix BotTemplateRepository.h 2026-01-21 16:57:23 +01:00
StorM f6aca56b0e fix ContentRequirements.h 2026-01-21 16:51:28 +01:00
StorM 6696f619af fix DeathRecoveryManager.cpp 2026-01-21 16:41:56 +01:00
StorM 2a8b32036d fix AuraStateCache.cpp 2026-01-21 16:32:35 +01:00
StorM 4919093190 add include fix AuraStateCache.h 2026-01-21 16:29:44 +01:00
StorM 795e7a92e9 Update CMakeLists.txt 2026-01-21 16:28:26 +01:00
StorM f6741172e5 fix HealingTargetSelector.h 2026-01-21 16:21:37 +01:00
StorM ebdfaa8778 fix BotSession.h 2026-01-21 16:17:40 +01:00
StorM 6c53cd7137 add include fix ZoneLevelHelper.h 2026-01-21 16:12:39 +01:00
StorM 4fdd9b4c20 fix BotSession.cpp 2026-01-21 16:11:58 +01:00
StorM 117285beb3 fix AuraStateCache.h 2026-01-21 16:08:20 +01:00
StorM 0bc9aef916 fix QueueStatePoller.h 2026-01-21 16:05:22 +01:00
Shauren 2d10b6bf43 Core/Utils: Add aliasing constructors to Trinity::unique_weak_ptr allowing linked object lifetime (for example Aura and AuraEffect)
Signed-off-by: luis <[email protected]>
2026-01-21 02:50:12 -03:00
Hyacinthrose df2bb8d23c DB/Durotar: Update Thotar gossip (#31628)
Signed-off-by: luis <[email protected]>
2026-01-21 02:46:53 -03:00
Shauren 731c870221 Core/Misc: Replace remaining uses of ASSERT(!"message") with ABORT_MSG
Signed-off-by: luis <[email protected]>
2026-01-21 02:46:04 -03:00
Shauren d402b9ffdb Core/Network: Move parsing of EarlyProcessClientPacket from WorldSocket::ReadDataHandlerResult to their handler functions
Signed-off-by: luis <[email protected]>
2026-01-21 02:44:25 -03:00
Aqua Deus 04f14414ae Scripts/Spells: Implement dh talent "Painbringer" (#31501)
Signed-off-by: luis <[email protected]>
2026-01-21 02:43:05 -03:00
BestPussyInRussia 3978d0a196 DB/WanderingIsle: Fix Aysa summon on quest 29414 accept (#31619)
Signed-off-by: luis <[email protected]>
2026-01-21 02:39:48 -03:00
Shauren ecf78b5143 Core/Metric: Reduce number of string copies in metric and eliminate them entirely when metric is disabled in config
Signed-off-by: luis <[email protected]>
2026-01-21 02:31:10 -03:00
Shauren 214e2b8172 Core/Objects: Move AaBox out of generated UpdateFields.h file (it was manually added there)
Signed-off-by: luis <[email protected]>
2026-01-21 02:29:49 -03:00
Naddley 849466c91d DB/Dornogal: Added Silver Hand squire spawn
- scripted cosmetic clone event

Signed-off-by: luis <[email protected]>
2026-01-21 02:29:20 -03:00
Cristian Vintila 800c40ae70 Scripts/Spells: Implement priest talent Death's Torment (#31487)
Signed-off-by: luis <[email protected]>
2026-01-21 02:28:32 -03:00
luis 38ad5b6b6f Revert "DB/Hotfixes: Updated hotfixes to 11.2.7.65299" 2026-01-21 02:28:07 -03:00
MoltenCrystalandNaddley b9d0ee2dee DB/Stormwind: Implement Quest: "Aspectral Invitation" (#31602)
Co-authored-by: Naddley <[email protected]>
Signed-off-by: luis <[email protected]>
2026-01-21 02:27:49 -03:00
Meji 7696c428b1 DB/Hotfixes: Updated hotfixes to 11.2.7.65299
Signed-off-by: luis <[email protected]>
2026-01-21 02:27:26 -03:00
Aqua Deus 38e7d549a8 Scripts/Spells: Implement dh talent Soulmonger (#31486)
Signed-off-by: luis <[email protected]>
2026-01-21 02:26:12 -03:00
Cristian Vintila dfd9ae3f93 Scripts/Spells: Implement priest talent Insidious Ire (#31485)
Signed-off-by: luis <[email protected]>
2026-01-21 02:25:46 -03:00
Shauren 9c35bb9107 Core/Network: Refactor AsyncAcceptor to use async_accept overload producing sockets through argument instead of having to preallocate it
* Also improve main() cleanup to fully process all queued async operations (including their cancellations)

Signed-off-by: luis <[email protected]>
2026-01-21 02:25:19 -03:00
MoltenCrystalandNaddley a7cb946336 DB/Stormwind: Implement Quest: "The Dragon Isles Await"
Co-authored-by: Naddley <[email protected]>
Signed-off-by: luis <[email protected]>
2026-01-21 02:24:59 -03:00
Cristian Vintila 806b0e323f Scripts/Spells: Implement priest talent Inescapable Torment (#31483)
Signed-off-by: luis <[email protected]>
2026-01-21 02:24:40 -03:00
Aqua Deus c7360684ce Scripts/Spells: Implement dh talent Cycle of Binding (#31482)
Signed-off-by: luis <[email protected]>
2026-01-21 02:24:17 -03:00