fix(rules): apply the power attack penalty to melee touch attacks
PF1e (CRB Power Attack): "take a -1 penalty on all melee attack rolls ... The bonus damage does not apply to touch attacks." A melee touch (kind "touch", no range increment) is a melee attack, so _power_attack_amt now rides its attack and confirmation rolls; the +2X/+3X damage bonus stays gated on kind == "melee". Ranged attacks and rays are unaffected. The test that pinned the old melee-weapon-only simplification was rewritten to lock the corrected behavior; README and abilities.py updated. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -743,8 +743,11 @@ Règles modélisées :
|
||||
ex. le contact paralysant du liche) n'en fait rien. Conformance P2 : le
|
||||
contact de mêlée (touch sans incrément) est une **attaque de mêlée** — il
|
||||
bénéficie du flanquement, de la hauteur (+1), du +4 contre une cible inerme
|
||||
et peut porter une attaque sournoise ; Power Attack reste réservé aux armes
|
||||
de mêlée (le contact n'en bénéficie pas).
|
||||
et peut porter une attaque sournoise ; Power Attack (conformance A6 — CRB :
|
||||
« a –1 penalty on all melee attack rolls… The bonus damage does not apply to
|
||||
touch attacks ») s'applique à **la touche** du contact de mêlée (pénalité −X
|
||||
au jet d'attaque et de confirmation) mais son bonus de dégâts reste réservé
|
||||
aux armes de mêlée (le contact ne gagne pas le +2X/+3X).
|
||||
- Jets de sauvegarde : `resolve_save(state, save_type, dc)` — fort/ref/will.
|
||||
1 naturel = échec automatique, 20 naturel = succès automatique. Les
|
||||
modificateurs d'effets (`StatModifier` avec `target` correspondant) sont
|
||||
@@ -1205,7 +1208,9 @@ la lecture mais non appliquée dans la résolution.
|
||||
- `abilities.py` — dons et capacités : `AbilitySpec` (dataclass avec
|
||||
catégorie feat/class/racial/trait) et fabriques de dons (Weapon Focus ciblé
|
||||
par arme, Toughness lié au niveau, Power Attack actif −X attaque / +2X
|
||||
dégâts, X = BAB//4 + 1, mêlée uniquement, activé comme action libre via le
|
||||
dégâts, X = BAB//4 + 1 — la pénalité −X vise toutes les attaques de mêlée
|
||||
(contact de mêlée inclus, conformance A6), le bonus de dégâts uniquement les
|
||||
armes de mêlée —, activé comme action libre via le
|
||||
kind `activate_power_attack` qui pose `state.power_attack`). Conformance
|
||||
B16 (CRB « Power Attack ») : le bonus de dégâts passe à **+3X (×1,5)** pour
|
||||
une arme marquée `two_handed: true` dans le JSON de l'attaque (arme à deux
|
||||
|
||||
Reference in New Issue
Block a user