Skip to main content

✅ Possession moves gamigin when performer is opponent

CategoryAbility
StatusPassing
Testtests/test_abilities_complex.py::TestGamiginPossession::test_possession_moves_gamigin_when_performer_is_opponent

Opponent's demon uses Possession → Gamigin shifts 1 lane.

Preconditions

  • Lane 0: P1's Gamigin (#031)

  • Lane 1: P2's Murmur (performer)

Action

  • ABILITY_HANDLERS("031", 2)
result = handler(state, murmur_p, [], {"direction": "right"}, None)

gamigin_after = next(d for d in result.demons if d.unit_id == "031")

Expected Postconditions

  • Gamigin's lane is now 1 (moved from 0 → 1 per direction "right")

Assertions

assert gamigin_after.lane == 1, (
f"Gamigin should move from lane 0 to lane 1 with direction=right. "
f"Got lane {gamigin_after.lane}."
)