Skip to content

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

Variable: GroupObjective ​

const GroupObjective: ZodObject<{ checkpoint: ZodOptional<ZodBoolean>; failIf: ZodOptional<ZodType<Condition, unknown, $ZodTypeInternals<Condition, unknown>>>; failText: ZodOptional<ZodString>; hint: ZodOptional<ZodString>; id: ZodString; marker: ZodOptional<ZodString>; need: ZodOptional<ZodNumber>; next: ZodOptional<ZodObject<{ done: ZodOptional<ZodUnion<readonly [ZodString, ZodString]>>; failed: ZodOptional<ZodUnion<readonly [ZodString, ZodString]>>; }, $strict>>; objectives: ZodArray<ZodDiscriminatedUnion<[ZodObject<{ checkpoint: ZodOptional<ZodBoolean>; failText: ZodOptional<ZodString>; hint: ZodOptional<ZodString>; id: ZodString; marker: ZodOptional<ZodString>; next: ZodOptional<ZodObject<{ done: ZodOptional<...>; failed: ZodOptional<...>; }, $strict>>; team: ZodOptional<ZodString>; text: ZodOptional<ZodString>; timeLimit: ZodOptional<ZodNumber>; to: ZodString; verb: ZodLiteral<"goto">; }, $strict>, ZodObject<{ checkpoint: ZodOptional<ZodBoolean>; failText: ZodOptional<ZodString>; hint: ZodOptional<ZodString>; id: ZodString; marker: ZodOptional<ZodString>; next: ZodOptional<ZodObject<{ done: ZodOptional<...>; failed: ZodOptional<...>; }, $strict>>; target: ZodString; team: ZodOptional<ZodString>; text: ZodOptional<ZodString>; timeLimit: ZodOptional<ZodNumber>; verb: ZodLiteral<"steal_vehicle">; }, $strict>, ZodObject<{ checkpoint: ZodOptional<ZodBoolean>; count: ZodOptional<ZodNumber>; failText: ZodOptional<ZodString>; hint: ZodOptional<ZodString>; id: ZodString; item: ZodOptional<ZodString>; marker: ZodOptional<ZodString>; maxDamage: ZodOptional<ZodNumber>; next: ZodOptional<ZodObject<{ done: ZodOptional<...>; failed: ZodOptional<...>; }, $strict>>; team: ZodOptional<ZodString>; text: ZodOptional<ZodString>; timeLimit: ZodOptional<ZodNumber>; to: ZodString; vehicle: ZodOptional<ZodString>; verb: ZodLiteral<"deliver">; }, $strict>], "verb">>; team: ZodOptional<ZodString>; text: ZodOptional<ZodString>; timeLimit: ZodOptional<ZodNumber>; verb: ZodLiteral<"group">; }, $strict>

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

Objectives in parallel (GAME_DESIGN §9.1): its members (2 to 6 objectives of any verb but a group, each with its own id, text, time limit and fail text, without next) are under way at once, from when the group starts; done once need of them are (all of them when absent); failed once so many have failed that need can no longer be reached, when its own time runs out, or when failIf holds. Members still under way when it ends are dropped. The tracker lists them, each with its state; the world and the minimap draw every target of the members under way.