Salvage expeditions (#12745)

This commit is contained in:
metalgearsloth
2023-04-20 10:43:13 +10:00
committed by GitHub
parent 486d7c179e
commit 122350f19c
79 changed files with 2764 additions and 662 deletions

View File

@@ -0,0 +1,14 @@
- type: biomeMarkerLayer
id: Lizards
proto: MobLizard
groupCount: 5
# TODO: Needs to be more robust
- type: biomeMarkerLayer
id: Xenos
proto: MobXeno
#- type: biomeMarkerLayer
# id: Experiment
# proto: DungeonMarkerExperiment

View File

@@ -0,0 +1,108 @@
# Allowed
#allowedTiles:
#- FloorPlanetGrass
#- FloorPlanetDirt
#- FloorSnow
#- FloorBasalt
#- FloorAsteroidSand
- type: biomeTemplate
id: OreTin
layers:
- !type:BiomeEntityLayer
threshold: 0.90
allowedTiles:
- FloorPlanetGrass
- FloorPlanetDirt
- FloorSnow
- FloorBasalt
- FloorAsteroidSand
noise:
seed: 100
noiseType: OpenSimplex2
frequency: 0.04
fractalType: None
entities:
- WallRockTin
# Medium value
# Gold
- type: biomeTemplate
id: OreGold
layers:
- !type:BiomeEntityLayer
threshold: 0.95
allowedTiles:
- FloorPlanetGrass
- FloorPlanetDirt
- FloorSnow
- FloorBasalt
- FloorAsteroidSand
noise:
seed: 100
noiseType: OpenSimplex2
frequency: 0.04
fractalType: None
entities:
- WallRockGold
# Silver
- type: biomeTemplate
id: OreSilver
layers:
- !type:BiomeEntityLayer
threshold: 0.95
allowedTiles:
- FloorPlanetGrass
- FloorPlanetDirt
- FloorSnow
- FloorBasalt
- FloorAsteroidSand
noise:
seed: 100
noiseType: OpenSimplex2
frequency: 0.05
fractalType: None
entities:
- WallRockSilver
# High value
# Plasma
- type: biomeTemplate
id: OrePlasma
layers:
- !type:BiomeEntityLayer
threshold: 0.99
allowedTiles:
- FloorPlanetGrass
- FloorPlanetDirt
- FloorSnow
- FloorBasalt
- FloorAsteroidSand
noise:
seed: 100
noiseType: OpenSimplex2
frequency: 0.04
fractalType: None
entities:
- WallRockPlasma
# Uranium
- type: biomeTemplate
id: OreUranium
layers:
- !type:BiomeEntityLayer
threshold: 0.99
allowedTiles:
- FloorPlanetGrass
- FloorPlanetDirt
- FloorSnow
- FloorBasalt
- FloorAsteroidSand
noise:
seed: 100
noiseType: OpenSimplex2
frequency: 0.04
fractalType: None
entities:
- WallRockUranium

View File

@@ -0,0 +1,394 @@
# Desert
# TODO: Water in desert
- type: biomeTemplate
id: LowDesert
layers:
- !type:BiomeEntityLayer
threshold: 0.95
noise:
seed: 0
frequency: 2
noiseType: OpenSimplex2
allowedTiles:
- FloorLowDesert
entities:
- FloraRockSolid01
- FloraRockSolid02
- FloraRockSolid03
# Large rock areas
- !type:BiomeEntityLayer
threshold: -0.20
noise:
seed: 0
frequency: 0.04
noiseType: Cellular
fractalType: FBm
octaves: 5
lacunarity: 2
gain: 1
cellularDistanceFunction: Euclidean
cellularReturnType: Distance2
allowedTiles:
- FloorLowDesert
entities:
- AsteroidRock
- !type:BiomeDummyLayer
id: Loot
# Fill layer
- !type:BiomeTileLayer
threshold: -1
variants:
- 0
tile: FloorLowDesert
- !type:BiomeTileLayer
threshold: 0.6
tile: FloorLowDesert
noise:
seed: 0
noiseType: Cellular
frequency: 0.1
# Grass
- type: biomeTemplate
id: Grasslands
layers:
# Sparse vegetation
- !type:BiomeDecalLayer
allowedTiles:
- FloorPlanetGrass
divisions: 2
threshold: -0.50
noise:
seed: 0
noiseType: Cellular
frequency: 1
decals:
- BushDOne
- BushDTwo
- BushDThree
- !type:BiomeDecalLayer
allowedTiles:
- FloorPlanetGrass
noise:
seed: 0
noiseType: OpenSimplex2
frequency: 1
divisions: 1
threshold: 0.8
decals:
- FlowersBROne
- FlowersBRTwo
- FlowersBRThree
# Dense vegetation
- !type:BiomeDecalLayer
allowedTiles:
- FloorPlanetGrass
divisions: 1
threshold: -0.35
noise:
seed: 0
noiseType: Cellular
frequency: 0.2
fractalType: FBm
octaves: 5
lacunarity: 2
gain: 1
cellularDistanceFunction: Euclidean
cellularReturnType: Distance2
decals:
- BushAOne
- BushATwo
- BushAThree
- BushCOne
- BushCTwo
- BushCThree
- !type:BiomeEntityLayer
threshold: 0.5
noise:
seed: 0
noiseType: OpenSimplex2
fractalType: FBm
frequency: 2
allowedTiles:
- FloorPlanetGrass
entities:
- FloraTree01
- FloraTree02
- FloraTree03
- FloraTree04
- FloraTree05
- FloraTree06
- FloraTreeLarge01
- FloraTreeLarge02
- FloraTreeLarge03
- FloraTreeLarge04
- FloraTreeLarge05
- FloraTreeLarge06
# Rock formations
- !type:BiomeEntityLayer
allowedTiles:
- FloorPlanetGrass
- FloorPlanetDirt
threshold: -0.15
noise:
seed: 0
noiseType: Cellular
frequency: 0.05
lacunarity: 2
fractalType: FBm
octaves: 5
gain: 1
cellularDistanceFunction: Euclidean
cellularReturnType: Distance2
entities:
- WallRock
- !type:BiomeDummyLayer
id: Loot
# Water
- !type:BiomeEntityLayer
allowedTiles:
- FloorPlanetGrass
- FloorPlanetDirt
threshold: 0.95
noise:
seed: 3
noiseType: OpenSimplex2
frequency: 0.003
lacunarity: 1.50
fractalType: Ridged
octaves: 1
entities:
- FloorWaterEntity
# Fill remainder with dirt.
- !type:BiomeTileLayer
threshold: -1.0
tile: FloorPlanetDirt
- !type:BiomeTileLayer
threshold: -0.90
tile: FloorPlanetGrass
noise:
seed: 0
frequency: 0.02
fractalType: None
# Water sand
- !type:BiomeTileLayer
tile: FloorPlanetDirt
threshold: 0.95
noise:
seed: 3
noiseType: OpenSimplex2
frequency: 0.003
lacunarity: 1.50
fractalType: Ridged
octaves: 1
# Rock formation sand
- !type:BiomeTileLayer
tile: FloorPlanetDirt
threshold: -0.15
noise:
seed: 0
noiseType: Cellular
frequency: 0.05
lacunarity: 2
fractalType: FBm
octaves: 5
gain: 1
cellularDistanceFunction: Euclidean
cellularReturnType: Distance2
# Lava
- type: biomeTemplate
id: Lava
layers:
- !type:BiomeEntityLayer
threshold: 0.9
noise:
frequency: 1
seed: 2
allowedTiles:
- FloorBasalt
entities:
- BasaltOne
- BasaltTwo
- BasaltThree
- BasaltFour
- BasaltFive
- !type:BiomeDecalLayer
allowedTiles:
- FloorBasalt
threshold: 0.9
divisions: 1
noise:
seed: 1
frequency: 1
decals:
- Basalt1
- Basalt2
- Basalt3
- Basalt4
- Basalt5
- Basalt6
- Basalt7
- Basalt8
- Basalt9
- !type:BiomeEntityLayer
threshold: 0.95
noise:
seed: 0
noiseType: OpenSimplex2
frequency: 1
allowedTiles:
- FloorBasalt
entities:
- FloraRockSolid01
- FloraRockSolid02
- FloraRockSolid03
- !type:BiomeEntityLayer
threshold: 0.2
noise:
seed: 0
frequency: 0.02
fractalType: FBm
octaves: 5
lacunarity: 2
gain: 0.4
allowedTiles:
- FloorBasalt
entities:
- FloorLavaEntity
- !type:BiomeDummyLayer
id: Loot
# Fill basalt
- !type:BiomeTileLayer
threshold: -1
variants:
- 0
tile: FloorBasalt
# Snow
- type: biomeTemplate
id: Snow # Similar to Grasslands... but snow
layers:
# Sparse vegetation
- !type:BiomeDecalLayer
allowedTiles:
- FloorSnow
divisions: 2
threshold: -0.50
noise:
seed: 0
noiseType: Cellular
frequency: 1
decals:
- grasssnowa1
- grasssnowa2
- grasssnowa3
- grasssnowb1
- grasssnowb2
- grasssnowb3
- grasssnowc1
- grasssnowc2
- grasssnowc3
# Dense, bland grass
- !type:BiomeDecalLayer
allowedTiles:
- FloorSnow
divisions: 1
threshold: -0.35
noise:
seed: 0
noiseType: Cellular
frequency: 0.2
fractalType: FBm
octaves: 5
lacunarity: 2
gain: 1
cellularDistanceFunction: Euclidean
cellularReturnType: Distance2
decals:
- grasssnow
- grasssnow01
- grasssnow02
- grasssnow03
- grasssnow04
- grasssnow05
- grasssnow06
- grasssnow07
- grasssnow08
- grasssnow09
- grasssnow10
- grasssnow11
- grasssnow12
- grasssnow13
# Little bit of coloured grass
- !type:BiomeDecalLayer
allowedTiles:
- FloorSnow
divisions: 1
threshold: -0.0
noise:
seed: 0
noiseType: Cellular
frequency: 1
fractalType: None
cellularDistanceFunction: Euclidean
cellularReturnType: Distance2
decals:
- bushsnowa1
- bushsnowa2
- bushsnowa3
- bushsnowb3
- bushsnowb2
- bushsnowb3
- !type:BiomeEntityLayer
threshold: 0.5
noise:
seed: 0
noiseType: OpenSimplex2
fractalType: FBm
frequency: 2
allowedTiles:
- FloorSnow
entities:
- FloraTreeSnow01
- FloraTreeSnow02
- FloraTreeSnow03
- FloraTreeSnow04
- FloraTreeSnow05
- FloraTreeSnow06
- !type:BiomeDummyLayer
id: Loot
- !type:BiomeTileLayer
threshold: -1.0
tile: FloorSnow
- !type:BiomeTileLayer
threshold: -0.50
tile: FloorSnow
noise:
seed: 0
frequency: 0.02
fractalType: None
# Caves
- type: biomeTemplate
id: Caves
layers:
- !type:BiomeEntityLayer
threshold: -0.5
invert: true
noise:
seed: 0
noiseType: Perlin
fractalType: Ridged
octaves: 1
frequency: 0.1
gain: 0
allowedTiles:
- FloorAsteroidSand
entities:
- WallRock
- !type:BiomeDummyLayer
id: Loot
- !type:BiomeTileLayer
threshold: -1.0
tile: FloorAsteroidSand

View File

@@ -129,4 +129,4 @@
id: SmallArea1
size: 5,5
rooms:
- 0,0,5,5
- 0,0,5,5

View File

@@ -0,0 +1,16 @@
- type: salvageFaction
id: Xenos
groups:
- entries:
- id: MobXeno
amount: 2
maxAmount: 3
- id: MobXenoDrone
amount: 1
- entries:
- id: MobXenoRavager
amount: 1
prob: 0.1
configs:
DefenseStructure: XenoWardingTower
Mining: Xenos

View File

@@ -0,0 +1,94 @@
# Loot tables
#- type: weightedRandom
# id: SalvageLowValue
# weights:
# Common
# CrateSalvageAssortedGoodies: 1.0
# Uncommon
# TODO:
# Rare
- type: weightedRandom
id: SalvageHighValue
weights:
# Common
CrateMaterialPlasteel: 1.0
CrateMaterialWood: 1.0
CrateMaterialPlastic: 1.0
CrateSalvageEquipment: 1.0
CrateMaterialSteel: 1.0
CrateMaterialGlass: 1.0
# Uncommon
SuperCapacitorStockPart: 0.25
PhasicScanningModuleStockPart: 0.25
PicoManipulatorStockPart: 0.25
UltraHighPowerMicroLaserStockPart: 0.25
SuperMatterBinStockPart: 0.25
# Rare
QuadraticCapacitorStockPart: 0.10
TriphasicScanningModuleStockPart: 0.10
FemtoManipulatorStockPart: 0.10
QuadUltraMicroLaserStockPart: 0.10
BluespaceMatterBinStockPart: 0.10
# Crates
#- type: salvageLoot
# id: LowValue
# desc: Commodities
# blacklist:
# - Mining
# loots:
# - !type:DungeonClusterLoot
# lootTable: SalvageLowValue
# clusters: 3
# clusterAmount: 3
- type: salvageLoot
id: HighValue
desc: High-value commodities
blacklist:
- Mining
loots:
- !type:DungeonClusterLoot
lootTable: SalvageHighValue
clusters: 5
clusterAmount: 1
# Ores
# - Low value
- type: salvageLoot
id: OreTin
desc: Veins of steel
loots:
- !type:BiomeTemplateLoot
proto: OreTin
# - Medium value
- type: salvageLoot
id: OreGold
desc: Veins of gold ore
loots:
- !type:BiomeTemplateLoot
proto: OreGold
- type: salvageLoot
id: OreSilver
desc: Veins of silver ore
loots:
- !type:BiomeTemplateLoot
proto: OreSilver
# - High value
- type: salvageLoot
id: OrePlasma
desc: Veins of plasma ore
loots:
- !type:BiomeTemplateLoot
proto: OrePlasma
- type: salvageLoot
id: OreUranium
desc: Veins of uranium ore
loots:
- !type:BiomeTemplateLoot
proto: OreUranium

View File

@@ -0,0 +1,102 @@
# Markers
- type: entity
id: SalvageShuttleMarker
parent: FTLPoint
# Biome mods -> at least 1 required
- type: salvageBiomeMod
id: Grasslands
biome: Grasslands
- type: salvageBiomeMod
id: Lava
cost: 2
biome: Lava
- type: salvageBiomeMod
id: Snow
biome: Snow
- type: salvageBiomeMod
id: Caves
cost: 1
biome: Caves
#- type: salvageBiomeMod
# id: Space
# cost: 1
# weather: false
# biome: null
# Temperature mods -> not required
# Also whitelist it
# Weather mods -> not required
- type: salvageWeatherMod
id: SnowfallHeavy
weather: SnowfallHeavy
cost: 1
- type: salvageWeatherMod
id: Rain
weather: Rain
# Light mods -> required
# At some stage with sub-biomes this will probably be moved onto the biome itself
- type: salvageLightMod
id: Daylight
desc: Daylight
color: "#D8B059"
biomes:
- Grasslands
- type: salvageLightMod
id: Lavalight
desc: Daylight
color: "#A34931"
biomes:
- Lava
- type: salvageLightMod
id: Evening
desc: Evening
color: "#2b3143"
- type: salvageLightMod
id: Night
desc: Night time
color: null
cost: 1
# Time mods -> at least 1 required
- type: salvageTimeMod
id: StandardTime
- type: salvageTimeMod
id: RushTime
desc: Rush
minDuration: 480
maxDuration: 540
cost: 1
# Misc mods
- type: salvageMod
id: LongDistance
desc: Long distance
# Dungeons
# For now just simple 1-dungeon setups
- type: salvageDungeonMod
id: Experiment
proto: Experiment
biomeMods:
- Caves
#- LowDesert
- Snow
- Grasslands
- type: salvageDungeonMod
id: LavaBrig
proto: LavaBrig
biomeMods:
- Lava