✅ Truth and lie reveal marker passives registered
| Category | Ability |
| Status | Passing |
| Test | tests/test_abilities_familiars.py::test_truth_and_lie_reveal_marker_passives_registered |
Truth (120_1) and Lie (120_2) expose marker passives indicating
Preconditions
No preconditions specified in docstring.
Action
- Call get_passive_modifiers for Truth and Lie demons.
from engine.abilities import get_passive_modifiers
state = make_game_state()
# Truth and Lie have null HP — use current_hp=0 to bypass None issues
truth_demon = DemonInstance(
instance_id=1, unit_id="120_1", owner=Side.PLAYER_1, lane=0,
current_hp=0, damage=0, state=DemonState.READIED,
fused_bottom=None, is_fused=False, fatally_wounded=False,
abilities_used_this_turn={}, familiar_of=None, is_familiar=True,
)
lie_demon = DemonInstance(
instance_id=2, unit_id="120_2", owner=Side.PLAYER_1, lane=0,
current_hp=0, damage=0, state=DemonState.READIED,
fused_bottom=None, is_fused=False, fatally_wounded=False,
abilities_used_this_turn={}, familiar_of=None, is_familiar=True,
)
# State doesn't need them placed — just check passive mods
truth_marker = get_passive_modifiers(state, truth_demon, "reveal_removes_without_death")
lie_marker = get_passive_modifiers(state, lie_demon, "reveal_removes_without_death")
Expected Postconditions
- Both return {"reveal_removes_without_death": 1}.
Assertions
assert truth_marker == 1, (
f"Truth should expose reveal_removes_without_death=1. Got {truth_marker}."
)
assert lie_marker == 1, (
f"Lie should expose reveal_removes_without_death=1. Got {lie_marker}."
)