✅ Decarabia blocks enemy ability movement
| Category | Ability |
| Status | Passing |
| Test | tests/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}"
)