five-on-it / packages/protocol/src/platform / GameArtifact
Variable: GameArtifact
constGameArtifact:ZodObject<{game:ZodObject<{blurb:ZodOptional<ZodString>;id:ZodString;level:ZodString;missions:ZodDefault<ZodArray<ZodObject<{actors:ZodDefault<ZodArray<ZodDiscriminatedUnion<..., ...>>>;apps:ZodDefault<ZodArray<ZodObject<..., ...>>>;blurb:ZodOptional<ZodString>;contacts:ZodDefault<ZodArray<ZodObject<..., ...>>>;counters:ZodDefault<ZodRecord<ZodString,ZodNumber>>;dialogues:ZodDefault<ZodArray<ZodObject<..., ...>>>;helpline:ZodOptional<ZodString>;id:ZodString;items:ZodDefault<ZodArray<ZodObject<..., ...>>>;objectives:ZodArray<ZodDiscriminatedUnion<[..., ..., ...],"verb">>;play:ZodOptional<ZodObject<{ambient: ...;friendlyFire: ...;joinInProgress: ...;lives: ...;mode: ...;onDeath: ...;players: ...;respect: ...;retries: ...;teams: ...; },$strict>>;reward:ZodOptional<ZodObject<{cash: ...;rep: ...; },$strict>>;rules:ZodDefault<ZodArray<ZodUnion<...>>>;start:ZodDefault<ZodUnion<readonly [..., ...]>>;stealth:ZodOptional<ZodObject<{bonus: ...;unseen: ...;withoutAlerts: ...;withoutKills: ...; },$strict>>;title:ZodString; },$strict>>>;paths:ZodDefault<ZodRecord<ZodString,ZodUnion<readonly [ZodObject<{gates:ZodArray<...>;laps:ZodDefault<...>; },$strict>,ZodObject<{loop:ZodDefault<...>;patrol:ZodArray<...>; },$strict>]>>>;places:ZodDefault<ZodRecord<ZodString,ZodObject<{name:ZodOptional<ZodString>;role:ZodOptional<ZodEnum<{guards: ...;hospital: ...;players: ...;police: ...;traffic: ...; }>>;tags:ZodOptional<ZodArray<ZodString>>;x:ZodNumber;y:ZodOptional<ZodNumber>;yaw:ZodOptional<ZodNumber>;z:ZodNumber; },$strict>>>;rules:ZodPrefault<ZodObject<{clock:ZodOptional<ZodObject<{pace:ZodDefault<...>;start:ZodDefault<...>; },$strict>>;dropMissionItems:ZodDefault<ZodBoolean>;fallDamage:ZodDefault<ZodBoolean>;garages:ZodOptional<ZodObject<{respray:ZodOptional<...>;store:ZodOptional<...>; },$strict>>;ghostSeconds:ZodDefault<ZodNumber>;loadout:ZodOptional<ZodArray<ZodObject<{count: ...;item: ...;slot: ...; },$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<...>;climate:ZodOptional<...>;intensity:ZodDefault<...>;start:ZodOptional<...>; },$strict>>; },$strict>>;schemaVersion:ZodOptional<ZodNumber>;title:ZodString;zones:ZodDefault<ZodRecord<ZodString,ZodObject<{kind:ZodOptional<ZodEnum<{checkpoint: ...;dropoff: ...;pickup: ...;race_gate: ...;restricted: ...;safe: ...;spawn: ...; }>>;place:ZodString;radius:ZodNumber;raises:ZodOptional<ZodEnum<{alert: ...;heat: ...; }>>;role:ZodOptional<ZodEnum<{guards: ...;hospital: ...;players: ...;police: ...;traffic: ...; }>>; },$strict>>>; },$strict>;level:ZodObject<{data:ZodObject<{cameras:ZodOptional<ZodArray<ZodObject<{name:ZodString;period:ZodNumber;range:ZodNumber;sweep:ZodNumber;x:ZodNumber;y:ZodNumber;yaw:ZodNumber;z:ZodNumber; },$strip>>>;containers:ZodOptional<ZodArray<ZodObject<{items:ZodArray<...>;kind:ZodEnum<...>;lock:ZodOptional<...>;name:ZodString;x:ZodNumber;y:ZodNumber;yaw:ZodNumber;z:ZodNumber; },$strip>>>;districts:ZodOptional<ZodArray<ZodObject<{areas:ZodArray<...>;name:ZodString;pedestrians:ZodOptional<...>;theme:ZodOptional<...>;title:ZodString; },$strip>>>;doors:ZodOptional<ZodArray<ZodObject<{depth:ZodNumber;height:ZodNumber;kind:ZodOptional<...>;lock:ZodOptional<...>;name:ZodString;width:ZodNumber;x:ZodNumber;y:ZodNumber;yaw:ZodNumber;z:ZodNumber; },$strip>>>;dummies:ZodArray<ZodObject<{x:ZodNumber;y:ZodNumber;yaw:ZodNumber;z:ZodNumber; },$strip>>;escalators:ZodOptional<ZodArray<ZodObject<{height:ZodNumber;length:ZodNumber;name:ZodString;up:ZodBoolean;width:ZodNumber;x:ZodNumber;y:ZodNumber;yaw:ZodNumber;z:ZodNumber; },$strip>>>;garages:ZodOptional<ZodArray<ZodObject<{depth:ZodNumber;height:ZodNumber;name:ZodString;respray:ZodOptional<...>;store:ZodOptional<...>;width:ZodNumber;x:ZodNumber;y:ZodNumber;yaw:ZodNumber;z:ZodNumber; },$strip>>>;groundHalfSize:ZodNumber;ladders:ZodOptional<ZodArray<ZodObject<{height:ZodNumber;name:ZodString;x:ZodNumber;y:ZodNumber;yaw:ZodNumber;z:ZodNumber; },$strip>>>;lifts:ZodOptional<ZodArray<ZodObject<{depth:ZodNumber;name:ZodString;stops:ZodArray<...>;width:ZodNumber;x:ZodNumber;y:ZodNumber;yaw:ZodNumber;z:ZodNumber; },$strip>>>;meshes:ZodRecord<ZodString,ZodObject<{groups:ZodArray<ZodObject<..., ...>>;indices:ZodArray<ZodNumber>;vertices:ZodArray<ZodNumber>; },$strip>>;nailStrips:ZodArray<ZodObject<{length:ZodNumber;x:ZodNumber;yaw:ZodNumber;z:ZodNumber; },$strip>>;npcs:ZodOptional<ZodArray<ZodObject<{items:ZodArray<...>;loop:ZodOptional<...>;name:ZodString;patrol:ZodOptional<...>;refuge:ZodOptional<...>;role:ZodEnum<...>;schedule:ZodOptional<...>;turn:ZodOptional<...>;vehicle:ZodOptional<...>;weapon:ZodString;x:ZodNumber;y:ZodNumber;yaw:ZodNumber;z:ZodNumber; },$strip>>>;placements:ZodArray<ZodObject<{breakable:ZodOptional<ZodNumber>;kind:ZodEnum<{building: ...;prop: ...;structure: ...;terrain: ...; }>;mesh:ZodString;name:ZodString;pitch:ZodNumber;scale:ZodTuple<[..., ..., ...],null>;shape:ZodEnum<{hull: ...;none: ...;trimesh: ...; }>;x:ZodNumber;y:ZodNumber;yaw:ZodNumber;z:ZodNumber; },$strip>>;roads:ZodArray<ZodObject<{kind:ZodOptional<ZodEnum<...>>;lanes:ZodNumber;lanesBack:ZodNumber;name:ZodString;points:ZodArray<ZodTuple<..., ...>>;speed:ZodNumber;surface:ZodOptional<ZodLiteral<...>>;width:ZodNumber; },$strip>>;schemaVersion:ZodOptional<ZodNumber>;shops:ZodOptional<ZodArray<ZodObject<{items:ZodArray<...>;name:ZodString;x:ZodNumber;y:ZodNumber;yaw:ZodNumber;z:ZodNumber; },$strip>>>;sky:ZodOptional<ZodObject<{climate:ZodString;clock:ZodOptional<ZodObject<..., ...>>; },$strip>>;spawners:ZodOptional<ZodArray<ZodObject<{classes:ZodArray<...>;key:ZodString;locked:ZodBoolean;name:ZodString;owner:ZodEnum<...>;respawn:ZodNumber;x:ZodNumber;y:ZodNumber;yaw:ZodNumber;z:ZodNumber; },$strip>>>;spawns:ZodArray<ZodObject<{role:ZodOptional<ZodEnum<...>>;x:ZodNumber;y:ZodNumber;yaw:ZodNumber;z:ZodNumber; },$strip>>;water:ZodOptional<ZodArray<ZodObject<{depth:ZodNumber;kind:ZodEnum<...>;name:ZodString;width:ZodNumber;x:ZodNumber;y:ZodNumber;z:ZodNumber; },$strip>>>; },$strip>;name:ZodString; },$strip>;manifest:ZodOptional<ZodObject<{game:ZodNumber;generator:ZodOptional<ZodObject<{blender:ZodOptional<ZodString>;release:ZodString;scripts:ZodOptional<ZodString>; },$strip>>;level:ZodNumber;protocol:ZodNumber;release:ZodString; },$strip>>; },$strip>
Defined in: packages/protocol/src/platform.ts:91
A built game: its level's data and its game document, and what it was built with (absent from games built before 0.54).