Skip to content

Stats and skills

The stats and skills of Kingdom Come: Deliverance II as the game names them (Libs/Tables/rpg/stat.xml, skill.xml), and the names a game mode gives the server’s progression calls. SetPlayerStat(pid, stat, level) and SetPlayerSkill(pid, skill, level) (Lua, C#) take the name column, a level from 0 to 30 and, as an optional third argument, the XP already gathered toward the next level. A set is exact: it raises or lowers the level to what it says, and the game shows no level-up notice. GetPlayerStat and GetPlayerSkill answer the level the player’s game last reported or the mode last set (0 = not known yet); GetPlayerStatXP and GetPlayerSkillXP answer the XP.

The levels of a player are the game mode’s to keep. A player nobody set starts as the level’s own character - as measured on Kuttenberg, at level 5 in the four core stats, in storyprogress and in sixteen of the skills, and at level 0 in prestige and in the other fourteen skills (bard, cooking, fishing, mining, first_aid, weapon_shield, weapon_dagger, tailoring, armourer, weaponsmithing, shoemaking, gunsmithing, bowyery and gambling), with no XP and no perk points. The server remembers nothing between visits: a mode that wants a character’s progress to last reads it with GetPlayerProgress and puts it back at the login with SetPlayerProgress. Players gain no XP on their own unless the mode turns it on with SetXPRate; AddPlayerStatXP and AddPlayerSkillXP give XP by hand. [spawn] stat_level in server.toml raises the four core stats for everyone at every spawn and never lowers one. The character’s perks are the mode’s to give and take too; the whole group of calls is on Stats, skills, XP and perks.

Names are lower case; a few words the game’s menus use are understood as well (warfare for fencing, horsemanship for horse_riding, sword for weapon_sword, bow for marksmanship …). A stat call given a skill’s name, or the other way round, is refused.

name shown as what it is
strength Strength one of the four core stats
agility Agility one of the four core stats
vitality Vitality one of the four core stats
speech Speech one of the four core stats
storyprogress the story’s progress, the game’s own stat of that name
prestige Blacksmith Prestige the blacksmithing prestige of the story game, not a combat stat
mainlevel the level the character screen shows as the main level; the game works it out from the other levels, so it can be read (GetPlayerStat) but not set and gathers no XP

A hidden skill is one the game’s own character screen does not show; the name is still the table’s, and whether the engine takes a level for it is untested. fencing (Warfare) is the game’s parent of the weapon skills: the game works its level out from theirs, so a level or XP for it is refused - set weapon_sword and the others instead (its perk points are its own).

name shown as category hidden
alchemy Alchemy NonCombat
armourer Armourer NonCombat yes
bard Fox NonCombat yes
bowyery Bowyery NonCombat yes
cooking Cooking NonCombat yes
craftsmanship Craftsmanship NonCombat
defense Defence Combat yes
drinking Drinking NonCombat
fencing Warfare Combat
first_aid First Aid NonCombat yes
fishing Fishing NonCombat yes
gambling NonCombat yes
gunsmithing Gunsmith NonCombat yes
heavy_weapons Heavy Weapons Combat
horse_riding Horsemanship NonCombat
houndmaster Houndmaster NonCombat
marksmanship Marksmanship Combat
mining Mining NonCombat yes
scholarship Scholarship NonCombat
shoemaking Cobbler NonCombat yes
stealth Stealth NonCombat
survival Survival NonCombat
tailoring Tailor NonCombat yes
thievery Thievery NonCombat
weapon_dagger Dagger Combat yes
weapon_large Polearms Combat
weapon_shield Shield Combat yes
weapon_sword Swords Combat
weapon_unarmed Unarmed Combat
weaponsmithing Weaponsmith NonCombat yes

A horse has four stats of its own: strength, agility, vitality and courage, each 0 to 30 (0 = the breed’s own). SetHorseStat sets one exactly, GetHorseStat and GetHorseStats read them back. They belong to the horse in the world, so a mode that keeps horses saves them with the horse.