✅ Remove damage different lane not blocked
| Category | Ability |
| Status | Passing |
| Test | tests/test_operations.py::test_remove_damage_different_lane_not_blocked |
Kimaris's anti-heal is Local (same-lane only). A demon in another
Preconditions
-
Lane 0: P1's Kimaris (#057) — 15 HP, 0 damage, READIED
-
Lane 2: P2's Duban (#001) — 6 HP, 4 damage, READIED
Action
- remove_damage(state, target=Duban, amount=2)
state = make_game_state()
kimaris = make_demon("057", lane=0, owner=Side.PLAYER_1, instance_id=1)
duban = make_demon("001", lane=2, owner=Side.PLAYER_2, instance_id=2, damage=4)
state = place_demon(state, kimaris)
state = place_demon(state, duban)
duban_placed = next(d for d in state.demons if d.unit_id == "001")
new_state = remove_damage(state, duban_placed, 2)
duban_after = next(d for d in new_state.demons if d.unit_id == "001")
Expected Postconditions
- Duban.damage = 2 (heal applies — different lane from Kimaris)
Assertions
assert duban_after.damage == 2, "Different lane — heal must apply normally"