VGRoid support (#27659)

* Dungeon spawn support for grid spawns

* Recursive dungeons working

* Mask approach working

* zack

* More work

* Fix recursive dungeons

* Heap of work

* weh

* the cud

* rar

* Job

* weh

* weh

* weh

* Master merges

* orch

* weh

* vgroid most of the work

* Tweaks

* Tweaks

* weh

* do do do do do do

* Basic layout

* Ore spawning working

* Big breaking changes

* Mob gen working

* weh

* Finalising

* emo

* More finalising

* reverty

* Reduce distance
This commit is contained in:
metalgearsloth
2024-07-03 22:23:11 +10:00
committed by GitHub
parent 1faa1b5df6
commit a2f99cc69e
103 changed files with 4928 additions and 2627 deletions

View File

@@ -46,17 +46,26 @@
path: /Maps/Shuttles/cargo.yml
- type: GridSpawn
groups:
trade:
vgroid: !type:DungeonSpawnGroup
minimumDistance: 1000
nameDataset: names_borer
addComponents:
- type: Gravity
enabled: true
inherent: true
protos:
- VGRoid
trade: !type:GridSpawnGroup
addComponents:
- type: ProtectedGrid
- type: TradeStation
paths:
- /Maps/Shuttles/trading_outpost.yml
mining:
mining: !type:GridSpawnGroup
paths:
- /Maps/Shuttles/mining.yml
# Spawn last
ruins:
ruins: !type:GridSpawnGroup
hide: true
nameGrid: true
minCount: 2

View File

@@ -1,5 +1,7 @@
#TODO: Someone should probably move the ore vein prototypes into their own file, or otherwise split this up in some way. This should not be 1.5k lines long.
# Anyway
# See WallRock variants for the remappings.
#Asteroid rock
- type: entity
@@ -639,21 +641,28 @@
description: An ore vein rich with coal.
suffix: Coal
components:
- type: OreVein
oreChance: 1.0
currentOre: OreCoal
- type: Sprite
layers:
- state: rock
- map: [ "enum.EdgeLayer.South" ]
state: rock_south
- map: [ "enum.EdgeLayer.East" ]
state: rock_east
- map: [ "enum.EdgeLayer.North" ]
state: rock_north
- map: [ "enum.EdgeLayer.West" ]
state: rock_west
- state: rock_coal
- type: EntityRemap
mask:
AsteroidRock: AsteroidRockCoal
WallRockBasalt: WallRockBasaltCoal
WallRockChromite: WallRockChromiteCoal
WallRockSand: WallRockSandCoal
WallRockSnow: WallRockSnowCoal
- type: OreVein
oreChance: 1.0
currentOre: OreCoal
- type: Sprite
layers:
- state: rock
- map: [ "enum.EdgeLayer.South" ]
state: rock_south
- map: [ "enum.EdgeLayer.East" ]
state: rock_east
- map: [ "enum.EdgeLayer.North" ]
state: rock_north
- map: [ "enum.EdgeLayer.West" ]
state: rock_west
- state: rock_coal
- type: entity
id: WallRockGold
@@ -661,21 +670,28 @@
description: An ore vein rich with gold.
suffix: Gold
components:
- type: OreVein
oreChance: 1.0
currentOre: OreGold
- type: Sprite
layers:
- state: rock
- map: [ "enum.EdgeLayer.South" ]
state: rock_south
- map: [ "enum.EdgeLayer.East" ]
state: rock_east
- map: [ "enum.EdgeLayer.North" ]
state: rock_north
- map: [ "enum.EdgeLayer.West" ]
state: rock_west
- state: rock_gold
- type: EntityRemap
mask:
AsteroidRock: AsteroidRockGold
WallRockBasalt: WallRockBasaltGold
WallRockChromite: WallRockChromiteGold
WallRockSand: WallRockSandGold
WallRockSnow: WallRockSnowGold
- type: OreVein
oreChance: 1.0
currentOre: OreGold
- type: Sprite
layers:
- state: rock
- map: [ "enum.EdgeLayer.South" ]
state: rock_south
- map: [ "enum.EdgeLayer.East" ]
state: rock_east
- map: [ "enum.EdgeLayer.North" ]
state: rock_north
- map: [ "enum.EdgeLayer.West" ]
state: rock_west
- state: rock_gold
- type: entity
id: WallRockPlasma
@@ -683,21 +699,28 @@
description: An ore vein rich with plasma.
suffix: Plasma
components:
- type: OreVein
oreChance: 1.0
currentOre: OrePlasma
- type: Sprite
layers:
- state: rock
- map: [ "enum.EdgeLayer.South" ]
state: rock_south
- map: [ "enum.EdgeLayer.East" ]
state: rock_east
- map: [ "enum.EdgeLayer.North" ]
state: rock_north
- map: [ "enum.EdgeLayer.West" ]
state: rock_west
- state: rock_phoron
- type: EntityRemap
mask:
AsteroidRock: AsteroidRockPlasma
WallRockBasalt: WallRockBasaltPlasma
WallRockChromite: WallRockChromitePlasma
WallRockSand: WallRockSandPlasma
WallRockSnow: WallRockSnowPlasma
- type: OreVein
oreChance: 1.0
currentOre: OrePlasma
- type: Sprite
layers:
- state: rock
- map: [ "enum.EdgeLayer.South" ]
state: rock_south
- map: [ "enum.EdgeLayer.East" ]
state: rock_east
- map: [ "enum.EdgeLayer.North" ]
state: rock_north
- map: [ "enum.EdgeLayer.West" ]
state: rock_west
- state: rock_phoron
- type: entity
id: WallRockQuartz
@@ -705,21 +728,28 @@
description: An ore vein rich with quartz.
suffix: Quartz
components:
- type: OreVein
oreChance: 1.0
currentOre: OreSpaceQuartz
- type: Sprite
layers:
- state: rock
- map: [ "enum.EdgeLayer.South" ]
state: rock_south
- map: [ "enum.EdgeLayer.East" ]
state: rock_east
- map: [ "enum.EdgeLayer.North" ]
state: rock_north
- map: [ "enum.EdgeLayer.West" ]
state: rock_west
- state: rock_quartz
- type: EntityRemap
mask:
AsteroidRock: AsteroidRockQuartz
WallRockBasalt: WallRockBasaltQuartz
WallRockChromite: WallRockChromiteQuartz
WallRockSand: WallRockSandQuartz
WallRockSnow: WallRockSnowQuartz
- type: OreVein
oreChance: 1.0
currentOre: OreSpaceQuartz
- type: Sprite
layers:
- state: rock
- map: [ "enum.EdgeLayer.South" ]
state: rock_south
- map: [ "enum.EdgeLayer.East" ]
state: rock_east
- map: [ "enum.EdgeLayer.North" ]
state: rock_north
- map: [ "enum.EdgeLayer.West" ]
state: rock_west
- state: rock_quartz
- type: entity
id: WallRockSilver
@@ -727,21 +757,28 @@
description: An ore vein rich with silver.
suffix: Silver
components:
- type: OreVein
oreChance: 1.0
currentOre: OreSilver
- type: Sprite
layers:
- state: rock
- map: [ "enum.EdgeLayer.South" ]
state: rock_south
- map: [ "enum.EdgeLayer.East" ]
state: rock_east
- map: [ "enum.EdgeLayer.North" ]
state: rock_north
- map: [ "enum.EdgeLayer.West" ]
state: rock_west
- state: rock_silver
- type: EntityRemap
mask:
AsteroidRock: AsteroidRockSilver
WallRockBasalt: WallRockBasaltSilver
WallRockChromite: WallRockChromiteSilver
WallRockSand: WallRockSandSilver
WallRockSnow: WallRockSnowSilver
- type: OreVein
oreChance: 1.0
currentOre: OreSilver
- type: Sprite
layers:
- state: rock
- map: [ "enum.EdgeLayer.South" ]
state: rock_south
- map: [ "enum.EdgeLayer.East" ]
state: rock_east
- map: [ "enum.EdgeLayer.North" ]
state: rock_north
- map: [ "enum.EdgeLayer.West" ]
state: rock_west
- state: rock_silver
# Yes I know it drops steel but we may get smelting at some point
- type: entity
@@ -750,6 +787,13 @@
description: An ore vein rich with iron.
suffix: Iron
components:
- type: EntityRemap
mask:
AsteroidRock: AsteroidRockTin
WallRockBasalt: WallRockBasaltTin
WallRockChromite: WallRockChromiteTin
WallRockSand: WallRockSandTin
WallRockSnow: WallRockSnowTin
- type: OreVein
oreChance: 1.0
currentOre: OreSteel
@@ -772,21 +816,28 @@
description: An ore vein rich with uranium.
suffix: Uranium
components:
- type: OreVein
oreChance: 1.0
currentOre: OreUranium
- type: Sprite
layers:
- state: rock
- map: [ "enum.EdgeLayer.South" ]
state: rock_south
- map: [ "enum.EdgeLayer.East" ]
state: rock_east
- map: [ "enum.EdgeLayer.North" ]
state: rock_north
- map: [ "enum.EdgeLayer.West" ]
state: rock_west
- state: rock_uranium
- type: EntityRemap
mask:
AsteroidRock: AsteroidRockUranium
WallRockBasalt: WallRockBasaltUranium
WallRockChromite: WallRockChromiteUranium
WallRockSand: WallRockSandUranium
WallRockSnow: WallRockSnowUranium
- type: OreVein
oreChance: 1.0
currentOre: OreUranium
- type: Sprite
layers:
- state: rock
- map: [ "enum.EdgeLayer.South" ]
state: rock_south
- map: [ "enum.EdgeLayer.East" ]
state: rock_east
- map: [ "enum.EdgeLayer.North" ]
state: rock_north
- map: [ "enum.EdgeLayer.West" ]
state: rock_west
- state: rock_uranium
- type: entity
@@ -795,21 +846,28 @@
description: An ore vein rich with bananium.
suffix: Bananium
components:
- type: OreVein
oreChance: 1.0
currentOre: OreBananium
- type: Sprite
layers:
- state: rock
- map: [ "enum.EdgeLayer.South" ]
state: rock_south
- map: [ "enum.EdgeLayer.East" ]
state: rock_east
- map: [ "enum.EdgeLayer.North" ]
state: rock_north
- map: [ "enum.EdgeLayer.West" ]
state: rock_west
- state: rock_bananium
- type: EntityRemap
mask:
AsteroidRock: AsteroidRockBananium
WallRockBasalt: WallRockBasaltBananium
WallRockChromite: WallRockChromiteBananium
WallRockSand: WallRockSandBananium
WallRockSnow: WallRockSnowBananium
- type: OreVein
oreChance: 1.0
currentOre: OreBananium
- type: Sprite
layers:
- state: rock
- map: [ "enum.EdgeLayer.South" ]
state: rock_south
- map: [ "enum.EdgeLayer.East" ]
state: rock_east
- map: [ "enum.EdgeLayer.North" ]
state: rock_north
- map: [ "enum.EdgeLayer.West" ]
state: rock_west
- state: rock_bananium
- type: entity
id: WallRockArtifactFragment
@@ -817,21 +875,28 @@
description: A rock wall. What's that sticking out of it?
suffix: Artifact Fragment
components:
- type: OreVein
oreChance: 1.0
currentOre: OreArtifactFragment
- type: Sprite
layers:
- state: rock
- map: [ "enum.EdgeLayer.South" ]
state: rock_south
- map: [ "enum.EdgeLayer.East" ]
state: rock_east
- map: [ "enum.EdgeLayer.North" ]
state: rock_north
- map: [ "enum.EdgeLayer.West" ]
state: rock_west
- state: rock_artifact_fragment
- type: EntityRemap
mask:
AsteroidRock: AsteroidRockArtifactFragment
WallRockBasalt: WallRockBasaltArtifactFragment
WallRockChromite: WallRockChromiteArtifactFragment
WallRockSand: WallRockSandArtifactFragment
WallRockSnow: WallRockSnowArtifactFragment
- type: OreVein
oreChance: 1.0
currentOre: OreArtifactFragment
- type: Sprite
layers:
- state: rock
- map: [ "enum.EdgeLayer.South" ]
state: rock_south
- map: [ "enum.EdgeLayer.East" ]
state: rock_east
- map: [ "enum.EdgeLayer.North" ]
state: rock_north
- map: [ "enum.EdgeLayer.West" ]
state: rock_west
- state: rock_artifact_fragment
- type: entity
id: WallRockSalt
@@ -839,21 +904,28 @@
description: An ore vein rich with salt.
suffix: Salt
components:
- type: OreVein
oreChance: 1.0
currentOre: OreSalt
- type: Sprite
layers:
- state: rock
- map: [ "enum.EdgeLayer.South" ]
state: rock_south
- map: [ "enum.EdgeLayer.East" ]
state: rock_east
- map: [ "enum.EdgeLayer.North" ]
state: rock_north
- map: [ "enum.EdgeLayer.West" ]
state: rock_west
- state: rock_salt
- type: EntityRemap
mask:
AsteroidRock: AsteroidRockSalt
WallRockBasalt: WallRockBasaltSalt
WallRockChromite: WallRockChromiteSalt
WallRockSand: WallRockSandSalt
WallRockSnow: WallRockSnowSalt
- type: OreVein
oreChance: 1.0
currentOre: OreSalt
- type: Sprite
layers:
- state: rock
- map: [ "enum.EdgeLayer.South" ]
state: rock_south
- map: [ "enum.EdgeLayer.East" ]
state: rock_east
- map: [ "enum.EdgeLayer.North" ]
state: rock_north
- map: [ "enum.EdgeLayer.West" ]
state: rock_west
- state: rock_salt
# Basalt variants
- type: entity