feat(Core/Playerbots): Initialize bot professions and specializations#2287
Merged
Celandriel merged 17 commits intomod-playerbots:test-stagingfrom Apr 17, 2026
Merged
Conversation
Master update from Test-staging: Fix ObjectAccessor retrieval, optimize EquipActions, and implement RaidBossHelpers
This reverts commit c86032f.
Master update from Test staging
Update master from Test staging and Core Update
Test staging to master
Test staging to master
Celandriel
requested changes
Apr 11, 2026
Collaborator
Celandriel
left a comment
There was a problem hiding this comment.
If you are happy with how it works, I would simplify the debug lines to one per bot in init of profesions.
Author
|
Addressed the requested review changes in
I kept specialization learning via triggered spell casts because AzerothCore profession scripts use the same pattern for these learn spells. Also rebuilt locally after the changes: full CMake build passed successfully. |
Celandriel
approved these changes
Apr 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request Description
Initialize random bot professions from the factory using class-matching or weighted-random profession pairs, respect the active primary profession cap, and restore required profession tools during bot init/refresh.
This PR also initializes profession specializations for eligible bots so crafted professions are not left in an unspecialized state after profession assignment. Supported specialization families include:
Specialization choices are stored in bot values so they remain stable across later refreshes. Required tool items are also restored for relevant professions during maintenance.
Feature Evaluation
Describe the minimum logic required to achieve the intended behavior.
Describe the processing cost when this logic executes across many bots.
How to Test the Changes
Playerbots.logthat bots receive profession pairs and, when eligible, profession specializations.Expected behavior:
Impact Assessment
Does this change increase per-bot/per-tick processing or risk scaling poorly with thousands of bots?
Explanation:
Does this change modify default bot behavior?
Explanation:
Does this change add new decision branches or increase maintenance complexity?
Explanation:
AI Assistance
Was AI assistance used while working on this change?
AI assistance was used for:
PlayerbotFactoryAll generated and suggested code was reviewed, adjusted, built locally, and validated before submission.
Final Checklist
Notes for Reviewers
test-staging.