✅ Azag sadism deals 1 damage through def
| Category | Ability |
| Status | Passing |
| Test | tests/test_abilities_actions.py::test_azag_sadism_deals_1_damage_through_def |
Azag's Sadism deals 1 damage (reduced by DEF) to an in-range target.
Preconditions
-
P1 Main Phase, P1 has 3 AP
-
Lane 0: P1's Azag (#066) — READIED, PWR=2
-
Lane 0: P2's Sabnock (#003) — HP=15, READIED, no DEF
Action
- Execute Azag's Sadism (ability idx=1, Quick, 0 AP, ready, 1x) targeting Sabnock
result = execute_ability(
state, azag_on_field, ability_idx=1, targets=[sabnock_on_field]
)
azag_after = next(d for d in result.demons if d.unit_id == "066")
sabnock_after = next(d for d in result.demons if d.unit_id == "003")
Expected Postconditions
-
Sabnock: takes 1 damage (deal_damage — NOT fixed, goes through DEF)
-
Azag: NOT exhausted ((ready) cost)
-
P1 AP: 3 (was 3, spent 0)
Assertions
assert sabnock_after.damage == 1, f"Sabnock must take 1 damage. Got {sabnock_after.damage}"
assert azag_after.state == DemonState.READIED, "Azag must NOT be exhausted ((ready) cost)"
assert result.players[Side.PLAYER_1].ap == 3, "P1 AP should be 3 (spent 0)"