fix(rules): natural weapons get no BAB iteratives, secondary attacks at -5
PF1e (CRB "Natural Attacks"): - Natural weapons (natural=true) get exactly one swing per full attack, regardless of BAB (no BAB iteratives for natural attacks). - Secondary natural attacks (secondary=true) attack at BAB -5; the Multiattack feat reduces this to -2. - Manifested in combat.py (_full_attack_weapon, _resolve_swing), models.py (AttackSpec.natural/secondary), 6 data JSONs, 4 new tests, and README documentation. 1461 passed, ruff clean, basedpyright 0 errors.
This commit is contained in:
@@ -647,9 +647,16 @@ Règles modélisées :
|
||||
résout `count` balayages indépendants dans la même action ; les balayages
|
||||
restants sont perdus si la cible tombe (inconsciente ou morte) en cours de
|
||||
rafale. Attaque à outrance (action à round complet) : à BAB +6/+11/+16, des
|
||||
attaques supplémentaires à -5/-10/-15 ; les armes naturelles (`count` > 1)
|
||||
ne gagnent pas d'itératifs. Plusieurs armes naturelles en une seule attaque
|
||||
à outrance ne sont pas modélisées.
|
||||
attaques supplémentaires à -5/-10/-15 pour les armes manufacturées. Les
|
||||
armes naturelles (`natural: true` dans le JSON — morsures, griffes, sabots,
|
||||
talons…) ne gagnent **jamais** d'itératifs : une attaque à outrance avec une
|
||||
arme naturelle résout **un seul** balayage quel que soit le BAB (CRB
|
||||
« Natural Attacks » : « You do not receive additional natural attacks for a
|
||||
high base attack bonus »). Une attaque naturelle marquée `secondary: true`
|
||||
(les attaques secondaires du bestiaire) frappe à **BAB −5** ; le don
|
||||
Multiattack réduit cette pénalité à **−2** (CRB « Natural Attacks » /
|
||||
« Multiattack »). Plusieurs armes naturelles en une seule attaque à outrance
|
||||
ne sont pas modélisées.
|
||||
Choix de l'arme : `Action(kind="attack", weapon_id=...)` et
|
||||
`Action(kind="full_attack", weapon_id=...)` frappent avec l'arme désignée
|
||||
(l'arc plutôt que l'épée, l'arme principale plutôt que la secondaire) au
|
||||
|
||||
Reference in New Issue
Block a user