Dungeon generation refactor (#17121)

This commit is contained in:
metalgearsloth
2023-06-27 19:17:42 +10:00
committed by GitHub
parent b3d395f214
commit cca1a78384
26 changed files with 1528 additions and 496 deletions

View File

@@ -4,32 +4,23 @@
roomWhitelist:
- SalvageExperiment
presets:
- Cross
- SpaceMan
- FourSquare
- Bucket
- Wow
- SpaceShip
- Tall
postGeneration:
- !type:MiddleConnectionPostGen
overlapCount: 3
count: 3
entities:
- CableApcExtension
- AirlockGlass
edgeEntities:
- Grille
- Window
- !type:CorridorPostGen
width: 3
- !type:MiddleConnectionPostGen
count: 1
entities:
- CableApcExtension
- AirlockGlass
- !type:EntrancePostGen
- !type:DungeonEntrancePostGen
count: 2
- !type:RoomEntrancePostGen
entities:
- CableApcExtension
- AirlockGlass
- !type:InternalWindowPostGen
- !type:EntranceFlankPostGen
entities:
- Grille
- Window
@@ -59,38 +50,60 @@
wall: WallSolid
cornerWall: WallReinforced
- !type:JunctionPostGen
width: 1
- !type:JunctionPostGen
- !type:AutoCablingPostGen
- !type:CornerClutterPostGen
contents:
- id: PottedPlantRandom
amount: 1
- !type:CorridorDecalSkirtingPostGen
color: "#D381C996"
cardinalDecals:
South: BrickTileWhiteLineS
East: BrickTileWhiteLineE
North: BrickTileWhiteLineN
West: BrickTileWhiteLineW
cornerDecals:
SouthEast: BrickTileWhiteCornerSe
SouthWest: BrickTileWhiteCornerSw
NorthEast: BrickTileWhiteCornerNe
NorthWest: BrickTileWhiteCornerNw
pocketDecals:
SouthWest: BrickTileWhiteInnerSw
SouthEast: BrickTileWhiteInnerSe
NorthWest: BrickTileWhiteInnerNw
NorthEast: BrickTileWhiteInnerNe
- type: dungeonConfig
id: LavaBrig
generator: !type:PrefabDunGen
roomWhitelist:
- LavaBrig
presets:
- Cross
- SpaceMan
- FourSquare
- Bucket
- Wow
- SpaceShip
- Tall
postGeneration:
- !type:MiddleConnectionPostGen
overlapCount: 3
count: 3
entities:
- CableApcExtension
- AirlockSecurityGlassLocked
edgeEntities:
- Grille
- Window
- !type:CorridorPostGen
width: 3
- !type:MiddleConnectionPostGen
count: 1
entities:
- CableApcExtension
- AirlockSecurityGlassLocked
- !type:EntrancePostGen
- !type:DungeonEntrancePostGen
count: 2
- !type:RoomEntrancePostGen
entities:
- CableApcExtension
- AirlockSecurityGlassLocked
- !type:InternalWindowPostGen
- !type:EntranceFlankPostGen
entities:
- Grille
- Window
@@ -98,7 +111,7 @@
- !type:ExternalWindowPostGen
entities:
- Grille
- ReinforcedWindow
- Window
- !type:WallMountPostGen
spawns:
@@ -117,5 +130,35 @@
- !type:BoundaryWallPostGen
tile: FloorSteel
wall: WallReinforced
wall: WallSolid
cornerWall: WallReinforced
- !type:JunctionPostGen
width: 1
- !type:JunctionPostGen
- !type:AutoCablingPostGen
- !type:CornerClutterPostGen
contents:
- id: PottedPlantRandom
amount: 1
- !type:CorridorDecalSkirtingPostGen
color: "#DE3A3A96"
cardinalDecals:
South: BrickTileWhiteLineS
East: BrickTileWhiteLineE
North: BrickTileWhiteLineN
West: BrickTileWhiteLineW
cornerDecals:
SouthEast: BrickTileWhiteCornerSe
SouthWest: BrickTileWhiteCornerSw
NorthEast: BrickTileWhiteCornerNe
NorthWest: BrickTileWhiteCornerNw
pocketDecals:
SouthWest: BrickTileWhiteInnerSw
SouthEast: BrickTileWhiteInnerSe
NorthWest: BrickTileWhiteInnerNw
NorthEast: BrickTileWhiteInnerNe

View File

@@ -1,37 +1,35 @@
# Dungeon presets
- type: dungeonPreset
id: Cross
id: Bucket
roomPacks:
- -8,0,9,5
- -2,6,3,11
# Offset to the first one
- -8,12,9,17
- -2,18,3,35
- -2,36,3,53
- -20,18,-3,35
- 4,18,21,35
# Two stumpy legs at the bottom, middle torso, then fat top
- type: dungeonPreset
id: SpaceMan
roomPacks:
- -14,0,-9,17
- -8,12,9,17
- 10,0,15,17
- -8,18,-3,23
- 4,18,9,23
- -2,18,3,35
- -8,36,9,53
- -14,36,-9,53
- 10,36,15,53
- 0,0,17,17
- 20,0,37,17
- 20,20,37,37
- -20,0,-3,17
- -20,20,-3,37
- type: dungeonPreset
id: FourSquare
id: SpaceShip
roomPacks:
- -38,18,-21,35
- -8,36,9,53
- 22,18,39,35
- -8,0,9,17
- -2,18,3,35
- -20,24,-3,29
- 4,24,21,29
- 0,10,17,27
- 20,0,37,17
- 20,20,37,37
- -20,0,-3,17
- -20,20,-3,37
- type: dungeonPreset
id: Tall
roomPacks:
- 0,0,17,17
- 0,20,17,37
- 20,37,37,54
- 0,54,17,71
- 0,74,17,91
- type: dungeonPreset
id: Wow
roomPacks:
- 0,20,17,37
- 20,0,37,17
- 40,20,57,37
- -20,0,-3,17
- -40,20,-23,37

View File

@@ -1,132 +1,43 @@
# Hook
# 1341158413 seed cooked top 2 rooms are fucked
# 17x5 Y
# 11x5 Y
# 7x5 YY
# 5x5 YY
# 3x5 YY
# 13x3 YY
# 11x3 Y
# 7x3 Y
# 7x7 Y
- type: dungeonRoomPack
id: LargeArea0
size: 17,17
rooms:
- 0,0,5,17
- 10,10,17,17
- 12,0,17,3
- type: dungeonRoomPack
id: LargeArea1
size: 17,17
rooms:
- 1,1,6,12
- 11,1,16,6
- 9,13,16,16
- type: dungeonRoomPack
id: LargeArea2
size: 17,17
rooms:
- 7,0,10,11
- 6,12,11,17
- 12,13,17,16
- 1,2,8,7
- 1,10,8,15
- 13,2,16,15
# Wide corridor vertically up the middle and small corridors on left
- type: dungeonRoomPack
id: LargeArea3
size: 17,17
rooms:
- 6,0,11,11
- 6,12,11,17
- 0,13,5,16
- 1,5,4,12
- 0,1,5,4
# Long horizontal corridor with rooms above
#- type: dungeonRoomPack
# id: LargeArea4
# size: 17,17
# rooms:
# - 0,7,17,10
# - 0,11,5,16
# - 6,11,11,16
# Corridor from botleft to topright with 2 rooms in top left
- type: dungeonRoomPack
id: LargeArea5
size: 17,17
rooms:
# Corridor (with fat bot-left)
- 0,1,11,4
- 12,0,17,5
- 13,6,16,17
# Rooms (5x7)
- 7,9,12,16
- 1,5,6,12
# 17x5 corridor through middle with 2 7x5 rooms off to the side.
- type: dungeonRoomPack
id: LargeArea6
size: 17,17
rooms:
- 0,6,17,11
- 0,0,7,5
- 10,0,17,5
# 3x7 corridor leading to 7x7 room.
- type: dungeonRoomPack
id: LargeArea7
size: 17,17
rooms:
- 0,7,7,10
- 8,5,15,12
# 17x5 corridor to 7x7
- type: dungeonRoomPack
id: LargeArea8
size: 17,17
rooms:
- 0,1,17,6
- 5,7,12,14
# Medium
# Whole area room
- type: dungeonRoomPack
id: MediumArea1
size: 5,17
rooms:
- 0,0,5,17
# Three 5x5 rooms
- type: dungeonRoomPack
id: MediumArea2
size: 5,17
rooms:
- 0,0,5,5
- 0,6,5,11
- 0,12,5,17
# Two 5x5 and 3x5
- type: dungeonRoomPack
id: MediumArea3
size: 5,17
rooms:
- 0,0,5,5
- 0,6,5,11
- 1,12,4,17
# 3x5 -> 5x5 -> 3x5
- type: dungeonRoomPack
id: MediumArea4
size: 5,17
rooms:
- 1,0,4,5
- 0,6,5,11
- 1,12,4,17
# 3x5 then a 13x3
- type: dungeonRoomPack
id: MediumArea5
size: 5,17
rooms:
- 0,0,5,3
- 1,4,4,17
# 5x5 then a 11x3
- type: dungeonRoomPack
id: MediumArea6
size: 5,17
rooms:
- 0,0,5,5
- 1,6,4,17
# 5x5 then a 11x5
- type: dungeonRoomPack
id: MediumArea7
size: 5,17
rooms:
- 0,0,5,5
- 0,6,5,17
# Small
- type: dungeonRoomPack
id: SmallArea1
size: 5,5
rooms:
- 0,0,5,5
- 2,3,5,8
- 1,10,6,15
- 13,2,16,15