✅ Camio plus 15 def when black serpent in play
| Category | Ability |
| Status | Passing |
| Test | tests/test_abilities_passive.py::test_camio_plus_15_def_when_black_serpent_in_play |
Camio has +15 DEF while the Black Serpent familiar (098_1) is on
Preconditions
-
Lane 0: P1's Camio (#098) — READIED
-
Lane 0: Black Serpent familiar (098_1) — in play (as familiar of Camio)
-
Camio passive idx=1: While Black Serpent in play, +15 DEF
Action
- Query get_effective_def(state, camio)
state = make_game_state()
camio = make_demon("098", lane=0, owner=Side.PLAYER_1)
state = place_demon(state, camio)
# Place Black Serpent familiar on field
from engine.data_loader import FAMILIARS
black_serpent_id = "098_1"
Expected Postconditions
- Returns 15 (0 base DEF + 15 passive)
Assertions
assert black_serpent_id in FAMILIARS, "Black Serpent familiar not found in FAMILIARS"
serpent = make_demon(black_serpent_id, lane=0, owner=Side.PLAYER_1,
is_familiar=True)
state = place_demon(state, serpent)
camio_on_field = next(d for d in state.demons if d.unit_id == "098")
result = get_effective_def(state, camio_on_field)
assert result == 15, f"Expected DEF=15 (Camio + Black Serpent), got {result}"