Skip to main content

Class Playstyle, Subclasses, and Build Ladders

Class Playstyle, Subclasses, and Build Ladders

Status: DESIGN LOCKED 2026-07-27 (owner: automatic combat + subclass ladder + skill-tree direction) Parents: combat.md, act-1-class-signatures.md, progression.md, class-identity.md, star-map.md

Last updated: July 27, 2026

Darkness Falls — Class Playstyle, Subclasses, and Build Ladders

Status: DESIGN LOCKED 2026-07-27 (owner: automatic combat + subclass ladder + skill-tree direction) Parents: combat.md, act-1-class-signatures.md, progression.md, class-identity.md, star-map.md Alignment plan: design-code-alignment.md

0. Non-negotiable combat law

  1. Default power is automatic. Players do not run a cast bar for class identity.
  2. Player job in combat = movement, positioning, dodge, potions, flee. Not "use ability 3".
  3. Build job outside combat = class, promotion (subclass), paragon path, gear, Star Map, skill gems.
  4. At most zero required cast verbs for class signatures. Leftover cast NLU soft-redirects.
  5. Ignore-path: walk-and-auto-attack alone must remain viable.

Violating this law is a design bug, not a feature.

1. Automatic power layers (how power fires)

Layer When it fires Tuned by
Basic Attack Every combat attack Weapon, stats, Star Map
Rotation specials Every N attacks (howOftenSwings) Class signature, promotion, paragon, gems
Stationary specials Every N consecutive combat rounds without moving Class (Guard/Mend), gear MEGA_*, promotion
Mobile momentum Attacks on a turn where the player moved Class defaults, promotion, gear
Skill gems / Star Map attacks Existing cadence tables in combat.md Gear slots, Star Map nodes

Act I base signatures (L1)

Class Signature Kind Default cadence
Fighter Guard Stationary Every 4 hold rounds, brace next hit (40% reduce)
Cleric Mend Stationary Every 3 hold rounds while hurt, heal
Rogue Strike Rotation Every 3 attacks
Sorcerer Blast Rotation Every 4 attacks
Barbarian Rage Rotation Every 4 attacks (damage amp pulse)
Ranger Mark Rotation Every 3 attacks (bonus damage proc)
Necromancer Drain Rotation Every 4 attacks (damage + small self heal)
Paladin Smite Rotation Every 3 attacks (hybrid hit)
All Mobile momentum Mobile +15% damage if moved this combat turn (promotion can raise)

2. Subclass ladder (LOCKED mapping — do not invent a third system)

Use the existing progression milestones. Do not add parallel pick UIs.

Tier Level Existing system Player-facing name What it customizes Code status
T0 Base 1 Base class Class Signature kind + default cadence HAVE — auto signatures + profile
T1 Subclass 40 Promotion class (DarknessFallsParagonClass) Promotion / subclass Mutates signature cadence + flavor; grants existing promotion abilities HAVE — profile mutations
T2 Branch 50 Paragon path (DarknessFallsParagonPath) Paragon path Further mutates signature + grants path augment HAVE — profile mutations
T3 (future) 70+ Class skill trees Class tree nodes Optional picks that stack onto the same signature profile NOT IMPLEMENTED — design direction only

Archetype classes (Barbarian, Ranger, Necromancer, Paladin) skip T1 promotions today and go T0 to T2 at 50. That remains true; their T1 flavor is baked into the base twin signature until a future design reopens mid-tier forks for them.

T1 examples (signature mutation, not new cast verbs)

Base Promotion Signature mutation
Rogue Assassin Strike every 2 attacks; higher Strike crit
Rogue Bandit Strike every 3; mobile momentum +25%
Rogue Swashbuckler Strike every 4; mobile momentum +15%
Fighter Champion Guard every 3 hold rounds
Fighter Mercenary Guard every 5; mobile momentum +20%
Fighter Demon Slayer Guard every 4; guard reduction 50%
Cleric High Priest Mend every 2 hold rounds
Cleric Rune Master Mend every 3; larger heal
Cleric Avenger Mend every 4; mobile momentum +20%
Sorcerer Firestarter Blast every 3
Sorcerer Ice Maven Blast every 4
Sorcerer Lightning Thief Blast every 4; mobile momentum +20%

