fix(rules): use the attacker's best corner for cover bonus
SRD 'Cover': 'To determine whether your target has cover from your ranged attack, choose a corner of your square.' The ranged scorer in cover_bonus_cells took the MAX over all attacker corners (worst corner); the cover gate has_cover_cells and RAW use the attacker's best corner. Ranged cells are now scored min over attacker corners of (max over target-corner lines), then min over attacker cells - the bonus can no longer exceed what the gate admits. Melee keeps the worst-corner rule ('any line from ANY corner of your square'). Updated the two pins that locked the old worst-corner scores.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -693,17 +693,26 @@ Règles modélisées :
|
||||
(+2 partiel, +4 standard, +8 amélioré via `cover_bonus`) sur la touche et la
|
||||
confirmation de critique ; couvert mou : une créature active entre
|
||||
l'attaquant et la cible octroie aussi +4 CA aux attaques à distance (les
|
||||
attaques de mêlée ignorent les créatures). Conformance B20 (CRB « Cover »,
|
||||
règle des coins) : c'est **l'attaquant qui choisit son meilleur coin** —
|
||||
une créature multi-cases (Large +) ne subit que le couvert de SA meilleure
|
||||
case occupée (minimum sur ses cases), pas le pire. Côté cible : à distance,
|
||||
toute ligne vers tout coin des cases de la cible compte (maximum sur les
|
||||
coins de la cible) ; **en mêlée**, l'attaquant peut choisir n'importe
|
||||
quelle case occupée par une créature multi-cases pour déterminer le couvert
|
||||
(conformance A5 — CRB « Big Creatures and Cover » : « when making a melee
|
||||
attack against such a creature, you can pick any of the squares it occupies
|
||||
to determine if it has cover against you ») — le score est donc le minimum
|
||||
sur les cases de la cible en mêlée, le maximum à distance.
|
||||
attaques de mêlée ignorent les créatures). Conformance B20 (CRB « Cover »,
|
||||
règle des coins) : c'est **l'attaquant qui choisit son meilleur coin** —
|
||||
conformance L9 (`los.py`, `cover_bonus_cells`) : à distance, le score de
|
||||
chaque case attaquante est le **minimum sur ses quatre coins** de (maximum
|
||||
sur les lignes vers les coins de la cible) — « choose a corner of your
|
||||
square » — puis le minimum sur les cases de l'attaquant ; un créneau
|
||||
n'est donc jamais compté contre l'attaquant si l'un de ses coins l'évite
|
||||
(le bonus reste cohérent avec la porte `has_cover_cells`, qui teste déjà
|
||||
« tout coin de l'attaquant »). Une créature multi-cases (Large +)
|
||||
ne subit que le couvert de SA meilleure
|
||||
case occupée (minimum sur ses cases), pas le pire. Côté cible : à distance,
|
||||
toute ligne vers tout coin des cases de la cible compte (maximum sur les
|
||||
coins de la cible) ; **en mêlée**, l'attaquant peut choisir n'importe
|
||||
quelle case occupée par une créature multi-cases pour déterminer le couvert
|
||||
(conformance A5 — CRB « Big Creatures and Cover » : « when making a melee
|
||||
attack against such a creature, you can pick any of the squares it occupies
|
||||
to determine if it has cover against you ») — le score est donc le minimum
|
||||
sur les cases de la cible en mêlée, le maximum à distance. En mêlée, la
|
||||
règle du pire coin attaquant est conservée (« any line from ANY corner of
|
||||
your square »).
|
||||
- Flanquement : +2 au jet d'attaque de mêlée (toucher de mêlée inclus, voir
|
||||
« Touch AC ») si un allié actif menace réellement la cible depuis la
|
||||
bordure ou le coin opposé — conformance P2 : l'allié doit **menacer** une
|
||||
|
||||
Reference in New Issue
Block a user