feat(WG): add CFBG.Battlefield.SkipClasses to keep classes native - #169
Conversation
Adds a config list of class IDs excluded from Wintergrasp cross-faction selection. Players of a listed class always keep their native faction and are never morphed or reassigned by CFBG. Parsed once in LoadConfig into a set; OnBattlefieldPlayerJoinWar returns early for listed classes so no team lock or fake is applied. Empty by default (no class skipped). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughA new ChangesWintergrasp Skip-Class Feature
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Poem
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
What
Adds
CFBG.Battlefield.SkipClasses, a comma-separated list of class IDs excluded from Wintergrasp cross-faction selection. Players of a listed class always keep their native faction and are never morphed or reassigned by CFBG.Why
Some classes are faction-flavor sensitive (e.g. a server may want Shamans/Paladins to stay on their lore faction in WG). This gives operators per-class control without disabling crossfaction WG entirely.
How
LoadConfiginto anunordered_set<uint8>viaAcore::Tokenize+StringTo<uint8>.OnBattlefieldPlayerJoinWarreturns early for listed classes, so no team lock or fake race/morph is applied.Class IDs: 1 Warrior, 2 Paladin, 3 Hunter, 4 Rogue, 5 Priest, 6 Death Knight, 7 Shaman, 8 Mage, 9 Warlock, 11 Druid. Example:
CFBG.Battlefield.SkipClasses = "5,6,7".🤖 Generated with Claude Code
Summary by CodeRabbit