Skip to main content

✅ Azag sadism deals 1 damage through def

CategoryAbility
StatusPassing
Testtests/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)"