Skip to content

dungeonmaker-js / dungeonmaker-js / toDesignText

Function: toDesignText() ​

toDesignText(config): string

Defined in: packages/dungeonmaker-js/src/config/serialize.ts:398

Serializes a DesignConfig to the canonical design text that generate() reads. parseDesignText(toDesignText(c)) gives c back for every config the parser produces.

Parameters ​

config ​

$schema? ​

string = ...

behaviour ​

{ mutator: number; noHeadingProbability: number; patience: number; } = ...

behaviour.mutator ​

number = ...

behaviour.noHeadingProbability ​

number = ...

behaviour.patience ​

number = ...

crawlers ​

{ corridorWidth: number[]; inTunnels: { closedProbability: number; enabled: boolean; generation: number; genes: { changeDirection: number; straightDoubleSpawn: number; straightSingleSpawn: number; turnDoubleSpawn: number; turnSingleSpawn: number; }; inAnterooms: boolean; maxAge: number; seedCount: number; stepLength: number; }; maxAge: number[]; pairs?: object[]; random: { genes: { changeDirection: number; straightDoubleSpawn: number; straightSingleSpawn: number; turnDoubleSpawn: number; turnSingleSpawn: number; }; perThousandWallSquares: number[]; }; seeds?: object[]; stepLength: number[]; } = ...

crawlers.corridorWidth ​

number[] = ...

crawlers.inTunnels ​

{ closedProbability: number; enabled: boolean; generation: number; genes: { changeDirection: number; straightDoubleSpawn: number; straightSingleSpawn: number; turnDoubleSpawn: number; turnSingleSpawn: number; }; inAnterooms: boolean; maxAge: number; seedCount: number; stepLength: number; } = ...

crawlers.inTunnels.closedProbability ​

number = ...

crawlers.inTunnels.enabled ​

boolean = ...

crawlers.inTunnels.generation ​

number = ...

crawlers.inTunnels.genes ​

{ changeDirection: number; straightDoubleSpawn: number; straightSingleSpawn: number; turnDoubleSpawn: number; turnSingleSpawn: number; } = ...

crawlers.inTunnels.genes.changeDirection ​

number = ...

crawlers.inTunnels.genes.straightDoubleSpawn ​

number = ...

crawlers.inTunnels.genes.straightSingleSpawn ​

number = ...

crawlers.inTunnels.genes.turnDoubleSpawn ​

number = ...

crawlers.inTunnels.genes.turnSingleSpawn ​

number = ...

crawlers.inTunnels.inAnterooms ​

boolean = ...

crawlers.inTunnels.maxAge ​

number = ...

crawlers.inTunnels.seedCount ​

number = ...

crawlers.inTunnels.stepLength ​

number = ...

crawlers.maxAge ​

number[] = ...

crawlers.pairs? ​

object[] = ...

crawlers.random ​

{ genes: { changeDirection: number; straightDoubleSpawn: number; straightSingleSpawn: number; turnDoubleSpawn: number; turnSingleSpawn: number; }; perThousandWallSquares: number[]; } = ...

crawlers.random.genes ​

{ changeDirection: number; straightDoubleSpawn: number; straightSingleSpawn: number; turnDoubleSpawn: number; turnSingleSpawn: number; } = ...

crawlers.random.genes.changeDirection ​

number = ...

crawlers.random.genes.straightDoubleSpawn ​

number = ...

crawlers.random.genes.straightSingleSpawn ​

number = ...

crawlers.random.genes.turnDoubleSpawn ​

number = ...

crawlers.random.genes.turnSingleSpawn ​

number = ...

crawlers.random.perThousandWallSquares ​

number[] = ...

crawlers.seeds? ​

object[] = ...

crawlers.stepLength ​

number[] = ...

map ​

{ background: "open" | "closed"; height: number; joinDistance: number; openings: ("N" | "NE" | "E" | "SE" | "S" | "SW" | "W" | "NW")[]; tunnelJoinDistance: number; width: number; } = ...

map.background ​

"open" | "closed" = ...

map.height ​

number = ...

map.joinDistance ​

number = ...

map.openings ​

("N" | "NE" | "E" | "SE" | "S" | "SW" | "W" | "NW")[] = ...

map.tunnelJoinDistance ​

number = ...

map.width ​

number = ...

population? ​

{ mobs: { dungeon: { open: { anteroomProbability: number; byLevel: number[]; }; rooms: { byLevel: number[]; groupSize: number; groupSizeVariance: number; }; }; labyrinth: { open: { byLevel: number[]; }; rooms: { byLevel: number[]; groupSize: number; groupSizeVariance: number; }; }; }; treasure: { dungeon: { byLevel: number[]; groupSize: number; groupSizeVariance: number; }; labyrinth: { byLevel: number[]; groupSize: number; groupSizeVariance: number; }; }; } = ...

population.mobs ​

{ dungeon: { open: { anteroomProbability: number; byLevel: number[]; }; rooms: { byLevel: number[]; groupSize: number; groupSizeVariance: number; }; }; labyrinth: { open: { byLevel: number[]; }; rooms: { byLevel: number[]; groupSize: number; groupSizeVariance: number; }; }; } = ...

population.mobs.dungeon ​

{ open: { anteroomProbability: number; byLevel: number[]; }; rooms: { byLevel: number[]; groupSize: number; groupSizeVariance: number; }; } = ...

population.mobs.dungeon.open ​

{ anteroomProbability: number; byLevel: number[]; } = ...

population.mobs.dungeon.open.anteroomProbability ​

