Skip to content

five-on-it / packages/catalogue/src/testing / drawTownSpec

Function: drawTownSpec() ​

drawTownSpec(seed): { climate?: "none" | "temperate" | "meadow" | "forest" | "alpine" | "farmland" | "steppe" | "desert" | "autumn" | "coast"; clock?: { pace: number; start: string; }; districts: object[]; grids: object[]; hills: object[]; name: string; parks: object[]; places: object[]; roads: object[]; roundabouts: object[]; seed: number; size: number; spawn: { near?: [number, number] | { at: [number, number]; grid: string; } | { arm: number; roundabout: string; } | { at: number | "start" | "end"; road: string; } | { hill: string; }; road: string; }; template: "city"; water: object[]; } | { base: number; biome: "meadow" | "forest" | "alpine" | "farmland" | "steppe" | "desert" | "autumn" | "coast"; climate?: "none" | "temperate" | "meadow" | "forest" | "alpine" | "farmland" | "steppe" | "desert" | "autumn" | "coast"; clock?: { pace: number; start: string; }; details: "plain" | "rich"; features: ({ at: [number, number]; kind: "hill"; level: number; lighthouse?: boolean; name?: string; radius?: number; steep?: boolean; } | { at: [number, number]; kind: "mountain"; level: number; name?: string; radius?: number; } | { at: [number, number]; kind: "plateau"; level: number; name?: string; size: [number, number]; } | { at: [number, number]; kind: "valley"; level: number; name?: string; radius: number; steep?: boolean; } | { at: [number, number]; kind: "lake"; level: number; name?: string; size: [number, number]; } | { at: [number, number]; flow?: "north" | "east" | "south" | "west"; kind: "volcano"; level: number; name?: string; radius?: number; } | { at: [number, number]; kind: "ski"; name?: string; to: [number, number]; })[]; landuse: object[]; name: string; props: { rocks: boolean; trees: boolean; }; roads: object[]; seed: number; size: [number, number]; start?: string; template: "region"; towns: object[]; } | { avenues: { x: number[]; z: number[]; }; blocks: [number, number]; blockSize: number; climate?: "none" | "temperate" | "meadow" | "forest" | "alpine" | "farmland" | "steppe" | "desert" | "autumn" | "coast"; clock?: { pace: number; start: string; }; compounds: object[]; districts: object & object[]; dressing: "none" | "lived-in"; name: string; parks: [number, number][]; props: { hydrants: boolean; lamps: boolean; trafficLights: boolean; trees: boolean; }; seed: number; streetWidth: number; template: "grid-town"; }

Defined in: packages/catalogue/src/testing.ts:126

A grid town drawn from seed: 2 to 4 blocks by 2 to 3, an avenue or none, one to three themed districts, a park or none, dressed or not.

Parameters ​

seed ​

number

Returns ​

{ climate?: "none" | "temperate" | "meadow" | "forest" | "alpine" | "farmland" | "steppe" | "desert" | "autumn" | "coast"; clock?: { pace: number; start: string; }; districts: object[]; grids: object[]; hills: object[]; name: string; parks: object[]; places: object[]; roads: object[]; roundabouts: object[]; seed: number; size: number; spawn: { near?: [number, number] | { at: [number, number]; grid: string; } | { arm: number; roundabout: string; } | { at: number | "start" | "end"; road: string; } | { hill: string; }; road: string; }; template: "city"; water: object[]; } | { base: number; biome: "meadow" | "forest" | "alpine" | "farmland" | "steppe" | "desert" | "autumn" | "coast"; climate?: "none" | "temperate" | "meadow" | "forest" | "alpine" | "farmland" | "steppe" | "desert" | "autumn" | "coast"; clock?: { pace: number; start: string; }; details: "plain" | "rich"; features: ({ at: [number, number]; kind: "hill"; level: number; lighthouse?: boolean; name?: string; radius?: number; steep?: boolean; } | { at: [number, number]; kind: "mountain"; level: number; name?: string; radius?: number; } | { at: [number, number]; kind: "plateau"; level: number; name?: string; size: [number, number]; } | { at: [number, number]; kind: "valley"; level: number; name?: string; radius: number; steep?: boolean; } | { at: [number, number]; kind: "lake"; level: number; name?: string; size: [number, number]; } | { at: [number, number]; flow?: "north" | "east" | "south" | "west"; kind: "volcano"; level: number; name?: string; radius?: number; } | { at: [number, number]; kind: "ski"; name?: string; to: [number, number]; })[]; landuse: object[]; name: string; props: { rocks: boolean; trees: boolean; }; roads: object[]; seed: number; size: [number, number]; start?: string; template: "region"; towns: object[]; } | { avenues: { x: number[]; z: number[]; }; blocks: [number, number]; blockSize: number; climate?: "none" | "temperate" | "meadow" | "forest" | "alpine" | "farmland" | "steppe" | "desert" | "autumn" | "coast"; clock?: { pace: number; start: string; }; compounds: object[]; districts: object & object[]; dressing: "none" | "lived-in"; name: string; parks: [number, number][]; props: { hydrants: boolean; lamps: boolean; trafficLights: boolean; trees: boolean; }; seed: number; streetWidth: number; template: "grid-town"; }