✅ Satan splash fires after taking damage
| Category | Interaction |
| Status | Passing |
| Test | tests/test_abilities_complex.py::TestSatanFieldPassive::test_satan_splash_fires_after_taking_damage |
Satan's passive: when taking X damage, deal X-2 Fixed Damage to all other local demons.
Action
-
Fire DAMAGE_RECEIVED event with target=Satan, value=5 (5 damage taken)
-
Satan splash: 5 - 2 = 3 Fixed Damage to all other local demons
result = fire_event(state, event)
murmur_after = next(d for d in result.demons if d.unit_id == "002")
duban_after = next(d for d in result.demons if d.unit_id == "001")
satan_after = next(d for d in result.demons if d.unit_id == "109")
Expected Postconditions
-
Murmur: 3 damage (splash from Satan's passive)
-
Duban: 3 damage (splash from Satan's passive)
-
Satan: 0 damage from this trigger (trigger is NOT self-damage)
Assertions
assert murmur_after.damage == 3
assert duban_after.damage == 3
assert satan_after.damage == 0