number = ...

population.mobs.dungeon.open.byLevel ​

number[] = ...

population.mobs.dungeon.rooms ​

{ byLevel: number[]; groupSize: number; groupSizeVariance: number; } = ...

population.mobs.dungeon.rooms.byLevel ​

number[] = ...

population.mobs.dungeon.rooms.groupSize ​

number = ...

population.mobs.dungeon.rooms.groupSizeVariance ​

number = ...

population.mobs.labyrinth ​

{ open: { byLevel: number[]; }; rooms: { byLevel: number[]; groupSize: number; groupSizeVariance: number; }; } = ...

population.mobs.labyrinth.open ​

{ byLevel: number[]; } = ...

population.mobs.labyrinth.open.byLevel ​

number[] = ...

population.mobs.labyrinth.rooms ​

{ byLevel: number[]; groupSize: number; groupSizeVariance: number; } = ...

population.mobs.labyrinth.rooms.byLevel ​

number[] = ...

population.mobs.labyrinth.rooms.groupSize ​

number = ...

population.mobs.labyrinth.rooms.groupSizeVariance ​

number = ...

population.treasure ​

{ dungeon: { byLevel: number[]; groupSize: number; groupSizeVariance: number; }; labyrinth: { byLevel: number[]; groupSize: number; groupSizeVariance: number; }; } = ...

population.treasure.dungeon ​

{ byLevel: number[]; groupSize: number; groupSizeVariance: number; } = ...

population.treasure.dungeon.byLevel ​

number[] = ...

population.treasure.dungeon.groupSize ​

number = ...

population.treasure.dungeon.groupSizeVariance ​

number = ...

population.treasure.labyrinth ​

{ byLevel: number[]; groupSize: number; groupSizeVariance: number; } = ...

population.treasure.labyrinth.byLevel ​

number[] = ...

population.treasure.labyrinth.groupSize ​

number = ...

population.treasure.labyrinth.groupSizeVariance ​

number = ...

rectangles? ​

object[] = ...

rooms ​

{ aspectRatio: number; count: { dungeon: { large: number; medium: number; small: number; }; labyrinth: { large: number; medium: number; small: number; }; }; size: { large: number; max: number; medium: number; min: number; }; sizeProbability: { branching: object[]; sideways: object[]; }; } = ...

rooms.aspectRatio ​

number = ...

rooms.count ​

{ dungeon: { large: number; medium: number; small: number; }; labyrinth: { large: number; medium: number; small: number; }; } = ...

rooms.count.dungeon ​

{ large: number; medium: number; small: number; } = ...

rooms.count.dungeon.large ​

number = ...

rooms.count.dungeon.medium ​

number = ...

rooms.count.dungeon.small ​

number = ...

rooms.count.labyrinth ​

{ large: number; medium: number; small: number; } = ...

rooms.count.labyrinth.large ​

number = ...

rooms.count.labyrinth.medium ​

number = ...

rooms.count.labyrinth.small ​

number = ...

rooms.size ​

{ large: number; max: number; medium: number; min: number; } = ...

rooms.size.large ​

number = ...

rooms.size.max ​

number = ...

rooms.size.medium ​

number = ...

rooms.size.min ​

number = ...

rooms.sizeProbability ​

{ branching: object[]; sideways: object[]; } = ...

rooms.sizeProbability.branching ​

object[] = ...

rooms.sizeProbability.sideways ​

object[] = ...

spawnDelay ​

{ crawler: number[]; roomie: number[]; tunneler: number[]; } = ...

spawnDelay.crawler ​

number[] = ...

spawnDelay.roomie ​

number[] = ...

spawnDelay.tunneler ​

number[] = ...

tunnelers ​

{ anteroomGenerationSpeedUp: number; anteroomProbability: number[]; columns: boolean; joinPreference: number[]; lastChance: { changeDirection: number; generationDelay: number; makeRoomsLeft: number; makeRoomsRight: number; straightDoubleSpawn: number; turnDoubleSpawn: number; }; maxAge: number[]; seeds?: object[]; sizeDownProbability: number[]; sizeUpGenerationDelay: number; sizeUpProbability: number[]; } = ...

tunnelers.anteroomGenerationSpeedUp ​

number = ...

tunnelers.anteroomProbability ​

number[] = ...

tunnelers.columns ​

boolean = ...

tunnelers.joinPreference ​

number[] = ...

tunnelers.lastChance ​

{ changeDirection: number; generationDelay: number; makeRoomsLeft: number; makeRoomsRight: number; straightDoubleSpawn: number; turnDoubleSpawn: number; } = ...

tunnelers.lastChance.changeDirection ​

number = ...

tunnelers.lastChance.generationDelay ​

number = ...

tunnelers.lastChance.makeRoomsLeft ​

number = ...

tunnelers.lastChance.makeRoomsRight ​

number = ...

tunnelers.lastChance.straightDoubleSpawn ​

number = ...

tunnelers.lastChance.turnDoubleSpawn ​

number = ...

tunnelers.maxAge ​

number[] = ...

tunnelers.seeds? ​

object[] = ...

tunnelers.sizeDownProbability ​

number[] = ...

tunnelers.sizeUpGenerationDelay ​

number = ...

tunnelers.sizeUpProbability ​

number[] = ...

Returns ​

string

Throws ​

DesignValidationError with one issue per value the text cannot carry, each with the JSON Pointer of that value.

DungeonMaker 2.05 © Peter Henningsen. WebAssembly port, package and site created by spearwolf. Released under GPL-3.0-or-later. About · License