Skip to main content

✅ Camio plus 15 def when black serpent in play

CategoryAbility
StatusPassing
Testtests/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}"