Skip to content

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

Variable: GameDoc ​

const GameDoc: ZodObject<{ blurb: ZodOptional<ZodString>; id: ZodString; level: ZodString; missions: ZodDefault<ZodArray<ZodObject<{ actors: ZodDefault<ZodArray<ZodDiscriminatedUnion<[ZodObject<..., ...>, ZodObject<..., ...>, ZodObject<..., ...>], "type">>>; apps: ZodDefault<ZodArray<ZodObject<{ id: ZodString; name: ZodString; screens: ZodArray<...>; }, $strict>>>; blurb: ZodOptional<ZodString>; contacts: ZodDefault<ZodArray<ZodObject<{ id: ZodString; name: ZodString; }, $strict>>>; counters: ZodDefault<ZodRecord<ZodString, ZodNumber>>; dialogues: ZodDefault<ZodArray<ZodObject<{ id: ZodString; nodes: ZodArray<...>; }, $strict>>>; helpline: ZodOptional<ZodString>; id: ZodString; items: ZodDefault<ZodArray<ZodObject<{ actions: ZodDefault<...>; heal: ZodOptional<...>; id: ZodString; name: ZodString; price: ZodOptional<...>; stack: ZodDefault<...>; tags: ZodDefault<...>; }, $strict>>>; objectives: ZodArray<ZodDiscriminatedUnion<[ZodObject<{ checkpoint: ...; failText: ...; hint: ...; id: ...; marker: ...; next: ...; team: ...; text: ...; timeLimit: ...; to: ...; verb: ...; }, $strict>, ZodObject<{ checkpoint: ...; failText: ...; hint: ...; id: ...; marker: ...; next: ...; target: ...; team: ...; text: ...; timeLimit: ...; verb: ...; }, $strict>, ZodObject<{ checkpoint: ...; count: ...; failText: ...; hint: ...; id: ...; item: ...; marker: ...; maxDamage: ...; next: ...; team: ...; text: ...; timeLimit: ...; to: ...; vehicle: ...; verb: ...; }, $strict>], "verb">>; play: ZodOptional<ZodObject<{ ambient: ZodOptional<ZodObject<..., ...>>; friendlyFire: ZodDefault<ZodBoolean>; joinInProgress: ZodDefault<ZodEnum<...>>; lives: ZodOptional<ZodObject<..., ...>>; mode: ZodEnum<{ coop: ...; solo: ...; versus: ...; }>; onDeath: ZodOptional<ZodEnum<...>>; players: ZodOptional<ZodObject<..., ...>>; respect: ZodOptional<ZodObject<..., ...>>; retries: ZodOptional<ZodNumber>; teams: ZodOptional<ZodUnion<...>>; }, $strict>>; reward: ZodOptional<ZodObject<{ cash: ZodDefault<ZodNumber>; rep: ZodDefault<ZodNumber>; }, $strict>>; rules: ZodDefault<ZodArray<ZodUnion<readonly [ZodObject<..., ...>, ZodObject<..., ...>]>>>; start: ZodDefault<ZodUnion<readonly [ZodObject<{ on: ...; }, $strict>, ZodObject<{ on: ...; zone: ...; }, $strict>]>>; stealth: ZodOptional<ZodObject<{ bonus: ZodOptional<ZodObject<..., ...>>; unseen: ZodOptional<ZodEnum<...>>; withoutAlerts: ZodOptional<ZodEnum<...>>; withoutKills: ZodOptional<ZodEnum<...>>; }, $strict>>; title: ZodString; }, $strict>>>; paths: ZodDefault<ZodRecord<ZodString, ZodUnion<readonly [ZodObject<{ gates: ZodArray<ZodString>; laps: ZodDefault<ZodNumber>; }, $strict>, ZodObject<{ loop: ZodDefault<ZodBoolean>; patrol: ZodArray<ZodString>; }, $strict>]>>>; places: ZodDefault<ZodRecord<ZodString, ZodObject<{ name: ZodOptional<ZodString>; role: ZodOptional<ZodEnum<{ guards: "guards"; hospital: "hospital"; players: "players"; police: "police"; traffic: "traffic"; }>>; tags: ZodOptional<ZodArray<ZodString>>; x: ZodNumber; y: ZodOptional<ZodNumber>; yaw: ZodOptional<ZodNumber>; z: ZodNumber; }, $strict>>>; rules: ZodPrefault<ZodObject<{ clock: ZodOptional<ZodObject<{ pace: ZodDefault<ZodNumber>; start: ZodDefault<ZodString>; }, $strict>>; dropMissionItems: ZodDefault<ZodBoolean>; fallDamage: ZodDefault<ZodBoolean>; garages: ZodOptional<ZodObject<{ respray: ZodOptional<ZodNumber>; store: ZodOptional<ZodNumber>; }, $strict>>; ghostSeconds: ZodDefault<ZodNumber>; loadout: ZodOptional<ZodArray<ZodObject<{ count: ZodDefault<ZodNumber>; item: ZodString; slot: ZodOptional<ZodNumber>; }, $strict>>>; maxPlayers: ZodDefault<ZodNumber>; partyRewards: ZodDefault<ZodEnum<{ shared: "shared"; split: "split"; }>>; phone: ZodDefault<ZodBoolean>; playerDamage: ZodDefault<ZodEnum<{ off: "off"; on: "on"; rivals: "rivals"; }>>; police: ZodDefault<ZodBoolean>; prices: ZodOptional<ZodRecord<ZodString, ZodNumber>>; respawn: ZodDefault<ZodEnum<{ hospital: "hospital"; mission: "mission"; }>>; safeZones: ZodDefault<ZodArray<ZodString>>; traffic: ZodDefault<ZodNumber>; vehicleFire: ZodDefault<ZodBoolean>; weather: ZodOptional<ZodObject<{ changes: ZodDefault<ZodBoolean>; climate: ZodOptional<ZodEnum<{ alpine: ...; autumn: ...; coast: ...; desert: ...; farmland: ...; forest: ...; meadow: ...; none: ...; steppe: ...; temperate: ...; }>>; intensity: ZodDefault<ZodNumber>; start: ZodOptional<ZodEnum<{ clear: ...; fog: ...; overcast: ...; rain: ...; snow: ...; storm: ...; }>>; }, $strict>>; }, $strict>>; schemaVersion: ZodOptional<ZodNumber>; title: ZodString; zones: ZodDefault<ZodRecord<ZodString, ZodObject<{ kind: ZodOptional<ZodEnum<{ checkpoint: "checkpoint"; dropoff: "dropoff"; pickup: "pickup"; race_gate: "race_gate"; restricted: "restricted"; safe: "safe"; spawn: "spawn"; }>>; place: ZodString; radius: ZodNumber; raises: ZodOptional<ZodEnum<{ alert: "alert"; heat: "heat"; }>>; role: ZodOptional<ZodEnum<{ guards: "guards"; hospital: "hospital"; players: "players"; police: "police"; traffic: "traffic"; }>>; }, $strict>>>; }, $strict>

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

A game: a level, its places, zones and paths, its rules and its missions.