player_stats.rs and character.rs stat projections use C# tables/formulas. C++ loads stats from player_classlevelstats + race modifiers, base mana from GtBaseMP, CreateHealth=0, and recalculates health/power/AP/crit/dodge/parry/spell-crit via StatSystem.
C++: Entities/Unit/StatSystem.cpp, Entities/Player/Player.cpp, ObjectMgr.cpp (player_classlevelstats), GameTables. Foundational for M3 combat; broader than M0.1.
From the C#-vs-C++ reference audit (local docs/audits/csharp-reference-contrast.md). Plan: docs/migration/PORT_PLAN.md (L26) · State: docs/migration/STATE.md.
Done = contrast Rust vs the cited C++; if it matches, re-anchor the comment to C++ file:line; if it differs, fix behavior to C++. Live + capture-clean. 1 issue = 1 PR.
player_stats.rs and character.rs stat projections use C# tables/formulas. C++ loads stats from player_classlevelstats + race modifiers, base mana from GtBaseMP, CreateHealth=0, and recalculates health/power/AP/crit/dodge/parry/spell-crit via StatSystem.
C++: Entities/Unit/StatSystem.cpp, Entities/Player/Player.cpp, ObjectMgr.cpp (player_classlevelstats), GameTables. Foundational for M3 combat; broader than M0.1.
From the C#-vs-C++ reference audit (local docs/audits/csharp-reference-contrast.md). Plan: docs/migration/PORT_PLAN.md (L26) · State: docs/migration/STATE.md.
Done = contrast Rust vs the cited C++; if it matches, re-anchor the comment to C++ file:line; if it differs, fix behavior to C++. Live + capture-clean. 1 issue = 1 PR.