Gateway destinations (#21040)

* Gateway generation

* Gateway stuff

* gatewehs

* mercenaries

* play area

* Range fixes and tweaks

* weh

* Gateway UI polish

* Lots of fixes

* Knock some items off

* Fix dungeon spawning

Realistically we should probably be using a salvage job.

* wahwah

* wehvs

* expression

* weh

* eee

* a

* a

* WEH

* frfr

* Gatwey

* Fix gateway windows

* Fix gateway windows

* a

* a

* Better layer masking

* a

* a

* Noise fixes

* a

* Fix fractal calculations

* a

* More fixes

* Fixes

* Add layers back in

* Fixes

* namespaces and ftl

* Other TODO

* Fix distance

* Cleanup

* Fix test
This commit is contained in:
metalgearsloth
2023-11-15 13:23:40 +11:00
committed by GitHub
parent 67a3c3a6a3
commit 816ee2e1ab
51 changed files with 1562 additions and 959 deletions

View File

@@ -1,31 +1,35 @@
- type: biomeMarkerLayer
id: Lizards
proto: MobLizard
groupCount: 5
prototype: MobLizard
minGroupSize: 3
maxGroupSize: 5
- type: biomeMarkerLayer
id: WatchersLavaland
proto: MobWatcherLavaland
groupCount: 3
prototype: MobWatcherLavaland
minGroupSize: 3
maxGroupSize: 3
- type: biomeMarkerLayer
id: WatchersIcewing
proto: MobWatcherIcewing
groupCount: 3
prototype: MobWatcherIcewing
minGroupSize: 3
maxGroupSize: 3
- type: biomeMarkerLayer
id: WatchersMagmawing
proto: MobWatcherMagmawing
groupCount: 3
prototype: MobWatcherMagmawing
minGroupSize: 3
maxGroupSize: 3
# TODO: Needs to be more robust
- type: biomeMarkerLayer
id: Xenos
proto: MobXeno
prototype: MobXeno
- type: biomeMarkerLayer
id: Carps
proto: MobCarpDungeon
prototype: MobCarpDungeon
#- type: biomeMarkerLayer

View File

@@ -1,290 +1,103 @@
# Low value
- type: biomeMarkerLayer
id: OreTin
proto: WallRockTin
entityMask: WallRock
entityMask:
WallRock: WallRockTin
WallRockBasalt: WallRockBasaltTin
WallRockChromite: WallRockChromiteTin
WallRockSnow: WallRockSnowTin
maxCount: 30
groupCount: 10
minGroupSize: 10
maxGroupSize: 20
radius: 4
- type: biomeMarkerLayer
id: OreQuartz
proto: WallRockQuartz
entityMask: WallRock
entityMask:
WallRock: WallRockQuartz
WallRockBasalt: WallRockBasaltQuartz
WallRockChromite: WallRockChromiteQuartz
WallRockSnow: WallRockSnowQuartz
maxCount: 30
groupCount: 10
minGroupSize: 10
maxGroupSize: 20
radius: 4
# Medium value
# Gold
- type: biomeMarkerLayer
id: OreGold
proto: WallRockGold
entityMask: WallRock
entityMask:
WallRock: WallRockGold
WallRockBasalt: WallRockBasaltGold
WallRockChromite: WallRockChromiteGold
WallRockSnow: WallRockSnowGold
maxCount: 30
groupCount: 5
minGroupSize: 5
maxGroupSize: 10
radius: 4
# Silver
- type: biomeMarkerLayer
id: OreSilver
proto: WallRockSilver
entityMask: WallRock
entityMask:
WallRock: WallRockSilver
WallRockBasalt: WallRockBasaltSilver
WallRockChromite: WallRockChromiteSilver
WallRockSnow: WallRockSnowSilver
maxCount: 30
groupCount: 5
minGroupSize: 5
maxGroupSize: 10
radius: 4
# High value
# Plasma
- type: biomeMarkerLayer
id: OrePlasma
proto: WallRockPlasma
entityMask: WallRock
entityMask:
WallRock: WallRockPlasma
WallRockBasalt: WallRockBasaltPlasma
WallRockChromite: WallRockChromitePlasma
WallRockSnow: WallRockSnowPlasma
maxCount: 12
groupCount: 5
minGroupSize: 5
maxGroupSize: 10
radius: 4
# Uranium
- type: biomeMarkerLayer
id: OreUranium
proto: WallRockUranium
entityMask: WallRock
entityMask:
WallRock: WallRockUranium
WallRockBasalt: WallRockBasaltUranium
WallRockChromite: WallRockChromiteUranium
WallRockSnow: WallRockSnowUranium
maxCount: 12
groupCount: 5
minGroupSize: 5
maxGroupSize: 10
radius: 4
- type: biomeMarkerLayer
id: OreBananium
proto: WallRockBananium
entityMask: WallRock
entityMask:
WallRock: WallRockBananium
WallRockBasalt: WallRockBasaltBananium
WallRockChromite: WallRockChromiteBananium
WallRockSnow: WallRockSnowBananium
maxCount: 12
groupCount: 5
minGroupSize: 5
maxGroupSize: 10
radius: 4
# Artifact Fragment
- type: biomeMarkerLayer
id: OreArtifactFragment
proto: WallRockArtifactFragment
entityMask: WallRock
entityMask:
WallRock: WallRockArtifactFragment
WallRockBasalt: WallRockBasaltArtifactFragment
WallRockChromite: WallRockChromiteArtifactFragment
WallRockSnow: WallRockSnowArtifactFragment
maxCount: 6
groupCount: 1
radius: 4
# Basalt variant
# Low value
- type: biomeMarkerLayer
id: BasaltOreTin
proto: WallRockBasaltTin
entityMask: WallRockBasalt
maxCount: 30
groupCount: 10
radius: 4
- type: biomeMarkerLayer
id: BasaltOreQuartz
proto: WallRockBasaltQuartz
entityMask: WallRockBasalt
maxCount: 30
groupCount: 10
radius: 4
# Medium value
# Gold
- type: biomeMarkerLayer
id: BasaltOreGold
proto: WallRockBasaltGold
entityMask: WallRockBasalt
maxCount: 30
groupCount: 5
radius: 4
# Silver
- type: biomeMarkerLayer
id: BasaltOreSilver
proto: WallRockBasaltSilver
entityMask: WallRockBasalt
maxCount: 30
groupCount: 5
radius: 4
# High value
# Plasma
- type: biomeMarkerLayer
id: BasaltOrePlasma
proto: WallRockBasaltPlasma
entityMask: WallRockBasalt
maxCount: 12
groupCount: 5
radius: 4
# Uranium
- type: biomeMarkerLayer
id: BasaltOreUranium
proto: WallRockBasaltUranium
entityMask: WallRockBasalt
maxCount: 12
groupCount: 5
radius: 4
- type: biomeMarkerLayer
id: BasaltOreBananium
proto: WallRockBasaltBananium
entityMask: WallRockBasalt
maxCount: 12
groupCount: 5
radius: 4
# Artifact Fragment
- type: biomeMarkerLayer
id: BasaltOreArtifactFragment
proto: WallRockBasaltArtifactFragment
entityMask: WallRockBasalt
maxCount: 6
groupCount: 1
radius: 4
# Shadow basalt variant
# Low value
- type: biomeMarkerLayer
id: ChromiteOreTin
proto: WallRockChromiteTin
entityMask: WallRockChromite
maxCount: 30
groupCount: 10
radius: 4
- type: biomeMarkerLayer
id: ChromiteOreQuartz
proto: WallRockChromiteQuartz
entityMask: WallRockChromite
maxCount: 30
groupCount: 10
radius: 4
# Medium value
# Gold
- type: biomeMarkerLayer
id: ChromiteOreGold
proto: WallRockChromiteGold
entityMask: WallRockChromite
maxCount: 30
groupCount: 5
radius: 4
# Silver
- type: biomeMarkerLayer
id: ChromiteOreSilver
proto: WallRockChromiteSilver
entityMask: WallRockChromite
maxCount: 30
groupCount: 5
radius: 4
# High value
# Plasma
- type: biomeMarkerLayer
id: ChromiteOrePlasma
proto: WallRockChromitePlasma
entityMask: WallRockChromite
maxCount: 12
groupCount: 5
radius: 4
# Uranium
- type: biomeMarkerLayer
id: ChromiteOreUranium
proto: WallRockChromiteUranium
entityMask: WallRockChromite
maxCount: 12
groupCount: 5
radius: 4
- type: biomeMarkerLayer
id: ChromiteOreBananium
proto: WallRockChromiteBananium
entityMask: WallRockChromite
maxCount: 12
groupCount: 5
radius: 4
# Artifact Fragment
- type: biomeMarkerLayer
id: ChromiteOreArtifactFragment
proto: WallRockChromiteArtifactFragment
entityMask: WallRockChromite
maxCount: 6
groupCount: 1
radius: 4
# Snow variant
# Low value
- type: biomeMarkerLayer
id: SnowOreTin
proto: WallRockSnowTin
entityMask: WallRockSnow
maxCount: 30
groupCount: 10
radius: 4
- type: biomeMarkerLayer
id: SnowOreQuartz
proto: WallRockSnowQuartz
entityMask: WallRockSnow
maxCount: 30
groupCount: 10
radius: 4
# Medium value
# Gold
- type: biomeMarkerLayer
id: SnowOreGold
proto: WallRockSnowGold
entityMask: WallRockSnow
maxCount: 30
groupCount: 5
radius: 4
# Silver
- type: biomeMarkerLayer
id: SnowOreSilver
proto: WallRockSnowSilver
entityMask: WallRockSnow
maxCount: 30
groupCount: 5
radius: 4
# High value
# Plasma
- type: biomeMarkerLayer
id: SnowOrePlasma
proto: WallRockSnowPlasma
entityMask: WallRockSnow
maxCount: 12
groupCount: 5
radius: 4
# Uranium
- type: biomeMarkerLayer
id: SnowOreUranium
proto: WallRockSnowUranium
entityMask: WallRockSnow
maxCount: 12
groupCount: 5
radius: 4
- type: biomeMarkerLayer
id: SnowOreBananium
proto: WallRockSnowBananium
entityMask: WallRockSnow
maxCount: 12
groupCount: 5
radius: 4
# Artifact Fragment
- type: biomeMarkerLayer
id: SnowOreArtifactFragment
proto: WallRockSnowArtifactFragment
entityMask: WallRockSnow
maxCount: 6
groupCount: 1
minGroupSize: 1
maxGroupSize: 2
radius: 4

View File

@@ -13,7 +13,6 @@
fractalType: FBm
octaves: 2
lacunarity: 2
gain: 0.5
- !type:BiomeMetaLayer
template: Grasslands
threshold: 0
@@ -23,7 +22,6 @@
fractalType: FBm
octaves: 2
lacunarity: 2
gain: 0.5
- !type:BiomeMetaLayer
template: Snow
threshold: 0.5
@@ -33,7 +31,6 @@
fractalType: FBm
octaves: 2
lacunarity: 2
gain: 0.5
# Desert
# TODO: Water in desert
@@ -62,7 +59,6 @@
fractalType: FBm
octaves: 5
lacunarity: 2
gain: 1
cellularDistanceFunction: Euclidean
cellularReturnType: Distance2
allowedTiles:
@@ -129,7 +125,6 @@
fractalType: FBm
octaves: 5
lacunarity: 2
gain: 1
cellularDistanceFunction: Euclidean
cellularReturnType: Distance2
decals:
@@ -174,7 +169,6 @@
lacunarity: 2
fractalType: FBm
octaves: 5
gain: 1
cellularDistanceFunction: Euclidean
cellularReturnType: Distance2
entities:
@@ -229,7 +223,6 @@
lacunarity: 2
fractalType: FBm
octaves: 5
gain: 1
cellularDistanceFunction: Euclidean
cellularReturnType: Distance2
@@ -305,7 +298,6 @@
lacunarity: 2
fractalType: FBm
octaves: 5
gain: 1
cellularDistanceFunction: Euclidean
cellularReturnType: Distance2
entities:
@@ -370,7 +362,6 @@
fractalType: FBm
octaves: 5
lacunarity: 2
gain: 1
cellularDistanceFunction: Euclidean
cellularReturnType: Distance2
decals:
@@ -436,7 +427,6 @@
lacunarity: 2
fractalType: FBm
octaves: 5
gain: 1
cellularDistanceFunction: Euclidean
cellularReturnType: Distance2
entities:
@@ -452,7 +442,6 @@
lacunarity: 2
fractalType: FBm
octaves: 5
gain: 1
cellularDistanceFunction: Euclidean
cellularReturnType: Distance2
- !type:BiomeDummyLayer
@@ -586,7 +575,7 @@
fractalType: Ridged
octaves: 1
frequency: 0.1
gain: 0
gain: 0.5
allowedTiles:
- FloorAsteroidSand
entities:

View File

@@ -123,22 +123,14 @@
guaranteed: true
loots:
- !type:BiomeMarkerLoot
proto:
Caves: OreTin
Grasslands: OreTin
Lava: BasaltOreTin
Snow: SnowOreTin
proto: OreTin
- type: salvageLoot
id: OreQuartz
guaranteed: true
loots:
- !type:BiomeMarkerLoot
proto:
Caves: OreQuartz
Grasslands: OreQuartz
Lava: BasaltOreQuartz
Snow: SnowOreQuartz
proto: OreQuartz
# - Medium value
- type: salvageLoot
@@ -146,22 +138,14 @@
guaranteed: true
loots:
- !type:BiomeMarkerLoot
proto:
Caves: OreGold
Grasslands: OreGold
Lava: BasaltOreGold
Snow: SnowOreGold
proto: OreGold
- type: salvageLoot
id: OreSilver
guaranteed: true
loots:
- !type:BiomeMarkerLoot
proto:
Caves: OreSilver
Grasslands: OreSilver
Lava: BasaltOreSilver
Snow: SnowOreSilver
proto: OreSilver
# - High value
- type: salvageLoot
@@ -169,41 +153,25 @@
guaranteed: true
loots:
- !type:BiomeMarkerLoot
proto:
Caves: OrePlasma
Grasslands: OrePlasma
Lava: BasaltOrePlasma
Snow: SnowOrePlasma
proto: OrePlasma
- type: salvageLoot
id: OreUranium
guaranteed: true
loots:
- !type:BiomeMarkerLoot
proto:
Caves: OreUranium
Grasslands: OreUranium
Lava: BasaltOreUranium
Snow: SnowOreUranium
proto: OreUranium
- type: salvageLoot
id: OreBananium
guaranteed: true
loots:
- !type:BiomeMarkerLoot
proto:
Caves: OreBananium
Grasslands: OreBananium
Lava: BasaltOreBananium
Snow: SnowOreBananium
proto: OreBananium
- type: salvageLoot
id: OreArtifactFragment
guaranteed: true
loots:
- !type:BiomeMarkerLoot
proto:
Caves: OreArtifactFragment
Grasslands: OreArtifactFragment
Lava: BasaltOreArtifactFragment
Snow: SnowOreArtifactFragment
proto: OreArtifactFragment