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:
@@ -126,16 +126,31 @@ class TestGoldenCombats:
|
||||
below 0 hp on round 1 (36 -> -2) and the remaining two are lost (the
|
||||
engine's target-drops-mid-sequence convention), so the lich wins in 1
|
||||
round — outcome unchanged.
|
||||
|
||||
Updated by the KB stat-block alignment (bestiary/lich.md: "hp 111",
|
||||
"**Init** +2", "**Str** 10 ... **Int** 22", "Aura fear (60-ft. radius,
|
||||
DC 18)") — every changed line below is SRD-correct:
|
||||
- "initiative: lich d20=10+2=12": the KB's Init is +2 (the old +6 was
|
||||
scenario tuning); the d20 itself is unchanged (queue position 2 = 10).
|
||||
- "cast Magic Missile vs tammara DC17": spell DC = 10 + spell level 1 +
|
||||
Int modifier; the KB's Int is 22 (+6, was 20/+5), so 10+1+6 = 17.
|
||||
NO SAVE: Magic Missile auto-hits, so the DC display consumes no die.
|
||||
- "38 damage (36->-2)" unchanged: no new die is consumed anywhere — the
|
||||
fear aura does NOT fire (tammara at (0,0), lich at (10,10): 15 cells
|
||||
diagonal = 75 ft, beyond even the widened 60 ft radius), and the
|
||||
initiative re-roll order still puts tammara first (22 > 12).
|
||||
- hp 111 never surfaces: the fight ends in round 1 with the lich
|
||||
untouched.
|
||||
"""
|
||||
result, _ = run_golden("tammara", "lich")
|
||||
assert result.winner == "monsters"
|
||||
assert result.rounds == 1
|
||||
assert result.transcript == (
|
||||
"initiative: tammara d20=15+7=22",
|
||||
"initiative: lich d20=10+6=16",
|
||||
"initiative: lich d20=10+2=12",
|
||||
("round 1 tammara: cast Divine Favor vs tammara DC14 NO SAVE "
|
||||
"-> buff 2 mods (10r) (36->36)"),
|
||||
"round 1 lich: cast Magic Missile vs tammara DC16 NO SAVE -> 38 damage (36->-2)",
|
||||
"round 1 lich: cast Magic Missile vs tammara DC17 NO SAVE -> 38 damage (36->-2)",
|
||||
"battle over: monsters win in 1 rounds",
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user