✅ Snake bind reminder passive registered for all variants
| Category | Ability |
| Status | Passing |
| Test | tests/test_abilities_familiars.py::test_snake_bind_reminder_passive_registered_for_all_variants |
Engine behavior test.
Preconditions
No preconditions specified in docstring.
Action
- Call get_passive_modifiers for Snake A/B/C/D at ability index 1.
from engine.abilities import get_passive_modifiers
state = make_game_state()
snake_ids = ("036_1", "036_2", "036_3", "036_4")
for snake_id in snake_ids:
snake = DemonInstance(
instance_id=hash(snake_id) & 0xFFFF,
unit_id=snake_id,
owner=Side.PLAYER_1,
lane=0,
current_hp=3,
damage=0,
state=DemonState.READIED,
fused_bottom=None,
is_fused=False,
fatally_wounded=False,
abilities_used_this_turn={},
familiar_of=None,
is_familiar=True,
)
# The no-op should return 0 for any queried stat
pwr_mod = get_passive_modifiers(state, snake, "pwr")
Expected Postconditions
-
For each Snake variant (036_1 through 036_4), get_passive_modifiers
-
returns 0 for any stat key (the no-op returns an empty dict).
Assertions
assert pwr_mod == 0, (
f"{snake_id} ability[1] reminder no-op should return 0 for 'pwr'. "
f"Got {pwr_mod}."
)
def_mod = get_passive_modifiers(state, snake, "def")
assert def_mod == 0, (
f"{snake_id} ability[1] reminder no-op should return 0 for 'def'. "
f"Got {def_mod}."
)