fix(rules): Born Damned and Axe to Grind become documented no-ops (SRD: +2 saves vs curses has no curse descriptor; +1 damage vs foes threatened only by you is not expressible - old Fort-vs-poison and axe-damage bonuses were wrong)

This commit is contained in:
2026-09-19 10:41:21 +02:00
parent d0db208610
commit 6d0ee1bfeb
4 changed files with 50 additions and 15 deletions
+19
View File
@@ -12,6 +12,8 @@ import json
from pathlib import Path
from pf1e_simulator.abilities import (
AXE_TO_GRIND,
BORN_DAMNED,
COMBAT_REFLEXES,
EXALTED_SOCIETY,
FORTIFIED_DRINKER,
@@ -253,3 +255,20 @@ def test_fortified_drinker_is_inert_documented_noop() -> None:
poison, condition='alcohol'" modifier is gone)."""
assert FORTIFIED_DRINKER.effects == ()
assert "not modeled" in FORTIFIED_DRINKER.source_detail
def test_born_damned_is_inert_documented_noop() -> None:
"""SRD (Tiefling race trait): +2 trait bonus on saves against curses. No
'curse' save descriptor exists -> inert no-op (old +2 Fort vs poison was
the wrong bonus entirely)."""
assert BORN_DAMNED.effects == ()
assert "not modeled" in BORN_DAMNED.source_detail
def test_axe_to_grind_is_inert_documented_noop() -> None:
"""SRD (APG combat trait): +1 trait bonus on damage against foes
threatened by only you. The threat-map gate is not expressible in the
StatModifier condition system -> inert no-op (old +1 damage with axes was
the wrong effect; the SRD bonus is not tied to axes)."""
assert AXE_TO_GRIND.effects == ()
assert "not modeled" in AXE_TO_GRIND.source_detail