Align Cataclysm 4.3.4 DBC and DB2 models#302
Conversation
Align the 13 B07 non-Spell tables and their typed core consumers to the recovered 4.3.4 schemas. Pin SD3 and Eluna to their matching CATA guard commits so every parent revision remains buildable.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 160a68a23f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
||
| // prevent character creating Expansion race without Expansion account | ||
| if (raceEntry->expansion > Expansion()) | ||
| if (raceEntry->Race_related > Expansion()) |
There was a problem hiding this comment.
Use a required-expansion value for race gating
With the aligned 4.3.4 ChrRaces model this field is m_race_related (an alternate/related race id), not an expansion level. On realms that use expansion-limited accounts, comparing it to Expansion() gates character creation by the related-race value instead of the race's required expansion, so expansion races can be allowed or denied incorrectly; this check needs a real required-expansion source or an explicit race/expansion mapping.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
For build 4.3.4.15595, this physical column contains the required expansion despite the Race_related DBD label: the exact client records are 0 for classic races, 1 for Blood Elf/Draenei, and 3 for Goblin/Worgen. The following physical column contains Worgen's related/unaltered race value 23. This check therefore preserves the existing build-correct account gate and replacing it with a hard-coded mapping would duplicate the client data.
Align Cataclysm 4.3.4 DBC and DB2 models
Summary
4.3.4.15595.SpellEffectandScalingStatValuespasses covering 19 mappings.Schema Authority
8d168bb887379d5c662e4a7dbe92f50247a57bd8registry/task7_active_release_manifest.jsoneab77041f8c1de6c9bb12566c808a405c8195f95bc38e1da63d9ba4c839b8188PetitionType.dbcremains an exact-sizeRawRecord[12];Item-sparse.db2remains an exact-sizeRawRecord[532]with its WDB2 metadata documented. Neither opaque reference is used as a runtime model.Scope Notes
1063f4330392d8b63be014f9c925bb953dd8cba7(PR At last, changing opcode to enable flying #7) and SD300aeb1cfb978c0da38330985e1666d6e3a9aac9d(PR Support Kaja'Cola conditional loot activation #101).Validation
ScalingStatValues::SpellPowerover an opaque client-schema name.--check: passed; both generated headers compile standalone withcl /Zs; production include scan found no references to either header.git diff --checkclean, no campaign-added mojibake, and the big-endian mask fix now traversesSpellClassOptionsonce rather than repeatedly following shared spell references. Its unsigned 64-bit half rotation avoids strict-aliasing undefined behavior and is guarded by a source-integrated regression.PLAYERBOTS=OFF. Existing warnings remain in untouched Windows crash-reporting and Eluna compatibility code; the changedDBCStores.cppcompiled cleanly.mangosd.exeSHA-256:7f31da89887555a035a64cc757212ec57e76273d41610dbf5226e8d58312ed18for both copies.160a68a23f82, Eluna1063f4330392, and SD300aeb1cfb978without dirty suffixes. The accepted binary was rebuilt after removing the ignored source-tree revision-header shadow.learn all_myclassexactly matched the client files (SpellEffect89023 -> absentSpell32733).fc11e3229..bad498634; the final endian review confirmed defined half-rotation semantics, exact store ownership, load ordering, and one-pass cardinality.Delivery Order
The compile, boot, permanent companion-pin, and user-driven in-world smoke gates are complete. The server branch is ready for delivery.
This change is