
fighter
Shield Bash (L1 stun), Ember Edge (L3 fire, chips physical-immune golems), frost-oil kit for wights; dwarves learn Rune of Stone (L3), elves learn Fae Sight (L2), halflings learn Lucky Break (L2), gnomes learn Tinker Trap (L2).
Fourteen classes, six roles. Every class below is mapped from the same data the campaign sims use to build and audit parties — tank, healer, nuker, skirmisher, support, summoner.

Shield Bash (L1 stun), Ember Edge (L3 fire, chips physical-immune golems), frost-oil kit for wights; dwarves learn Rune of Stone (L3), elves learn Fae Sight (L2), halflings learn Lucky Break (L2), gnomes learn Tinker Trap (L2).

One L1 spell per early element (Flame Spark/Frost Bolt/Lightning Bolt/Wind Blade); Dispel gated at L5 behind prereqs; elves learn Fae Sight (L2 reveal); gnomes learn Tinker Trap (L2).

Poison Blade (L2, lives in spells registry) answers both immune packs; Eagle Eye is the native reveal; dwarves learn Rune of Stone (L3), halflings learn Lucky Break (L2), gnomes learn Tinker Trap (L2).

Holy answers wights (weak) and chips golems; Dispel gated at L6 behind a 5-spell chain; halflings learn Lucky Break (L2).

Holy Bolt (L1) + Death Coil (L1) cover both packs; no reveal — leans on break-on-attack or party.

Ki Wave (L2 energy) is neutral into both immune packs; no heal, no reveal — needs company; dwarves learn Rune of Stone (L3).

Runic Strike (L1) + Ancestral Wrath (L2 holy); Record Grudge opener; Summon Retinue.

All-physical technique chain (Crossdraw opener); physical-immune packs answered via frost-oil kit.

Katon line (fire, chips golem through resist, immune into wights) + physical fallbacks; wights answered via frost-oil kit.

Thornwhip/Gale Strike (wind is golem-weak); no reveal — grove full-clears via break-on-attack; brews (intro_brewing); elves learn Fae Sight (L2 reveal).

Sicken (L1 nature) + Burst of Flame (L3); no reveal; brews (intro_brewing).

Sandblight dot + Ember Sigil (L3); nature neutral into both packs.

Stone (L1 earth) + Aero (L2 wind, golem-weak); Esuna cleanses allies only, never strips enemy vanish.

All-physical claws (oil kit for immunes); Scent/Dust Veil set partyHasReveal; Finn teaches Scent.
Roles are data: public/definitions/roles.json — the sim validates its brain contract against this file on every run.