vgroid.yml 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. # Okay so my general thought is this:
  2. # 1. Generate the large mass
  3. # 2. Generate smaller masses offset
  4. # 3. Generate N normal dungeons around the larger mass, preferably near the border
  5. # 4. Generate large paths / small paths around the place
  6. # 5. Spawn ores + fill the rest and the normal stuff
  7. # If you want mobs they needed to be added at specific steps due to how dungeons work at the moment.
  8. - type: dungeonConfig
  9. id: VGRoid
  10. layers:
  11. - !type:PrototypeDunGen
  12. proto: VGRoidBlob
  13. - !type:PrototypeDunGen
  14. proto: VGRoidExterior
  15. - !type:PrototypeDunGen
  16. proto: VGRoidSmaller
  17. - !type:PrototypeDunGen
  18. proto: VGRoidSmallPaths
  19. - !type:EntityTableDunGen
  20. minCount: 7
  21. maxCount: 12
  22. table:
  23. id: VGRoidInteriorRoomMarker
  24. # Fill
  25. - !type:PrototypeDunGen
  26. proto: VGRoidFill
  27. # Ores
  28. - !type:OreDunGen
  29. replacement: IronRock
  30. entity: IronRockIron
  31. count: 50
  32. minGroupSize: 10
  33. maxGroupSize: 15
  34. - !type:OreDunGen
  35. replacement: IronRock
  36. entity: IronRockCoal
  37. count: 50
  38. minGroupSize: 8
  39. maxGroupSize: 12
  40. - !type:OreDunGen
  41. replacement: IronRock
  42. entity: IronRockQuartz
  43. count: 50
  44. minGroupSize: 10
  45. maxGroupSize: 15
  46. - !type:OreDunGen
  47. replacement: IronRock
  48. entity: IronRockSalt
  49. count: 50
  50. minGroupSize: 8
  51. maxGroupSize: 12
  52. - !type:OreDunGen
  53. replacement: IronRock
  54. entity: IronRockGold
  55. count: 40
  56. minGroupSize: 8
  57. maxGroupSize: 12
  58. - !type:OreDunGen
  59. replacement: IronRock
  60. entity: IronRockSilver
  61. count: 40
  62. minGroupSize: 8
  63. maxGroupSize: 12
  64. - !type:OreDunGen
  65. replacement: IronRock
  66. entity: IronRockPlasma
  67. count: 35
  68. minGroupSize: 4
  69. maxGroupSize: 8
  70. - !type:OreDunGen
  71. replacement: IronRock
  72. entity: IronRockUranium
  73. count: 35
  74. minGroupSize: 4
  75. maxGroupSize: 8
  76. - !type:OreDunGen
  77. replacement: IronRock
  78. entity: IronRockArtifactFragment
  79. count: 25
  80. minGroupSize: 1
  81. maxGroupSize: 3
  82. - !type:OreDunGen
  83. replacement: IronRock
  84. entity: IronRockDiamond
  85. count: 15
  86. minGroupSize: 1
  87. maxGroupSize: 2
  88. # Configs
  89. - type: dungeonConfig
  90. id: VGRoidBlob
  91. layers:
  92. - !type:NoiseDistanceDunGen
  93. size: 272, 272
  94. distanceConfig: !type:DunGenEuclideanSquaredDistance
  95. blendWeight: 0.80
  96. layers:
  97. - tile: FloorAsteroidSand
  98. threshold: 0.50
  99. noise:
  100. frequency: 0.010
  101. noiseType: OpenSimplex2
  102. fractalType: FBm
  103. octaves: 5
  104. lacunarity: 2
  105. gain: 0.5
  106. - type: dungeonConfig
  107. id: VGRoidSmaller
  108. minOffset: 40
  109. maxOffset: 60
  110. layers:
  111. - !type:NoiseDistanceDunGen
  112. size: 150, 150
  113. distanceConfig: !type:DunGenEuclideanSquaredDistance
  114. layers:
  115. - tile: FloorAsteroidSand
  116. threshold: 0.50
  117. noise:
  118. frequency: 0.080
  119. noiseType: OpenSimplex2
  120. fractalType: FBm
  121. octaves: 5
  122. lacunarity: 1.5
  123. gain: 0.5
  124. - type: dungeonConfig
  125. id: VGRoidExterior
  126. reserveTiles: true
  127. data:
  128. tiles:
  129. FallbackTile: PlatingAsteroid
  130. WidenTile: FloorAsteroidSand
  131. layers:
  132. - !type:PrototypeDunGen
  133. proto: VGRoidExteriorDungeons
  134. - !type:SplineDungeonConnectorDunGen
  135. - type: dungeonConfig
  136. id: VGRoidExteriorDungeons
  137. reserveTiles: true
  138. minCount: 2
  139. maxCount: 3
  140. layers:
  141. - !type:ExteriorDunGen
  142. proto: Experiment
  143. - !type:EntityTableDunGen
  144. minCount: 25
  145. maxCount: 40
  146. table: !type:NestedSelector
  147. tableId: SalvageScrapSpawnerCommon
  148. - !type:EntityTableDunGen
  149. minCount: 30
  150. maxCount: 40
  151. table: !type:NestedSelector
  152. tableId: SalvageScrapSpawnerValuable
  153. - !type:EntityTableDunGen
  154. minCount: 15
  155. maxCount: 25
  156. table: !type:NestedSelector
  157. tableId: SalvageTreasureSpawnerCommon
  158. - !type:EntityTableDunGen
  159. minCount: 15
  160. maxCount: 25
  161. table: !type:NestedSelector
  162. tableId: SalvageEquipmentSpawnerCommon
  163. - !type:EntityTableDunGen
  164. minCount: 15
  165. maxCount: 20
  166. table: !type:NestedSelector
  167. tableId: SalvageTreasureSpawnerValuable
  168. - !type:EntityTableDunGen
  169. minCount: 15
  170. maxCount: 20
  171. table: !type:NestedSelector
  172. tableId: SalvageEquipmentSpawnerValuable
  173. - !type:MobsDunGen
  174. minCount: 8
  175. maxCount: 15
  176. groups:
  177. - id: SalvageSpawnerMobMiningAsteroid
  178. amount: 1
  179. #- type: dungeonConfig
  180. # id: VGRoidInteriorDungeons
  181. # minCount: 3
  182. # maxCount: 5
  183. # # Just randomly spawn these in bounds, doesn't really matter if they go out.
  184. - type: dungeonConfig
  185. id: VGRoidSmallPaths
  186. reserveTiles: true
  187. layers:
  188. - !type:ReplaceTileDunGen
  189. layers:
  190. - tile: FloorAsteroidSand
  191. threshold: 0.75
  192. noise:
  193. frequency: 0.040
  194. noiseType: OpenSimplex2
  195. fractalType: Ridged
  196. lacunarity: 1.5
  197. octaves: 2
  198. gain: 2.0
  199. # Mobs
  200. # If you want exterior dungeon mobs add them under the prototype.
  201. - !type:MobsDunGen
  202. minCount: 25
  203. maxCount: 35
  204. groups:
  205. - id: SalvageSpawnerMobMiningAsteroid
  206. amount: 1
  207. #- type: dungeonConfig
  208. # id: VGRoidOres
  209. # Fill with rocks.
  210. - type: dungeonConfig
  211. id: VGRoidFill
  212. data:
  213. entities:
  214. Fill: IronRock
  215. layers:
  216. - !type:FillGridDunGen
  217. allowedTiles:
  218. - FloorAsteroidSand