✅ Non gamigin still uses def
| Category | Ability |
| Status | Passing |
| Test | tests/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}"
)