v2.7.0 - Combat Modernization
This release ships the combat modernization compatibility release. It moves live combat, equipment, NPC, OLC, protocol, save/load, simulator, and diagnostic surfaces to modern combat fields and vocabulary while retaining legacy readers and compatibility mirrors for the follow-up 8E removal branch.
Highlights
- Reworked combat around modern Accuracy, Expertise, Attack Power, and Armor Rating fields.
- Added normalized combat table handling for miss/evasion and Armor Rating mitigation telemetry.
- Migrated object equipment applies, Mobile OLC, area save output, NPC construction, summons, clones, quest mobs, and diagnostics to modern combat stat naming/conversion paths.
- Updated player, pet, and mount saves to write modern combat fields and rebuild derived Armor Rating from equipment and affects after load.
- Refreshed score, attribute, identify, compare, loot, crafting, GMCP/MSDP, and combat simulator output with modern stat names.
- Retained reusable audit scripts with ignored outputs under
reports/. - Consolidated feature docs into
docs/changes/v2.7.0-TODO.md.
Validation
makemake test_combat_state test_combat_round test_combat_special test_combat_multipython3 scripts/equipment-combat-audit.py --area-dir area --fail-on-legacypython3 scripts/npc-combat-audit.py --area-dir areapython3 scripts/phase8c-validation.py --trials 1000- Cold boot from
area/using../src/low sh scripts/smoke-test.sh
Deferred
Phase 8E will remove legacy pfile readers, fallback conversions, compatibility mirror writes, legacy runtime fields/constants, remaining APPLY_HITROLL/APPLY_DAMROLL/APPLY_AC paths, and legacy positional mobile area fields.