Skip to content

five-on-it / packages/protocol/src/messages / AiReadout

Variable: AiReadout ​

const AiReadout: ZodObject<{ alert: ZodOptional<ZodString>; cameras: ZodOptional<ZodArray<ZodObject<{ index: ZodNumber; sees: ZodNumber; state: ZodString; yaw: ZodNumber; }, $strip>>>; npcs: ZodArray<ZodObject<{ distance: ZodNumber; eid: ZodNumber; mode: ZodString; seated: ZodBoolean; target: ZodNumber; x: ZodNumber; z: ZodNumber; }, $strip>>; pedestrians: ZodOptional<ZodArray<ZodObject<{ commute: ZodOptional<ZodEnum<{ about: "about"; home: "home"; work: "work"; }>>; eid: ZodNumber; homeX: ZodNumber; homeZ: ZodNumber; mode: ZodString; role: ZodString; x: ZodNumber; z: ZodNumber; }, $strip>>>; roles: ZodOptional<ZodArray<ZodObject<{ activity: ZodOptional<ZodString>; eid: ZodNumber; finished: ZodOptional<ZodBoolean>; indoors: ZodBoolean; leader: ZodOptional<ZodNumber>; passed: ZodOptional<ZodNumber>; riding: ZodOptional<ZodBoolean>; role: ZodString; safe: ZodOptional<ZodBoolean>; threatened: ZodOptional<ZodBoolean>; x: ZodNumber; z: ZodNumber; }, $strip>>>; sentries: ZodOptional<ZodArray<ZodObject<{ eid: ZodNumber; offGuard: ZodOptional<ZodBoolean>; phase: ZodString; role: ZodString; status: ZodString; suspicion: ZodNumber; target: ZodNumber; x: ZodNumber; yaw: ZodNumber; z: ZodNumber; }, $strip>>>; tick: ZodNumber; traffic: ZodOptional<ZodObject<{ cars: ZodArray<ZodObject<{ car: ZodNumber; driver: ZodNumber; group: ZodNumber; junction: ZodNumber; mode: ZodString; speed: ZodNumber; x: ZodNumber; z: ZodNumber; }, $strip>>; target: ZodNumber; walkers: ZodArray<ZodObject<{ eid: ZodNumber; mode: ZodString; x: ZodNumber; z: ZodNumber; }, $strip>>; }, $strip>>; type: ZodLiteral<"ai">; }, $strip>

Defined in: packages/protocol/src/messages.ts:573

The server's periodic word on its NPCs while debug commands are on: a text frame every half second with every chaser's mode and, while there is traffic, every ambient car's (the traffic lights need no word: their plan is the level's and the tick's), and while there is a crowd, every pedestrian's, and while there are guards or cameras, every guard's phase and status, every camera's state and the room's alert, and every NPC with a role or a schedule, for the HUD, the minimap and the end-to-end tests.