✅ Taurus does not apply def to itself
| Category | Ability |
| Status | Passing |
| Test | tests/test_abilities_passive.py::test_taurus_does_not_apply_def_to_itself |
Taurus takes damage — does NOT apply +2 DEF to itself ("Any Other").
Preconditions
-
Lane 0: P1's Taurus (#052) — READIED
-
No other demons
Action
- Fire DAMAGE_RECEIVED event: target=Taurus, value=2
from engine.events import GameEvent, EventType, fire_event
from engine.operations import get_effective_def
state = make_game_state()
taurus = make_demon("052", lane=0, owner=Side.PLAYER_1)
state = place_demon(state, taurus)
taurus_on_field = state.demons[0]
event = GameEvent(
event_type=EventType.DAMAGE_RECEIVED,
source=taurus_on_field,
target=taurus_on_field,
value=2,
side=Side.PLAYER_1,
lane=0,
)
new_state = fire_event(state, event)
taurus_after = next(d for d in new_state.demons if d.unit_id == "052")
result = get_effective_def(new_state, taurus_after)
Expected Postconditions
-
Taurus has NO +2 DEF status from its own passive
-
Taurus effective DEF = 0 (no passive DEF for Taurus itself)
Assertions
assert result == 0, (
f"Expected Taurus DEF=0 (no self-buff on own damage), got {result}"
)