fix(rules): exhausted -6 Dex now costs -3 AC and -3 Reflex
This commit is contained in:
@@ -110,12 +110,15 @@ FATIGUED = Condition(
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Exhausted: -6 STR, -6 DEX; half speed; can't run or charge (CRB)
|
# Exhausted: -6 STR, -6 DEX; half speed; can't run or charge (CRB)
|
||||||
# Approximation: -3 attack, -3 damage
|
# Approximation: -3 attack, -3 damage (STR/DEX), -3 AC and -3 Ref (the -6 DEX
|
||||||
|
# = -3 to each, mirroring how ENTANGLED models its -4 DEX as -2 AC/-2 Ref).
|
||||||
EXHAUSTED = Condition(
|
EXHAUSTED = Condition(
|
||||||
name="exhausted",
|
name="exhausted",
|
||||||
modifiers=(
|
modifiers=(
|
||||||
StatModifier(target="attack", value=-3),
|
StatModifier(target="attack", value=-3),
|
||||||
StatModifier(target="damage", value=-3),
|
StatModifier(target="damage", value=-3),
|
||||||
|
StatModifier(target="ac", value=-3),
|
||||||
|
StatModifier(target="ref", value=-3),
|
||||||
),
|
),
|
||||||
cant_charge=True,
|
cant_charge=True,
|
||||||
speed_mult=0.5,
|
speed_mult=0.5,
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ from pf1e_simulator.conditions import (
|
|||||||
BLINDED,
|
BLINDED,
|
||||||
DAZZLED,
|
DAZZLED,
|
||||||
ENTANGLED,
|
ENTANGLED,
|
||||||
|
EXHAUSTED,
|
||||||
FATIGUED,
|
FATIGUED,
|
||||||
FLAT_FOOTED,
|
FLAT_FOOTED,
|
||||||
FRIGHTENED,
|
FRIGHTENED,
|
||||||
@@ -123,6 +124,17 @@ class TestConditionData:
|
|||||||
assert ENTANGLED.cant_charge is True
|
assert ENTANGLED.cant_charge is True
|
||||||
assert ENTANGLED.speed_mult == 0.5
|
assert ENTANGLED.speed_mult == 0.5
|
||||||
|
|
||||||
|
def test_exhausted_minus6_dex_gives_minus3_ac_and_ref(self) -> None:
|
||||||
|
# SRD: exhausted takes -6 to Dexterity => -3 AC and -3 Reflex
|
||||||
|
# (each -2 Dex = -1 AC/Ref, same modelling as entangled's -4 Dex).
|
||||||
|
mods = {m.target: m.value for m in EXHAUSTED.modifiers}
|
||||||
|
assert mods["attack"] == -3
|
||||||
|
assert mods["damage"] == -3
|
||||||
|
assert mods["ac"] == -3
|
||||||
|
assert mods["ref"] == -3
|
||||||
|
assert "fort" not in mods
|
||||||
|
assert "will" not in mods
|
||||||
|
|
||||||
def test_fatigued_flags(self) -> None:
|
def test_fatigued_flags(self) -> None:
|
||||||
assert FATIGUED.cant_charge is True
|
assert FATIGUED.cant_charge is True
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user