✅ Eligos flank aura fused bottom projects
| Category | Interaction |
| Status | Passing |
| Test | tests/test_abilities_passive.py::test_eligos_flank_aura_fused_bottom_projects |
Eligos is the fused bottom. If Eligos's side (now the fused
Preconditions
-
Lane 0: P1's fused demon — Flauros (#013) top, Eligos (#067) bottom
-
(Eligos's side here = PLAYER_1)
-
Lane 1: P1's Murmur (#002) ← P1 has 1 demon in lane 1
-
Lane 1: P1's Sabnock (#003) ← P1 now has 2 demons in lane 1
-
Lane 1: P2's Duban (#001) ← P2 has 1 demon in lane 1
-
P1 count (2) > P2 count (1) in lane 1 → enemy demons in lane 1 get -2 DEF
Action
- Query def passive modifier on Duban
fused = make_fused_demon("013", "067", lane=0, owner=Side.PLAYER_1)
murmur = make_demon("002", lane=1, owner=Side.PLAYER_1)
sabnock = make_demon("003", lane=1, owner=Side.PLAYER_1)
duban = make_demon("001", lane=1, owner=Side.PLAYER_2)
state = make_game_state()
state = place_demon(state, fused)
state = place_demon(state, murmur)
state = place_demon(state, sabnock)
state = place_demon(state, duban)
duban_p = next(d for d in state.demons if d.unit_id == "001")
# Duban's own +5 DEF passive is registered by the preserve_registry fixture.
# Total = -2 (Eligos fused-bottom Flank) + 5 (Duban own) = 3.
total_def = get_passive_modifiers(state, duban_p, "def")
Expected Postconditions
- Duban receives -2 DEF from Eligos-fused-bottom aura (on top of any own passive)
Assertions
assert total_def == 3, (
f"Duban DEF must include -2 from Eligos-fused-bottom Flank and +5 from "
f"own Duban passive = 3. Got {total_def}."
)