Skip to content

feat(runner): clip monster moves against other solid entities - #28

Merged
tannevaled merged 1 commit into
mainfrom
monster-move-entity-clip
Jul 6, 2026
Merged

feat(runner): clip monster moves against other solid entities#28
tannevaled merged 1 commit into
mainfrom
monster-move-entity-clip

Conversation

@tannevaled

Copy link
Copy Markdown
Contributor

Follow-up to #27. walkmove/movetogoal clipped only against the world (nil candidates), so monsters walked through each other and closed doors.

Gather the solid edicts near a step from the area tree — mirroring TraceLine's candidate build (skip self/world/SOLID_NOT; SOLID_BSP submodels carry their BrushModel) — and pass them to world.StepDirection / world.MoveToGoal so the move clips against them.

Verification

Deterministic unit test: a grounded monster that walks freely +X with no obstruction is stopped short (and does not overlap) by a solid slidebox placed in its destination.

🤖 Generated with Claude Code

walkmove/movetogoal (#27) clipped only against the world (nil candidates), so
monsters walked through each other and closed doors. Gather the solid edicts
near a step from the area tree -- mirroring TraceLine's candidate build (skip
self/world/SOLID_NOT; SOLID_BSP submodels carry their BrushModel) -- and pass
them to world.StepDirection / world.MoveToGoal so the move clips against them.

Verified by a deterministic unit test: a grounded monster that walks freely
+X with no obstruction is stopped short (and does not overlap) by a solid
slidebox placed in its destination.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@tannevaled
tannevaled merged commit d5f7220 into main Jul 6, 2026
7 checks passed
@tannevaled
tannevaled deleted the monster-move-entity-clip branch July 6, 2026 12:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant