Skip to content

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

Function: drawRegionSpec() ​

drawRegionSpec(seed, __namedParameters?): { 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:38

A region drawn from seed: 8 to 12 tiles a side, up to three features clear of its rim, three roads and three landuse areas. With towns (they need Blender), 12 to 14 tiles a side and a town of 2 or 3 blocks each way drawn first in its south-west, clear of the rim and the spawn apron, the features and the landuse kept off its footprint and a road to it now and then; without, the same draws as ever, so a seed's region stays the one it was.

Parameters ​

seed ​

number

__namedParameters? ​

towns? ​

boolean = false

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"; }