Per-class base stats, base HP/MP, and the per-level / per-Vitality / per-Energy HP and MP curves. Used by the attribute calculator on every recompute, by the ResetSystem plugin to restore stats to class defaults when a reset's Setting has ResetStats="true", and by the Fruit system to clamp stat reductions so they cannot fall below the class default.
Plain text, whitespace-delimited. The first comment line names the columns; each following row is one class. Terminated by the literal end on its own line.
The attribute recompute uses all four curve fields every time. Effective HP is MaxLife + LevelLife * (Level - 1) + LevelLife * MasterLevel + (Vitality - default Vitality + AddVitality) * VitalityToLife; Mana mirrors that with Energy, LevelMana, and EnergyToMana
The Vitality / Energy columns serve double duty: they are the starting values AND the subtractive baseline used when converting extra stat points into HP/MP. Raising them here reduces the pool bonus players get from investing points
Reset / Master Reset (via ResetSystem plugin) restore Strength / Dexterity / Vitality / Energy / Leadership to this row's values when the matching Setting has ResetStats="true" in Data/Plugins/Characters/ResetSystem.xml. /classe / /change (class change) does NOT reset stats - only the class field is mutated
The Fruit system will not subtract a stat below its class default; stats brought below this row's values via other means are effectively uncapped against the Fruit floor
Only Dark Lord (class 4) ships a non-zero Leadership. Raising another class's Leadership default grants them a Command stat the UI and stat-add packet cannot otherwise provide
The file is parsed by whitespace; keep the columns aligned for readability but tabs and multiple spaces are both fine
New characters have wrong HP/MP - row order accidentally edited; the class index in the first column must match the class the row is for (the loader stores rows keyed by the first column)
/reset resets stats to zero - row's Strength / Dexterity / Vitality / Energy are zero. Set the intended defaults
Rage Fighter is missing - file ships with classes 0-6; make sure every row is present
File load silently fails - missing end terminator, or a row has fewer columns than expected
Pool feels lower than expected after editing Vitality / Energy - raising the base Vitality / Energy on this row lowers the Vitality-bonus / Energy-bonus portion, because the conversion only applies to points beyond the default