fix(rules): scale reposition and drag distance with the margin

PF1e (APG Reposition / Drag): "For every 5 by which your attack exceeds
your opponent's CMD, you can move/drag the target an additional 5 feet."
Both handlers now walk 1 + margin//5 cells along the chosen (or auto-picked)
direction, stopping at the first obstacle or occupied square, mirroring the
bull rush scaling. README 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:
2026-09-12 11:43:12 +02:00
parent f9420c7b09
commit 8043dd393c
3 changed files with 102 additions and 37 deletions
+8 -4
View File
@@ -1073,10 +1073,14 @@ Règles modélisées :
held in the hands (such as wielded weapons or wands) also cannot be taken
with the steal maneuver—you must use the disarm combat maneuver instead »),
une réussite ne vole rien (journalisé `nothing stealable — wielded weapons
require disarm`) ; reposition → déplacement de 5 ft de la
cible vers le premier voisin libre (direction sélectionnable via
`Action.direction`) ; drag → traction de 5 ft de la cible, l'attaquant
occupant sa case d'origine. `default_policy` ne
require disarm`) ; reposition → déplacement de la cible de 5 ft plus
« For every 5 by which your attack exceeds your opponent's CMD, you can
move the target an additional 5 feet » (APG « Reposition ») — `1 +
marge//5` cases le long de la direction choisie (premier voisin libre par
défaut, direction sélectionnable via `Action.direction`), stoppées au
premier obstacle ; drag → traction de la cible de 5 ft plus 5 ft
supplémentaires par 5 points d'excès sur le CMD (APG « Drag »), l'attaquant
occupant sa case d'origine, stoppée au premier obstacle. `default_policy` ne
choisit pas ces manœuvres (utilisables via `Action(kind="maneuver")` ou une
politique personnalisée).
- Combat Reflexes : 1 AoO par combattant par round par défaut ; avec le don Combat