Skip to content

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

Variable: Play ​

const Play: ZodObject<{ ambient: ZodOptional<ZodObject<{ pedestrians: ZodOptional<ZodNumber>; traffic: ZodOptional<ZodNumber>; }, $strict>>; friendlyFire: ZodDefault<ZodBoolean>; joinInProgress: ZodDefault<ZodEnum<{ always: "always"; never: "never"; untilCheckpoint: "untilCheckpoint"; }>>; lives: ZodOptional<ZodObject<{ count: ZodNumber; per: ZodEnum<{ player: "player"; team: "team"; }>; }, $strict>>; mode: ZodEnum<{ coop: "coop"; solo: "solo"; versus: "versus"; }>; onDeath: ZodOptional<ZodEnum<{ checkpoint: "checkpoint"; spectate: "spectate"; teamSpawn: "teamSpawn"; }>>; players: ZodOptional<ZodObject<{ max: ZodNumber; min: ZodNumber; }, $strict>>; respect: ZodOptional<ZodObject<{ min: ZodNumber; }, $strict>>; retries: ZodOptional<ZodNumber>; teams: ZodOptional<ZodUnion<readonly [ZodArray<ZodObject<{ id: ZodString; name: ZodOptional<ZodString>; players: ZodOptional<ZodObject<{ max: ...; min: ...; }, $strict>>; spawn: ZodOptional<ZodString>; }, $strict>>, ZodLiteral<"each">]>>; }, $strict>

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

How a mission is played (GAME_DESIGN §13, TECHNICAL_SPECS §9.5), when it is anything but solo: its mode, the players it takes (players: a solo mission one, a co-op one 2 to 4, a versus one 2 to 8 unless it says), its teams (a co-op mission one, crew; a versus one two or more, or each: a free-for-all, every player a team of their own), whether a player may join a run under way (joinInProgress: never, until the first checkpoint, always), the Respect it asks of its players (respect: a tier, 1 to 5), the lives a run has (lives: so many per player or per team; unlimited when absent), what a death does (onDeath: back at the last checkpoint, co-op's default; back at the team's spawn, versus'; or out of the run to watch a teammate, spectate), how many times a failed run goes back to its last checkpoint before it ends failed (retries, 2 when absent; none in versus, which never fails: a team wins, or it is a draw), whether teammates hurt each other (friendlyFire), and the ambient life of the run's room (ambient: so many cars and pedestrians; a quarter of the city's when absent). A mission without one is solo, played in the open city as every mission always was.