ermod-engine

Starting classes

On this page

CharaInitParam rows 3000–3009 are the ten playable starting classes. Values below were read out of the shipped regulation.bin, not copied from a wiki.

Level formula

The eight base stats always sum to soulLv + 79. Every vanilla row satisfies this, including the Wretch (all stats 10, sum 80, level 1). Setting soulLv without adjusting the stats to match desynchronises the character sheet from the rune cost curve, so any level mod must change both.

Vanilla stats

Row Class Lv Vig Mind End Str Dex Int Fai Arc
3000 Vagabond 9 15 10 11 14 13 9 9 7
3001 Warrior 8 11 12 11 10 16 10 8 9
3002 Hero 7 14 9 12 16 9 7 8 11
3003 Bandit 5 10 11 10 9 13 9 8 14
3004 Astrologer 6 9 15 9 8 12 16 7 9
3005 Prophet 7 10 14 8 11 10 7 16 10
3006 Confessor 10 10 13 10 12 12 9 14 9
3007 Samurai 9 12 11 13 12 15 9 8 8
3008 Prisoner 9 11 12 11 11 14 14 6 9
3009 Wretch 1 10 10 10 10 10 10 10 10

Note the paramdef field names use the older Dark Souls vocabulary: baseVit is Vigor, baseWil is Mind, baseMag is Intelligence, baseLuc is Arcane.

Vanilla equipment

Row Class Right Left Armour set
3000 Vagabond 2000000 31330000 6600xx
3001 Warrior 7140000 7140000 6700xx
3002 Hero 14000000 31230000 7300xx
3003 Bandit 1090000 30000000 mixed
3004 Astrologer 33130000 30080000 6300xx
3005 Prophet 16000000 34000000 6200xx, no gauntlets
3006 Confessor 2020000 31300000 8800xx
3007 Samurai 9000000 41000000 8700xx
3008 Prisoner 5000000 33000000 8900xx, no gauntlets
3009 Wretch 11010000 none none

Equipment ID conventions

Weapon IDs are base * 10000 + upgrade level, but only the base rows exist in EquipParamWeapon; reinforcement is applied at runtime through ReinforceParamWeapon. Writing an upgraded ID such as 2000006 references a row that is not in the table, and the weapon fails to equip. Mods must use base IDs.

Nothing checks the IDs a mod writes for you. A mod can check its own: sdk.params.row(sdk.params.file.EquipParamWeapon, id) returns nil for an ID with no row, and the same holds for EquipParamProtector and EquipParamGoods.