Skip to main content

✅ Omnipotence blocks quick ability

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