Combat Settings
combatSettingsNumeric tuning for the combat system: XP rewards for defeating enemies, ability recharge timing, ability effectiveness bonus, NPC daily healing, and the canonical list of valid damage types for your world.
"Combat settings and their mechanics"
- Editor location
- Files → Mechanics → Advanced → Combat Settings
- Editor type
- Edit in Studio + View JSON
- Size limits
combatSettings.damageTypes(entry count) — 40 entriescombatSettings.damageTypes.*(each) — 60
Schema
{
"combatSettings": {
"minCombatXP": "number",
"baseCombatXP": "number",
"abilityCooldown": "number",
"abilityBonus": "number",
"npcDailyHealingAmount": "number",
"damageTypes": [
"string"
],
"damageTypePresentation": {
"<key>": {
"emoji": "string"
}
}
}
}Example
{
"combatSettings": {
"minCombatXP": 1,
"baseCombatXP": 100,
"abilityCooldown": 0,
"abilityBonus": 10,
"npcDailyHealingAmount": 999,
"damageTypes": [
"piercing", "slashing", "bludgeoning", "poisoning",
"fire", "lightning", "wind", "water",
"arcane", "light", "dark", "psychic"
],
"damageTypePresentation": {
"fire": { "emoji": "🔥" },
"lightning": { "emoji": "⚡" }
}
}
}Fields
abilityCooldown
Global setting governing ability cooldowns. It is not a multiplier on a per-ability cooldown. It serves two roles: it is the default cooldown an ability is given when it does not define its own (an authored cooldown applies directly), and it is the minimum number of turns that must pass before a character can learn another new ability. Balanced default: 0.
abilityBonus
Global setting for ability checks. It is not a multiplier on a per-ability bonus: an ability's bonus (shown in-game as Power) is added to the check directly as a flat modifier, alongside the acting skill and attribute contributions, and is not scaled by this value. abilityBonus is the default bonus an ability is given when it does not define its own; authored abilities use their own bonus instead. Either way the contribution shares the skillSettings.maxSkillSuccessLevel cap with skills, attribute bonuses, and context modifiers, consuming space within it rather than bypassing it. Balanced default: 10.
npcDailyHealingAmount
Note (
npcDailyHealingAmount): Health NPCs recover by this amount per in-game day -- not tied to the Long Rest mechanic specifically. Setting this to a high value (e.g. 999) effectively means any NPC recovers fully between encounters, preventing NPCs from remaining at low HP permanently across sessions.
Note (
isHealth): The codec-validated way to designate the health resource isisHealth: trueon the resource entry inresourceSettings- the engine reads that flag to identify the primary HP pool.
damageTypes
Note (
Custom damage types): Adding a type like"radiant"or"necrotic"todamageTypesmakes it a valid value innpcTypesvulnerabilities,resistances, andimmunities. The engine math - increased or decreased damage for matching types - applies there. Beyond that, the damage type has no automatic behavior: it does not change how abilities deal damage, does not trigger elemental effects, and does not carry secondary rules (e.g."poison"does not automatically inflict a poisoned condition). Any secondary behavior has to be defined explicitly in abilitydescriptiontext and narrator instructions ingenerateActionInfo.
Common mistake (matching is case-sensitive and unnormalized): Damage type matching against
npcTypesvulnerabilities,resistances, andimmunitiesis exact and case-sensitive —"Fire"and"fire"are different types, and a mismatch fails silently (full damage, no warning). Use the same lowercase ASCII strings everywhere you reference a damage type, and avoid accented or non-ASCII characters, which break matching the same silent way.
damageTypePresentation
Controls how damage types are displayed. Each key is a damage type and its value takes an emoji string. The map is empty by default, so damage types show as text labels; a type displays an emoji only where you configure one here, and any type you leave out keeps its text label.
baseCombatXP
Base XP for a combat victory: the amount awarded when the defeated enemy is at the party's level. Combat XP scales with the level gap, so a foe at or above the party's level grants the full base (plus any situational bonuses on top), while lower-level foes grant progressively less, tapering toward minCombatXP. Default 100.
minCombatXP
The floor of the combat-XP curve. As a defeated enemy's level falls below the party's, the baseCombatXP award diminishes toward this value, so even a trivial victory over a much lower-level foe still grants at least this much rather than nothing. Default 1.