✅ Blood sacrifice fixed damage bypasses def
| Category | Ability |
| Status | Passing |
| Test | tests/test_abilities_actions.py::test_blood_sacrifice_fixed_damage_bypasses_def |
Blood Sacrifice deals FIXED damage — bypasses DEF entirely.
Preconditions
-
Sabnock has +5 DEF status manually applied
-
Blood Sacrifice deals 4 Fixed Damage
Action
- Execute Blood Sacrifice targeting Sabnock with DEF applied
# Apply +5 DEF status to Sabnock
def_status = StatusEffect(stat="def", value=5, target_instance_id=sabnock.instance_id, ...)
state.status_effects.append(def_status)
sabnock_def = get_effective_def(state, sabnock_on_field)
Expected Postconditions
-
Sabnock takes exactly 4 damage (not reduced by DEF)
-
(Critical: Fixed Damage bypasses DEF — use deal_fixed_damage not deal_damage)
Assertions
assert sabnock_def == 5
result = execute_ability(state, glasya_on_field, ability_idx=1, targets=[sabnock_on_field])
sabnock_after = next(d for d in result.demons if d.unit_id == "003")
assert sabnock_after.damage == 4