✅ Black serpent no upkeep on opponent phase
| Category | Ability |
| Status | Passing |
| Test | tests/test_abilities_familiars.py::test_black_serpent_no_upkeep_on_opponent_phase |
Black Serpent does NOT take upkeep damage at opponent's main phase start.
Preconditions
- Lane 0: P1's Black Serpent (098_1) — 0 damage.
Action
- Fire MAIN_PHASE_START event for P2 (opponent).
new_state = fire_event(
state,
GameEvent(
event_type=EventType.MAIN_PHASE_START,
source=None,
target=None,
value=None,
side=Side.PLAYER_2,
lane=None,
),
)
serpent_after = next(d for d in new_state.demons if d.unit_id == "098_1")
Expected Postconditions
- Black Serpent damage = 0 (upkeep only fires on owner's phase).
Assertions
assert serpent_after.damage == 0, "Black Serpent should not take damage on opponent's main phase start."