fix(rules): scale the bull rush push distance with the margin
PF1e (SRD Bull Rush): "your target is pushed back 5 feet. For every 5 by which your attack exceeds your opponent's CMD you can push the target back an additional 5 feet." _bull_rush_push (and the explicit-direction branch) now walk 1 + margin//5 cells, stopping at the first obstacle; a natural-20 auto-success below CMD floors the margin at 0 (base push only). 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:
@@ -534,7 +534,7 @@ class TestBullRushLarge:
|
||||
t_state = make_state(target, "e", (3, 3))
|
||||
engine = make_engine([a_state, t_state])
|
||||
# Push direction: away from attacker (3,1) -> (3,3) means push right
|
||||
result = engine._bull_rush_push(a_state, t_state)
|
||||
result = engine._bull_rush_push(a_state, t_state, 1)
|
||||
if result:
|
||||
# Target moved 1 cell right
|
||||
assert t_state.pos == (3, 4)
|
||||
|
||||
Reference in New Issue
Block a user