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.
