Skip to main content

✅ Decarabia blocks enemy ability movement

CategoryAbility
StatusPassing
Testtests/test_abilities_passive.py::test_decarabia_blocks_enemy_ability_movement

P2's Bathin uses Abduct to move P1's Decarabia to a different

Preconditions

  • Lane 0: P1's Decarabia (#008) — READIED

  • Lane 1: P2's Bathin (#010) — READIED

  • Decarabia passive: "Enemy Demons cannot move Decarabia"

Action

  • P2 uses _move_to_lane to move Decarabia to lane 2, with mover_side=P2
result = _move_to_lane(state, dec_p, 2, mover_side=Side.PLAYER_2)

dec_after = next(d for d in result.demons if d.unit_id == "008")

Expected Postconditions

  • Decarabia stays in lane 0 (movement blocked)

  • Decarabia's passive prevents ALL enemy movement, not just March

Assertions

assert dec_after.lane == 0, (
f"Decarabia should stay in lane 0 — enemy ability movement blocked. Got lane {dec_after.lane}"
)