Trail of Embers  ·  the rules under the numbers

The combat engine

Armour layers, height, flanking, cover, falling, the two contests and the surface reaction table. Read out of data/combat/, data/actors/progression.json and data/surfaces/.

Levels and the turn

100levels
10every attribute starts here
10action points a turn, 4 recovered
4 mwalked per action point
4prepared ability slots to start
2AP to stand back up

Movement is charged against the same pool as everything else. There is no separate move budget, no grid and no free step: a metre walked is a metre not swung. That single decision is what makes position a resource instead of a preamble.

What a level gives you

GainWhen
Attributeon levels ending in 0, 1, 3, 4, 7, 8
Talenton levels ending in 0, 5
Prepared slotson levels ending in 0
Abilityon levels ending in 2, 6, 9

Milestones

LevelUnlocks
15Mastery Tier 2 · Mastery tier 2
20Respec Free · first respec is free
35Mastery Tier 3
40Second Mastery · second Mastery, at tiers 1-3 only
55Mastery Tier 4 · keystones
80Mastery Capstone
100Ascendant

Derived from the five

A stat block authors five attributes. Everything else — vitality and both armour layers — comes out of this table, which is why the bestiary can print a body from five numbers.

StatBasePer levelAttributePer pointPer point %
Vitality444Resolve31.5%
Physical armor121.9Might21.5%
Ward armor121.9Spirit21.5%

XP to the next level is 8·L² + 30·L + 40, and an award is 34% of the defeated actor's level.

Two armour layers

Two armour layers, and they are not two health bars. Physical armour gates the physical crowd control — knockdown, entangle, bleed. Ward armour gates the magical — freeze, stun, fear, charm. Neither reduces damage to the other's school, and neither can be spent to protect against the other. Breaking the right one is what earns you the attempt at the control, not the result.

Landing the control once the layer is down

ContestValue
Base chance percent62
Per attribute point percent5
Per level difference percent3
Min chance percent12
Max chance percent92
Physical attributeMight
Ward attributeWits
Defence attributeResolve
Prerequisite bonus percent22

Afflictions

Bleeds, poisons and burns are a softer contest than hard control — they land far more often and are resisted by the defender's resistances rather than by an armour layer.

ContestValue
Base chance percent82
Per attribute point percent2.50
Per level difference percent1.50
Per resist point percent0.60
Min chance percent25
Max chance percent97
Defence attributeResolve

Going down

Going down is not dying. A party member who runs out of vitality drops, and a heal -- or, outside combat, a meal -- puts them back up. Being hit while down is what actually kills, and even then Resolve buys a chance to hold on. The death save is deliberately generous at high Resolve and unforgiving at low: it is the payoff for the defensive attribute, and it is what stops a downed ally from being a formality the enemy mops up for free.

RuleValue
Death save base percent30
Death save per resolve point percent2.50
Death save min percent5
Death save max percent85
Bleed out turns3
Stabilise ap cost1
Stabilise turns restored3
Stabilise reach metres2
Revive vitality percent20
Resurrect vitality percent25

Position

Four design rules produce the feel of this game and all four are load-bearing: free-form movement charged against AP, two armour layers gating hard crowd control, surfaces as a separate simulation, and position mattering. This section is the fourth one, in numbers.

Height

Height advantage is normalised to −1…1 and the percent below is what full advantage pays. It is worth three times as much to a bow as to a sword, which is the whole reason the Warden wants the ridge.

RuleValue
Ranged bonus percent30
Melee bonus percent10
Ranged threshold metres3

Someone in your face

Casting or shooting with an enemy inside 2.5 metres is a bad idea, and only ranged and magic are punished for it.

RuleValue
Threshold metres2.50
Magic penalty percent30
Ranged penalty percent25

Behind them

The rear arc is 100 degrees, judged against who the target is currently fighting. A Bulwark gets almost nothing for standing behind someone, because a Bulwark's job was never to be behind them.

RoleRear %Flank %
Assassin7020
Skirmisher4515
Stormblade3512
Reaver3010
Warden3010
Bulwark84
Warchanter104
Scrivener125
Wellwright125

Position, by class

RoleHeight (ranged)Height (melee)Close quarters
Skirmisher5015-40
Warden4512-35
Pyromancer4010-35
Stormcaller4510-35
Tidecaller3510-30
Geomancer3012-25
Necromancer3510-30
Plaguebearer3010-25
Druid3512-30
Riftwalker4010-20
Inquisitor3512-25
Bulwark10820
Reaver121025
Stormblade181215
Warchanter151012
Artillery5512-45
Caster3510-30
Frontline121020
Bruiser121025
Ranged4812-38
Controller3810-32
Support2810-28
Healer258-30
Aggressive141222
Assassin3522-15
Scrivener408-40
Wellwright3010-25

