✅ Duban not stacks with itself
| Category | Ability |
| Status | Passing |
| Test | tests/test_abilities_passive.py::test_duban_not_stacks_with_itself |
Two separate Duban units on the field. Each has its own +5 DEF —
Preconditions
-
Lane 0: P1's Duban (#001) instance A — READIED
-
Lane 0: P1's Duban (#001) instance B — READIED
Action
- Query get_effective_def for Duban A
result = get_effective_def(state, duban_a_on_field)
# Duban's passive is registered as a self-modifier (no "Other" check),
# but get_passive_modifiers only calls it for the queried demon.
# A second Duban doesn't grant aura DEF to the first.
Expected Postconditions
- Returns 5 (own passive only; Duban passive is self-only, not an aura)
Assertions
assert result == 5, f"Expected DEF=5 for single Duban passive (self-only), got {result}"