fix(rules): combat maneuvers auto-succeed (natural 20) vs incapacitated targets
This commit is contained in:
@@ -4641,6 +4641,15 @@ class CombatEngine:
|
||||
attacker_cmb = self._maneuver_cmb(state) - pa_amt - grapple_penalty
|
||||
target_cmd = self._maneuver_cmd(target)
|
||||
roll = self._rng.d20()
|
||||
# PF1e (SRD Combat Maneuvers): "If your target is immobilized,
|
||||
# unconscious, or otherwise incapacitated, your maneuver
|
||||
# automatically succeeds (treat as if you rolled a natural 20 on
|
||||
# the attack roll)." The engine's incapacitated notion is the
|
||||
# helpless set (helpless/paralyzed/asleep/unconscious, CRB
|
||||
# "Conditions"); the natural 20 also feeds the margin-based
|
||||
# outcomes (bull rush / overrun / reposition / drag / dirty trick).
|
||||
if self._is_helpless(target):
|
||||
roll = _NATURAL_TWENTY
|
||||
# PF1e (CRB Combat Maneuvers): the provoked-AoO damage rides the
|
||||
# check total (floored at 0); natural 20/1 keep their rules below.
|
||||
total = max(0, roll + attacker_cmb - aoo_damage)
|
||||
|
||||
Reference in New Issue
Block a user