Falling, and shooting past people

RuleValue
Safe drop metres2.50
Damage per metre7
Max damage120
Knockdown drop metres5

Cover is a -35% damage penalty rather than a miss chance. A miss teaches nothing and feels like the game cheating; a smaller number is legible, and it lets the player decide that a poor shot now beats a clean one next turn.

Schools and affinity

A school is what an ability belongs to; ranks in it are worth 6% each. Nine schools map onto nine damage types.

SchoolDamage type
WarfarePhysical
PrecisionPiercing
FireFire
TideFrost
StormStorm
StoneStone
VenomVenom
ArcaneArcane
CovenantPure

What each class is naturally good and bad at

Negatives are the point. A class that is better at everything it touches is a class with no shape, so each of these gives up a school it has no business being good at — and hostiles carry role tags too, so the same table gives an enemy line its character.

RolePer school
AssassinPiercing +18%, Venom +12%, Physical -8%, Fire -15%, Stone -15%
SkirmisherPiercing +14%, Physical +6%, Fire -10%, Stone -12%
WardenPiercing +16%, Venom +6%, Physical -6%, Arcane -12%
BulwarkPhysical +12%, Stone +6%, Venom -10%, Arcane -12%
ReaverPhysical +18%, Piercing +4%, Frost -12%, Arcane -14%
StormbladeStorm +12%, Piercing +8%, Physical +6%, Stone -10%
PyromancerFire +18%, Stone +4%, Frost -18%, Physical -12%
TidecallerFrost +18%, Pure +6%, Fire -18%, Physical -12%
StormcallerStorm +18%, Frost +6%, Stone -14%, Physical -12%
GeomancerStone +18%, Fire +6%, Storm -14%, Piercing -10%
PlaguebearerVenom +18%, Frost +4%, Fire -14%, Physical -10%
NecromancerVenom +12%, Arcane +10%, Fire -12%, Physical -10%
RiftwalkerArcane +18%, Storm +6%, Physical -14%, Stone -8%
InquisitorPure +16%, Physical +8%, Venom -12%, Storm -8%
WarchanterPure +12%, Physical +4%, Fire -10%, Venom -10%
DruidVenom +12%, Frost +8%, Fire -14%, Arcane -10%
ScrivenerArcane +16%, Fire +8%, Frost +8%, Storm +8%, Physical -16%, Piercing -16%
WellwrightArcane +10%, Pure +8%, Stone +6%, Physical -14%, Piercing -14%

Surfaces

Surfaces are a separate simulation, not a damage-over-time tag on a tile. Water spreads downhill, oil does not evaporate, fire needs something to burn, and every one of them decays on its own clock. 17 surface types, 56 authored reactions between them.

SurfaceLayerDecay / roundSpreadsFlammableStanding in itLeaves behind
WaterGround0.05yesnoWet
BloodGround0.06yesnoWet
OilGround0.03yesyesOiled
VenomGround0.07yesyesPoisoned
AshGround0.10nono
FireGround0.22nonoBurningAsh
EmberGround0.09nonoBurningAsh
IceGround0.06nonoChilledWater
FrostGround0.12nonoChilled
ChargedWaterGround0.09yesnoWet, ChargedWater
ChargedBloodGround0.10yesnoWet, ChargedBlood
CloudSteamAir0.10nonoWet, Warm
CloudSmokeAir0.09nono
CloudVenomAir0.08noyesPoisoned
CloudStormAir0.11nonoCharged
BrambleGround0.03noyesBleeding
CloudSporesAir0.12noyesPoisoned

The reaction table

What happens when one surface meets another. Symmetric rows fire whichever way round the two arrive, which is what stops a combo depending on cast order.

