ludic.npc (18.2): a person a crowd moves

npc_set_crowd hands a person to a crowd. Its walk no longer steps or asks the way: its want is goal_x / goal_z / goal_speed (0 when it is not walking). npc_moved hands back the crowd's place: position, ground, heading from velocity, gait. Arrival, the act and the give-up after twenty seconds without progress are unchanged. Nothing allocates. npc 16/16.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Orkun ÇAKILKAYA 2026-09-28 00:27:59 +03:00
parent 81b6782c9d
commit 074f10f302
5 changed files with 48 additions and 1 deletions

View file

@ -52,6 +52,10 @@ export property NpcPerson {
wtx: float = 0.0 # the target that corner was asked for: a new target asks again
wtz: float = 0.0
way_t: float = 0.0 # seconds until it asks the way again
crowd: bool = false # walked by the world's crowd (phase 18): it decides, the crowd moves it
goal_x: float = 0.0 # where it walks this tick and how fast (0 standing): what a crowd is handed
goal_z: float = 0.0
goal_speed: float = 0.0
detours: int = 0
fails: int = 0
stall: float = 0.0 # seconds walking without moving