Biome rework (#37735)

* DungeonData rework

Back to fields, serializes better, just make new layers dumby.

* wawawewa

* Fix this

* Fixes

* Port the work over

* wawawewa

* zoom

* Kinda workin

* Adjust wawa

* Unloading work

* Ore + entitytable fixes

Iterate every dungeon not just last.

* Big shot

* wawawewa

* Fixes

* true

* Fixes

# Conflicts:
#	Content.Server/Procedural/DungeonJob/DungeonJob.cs

* wawawewa

* Fixes

* Fix

* Lot of work

* wawawewa

* Fixing

* eh?

* a

* Fix a heap of stuff

* Better ignored check

* Reserve tile changes

* biome

* changes

* wawawewa

* Fixes & snow

* Shadow fixes

* wawawewa

* smol

* Add layer API

* More work

* wawawewa

* Preloads and running again

* wawawewa

* Modified

* Replacements and command

* Runtime support

* werk

* Fix expeds + dungeon alltiles

* reh

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
This commit is contained in:
metalgearsloth
2025-07-03 14:36:06 +10:00
committed by GitHub
parent fdf3d6715e
commit fe7b96147c
116 changed files with 3005 additions and 3537 deletions

View File

@@ -17,10 +17,14 @@
drawdepth: BelowFloor
layers:
- state: shoreline_water
- type: BiomeForceUnload
#- type: ContainerContainer
# containers:
# solution@pool: !type:ContainerSlot
- type: SolutionContainerManager
solutions:
pool:
maxVol: 9999999 #.inf seems to break the whole yaml file, but would definitely be preferable.
maxVol: 9999999 #.inf seems to break the whole yaml file, but would definitely be preferable.
reagents:
- ReagentId: Water
Quantity: 9999999

View File

@@ -18,8 +18,9 @@
lacunarity: 2
# Generate biome
- !type:BiomeDunGen
biomeTemplate: Asteroid
- !type:PrototypeDunGen
proto: Asteroid
inheritDungeons: All
- !type:OreDunGen
replacement: AsteroidRock
entity: AsteroidRockGibtonite
@@ -47,8 +48,9 @@
lacunarity: 2
# Generate biome
- !type:BiomeDunGen
biomeTemplate: Asteroid
- !type:PrototypeDunGen
proto: Asteroid
inheritDungeons: All
- !type:OreDunGen
replacement: AsteroidRock
entity: AsteroidRockGibtonite
@@ -76,8 +78,9 @@
cellularDistanceFunction: Euclidean
# Generate biome
- !type:BiomeDunGen
biomeTemplate: Asteroid
- !type:PrototypeDunGen
proto: Asteroid
inheritDungeons: All
- !type:OreDunGen
replacement: AsteroidRock
entity: AsteroidRockGibtonite
@@ -104,8 +107,9 @@
lacunarity: 2
# Generate biome
- !type:BiomeDunGen
biomeTemplate: Asteroid
- !type:PrototypeDunGen
proto: Asteroid
inheritDungeons: All
- !type:OreDunGen
replacement: AsteroidRock
entity: AsteroidRockGibtonite

View File

@@ -36,8 +36,9 @@
gain: 0.5
# Generate biome
- !type:BiomeDunGen
biomeTemplate: SpaceDebris
- !type:PrototypeDunGen
proto: SpaceDebris
inheritDungeons: All
- type: dungeonConfig
id: ChunkDebrisSmall
@@ -77,5 +78,6 @@
gain: 0.5
# Generate biome
- !type:BiomeDunGen
biomeTemplate: SpaceDebris
- !type:PrototypeDunGen
proto: SpaceDebris
inheritDungeons: All

View File

@@ -1,8 +1,8 @@
# Asteroid
- type: biomeTemplate
- type: dungeonConfig
id: SpaceDebris
layers:
- !type:BiomeEntityLayer
- !type:SampleEntityDunGen
threshold: 0.20
noise:
seed: 0
@@ -23,7 +23,7 @@
- WallReinforced
- WallSolid
- WallSolid
- !type:BiomeEntityLayer
- !type:SampleEntityDunGen
threshold: 0.5
noise:
seed: 0
@@ -41,7 +41,7 @@
- Grille
- Grille
- GrilleBroken
- !type:BiomeDecalLayer
- !type:SampleDecalDunGen
allowedTiles:
- FloorSteel
threshold: -0.5
@@ -56,7 +56,7 @@
- DirtMedium
- DirtMedium
- DirtLight
- !type:BiomeEntityLayer
- !type:SampleEntityDunGen
threshold: 0.45
noise:
seed: 1
@@ -71,7 +71,7 @@
- FloorSteel
entities:
- SalvageSpawnerStructuresVarious
- !type:BiomeEntityLayer
- !type:SampleEntityDunGen
allowedTiles:
- FloorSteel
- Plating
@@ -85,7 +85,7 @@
- SalvageSpawnerScrapCommon
- SalvageSpawnerScrapCommon
- SalvageSpawnerScrapCommon75
- !type:BiomeEntityLayer
- !type:SampleEntityDunGen
allowedTiles:
- FloorSteel
- Plating
@@ -97,7 +97,7 @@
- SalvageSpawnerTreasure
- SalvageSpawnerTreasure
- SalvageSpawnerTreasureValuable
- !type:BiomeEntityLayer
- !type:SampleEntityDunGen
allowedTiles:
- FloorSteel
- Plating

View File

@@ -1,67 +1,122 @@
- type: biomeMarkerLayer
- type: dungeonConfig
id: Lizards
prototype: MobLizard
minGroupSize: 3
maxGroupSize: 5
layers:
- !type:ChunkDunGen
size: 128
- !type:EntityTableDunGen
table: !type:EntSelector
id: MobLizard
amount: !type:RangeNumberSelector
range: 3, 5
- type: biomeMarkerLayer
- type: dungeonConfig
id: WatchersLavaland
prototype: MobWatcherLavaland
minGroupSize: 3
maxGroupSize: 3
layers:
- !type:ChunkDunGen
size: 128
- !type:EntityTableDunGen
table: !type:EntSelector
id: MobWatcherLavaland
amount: !type:RangeNumberSelector
range: 3, 3
- type: biomeMarkerLayer
- type: dungeonConfig
id: WatchersIcewing
prototype: MobWatcherIcewing
minGroupSize: 3
maxGroupSize: 3
layers:
- !type:ChunkDunGen
size: 128
- !type:EntityTableDunGen
table: !type:EntSelector
id: MobWatcherIcewing
amount: !type:RangeNumberSelector
range: 3, 3
- type: biomeMarkerLayer
- type: dungeonConfig
id: WatchersMagmawing
prototype: MobWatcherMagmawing
minGroupSize: 3
maxGroupSize: 3
layers:
- !type:ChunkDunGen
size: 128
- !type:EntityTableDunGen
table: !type:EntSelector
id: MobWatcherMagmawing
amount: !type:RangeNumberSelector
range: 3, 3
- type: biomeMarkerLayer
- type: dungeonConfig
id: Cows
prototype: MobCow
minGroupSize: 1
maxGroupSize: 2
layers:
- !type:ChunkDunGen
size: 128
- !type:EntityTableDunGen
table: !type:EntSelector
id: MobCow
amount: !type:RangeNumberSelector
range: 1, 2
- type: biomeMarkerLayer
- type: dungeonConfig
id: Chickens
prototype: MobChicken
minGroupSize: 1
maxGroupSize: 2
layers:
- !type:ChunkDunGen
size: 128
- !type:EntityTableDunGen
table: !type:EntSelector
id: MobChicken
amount: !type:RangeNumberSelector
range: 1, 2
- type: biomeMarkerLayer
- type: dungeonConfig
id: Pigs
prototype: MobPig
minGroupSize: 1
maxGroupSize: 2
layers:
- !type:ChunkDunGen
size: 128
- !type:EntityTableDunGen
table: !type:EntSelector
id: MobPig
amount: !type:RangeNumberSelector
range: 1, 2
- type: biomeMarkerLayer
- type: dungeonConfig
id: Foxes
prototype: MobFox
minGroupSize: 1
maxGroupSize: 1
layers:
- !type:ChunkDunGen
size: 128
- !type:EntityTableDunGen
table: !type:EntSelector
id: MobFox
amount: !type:RangeNumberSelector
range: 1, 1
- type: biomeMarkerLayer
- type: dungeonConfig
id: Goats
prototype: MobGoat
minGroupSize: 1
maxGroupSize: 1
layers:
- !type:ChunkDunGen
size: 128
- !type:EntityTableDunGen
table: !type:EntSelector
id: MobGoat
amount: !type:RangeNumberSelector
range: 1, 1
# TODO: Needs to be more robust
- type: biomeMarkerLayer
id: Xenos
prototype: MobXeno
- type: biomeMarkerLayer
- type: dungeonConfig
id: Carps
prototype: MobCarpDungeon
layers:
- !type:ChunkDunGen
size: 128
- !type:EntityTableDunGen
table: !type:EntSelector
id: MobCarp
amount: !type:RangeNumberSelector
range: 1, 2
- type: dungeonConfig
id: Xenos
layers:
- !type:ChunkDunGen
size: 128
- !type:EntityTableDunGen
table: !type:EntSelector
id: MobXeno
amount: !type:RangeNumberSelector
range: 1, 2
#- type: biomeMarkerLayer
# id: Experiment
# proto: DungeonMarkerExperiment

View File

@@ -1,146 +1,127 @@
# Low value
- type: biomeMarkerLayer
- type: dungeonConfig
id: OreIron
entityMask:
AsteroidRock: AsteroidRockTin
WallRock: WallRockTin
WallRockBasalt: WallRockBasaltTin
WallRockChromite: WallRockChromiteTin
WallRockSand: WallRockSandTin
WallRockSnow: WallRockSnowTin
maxCount: 30
minGroupSize: 10
maxGroupSize: 15
radius: 4
layers:
- !type:ChunkDunGen
size: 128
- !type:OreDunGen
replacement: WallRock
entity: WallRockTin
count: 30
minGroupSize: 10
maxGroupSize: 15
- type: biomeMarkerLayer
- type: dungeonConfig
id: OreQuartz
entityMask:
AsteroidRock: AsteroidRockQuartz
WallRock: WallRockQuartz
WallRockBasalt: WallRockBasaltQuartz
WallRockChromite: WallRockChromiteQuartz
WallRockSnow: WallRockSnowQuartz
maxCount: 30
minGroupSize: 10
maxGroupSize: 15
radius: 4
layers:
- !type:ChunkDunGen
size: 128
- !type:OreDunGen
replacement: WallRock
entity: WallRockQuartz
count: 30
minGroupSize: 10
maxGroupSize: 15
- type: biomeMarkerLayer
- type: dungeonConfig
id: OreCoal
entityMask:
AsteroidRock: AsteroidRockCoal
WallRock: WallRockCoal
WallRockBasalt: WallRockBasaltCoal
WallRockChromite: WallRockChromiteCoal
WallRockSand: WallRockSandCoal
WallRockSnow: WallRockSnowCoal
maxCount: 30
minGroupSize: 8
maxGroupSize: 12
radius: 4
layers:
- !type:ChunkDunGen
size: 128
- !type:OreDunGen
replacement: WallRock
entity: WallRockCoal
count: 30
minGroupSize: 8
maxGroupSize: 12
- type: biomeMarkerLayer
- type: dungeonConfig
id: OreSalt
entityMask:
AsteroidRock: AsteroidRockSalt
WallRock: WallRockSalt
WallRockBasalt: WallRockBasaltSalt
WallRockChromite: WallRockChromiteSalt
WallRockSand: WallRockSandSalt
WallRockSnow: WallRockSnowSalt
maxCount: 30
minGroupSize: 8
maxGroupSize: 12
radius: 4
layers:
- !type:ChunkDunGen
size: 128
- !type:OreDunGen
replacement: WallRock
entity: WallRockSalt
count: 30
minGroupSize: 8
maxGroupSize: 12
# Medium value
# Gold
- type: biomeMarkerLayer
- type: dungeonConfig
id: OreGold
entityMask:
AsteroidRock: AsteroidRockGold
WallRock: WallRockGold
WallRockBasalt: WallRockBasaltGold
WallRockChromite: WallRockChromiteGold
WallRockSand: WallRockSandGold
WallRockSnow: WallRockSnowGold
maxCount: 20
minGroupSize: 5
maxGroupSize: 10
radius: 4
layers:
- !type:ChunkDunGen
size: 128
- !type:OreDunGen
replacement: WallRock
entity: WallRockGold
count: 20
minGroupSize: 5
maxGroupSize: 10
# Silver
- type: biomeMarkerLayer
- type: dungeonConfig
id: OreSilver
entityMask:
AsteroidRock: AsteroidRockSilver
WallRock: WallRockSilver
WallRockBasalt: WallRockBasaltSilver
WallRockChromite: WallRockChromiteSilver
WallRockSand: WallRockSandSilver
WallRockSnow: WallRockSnowSilver
maxCount: 20
minGroupSize: 5
maxGroupSize: 10
radius: 4
layers:
- !type:ChunkDunGen
size: 128
- !type:OreDunGen
replacement: WallRock
entity: WallRockSilver
count: 20
minGroupSize: 5
maxGroupSize: 10
# High value
# Plasma
- type: biomeMarkerLayer
- type: dungeonConfig
id: OrePlasma
entityMask:
AsteroidRock: AsteroidRockPlasma
WallRock: WallRockPlasma
WallRockBasalt: WallRockBasaltPlasma
WallRockChromite: WallRockChromitePlasma
WallRockSand: WallRockSandPlasma
WallRockSnow: WallRockSnowPlasma
maxCount: 12
minGroupSize: 4
maxGroupSize: 8
radius: 4
layers:
- !type:ChunkDunGen
size: 128
- !type:OreDunGen
replacement: WallRock
entity: WallRockPlasma
count: 12
minGroupSize: 4
maxGroupSize: 8
# Uranium
- type: biomeMarkerLayer
- type: dungeonConfig
id: OreUranium
entityMask:
AsteroidRock: AsteroidRockUranium
WallRock: WallRockUranium
WallRockBasalt: WallRockBasaltUranium
WallRockChromite: WallRockChromiteUranium
WallRockSand: WallRockSandUranium
WallRockSnow: WallRockSnowUranium
maxCount: 15
minGroupSize: 4
maxGroupSize: 8
radius: 4
layers:
- !type:ChunkDunGen
size: 128
- !type:OreDunGen
replacement: WallRock
entity: WallRockUranium
count: 15
minGroupSize: 4
maxGroupSize: 8
- type: biomeMarkerLayer
- type: dungeonConfig
id: OreDiamond
entityMask:
AsteroidRock: AsteroidRockDiamond
WallRock: WallRockDiamond
WallRockBasalt: WallRockBasaltDiamond
WallRockChromite: WallRockChromiteDiamond
WallRockSand: WallRockSandDiamond
WallRockSnow: WallRockSnowDiamond
maxCount: 6
minGroupSize: 1
maxGroupSize: 2
radius: 4
layers:
- !type:ChunkDunGen
size: 128
- !type:OreDunGen
replacement: WallRock
entity: WallRockDiamond
count: 6
minGroupSize: 1
maxGroupSize: 2
# Artifact Fragment
- type: biomeMarkerLayer
- type: dungeonConfig
id: OreArtifactFragment
entityMask:
AsteroidRock: AsteroidRockArtifactFragment
WallRock: WallRockArtifactFragment
WallRockBasalt: WallRockBasaltArtifactFragment
WallRockChromite: WallRockChromiteArtifactFragment
WallRockSand: WallRockSandArtifactFragment
WallRockSnow: WallRockSnowArtifactFragment
maxCount: 6
minGroupSize: 1
maxGroupSize: 2
radius: 4
layers:
- !type:ChunkDunGen
size: 128
- !type:OreDunGen
replacement: WallRock
entity: WallRockArtifactFragment
count: 6
minGroupSize: 1
maxGroupSize: 2

View File

@@ -1,146 +1,127 @@
# Low value
- type: biomeMarkerLayer
- type: dungeonConfig
id: OreIronLow
entityMask:
AsteroidRock: AsteroidRockTin
WallRock: WallRockTin
WallRockBasalt: WallRockBasaltTin
WallRockChromite: WallRockChromiteTin
WallRockSand: WallRockSandTin
WallRockSnow: WallRockSnowTin
maxCount: 20
minGroupSize: 4
maxGroupSize: 8
radius: 4
layers:
- !type:ChunkDunGen
size: 128
- !type:OreDunGen
replacement: WallRock
entity: WallRockTin
count: 20
minGroupSize: 4
maxGroupSize: 8
- type: biomeMarkerLayer
- type: dungeonConfig
id: OreQuartzLow
entityMask:
AsteroidRock: AsteroidRockQuartz
WallRock: WallRockQuartz
WallRockBasalt: WallRockBasaltQuartz
WallRockChromite: WallRockChromiteQuartz
WallRockSnow: WallRockSnowQuartz
maxCount: 20
minGroupSize: 4
maxGroupSize: 8
radius: 4
layers:
- !type:ChunkDunGen
size: 128
- !type:OreDunGen
replacement: WallRock
entity: WallRockQuartz
count: 20
minGroupSize: 4
maxGroupSize: 8
- type: biomeMarkerLayer
- type: dungeonConfig
id: OreCoalLow
entityMask:
AsteroidRock: AsteroidRockCoal
WallRock: WallRockCoal
WallRockBasalt: WallRockBasaltCoal
WallRockChromite: WallRockChromiteCoal
WallRockSand: WallRockSandCoal
WallRockSnow: WallRockSnowCoal
maxCount: 20
minGroupSize: 4
maxGroupSize: 6
radius: 4
layers:
- !type:ChunkDunGen
size: 128
- !type:OreDunGen
replacement: WallRock
entity: WallRockCoal
count: 20
minGroupSize: 4
maxGroupSize: 6
- type: biomeMarkerLayer
- type: dungeonConfig
id: OreSaltLow
entityMask:
AsteroidRock: AsteroidRockSalt
WallRock: WallRockSalt
WallRockBasalt: WallRockBasaltSalt
WallRockChromite: WallRockChromiteSalt
WallRockSand: WallRockSandSalt
WallRockSnow: WallRockSnowSalt
maxCount: 15
minGroupSize: 4
maxGroupSize: 6
radius: 4
layers:
- !type:ChunkDunGen
size: 128
- !type:OreDunGen
replacement: WallRock
entity: WallRockSalt
count: 15
minGroupSize: 4
maxGroupSize: 6
# Medium value
# Gold
- type: biomeMarkerLayer
- type: dungeonConfig
id: OreGoldLow
entityMask:
AsteroidRock: AsteroidRockGold
WallRock: WallRockGold
WallRockBasalt: WallRockBasaltGold
WallRockChromite: WallRockChromiteGold
WallRockSand: WallRockSandGold
WallRockSnow: WallRockSnowGold
maxCount: 10
minGroupSize: 2
maxGroupSize: 5
radius: 4
layers:
- !type:ChunkDunGen
size: 128
- !type:OreDunGen
replacement: WallRock
entity: WallRockGold
count: 12
minGroupSize: 2
maxGroupSize: 5
# Silver
- type: biomeMarkerLayer
- type: dungeonConfig
id: OreSilverLow
entityMask:
AsteroidRock: AsteroidRockSilver
WallRock: WallRockSilver
WallRockBasalt: WallRockBasaltSilver
WallRockChromite: WallRockChromiteSilver
WallRockSand: WallRockSandSilver
WallRockSnow: WallRockSnowSilver
maxCount: 10
minGroupSize: 2
maxGroupSize: 5
radius: 4
layers:
- !type:ChunkDunGen
size: 128
- !type:OreDunGen
replacement: WallRock
entity: WallRockSilver
count: 12
minGroupSize: 2
maxGroupSize: 5
# High value
# Plasma
- type: biomeMarkerLayer
- type: dungeonConfig
id: OrePlasmaLow
entityMask:
AsteroidRock: AsteroidRockPlasma
WallRock: WallRockPlasma
WallRockBasalt: WallRockBasaltPlasma
WallRockChromite: WallRockChromitePlasma
WallRockSand: WallRockSandPlasma
WallRockSnow: WallRockSnowPlasma
maxCount: 6
minGroupSize: 2
maxGroupSize: 4
radius: 4
layers:
- !type:ChunkDunGen
size: 128
- !type:OreDunGen
replacement: WallRock
entity: WallRockPlasma
count: 6
minGroupSize: 2
maxGroupSize: 4
# Uranium
- type: biomeMarkerLayer
- type: dungeonConfig
id: OreUraniumLow
entityMask:
AsteroidRock: AsteroidRockUranium
WallRock: WallRockUranium
WallRockBasalt: WallRockBasaltUranium
WallRockChromite: WallRockChromiteUranium
WallRockSand: WallRockSandUranium
WallRockSnow: WallRockSnowUranium
maxCount: 7
minGroupSize: 2
maxGroupSize: 4
radius: 4
layers:
- !type:ChunkDunGen
size: 128
- !type:OreDunGen
replacement: WallRock
entity: WallRockUranium
count: 7
minGroupSize: 2
maxGroupSize: 4
- type: biomeMarkerLayer
- type: dungeonConfig
id: OreDiamondLow
entityMask:
AsteroidRock: AsteroidRockDiamond
WallRock: WallRockDiamond
WallRockBasalt: WallRockBasaltDiamond
WallRockChromite: WallRockChromiteDiamond
WallRockSand: WallRockSandDiamond
WallRockSnow: WallRockSnowDiamond
maxCount: 3
minGroupSize: 1
maxGroupSize: 2
radius: 4
layers:
- !type:ChunkDunGen
size: 128
- !type:OreDunGen
replacement: WallRock
entity: WallRockDiamond
count: 3
minGroupSize: 1
maxGroupSize: 2
# Artifact Fragment
- type: biomeMarkerLayer
- type: dungeonConfig
id: OreArtifactFragmentLow
entityMask:
AsteroidRock: AsteroidRockArtifactFragment
WallRock: WallRockArtifactFragment
WallRockBasalt: WallRockBasaltArtifactFragment
WallRockChromite: WallRockChromiteArtifactFragment
WallRockSand: WallRockSandArtifactFragment
WallRockSnow: WallRockSnowArtifactFragment
maxCount: 3
minGroupSize: 1
maxGroupSize: 2
radius: 4
layers:
- !type:ChunkDunGen
size: 128
- !type:OreDunGen
replacement: WallRock
entity: WallRockArtifactFragment
count: 3
minGroupSize: 1
maxGroupSize: 2

File diff suppressed because it is too large Load Diff

View File

@@ -79,6 +79,9 @@
id: Haunted
layers:
- !type:PrefabDunGen
roomWhitelist:
tags:
- Haunted
presets:
- Bucket
- Wow

View File

@@ -3,108 +3,108 @@
- type: salvageLoot
id: SalvageLoot
loots:
- !type:RandomSpawnsLoot
entries:
- proto: AdvMopItem
prob: 0.5
- proto: AmmoTechFabCircuitboard
cost: 2
- proto: AutolatheMachineCircuitboard
cost: 2
- proto: BiomassReclaimerMachineCircuitboard
cost: 2
- proto: BluespaceBeaker
cost: 2
- proto: CyborgEndoskeleton
cost: 3
prob: 0.5
- proto: ChemDispenserMachineCircuitboard
cost: 2
- proto: CircuitImprinter
cost: 2
- proto: CloningConsoleComputerCircuitboard
cost: 2
- proto: CloningPodMachineCircuitboard
cost: 2
- proto: ChemistryBottleCognizine
- proto: FoodBoxDonkpocketCarp
prob: 0.5
- proto: CrateSalvageEquipment
cost: 3
prob: 0.5
- proto: GasRecycler
cost: 2
- proto: GeneratorRTG
cost: 5
- proto: GravityGeneratorMini
cost: 2
- proto: GyroscopeUnanchored
cost: 2
prob: 0.1
- proto: MedicalScannerMachineCircuitboard
cost: 2
- proto: NuclearBombKeg
cost: 5
- proto: ChemistryBottleOmnizine
prob: 0.5
- proto: PortableGeneratorPacman
cost: 2
- proto: PortableGeneratorSuperPacman
cost: 3
- proto: PowerCellAntiqueProto
cost: 5
prob: 0.5
- proto: ProtolatheMachineCircuitboard
- proto: RandomArtifactSpawner
cost: 2
- proto: RandomCargoCorpseSpawner
cost: 2
prob: 0.5
- proto: RandomCommandCorpseSpawner
cost: 5
prob: 0.5
- proto: RandomEngineerCorpseSpawner
cost: 2
prob: 0.5
- proto: RandomMedicCorpseSpawner
cost: 2
prob: 0.5
- proto: RandomScienceCorpseSpawner
cost: 2
prob: 0.5
- proto: RandomSecurityCorpseSpawner
cost: 2
prob: 0.5
- proto: RandomServiceCorpseSpawner
cost: 2
prob: 0.5
- proto: ResearchAndDevelopmentServerMachineCircuitboard
cost: 5
prob: 0.5
- proto: ResearchDisk10000
prob: 0.5
- proto: ResearchDisk5000
prob: 0.5
- proto: RipleyHarness
cost: 3
prob: 0.5
- proto: SpaceCash1000
- proto: SpaceCash10000
cost: 10
- proto: SpaceCash2500
cost: 3
- proto: SpaceCash5000
cost: 5
- proto: TechnologyDiskRare
cost: 5
prob: 0.5
- proto: ThrusterUnanchored
- proto: WaterTankHighCapacity
- proto: WeldingFuelTankHighCapacity
cost: 3
- proto: WeaponTeslaGun
prob: 0.1
cost: 2
- !type:RandomSpawnsLoot
entries:
- proto: AdvMopItem
prob: 0.5
- proto: AmmoTechFabCircuitboard
cost: 2
- proto: AutolatheMachineCircuitboard
cost: 2
- proto: BiomassReclaimerMachineCircuitboard
cost: 2
- proto: BluespaceBeaker
cost: 2
- proto: CyborgEndoskeleton
cost: 3
prob: 0.5
- proto: ChemDispenserMachineCircuitboard
cost: 2
- proto: CircuitImprinter
cost: 2
- proto: CloningConsoleComputerCircuitboard
cost: 2
- proto: CloningPodMachineCircuitboard
cost: 2
- proto: ChemistryBottleCognizine
- proto: FoodBoxDonkpocketCarp
prob: 0.5
- proto: CrateSalvageEquipment
cost: 3
prob: 0.5
- proto: GasRecycler
cost: 2
- proto: GeneratorRTG
cost: 5
- proto: GravityGeneratorMini
cost: 2
- proto: GyroscopeUnanchored
cost: 2
prob: 0.1
- proto: MedicalScannerMachineCircuitboard
cost: 2
- proto: NuclearBombKeg
cost: 5
- proto: ChemistryBottleOmnizine
prob: 0.5
- proto: PortableGeneratorPacman
cost: 2
- proto: PortableGeneratorSuperPacman
cost: 3
- proto: PowerCellAntiqueProto
cost: 5
prob: 0.5
- proto: ProtolatheMachineCircuitboard
- proto: RandomArtifactSpawner
cost: 2
- proto: RandomCargoCorpseSpawner
cost: 2
prob: 0.5
- proto: RandomCommandCorpseSpawner
cost: 5
prob: 0.5
- proto: RandomEngineerCorpseSpawner
cost: 2
prob: 0.5
- proto: RandomMedicCorpseSpawner
cost: 2
prob: 0.5
- proto: RandomScienceCorpseSpawner
cost: 2
prob: 0.5
- proto: RandomSecurityCorpseSpawner
cost: 2
prob: 0.5
- proto: RandomServiceCorpseSpawner
cost: 2
prob: 0.5
- proto: ResearchAndDevelopmentServerMachineCircuitboard
cost: 5
prob: 0.5
- proto: ResearchDisk10000
prob: 0.5
- proto: ResearchDisk5000
prob: 0.5
- proto: RipleyHarness
cost: 3
prob: 0.5
- proto: SpaceCash1000
- proto: SpaceCash10000
cost: 10
- proto: SpaceCash2500
cost: 3
- proto: SpaceCash5000
cost: 5
- proto: TechnologyDiskRare
cost: 5
prob: 0.5
- proto: ThrusterUnanchored
- proto: WaterTankHighCapacity
- proto: WeldingFuelTankHighCapacity
cost: 3
- proto: WeaponTeslaGun
prob: 0.1
cost: 2
# Mob loot table
@@ -117,70 +117,70 @@
id: OreIron
guaranteed: true
loots:
- !type:BiomeMarkerLoot
proto: OreIron
- !type:BiomeLoot
proto: OreIron
- type: salvageLoot
id: OreCoal
guaranteed: true
loots:
- !type:BiomeMarkerLoot
proto: OreCoal
- !type:BiomeLoot
proto: OreCoal
- type: salvageLoot
id: OreQuartz
guaranteed: true
loots:
- !type:BiomeMarkerLoot
proto: OreQuartz
- !type:BiomeLoot
proto: OreQuartz
- type: salvageLoot
id: OreSalt
guaranteed: true
loots:
- !type:BiomeMarkerLoot
proto: OreSalt
- !type:BiomeLoot
proto: OreSalt
# - Medium value
- type: salvageLoot
id: OreGold
guaranteed: true
loots:
- !type:BiomeMarkerLoot
proto: OreGold
- !type:BiomeLoot
proto: OreGold
- type: salvageLoot
id: OreSilver
guaranteed: true
loots:
- !type:BiomeMarkerLoot
proto: OreSilver
- !type:BiomeLoot
proto: OreSilver
# - High value
- type: salvageLoot
id: OrePlasma
guaranteed: true
loots:
- !type:BiomeMarkerLoot
proto: OrePlasma
- !type:BiomeLoot
proto: OrePlasma
- type: salvageLoot
id: OreUranium
guaranteed: true
loots:
- !type:BiomeMarkerLoot
proto: OreUranium
- !type:BiomeLoot
proto: OreUranium
- type: salvageLoot
id: OreDiamond
guaranteed: true
loots:
- !type:BiomeMarkerLoot
proto: OreDiamond
- !type:BiomeLoot
proto: OreDiamond
- type: salvageLoot
id: OreArtifactFragment
guaranteed: true
loots:
- !type:BiomeMarkerLoot
proto: OreArtifactFragment
- !type:BiomeLoot
proto: OreArtifactFragment

View File

@@ -8,24 +8,24 @@
- type: salvageBiomeMod
id: Caves
desc: salvage-biome-mod-caves
biome: Caves
biome: BiomeCaves
- type: salvageBiomeMod
id: Grasslands
desc: salvage-biome-mod-grasslands
biome: Grasslands
biome: BiomeGrasslands
- type: salvageBiomeMod
id: Snow
desc: salvage-biome-mod-snow
cost: 1
biome: Snow
biome: BiomeSnow
- type: salvageBiomeMod
id: Lava
desc: salvage-biome-mod-lava
cost: 2
biome: Lava
biome: BiomeLava
#- type: salvageBiomeMod
# id: Space

View File

@@ -117,8 +117,8 @@
- type: dungeonConfig
id: VGRoidSmaller
minOffset: 40
maxOffset: 60
minOffset: 60
maxOffset: 80
layers:
- !type:NoiseDistanceDunGen
size: 150, 150
@@ -151,6 +151,7 @@
maxCount: 3
layers:
- !type:ExteriorDunGen
penetration: 5,15
proto: Experiment
- !type:EntityTableDunGen
minCount: 25
@@ -228,5 +229,16 @@
layers:
- !type:FillGridDunGen
entity: IronRock
threshold: -0.95
size: 350, 350
distanceConfig: !type:DunGenEuclideanSquaredDistance
blendWeight: -0.50
reservedNoise:
frequency: 0.080
noiseType: OpenSimplex2
fractalType: FBm
octaves: 5
lacunarity: 1.5
gain: 0.5
allowedTiles:
- FloorAsteroidSand