StandingIncomingOrderGround becomesAir becomesWhy
WaterFireboth waysclearedCloudSteamFire is quenched, the pool flashes to steam. Order-independent.
ChargedWaterFireboth waysclearedCloudStormElectrified water flashes off as a live storm cloud.
BloodFireboth waysclearedCloudSteamBlood boils away; thin steam.
ChargedBloodFireboth waysclearedCloudStorm
OilFireboth waysFireSignature ignition: hotter and far longer-lived than open fire.
VenomFireboth waysFireCloudSmokeVenom detonates -- fire on the floor, choking smoke overhead.
IceFireboth waysWaterMelt. The ice sheet becomes a pool of the same size (conversion retention).
FrostFireboth waysWater
AshFireboth waysEmberAsh beds hold heat -- fire dropped on ash becomes long-lived embers.
FireFireone wayFire
EmberFireboth waysEmber
CloudVenomFireboth waysFireCloudSmokeCross-layer: igniting a venom cloud drops burning fallout on the floor.
OilWaterboth waysOilOil floats -- the slick survives, the water does not read as a surface.
AshWaterboth waysWaterSodden ash -- an ooze. Modelled as Water until an Ooze surface type exists.
VenomWaterboth waysVenomWater only dilutes venom, it does not clean it up.
BloodWaterboth waysWater
IceWaterboth waysIceWater poured onto a frozen sheet freezes into it.
ChargedWaterWaterboth waysChargedWaterThe charge conducts through the new volume -- do not stand downhill.
EmberWaterboth waysWaterCloudSteamEmbers are drowned -- the only reliable way to stop a reignition.
WaterFrostboth waysIceFreeze a pool into a sheet. Actors already Wet are the intended victims.
BloodFrostboth waysIce
ChargedWaterFrostboth waysIceFreezing insulates -- the charge is lost.
ChargedBloodFrostboth waysIce
VenomFrostboth waysIce
OilFrostboth waysOilOil does not freeze. A slick cannot be made safe with frost.
AshFrostboth waysFrost
IceFrostboth waysIce
CloudSteamFrostboth waysIceclearedCross-layer: steam condenses and freezes, clearing the cloud and glazing the floor.
WaterStormboth waysChargedWaterThe classic. Stunned here is still gated on WardArmor being exactly zero.
BloodStormboth waysChargedBlood
CloudSteamStormboth waysCloudStormSteam conducts -- a storm cloud fills the whole volume.
OilStormboth waysFireCloudSmokeA spark in a slick. Storm is a fire starter, which most players discover late.
VenomStormboth waysFireCloudSmoke
CloudVenomStormboth waysFireCloudSmokeCross-layer detonation of a venom cloud.
IceStormboth waysIceIce conducts across its whole sheet but is not consumed.
CloudSmokeStormboth waysCloudStorm
FireStormboth waysFire
EmberVenomboth waysFireCloudSmoke
OilEmberboth waysFire
IceOilboth waysIceOil beads off a frozen sheet -- the sheet is what matters underfoot.
AshOilboth waysOil
IceBloodboth waysIce
ChargedWaterBloodboth waysChargedWater
FireAshboth waysFireAsh smothers a fire partially but does not put it out.
CloudSmokeCloudSteamboth waysCloudSteam
CloudStormCloudSteamboth waysCloudStorm
CloudVenomCloudSteamboth waysCloudVenom
EmberCloudVenomone wayFireCloudSmokeCross-layer: a venom cloud drifting over live embers detonates on the round tick.
BrambleFireboth waysFireDeliberately decisive. Persistent living terrain needs a loud, cheap answer or it dominates every encounter that lacks one.
BrambleWaterboth waysBrambleWater feeds it. The one reaction that makes a Tidecaller and a Druid better together than apart.
BrambleFrostboth waysFrostFrozen over: the thorns stop cutting and become footing instead.
BrambleCloudStormboth waysBrambleWet living matter carries a charge without being consumed.
BrambleVenomboth waysBrambleCloudSporesVenom sours the growth into a spore bloom overhead; the bramble itself survives.
CloudSporesFireboth waysFireCloudSmokeSpore detonation: fire on the floor, choking smoke overhead. The Druid's own combo and their worst accident.
CloudSporesCloudStormboth waysCloudStormThe storm carries the spores rather than clearing them.
CloudSporesWaterboth waysclearedRain washes the bloom out of the air.

Walking through it

SurfaceMove cost ×Gives you
bare ground1—
Ice0.85—
Frost1.15—
Oil1.90—
Venom1.50—
Water1.60—
ChargedWater1.60—
Blood1.25—
ChargedBlood1.25—
Ash1.05—
Fire1.25—
Ember1.25—
CloudSteam1—
CloudSmoke1—
CloudVenom1—
CloudStorm1—
Bramble1.75—
CloudSpores1—

The statuses

Bleeding
Burning
Charged
Charmed
Chilled
Entangled
Feared
Fortified
Frozen
Hasted
Invisible
Knockdown
Oiled
Petrified
Poisoned
Stunned
Warded
Warm
Wet