Skip to main content

✅ Exile transfers control and arrives exhausted

CategoryRegression
StatusPassing
Testtests/test_abilities_complex.py::TestJudasExile::test_exile_transfers_control_and_arrives_exhausted

Regression: Confusion #17 — Exiled demon arrives EXHAUSTED on the enemy side.

Preconditions

  • P1 Main Phase, P1 has 4 AP

  • Lane 0: P1's Judas Iscariot (#029, HP=12, 0 damage), READIED

Action

  • P1 uses Exile (2 AP, exhaust), targeting Lane 1 for placement
result = execute_ability(state, judas_p, ability_idx=1, choices={"lane": 1})
judas_after = next(d for d in result.demons if d.unit_id == "029")

Expected Postconditions

  • Judas is now owned by P2 (enemy)

  • Judas is in Lane 1

  • Judas is EXHAUSTED — cannot act until Rest Phase

  • P1 AP: 2 (4 - 2)

Assertions

assert judas_after.owner == Side.PLAYER_2
assert judas_after.lane == 1
assert judas_after.state == DemonState.EXHAUSTED
assert result.players[Side.PLAYER_1].ap == 2