✅ Omnipotence blocks quick ability
| Category | Ability |
| Status | Passing |
| Test | tests/test_abilities_complex.py::TestPaimonOmnipotence::test_omnipotence_blocks_quick_ability |
Paimon tries to borrow a Quick-timed ability via Omnipotence.
Preconditions
-
P1 Main Phase
-
Lane 0: P1's Paimon (#095) — READIED
-
P1's hand contains Sabnock (#003) which has Pink Haze (Quick, idx=0)
-
Lane 0: P2's Duban (#001) — target
Action
- Paimon uses Omnipotence revealing Sabnock, borrowing idx=0 (Quick)
result = handler(state, paimon_in, [duban_in], {
"revealed_unit_id": "003",
"borrowed_ability_idx": 0,
"borrowed_targets": [duban_in],
}, None)
# Pink Haze should NOT have fired (Quick blocked)
duban_after = next(d for d in result.demons if d.unit_id == "001")
from engine.status_effects import get_stat_modifier
pwr_mod = get_stat_modifier(result, duban_after, "pwr")
Expected Postconditions
-
No-op — Quick ability blocked
-
Duban: 0 damage, no status effects (Pink Haze did not fire)
Assertions
assert pwr_mod == 0, (
f"Quick ability should be blocked by Omnipotence. Duban has PWR mod {pwr_mod}"
)