fix(rules): lich stat block aligned to the KB entry - bestiary/lich.md gives hp 111 (11d6+55 plus 15 false life), Str 10, Int 22, Init +2 and 'Aura fear (60-ft. radius, DC 18)'; the JSON carried scenario-tuned 100 hp / Str 12 / Int 20 / Init +6 and the engine's feature-keyed aura constants carried 30 ft / DC 22 (BAB/touch/AC/saves/CON already conformed); the sim's own spell list is kept (the KB's prepared list includes spells outside data/spells/) and the choice is documented in the JSON notes and the README; golden tammara-vs-lich re-pinned for the two SRD-correct line changes (initiative d20=10+2=12 from the KB +2, Magic Missile DC17 = 10+1+6 from Int 22; damage unchanged - the 75 ft deployment distance stays beyond even the widened 60 ft aura, so no save die is consumed); +2 aura range tests (75 ft outside, 60 ft inside)

This commit is contained in:
2026-09-19 23:05:25 +02:00
parent 5fe2b72339
commit 4f8a131ba0
6 changed files with 79 additions and 19 deletions
+4 -3
View File
@@ -2802,12 +2802,13 @@ class CombatEngine:
return False
return weapon.kind == "touch" or weapon.name == "Paralyzing Touch"
_FEAR_AURA_DC = 22
_FEAR_AURA_RANGE_FT = 30
# KB bestiary/lich.md: "Aura fear (60-ft. radius, DC 18)".
_FEAR_AURA_DC = 18
_FEAR_AURA_RANGE_FT = 60
_FEAR_AURA_ROUNDS = 1
def _apply_fear_aura(self, state: CombatantState) -> None:
"""Apply the Lich's Fear Aura: enemies within 30 ft save Will (DC 22) or become shaken.
"""Apply the Lich's Fear Aura: enemies within 60 ft save Will (DC 18) or become shaken.
Triggered at the start of the aura-bearer's turn (simplification of the
PF1e "on range entry" trigger — the lich acts first each round, so this