DefaultClassInfo.txt
Per-class base stats, starting HP/MP, and per-level HP/MP curves
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.
File Location
Data/Character/DefaultClassInfo.txtLoaded once at GameServer startup. Changes require a restart.
Format
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.
//Class Strength Dexterity Vitality Energy Leadership MaxLife MaxMana LevelLife LevelMana VitalityToLife EnergyToMana
0 18 18 15 30 0 60 60 1.0 2.0 2.0 2.0
...
endColumns
Strength
int
Starting Strength
Dexterity
int
Starting Dexterity / Agility
Vitality
int
Starting Vitality
Energy
int
Starting Energy
Leadership
int
Starting Command / Leadership. Only Dark Lord uses it; other classes ship 0
MaxLife
float
Base HP at level 1 with the base Vitality shown on this row
MaxMana
float
Base MP at level 1 with the base Energy shown on this row
LevelLife
float
HP gained per character level, and per master level once MasterLevel > 0
LevelMana
float
MP gained per character level, and per master level once MasterLevel > 0
VitalityToLife
float
HP per extra point of Vitality beyond the class default (includes Fruit AddVitality)
EnergyToMana
float
MP per extra point of Energy beyond the class default (includes Fruit AddEnergy)
Class Mapping
0
Dark Wizard (DW)
1
Dark Knight (DK)
2
Fairy Elf (FE)
3
Magic Gladiator (MG)
4
Dark Lord (DL)
5
Summoner (SU)
6
Rage Fighter (RF)
Shipped Defaults
DW
18
18
15
30
0
60
60
1.0
2.0
2.0
2.0
DK
28
20
25
10
0
110
20
2.0
0.5
3.0
1.0
FE
22
25
20
15
0
80
30
1.0
1.5
2.0
1.5
MG
26
26
26
26
0
110
60
1.0
1.0
2.0
2.0
DL
26
20
20
15
25
90
40
1.5
1.0
2.0
1.5
SU
21
21
18
23
0
70
40
1.0
1.5
2.0
1.5
RF
32
27
25
20
0
100
40
1.3
1.0
2.0
1.3
Important Behavior
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, andEnergyToManaThe
Vitality/Energycolumns 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 pointsReset / Master Reset (via ResetSystem plugin) restore
Strength / Dexterity / Vitality / Energy / Leadershipto this row's values when the matchingSettinghasResetStats="true"inData/Plugins/Characters/ResetSystem.xml./classe//change(class change) does NOT reset stats - only the class field is mutatedThe 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'sLeadershipdefault grants them a Command stat the UI and stat-add packet cannot otherwise provideThe file is parsed by whitespace; keep the columns aligned for readability but tabs and multiple spaces are both fine
Cross-File Dependencies
Starting stats / class-change / reset reset targets
Applied on character creation (DataServer) and by /reset + /mreset in Command.xml / Command.dat
Level curve (LevelLife, LevelMana)
Combines with Common.dat <CLASS>LevelUpPoint for stat-point gain per level
Class index
Must match class codes used throughout Common.dat, Character.dat, Skill.dat
Stat floor for Fruit
Character.dat Fruit settings
Common Issues
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)
/resetresets stats to zero - row'sStrength/Dexterity/Vitality/Energyare zero. Set the intended defaultsRage Fighter is missing - file ships with classes 0-6; make sure every row is present
File load silently fails - missing
endterminator, or a row has fewer columns than expectedPool 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
Last updated