Skip to main content

✅ Focus applies plus 3 pwr status

CategoryAbility
StatusPassing
Testtests/test_abilities_complex.py::TestFocalorFocus::test_focus_applies_plus_3_pwr_status

Focus applies a +3 PWR status to Focalor that affects the next action.

Preconditions

  • P1 Main Phase, P1 has 3 AP

  • Lane 0: P1's Focalor (#069, PWR=2, 0 damage, READIED)

Action

  • Focalor activates Focus (ability_idx=1) — handler applies +3 PWR status
result = handler(state, focalor_p, [], {}, None)

focalor_after = next(d for d in result.demons if d.unit_id == "069")

pwr_mod = get_stat_modifier(result, focalor_after, "pwr")
def_mod = get_stat_modifier(result, focalor_after, "def")

Expected Postconditions

  • Focalor has a +3 PWR status effect (expires end of current main phase)

  • Focalor's effective PWR: 2 (base) + 3 (status) = 5

  • No -3 DEF status (that was the OLD text)

  • No phase-end bonus action granted (that was the OLD text)

Assertions

assert pwr_mod == 3, f"Focus must apply +3 PWR. Got {pwr_mod}."
assert def_mod == 0, f"NEW Focus applies NO -3 DEF (OLD text). Got {def_mod}."

assert get_effective_pwr(result, focalor_after) == 5, (
f"Focalor effective PWR = base 2 + status 3 = 5. Got {get_effective_pwr(result, focalor_after)}."
)
# No phase-end bonus-action marker set (old Focus set one; new Focus does not).
assert result.pending_bonus_actions in (None, []), (
"NEW Focus does NOT grant a phase-end bonus action (OLD behavior)."
)