Skip to main content

✅ Non gamigin still uses def

CategoryAbility
StatusPassing
Testtests/test_abilities_complex.py::TestGamiginFixedDamage::test_non_gamigin_still_uses_def

Sanity: Non-Gamigin demons still have their damage reduced by DEF.

Preconditions

  • Lane 0: P1's Murmur (PWR=3)

  • Lane 0: P2's Duban (HP=6, +5 DEF)

Action

  • deal_damage(state, murmur, duban, 6)
from engine.operations import deal_damage

murmur = make_demon("002", lane=0, owner=Side.PLAYER_1)
duban = make_demon("001", lane=0, owner=Side.PLAYER_2)
state, placed = _make_state_with_demons(murmur, duban)
murmur_p, duban_p = placed

result = deal_damage(state, murmur_p, duban_p, 6)

duban_after = next(d for d in result.demons if d.unit_id == "001")

Expected Postconditions

  • Duban: max(0, 6-5) = 1 damage (DEF applies normally)

Assertions

assert duban_after.damage == 1, (
f"Murmur uses PWR damage (DEF applies): 6-5=1. Got {duban_after.damage}"
)