(Typo guard: Demon Slayer not Spayer — correct in code.)

T2 examples

Paragon paths (3 per class) further adjust the same SignaturePlaystyleProfile (cadence clamp, momentum, heal/guard strength) and set paragonAugment. Never introduces cast verbs.

3. Code contract

  • Single resolver: DarknessFallsSignaturePlaystyleProfile built from base class + promotion + paragon path.
  • Applied at stat rebuild after addClassAbilities so signature rows match the profile.
  • Stationary/mobile runtime uses one streak tracker (consecutiveStationaryCombatRounds, movedThisCombatTurn).
  • View abilities describes automatic playstyle; cast soft-redirects.
  • Scenarios + JUnit prove profile math and ignore-path.

4. Gear hooks (stationary / mobile)

Gems designed "while stationary" (MEGA_*, ARCANE_*) MUST use the same playstyle flags. Do not invent a second stationary tracker.

HAVE today: mild +15% armor/evasion while holding ground (stationary stance). MEGA_* skill-gem defense bonuses exist as equip-time stats; full "only while stationary" gating for every MEGA_* row is partial — extend when gear content needs it.

5. Star Map vs class skill trees (do not confuse)

Today (locked and shipped)

  • Star Map (star-map.md) is the live shared four-path (N/S/E/W) skill-point spend. Not class-locked.
  • Class identity lives in signature profile + promotion + paragon + gear gems.
  • That is the complete build surface agents may implement against right now.

T3 class skill trees — FUTURE ONLY

CAVEAT (binding): Class skill trees do not exist in code, content, NLU, or UI. There is no tree table, no spend handler, no respec, no voice flow. until the owner runs a design pass and flips this status out of FUTURE. Until then, this section is direction for later design, not a build backlog item.

If / when designed, T3 would:

  1. Spend points into a class-scoped node set (or a class lens on Star Map).
  2. Only mutate the automatic profile (cadence, elemental flavor, stationary/mobile bias).
  3. Never require cast commands.
  4. Enable replayability via multiple trees per class and a respec cost.

Open questions before any code (owner design pass required):

Question Why it blocks
Point economy vs Star Map Double spend or shared pool?
Voice UX for tree pick Chip lists vs free text; depth budget
Respec / season interaction Current Season fairness contract
Twin-class uniqueness Barb vs Fighter trees must not collapse
Level gate (70+ vs earlier) Interaction with Mastery

Forbidden until that pass:

  • New tables / handlers named skill_tree / class_tree
  • Pulling promotion skills to L1
  • Parallel pick UIs outside promotion / paragon / Star Map

6. Phase order (implementation truth)

# Work Status
1 Playstyle auto signatures (T0) — pilot 4 + twins local_proved (ship pending USER /deploy)
2 Profile mutations from T1/T2 — promotion + path HAVE in code (JUnit); more scenario claims optional
3 Stationary/mobile gear hooks — MEGA_* / ARCANE_* PARTIAL (stance buff live; full gem gating later)
4 Class skill trees (T3) FUTURE — design only; not a coding task

7. Success tests

  • Walk-and-fight without class verbs still works (ignore-path).
  • Holding ground as Fighter braces; as Cleric mends when hurt.
  • Moving in a fight increases damage (momentum).
  • Promotion changes cadence or momentum vs base (JUnit profile table).
  • No combat cast chips for class signatures.
  • Cast NLU never starts a second mini-game; soft-redirect only.

Refs

  • combat.md — Class playstyle signatures
  • act-1-class-signatures.md — Hard rule + Capability Contracts
  • progression.md — Promotion / Paragon
  • class-identity.md — Lever toolbox
  • star-map.md — Live skill-point tree (not T3)
  • design-code-alignment.md — Full HAVE vs SHOULD inventory + close-the-gap plan