| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228 |
- # Okay so my general thought is this:
- # 1. Generate the large mass
- # 2. Generate smaller masses offset
- # 3. Generate N normal dungeons around the larger mass, preferably near the border
- # 4. Generate large paths / small paths around the place
- # 5. Spawn ores + fill the rest and the normal stuff
- # If you want mobs they needed to be added at specific steps due to how dungeons work at the moment.
- - type: dungeonConfig
- id: VGRoid
- layers:
- - !type:PrototypeDunGen
- proto: VGRoidBlob
- - !type:PrototypeDunGen
- proto: VGRoidExterior
- - !type:PrototypeDunGen
- proto: VGRoidSmaller
- - !type:PrototypeDunGen
- proto: VGRoidSmallPaths
- - !type:EntityTableDunGen
- minCount: 7
- maxCount: 12
- table:
- id: VGRoidInteriorRoomMarker
- # Fill
- - !type:PrototypeDunGen
- proto: VGRoidFill
- # Ores
- - !type:OreDunGen
- replacement: IronRock
- entity: IronRockIron
- count: 50
- minGroupSize: 10
- maxGroupSize: 15
- - !type:OreDunGen
- replacement: IronRock
- entity: IronRockCoal
- count: 50
- minGroupSize: 8
- maxGroupSize: 12
- - !type:OreDunGen
- replacement: IronRock
- entity: IronRockQuartz
- count: 50
- minGroupSize: 10
- maxGroupSize: 15
- - !type:OreDunGen
- replacement: IronRock
- entity: IronRockSalt
- count: 50
- minGroupSize: 8
- maxGroupSize: 12
- - !type:OreDunGen
- replacement: IronRock
- entity: IronRockGold
- count: 40
- minGroupSize: 8
- maxGroupSize: 12
- - !type:OreDunGen
- replacement: IronRock
- entity: IronRockSilver
- count: 40
- minGroupSize: 8
- maxGroupSize: 12
- - !type:OreDunGen
- replacement: IronRock
- entity: IronRockPlasma
- count: 35
- minGroupSize: 4
- maxGroupSize: 8
- - !type:OreDunGen
- replacement: IronRock
- entity: IronRockUranium
- count: 35
- minGroupSize: 4
- maxGroupSize: 8
- - !type:OreDunGen
- replacement: IronRock
- entity: IronRockArtifactFragment
- count: 25
- minGroupSize: 1
- maxGroupSize: 3
- - !type:OreDunGen
- replacement: IronRock
- entity: IronRockDiamond
- count: 15
- minGroupSize: 1
- maxGroupSize: 2
- # Configs
- - type: dungeonConfig
- id: VGRoidBlob
- layers:
- - !type:NoiseDistanceDunGen
- size: 272, 272
- distanceConfig: !type:DunGenEuclideanSquaredDistance
- blendWeight: 0.80
- layers:
- - tile: FloorAsteroidSand
- threshold: 0.50
- noise:
- frequency: 0.010
- noiseType: OpenSimplex2
- fractalType: FBm
- octaves: 5
- lacunarity: 2
- gain: 0.5
- - type: dungeonConfig
- id: VGRoidSmaller
- minOffset: 40
- maxOffset: 60
- layers:
- - !type:NoiseDistanceDunGen
- size: 150, 150
- distanceConfig: !type:DunGenEuclideanSquaredDistance
- layers:
- - tile: FloorAsteroidSand
- threshold: 0.50
- noise:
- frequency: 0.080
- noiseType: OpenSimplex2
- fractalType: FBm
- octaves: 5
- lacunarity: 1.5
- gain: 0.5
- - type: dungeonConfig
- id: VGRoidExterior
- reserveTiles: true
- data:
- tiles:
- FallbackTile: PlatingAsteroid
- WidenTile: FloorAsteroidSand
- layers:
- - !type:PrototypeDunGen
- proto: VGRoidExteriorDungeons
- - !type:SplineDungeonConnectorDunGen
- - type: dungeonConfig
- id: VGRoidExteriorDungeons
- reserveTiles: true
- minCount: 2
- maxCount: 3
- layers:
- - !type:ExteriorDunGen
- proto: Experiment
- - !type:EntityTableDunGen
- minCount: 25
- maxCount: 40
- table: !type:NestedSelector
- tableId: SalvageScrapSpawnerCommon
- - !type:EntityTableDunGen
- minCount: 30
- maxCount: 40
- table: !type:NestedSelector
- tableId: SalvageScrapSpawnerValuable
- - !type:EntityTableDunGen
- minCount: 15
- maxCount: 25
- table: !type:NestedSelector
- tableId: SalvageTreasureSpawnerCommon
- - !type:EntityTableDunGen
- minCount: 15
- maxCount: 25
- table: !type:NestedSelector
- tableId: SalvageEquipmentSpawnerCommon
- - !type:EntityTableDunGen
- minCount: 15
- maxCount: 20
- table: !type:NestedSelector
- tableId: SalvageTreasureSpawnerValuable
- - !type:EntityTableDunGen
- minCount: 15
- maxCount: 20
- table: !type:NestedSelector
- tableId: SalvageEquipmentSpawnerValuable
- - !type:MobsDunGen
- minCount: 8
- maxCount: 15
- groups:
- - id: SalvageSpawnerMobMiningAsteroid
- amount: 1
- #- type: dungeonConfig
- # id: VGRoidInteriorDungeons
- # minCount: 3
- # maxCount: 5
- # # Just randomly spawn these in bounds, doesn't really matter if they go out.
- - type: dungeonConfig
- id: VGRoidSmallPaths
- reserveTiles: true
- layers:
- - !type:ReplaceTileDunGen
- layers:
- - tile: FloorAsteroidSand
- threshold: 0.75
- noise:
- frequency: 0.040
- noiseType: OpenSimplex2
- fractalType: Ridged
- lacunarity: 1.5
- octaves: 2
- gain: 2.0
- # Mobs
- # If you want exterior dungeon mobs add them under the prototype.
- - !type:MobsDunGen
- minCount: 25
- maxCount: 35
- groups:
- - id: SalvageSpawnerMobMiningAsteroid
- amount: 1
- #- type: dungeonConfig
- # id: VGRoidOres
- # Fill with rocks.
- - type: dungeonConfig
- id: VGRoidFill
- data:
- entities:
- Fill: IronRock
- layers:
- - !type:FillGridDunGen
- allowedTiles:
- - FloorAsteroidSand
|