five-on-it / packages/missions/src/schema / GameDoc
Variable: GameDoc
constGameDoc: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.