Skip to content

five-on-it / packages/missions/src/schema / WhileRule

Variable: WhileRule ​

const WhileRule: ZodObject<{ enter: ZodOptional<ZodArray<ZodUnion<readonly [ZodObject<{ showText: ZodString; }, $strict>, ZodObject<{ sendMessage: ZodObject<{ from: ZodString; id: ZodOptional<...>; text: ZodString; }, $strict>; }, $strict>, ZodObject<{ setFlag: ZodString; }, $strict>, ZodObject<{ clearFlag: ZodString; }, $strict>, ZodObject<{ startTimer: ZodObject<{ id: ZodString; seconds: ZodNumber; }, $strict>; }, $strict>, ZodObject<{ stopTimer: ZodString; }, $strict>, ZodObject<{ add: ZodObject<{ counter: ZodString; value: ZodUnion<...>; }, $strict>; }, $strict>, ZodObject<{ set: ZodObject<{ counter: ZodString; value: ZodUnion<...>; }, $strict>; }, $strict>, ZodObject<{ spawn: ZodObject<{ at: ZodOptional<...>; count: ZodOptional<...>; group: ZodString; }, $strict>; }, $strict>, ZodObject<{ setWanted: ZodNumber; }, $strict>, ZodObject<{ give: ZodObject<{ count: ZodDefault<...>; item: ZodString; }, $strict>; }, $strict>, ZodObject<{ take: ZodObject<{ count: ZodOptional<...>; tag: ZodString; }, $strict>; }, $strict>, ZodObject<{ lock: ZodObject<{ door: ZodString; }, $strict>; }, $strict>, ZodObject<{ unlock: ZodObject<{ door: ZodString; }, $strict>; }, $strict>, ZodObject<{ lockVehicle: ZodString; }, $strict>, ZodObject<{ unlockVehicle: ZodString; }, $strict>, ZodObject<{ giveKey: ZodString; }, $strict>, ZodObject<{ spawnItem: ZodObject<{ at: ZodString; count: ZodDefault<...>; item: ZodString; }, $strict>; }, $strict>, ZodObject<{ alert: ZodObject<{ npc: ZodOptional<...>; }, $strict>; }, $strict>, ZodObject<{ calm: ZodObject<{ npc: ZodOptional<...>; }, $strict>; }, $strict>, ZodObject<{ cameraOff: ZodObject<{ camera: ZodString; }, $strict>; }, $strict>, ZodObject<{ cameraOn: ZodObject<{ camera: ZodString; }, $strict>; }, $strict>, ZodObject<{ reward: ZodObject<{ cash: ZodDefault<...>; rep: ZodDefault<...>; }, $strict>; }, $strict>, ZodObject<{ complete: ZodLiteral<true>; }, $strict>, ZodObject<{ fail: ZodUnion<readonly [ZodLiteral<...>, ZodObject<..., ...>]>; }, $strict>, ZodObject<{ win: ZodString; }, $strict>, ZodObject<{ message: ZodObject<{ choices: ZodOptional<...>; from: ZodString; id: ZodOptional<...>; text: ZodString; }, $strict>; }, $strict>, ZodObject<{ call: ZodObject<{ dialogue: ZodString; from: ZodString; }, $strict>; }, $strict>, ZodObject<{ addContact: ZodObject<{ contact: ZodString; dialogue: ZodOptional<...>; }, $strict>; }, $strict>, ZodObject<{ removeContact: ZodString; }, $strict>, ZodObject<{ installApp: ZodString; }, $strict>, ZodObject<{ removeApp: ZodString; }, $strict>, ZodObject<{ waypoint: ZodString; }, $strict>, ZodObject<{ clearWaypoint: ZodLiteral<true>; }, $strict>, ZodObject<{ setClock: ZodString; }, $strict>, ZodObject<{ setPace: ZodNumber; }, $strict>, ZodObject<{ setWeather: ZodObject<{ intensity: ZodDefault<...>; kind: ZodEnum<...>; minutes: ZodOptional<...>; over: ZodDefault<...>; }, $strict>; }, $strict>, ZodObject<{ skipTime: ZodObject<{ hours: ZodNumber; text: ZodOptional<...>; }, $strict>; }, $strict>, ZodObject<{ setSignal: ZodObject<{ group: ZodOptional<...>; junction: ZodString; seconds: ZodOptional<...>; state: ZodEnum<...>; }, $strict>; }, $strict>]>>>; every: ZodOptional<ZodObject<{ do: ZodArray<ZodUnion<readonly [ZodObject<{ showText: ZodString; }, $strict>, ZodObject<{ sendMessage: ZodObject<..., ...>; }, $strict>, ZodObject<{ setFlag: ZodString; }, $strict>, ZodObject<{ clearFlag: ZodString; }, $strict>, ZodObject<{ startTimer: ZodObject<..., ...>; }, $strict>, ZodObject<{ stopTimer: ZodString; }, $strict>, ZodObject<{ add: ZodObject<..., ...>; }, $strict>, ZodObject<{ set: ZodObject<..., ...>; }, $strict>, ZodObject<{ spawn: ZodObject<..., ...>; }, $strict>, ZodObject<{ setWanted: ZodNumber; }, $strict>, ZodObject<{ give: ZodObject<..., ...>; }, $strict>, ZodObject<{ take: ZodObject<..., ...>; }, $strict>, ZodObject<{ lock: ZodObject<..., ...>; }, $strict>, ZodObject<{ unlock: ZodObject<..., ...>; }, $strict>, ZodObject<{ lockVehicle: ZodString; }, $strict>, ZodObject<{ unlockVehicle: ZodString; }, $strict>, ZodObject<{ giveKey: ZodString; }, $strict>, ZodObject<{ spawnItem: ZodObject<..., ...>; }, $strict>, ZodObject<{ alert: ZodObject<..., ...>; }, $strict>, ZodObject<{ calm: ZodObject<..., ...>; }, $strict>, ZodObject<{ cameraOff: ZodObject<..., ...>; }, $strict>, ZodObject<{ cameraOn: ZodObject<..., ...>; }, $strict>, ZodObject<{ reward: ZodObject<..., ...>; }, $strict>, ZodObject<{ complete: ZodLiteral<...>; }, $strict>, ZodObject<{ fail: ZodUnion<...>; }, $strict>, ZodObject<{ win: ZodString; }, $strict>, ZodObject<{ message: ZodObject<..., ...>; }, $strict>, ZodObject<{ call: ZodObject<..., ...>; }, $strict>, ZodObject<{ addContact: ZodObject<..., ...>; }, $strict>, ZodObject<{ removeContact: ZodString; }, $strict>, ZodObject<{ installApp: ZodString; }, $strict>, ZodObject<{ removeApp: ZodString; }, $strict>, ZodObject<{ waypoint: ZodString; }, $strict>, ZodObject<{ clearWaypoint: ZodLiteral<...>; }, $strict>, ZodObject<{ setClock: ZodString; }, $strict>, ZodObject<{ setPace: ZodNumber; }, $strict>, ZodObject<{ setWeather: ZodObject<..., ...>; }, $strict>, ZodObject<{ skipTime: ZodObject<..., ...>; }, $strict>, ZodObject<{ setSignal: ZodObject<..., ...>; }, $strict>]>>; if: ZodOptional<ZodType<Condition, unknown, $ZodTypeInternals<Condition, unknown>>>; seconds: ZodNumber; }, $strict>>; exit: ZodOptional<ZodArray<ZodUnion<readonly [ZodObject<{ showText: ZodString; }, $strict>, ZodObject<{ sendMessage: ZodObject<{ from: ZodString; id: ZodOptional<...>; text: ZodString; }, $strict>; }, $strict>, ZodObject<{ setFlag: ZodString; }, $strict>, ZodObject<{ clearFlag: ZodString; }, $strict>, ZodObject<{ startTimer: ZodObject<{ id: ZodString; seconds: ZodNumber; }, $strict>; }, $strict>, ZodObject<{ stopTimer: ZodString; }, $strict>, ZodObject<{ add: ZodObject<{ counter: ZodString; value: ZodUnion<...>; }, $strict>; }, $strict>, ZodObject<{ set: ZodObject<{ counter: ZodString; value: ZodUnion<...>; }, $strict>; }, $strict>, ZodObject<{ spawn: ZodObject<{ at: ZodOptional<...>; count: ZodOptional<...>; group: ZodString; }, $strict>; }, $strict>, ZodObject<{ setWanted: ZodNumber; }, $strict>, ZodObject<{ give: ZodObject<{ count: ZodDefault<...>; item: ZodString; }, $strict>; }, $strict>, ZodObject<{ take: ZodObject<{ count: ZodOptional<...>; tag: ZodString; }, $strict>; }, $strict>, ZodObject<{ lock: ZodObject<{ door: ZodString; }, $strict>; }, $strict>, ZodObject<{ unlock: ZodObject<{ door: ZodString; }, $strict>; }, $strict>, ZodObject<{ lockVehicle: ZodString; }, $strict>, ZodObject<{ unlockVehicle: ZodString; }, $strict>, ZodObject<{ giveKey: ZodString; }, $strict>, ZodObject<{ spawnItem: ZodObject<{ at: ZodString; count: ZodDefault<...>; item: ZodString; }, $strict>; }, $strict>, ZodObject<{ alert: ZodObject<{ npc: ZodOptional<...>; }, $strict>; }, $strict>, ZodObject<{ calm: ZodObject<{ npc: ZodOptional<...>; }, $strict>; }, $strict>, ZodObject<{ cameraOff: ZodObject<{ camera: ZodString; }, $strict>; }, $strict>, ZodObject<{ cameraOn: ZodObject<{ camera: ZodString; }, $strict>; }, $strict>, ZodObject<{ reward: ZodObject<{ cash: ZodDefault<...>; rep: ZodDefault<...>; }, $strict>; }, $strict>, ZodObject<{ complete: ZodLiteral<true>; }, $strict>, ZodObject<{ fail: ZodUnion<readonly [ZodLiteral<...>, ZodObject<..., ...>]>; }, $strict>, ZodObject<{ win: ZodString; }, $strict>, ZodObject<{ message: ZodObject<{ choices: ZodOptional<...>; from: ZodString; id: ZodOptional<...>; text: ZodString; }, $strict>; }, $strict>, ZodObject<{ call: ZodObject<{ dialogue: ZodString; from: ZodString; }, $strict>; }, $strict>, ZodObject<{ addContact: ZodObject<{ contact: ZodString; dialogue: ZodOptional<...>; }, $strict>; }, $strict>, ZodObject<{ removeContact: ZodString; }, $strict>, ZodObject<{ installApp: ZodString; }, $strict>, ZodObject<{ removeApp: ZodString; }, $strict>, ZodObject<{ waypoint: ZodString; }, $strict>, ZodObject<{ clearWaypoint: ZodLiteral<true>; }, $strict>, ZodObject<{ setClock: ZodString; }, $strict>, ZodObject<{ setPace: ZodNumber; }, $strict>, ZodObject<{ setWeather: ZodObject<{ intensity: ZodDefault<...>; kind: ZodEnum<...>; minutes: ZodOptional<...>; over: ZodDefault<...>; }, $strict>; }, $strict>, ZodObject<{ skipTime: ZodObject<{ hours: ZodNumber; text: ZodOptional<...>; }, $strict>; }, $strict>, ZodObject<{ setSignal: ZodObject<{ group: ZodOptional<...>; junction: ZodString; seconds: ZodOptional<...>; state: ZodEnum<...>; }, $strict>; }, $strict>]>>>; while: ZodType<Condition, unknown, $ZodTypeInternals<Condition, unknown>>; }, $strict>

Defined in: packages/missions/src/schema.ts:1360

While a condition holds (checked on every step of the interpreter, ten times a second): the enter actions when it starts to, the every actions each seconds after that (when their own if holds), the exit actions when it stops.