✅ Iskandar distant attacker fused bottom no reduction
| Category | Ability |
| Status | Passing |
| Test | tests/test_abilities_complex.py::TestIskandarFusedBottomProjects::test_iskandar_distant_attacker_fused_bottom_no_reduction |
Sanity — Distant attacker's damage is NOT reduced.
Preconditions
-
Lane 0: P1's fused Murmur/Iskandar (HP=12)
-
Lane 2: P2's Sabnock (Distant from fused demon)
Action
- deal_damage(state, Sabnock, fused, 3)
from engine.operations import deal_damage
fused = make_fused_demon("002", "104", lane=0, owner=Side.PLAYER_1)
attacker = make_demon("003", lane=2, owner=Side.PLAYER_2) # Distant
state, placed = _make_state_with_demons(fused, attacker, ap=3)
fused_p, attacker_p = placed
result = deal_damage(state, attacker_p, fused_p, 3)
fused_after = next(d for d in result.demons if d.instance_id == fused_p.instance_id)
Expected Postconditions
- Fused demon: 3 damage (no reduction — source is Distant)
Assertions
assert fused_after.damage == 3, (
f"Distant attacker must not trigger Iskandar's reduction. "
f"Got {fused_after.damage}."
)