Skip to main content

✅ Truth and lie reveal marker passives registered

CategoryAbility
StatusPassing
Testtests/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}."
)