feat(combat): allow selecting the attacking weapon
This commit is contained in:
@@ -367,7 +367,8 @@ Règles modélisées :
|
||||
`ok=False, reason="already_delayed"` ; préparation valide →
|
||||
`ok=True, reason="ready"` ; relèvement sans `prone` → `ok=False,
|
||||
reason="not_prone"` ; se jeter à terre déjà `prone` → `ok=False,
|
||||
reason="already_prone"`.
|
||||
reason="already_prone"` ; attaque avec un `weapon_id` choisi inutilisable →
|
||||
`ok=False, reason="weapon_unavailable"`.
|
||||
- Attaques multiples par action : une arme avec `count` > 1 (« 2x Talons »)
|
||||
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
|
||||
@@ -375,6 +376,16 @@ Règles modélisées :
|
||||
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.
|
||||
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
|
||||
lieu de l'arme auto-sélectionnée par `weapon_for` (première arme utilisable
|
||||
capable de toucher la cible à cette distance avec ligne d'effet).
|
||||
L'`id` doit désigner une arme utilisable (non brisée, non volée) pouvant
|
||||
atteindre la cible ; sinon l'action est rejetée (`weapon_unavailable`) et
|
||||
aucun jet n'est effectué. Sans `weapon_id`, la sélection automatique est
|
||||
inchangée. `default_policy` ne choisit pas d'arme (disponible via une
|
||||
politique personnalisée).
|
||||
- Mêlée : allonge effective = max(allonge naturelle du gabarit (Small/Medium
|
||||
5 ft, Large 10 ft, Huge 15 ft, Gargantuan 20 ft, Colossal 30 ft), `reach_ft`
|
||||
de l'arme). Une arme à allonge (`reach_ft` > 5) menace l'anneau de cases à
|
||||
|
||||
Reference in New Issue
Block a user