Files
Kelsi 644cfcc8c1 fix(update-fields): correct multiple wrong vanilla 1.12 indices on classic/turtle
The classic and turtle update_fields.json files had several wrong
indices that aliased fields together and misread the unit record.
Cross-referenced vmangos UpdateFields_1_12_1.h
(github.com/vmangos/core, OBJECT_END=6) and corrected:

- UNIT_FIELD_BYTES_1:        133 -> 138 (was colliding with MOUNTDISPLAYID)
- UNIT_FIELD_STAT0..STAT4:   138..142 -> 150..154 (the old slot held
                              pet fields PETNUMBER/PET_NAME_TIMESTAMP/
                              PETEXPERIENCE/PETNEXTLEVELEXP, not stats)
- UNIT_FIELD_RESISTANCES:    154 -> 155 (off by one — STAT4 lives at 154)
- UNIT_FIELD_NATIVEDISPLAYID: added (was missing) -> 132

The verified other indices (DISPLAYID=131, MOUNTDISPLAYID=133,
DYNAMIC_FLAGS=143, NPC_FLAGS=147, BYTES_0=36) all matched vmangos
and were left alone.

Practical impact on Classic/Turtle prior to this fix:
- entity_controller.cpp:548-553 read MOUNTDISPLAYID and BYTES_1 from
  the same slot — mount/dismount detection and shapeshift form
  detection would race and clobber each other.
- All STAT* readers were reading pet-related fields instead of stats,
  so character-sheet stats and stat-derived UI on Classic/Turtle
  would be wrong/zero.
- UNIT_FIELD_RESISTANCES readers got STAT4 instead of armor resist.

Python collision check after patch: no UNIT_* collisions in either
file.
2026-05-15 00:55:07 -07:00
..