Skip to main content

✅ Malthus shift moves allied demon 1 lane

CategoryAbility
StatusPassing
Testtests/test_abilities_actions.py::test_malthus_shift_moves_allied_demon_1_lane

Malthus's Shift moves an allied demon 1 lane.

Preconditions

  • P1 Main Phase, P1 has 3 AP

  • Lane 0: P1's Malthus (#061) — READIED

  • Lane 0: P1's Sabnock (#003) — READIED (target ally)

Action

  • Execute Malthus's Shift (ability idx=0, 0 AP, ready, 1x) targeting Sabnock, choices={"lane": 1}
result = execute_ability(state, malthus_on_field, ability_idx=0, targets=[sabnock_on_field], choices={"lane": 1})
sabnock_after = next(d for d in result.demons if d.unit_id == "003")

Expected Postconditions

  • Sabnock: moved to lane 1

  • Malthus: NOT exhausted (ready cost)

  • P1 AP: 3 (0 AP cost)

Assertions

assert sabnock_after.lane == 1
assert malthus_after.state == DemonState.READIED
assert result.players[Side.PLAYER_1].ap == 3