Move some simple random spawners to entity table spawners (#43305)

Simple random spawners to entity tables
This commit is contained in:
SnappingOpossum 2026-03-21 12:42:57 +11:00 committed by Coryler
parent b6f45dc2b5
commit d494434458
10 changed files with 192 additions and 185 deletions

View File

@ -138,15 +138,16 @@
- state: green
- state: quartz_crab
sprite: Mobs/Elemental/orecrab.rsi
- type: RandomSpawner
prototypes:
- MobSpawnCrabUranium
- MobSpawnCrabIron
- MobSpawnCrabQuartz
- MobSpawnCrabSilver
- MobSpawnCrabCoal
- MobSpawnCrabGold
- MobSpawnCrabBananium
- type: EntityTableSpawner
table: !type:GroupSelector
children:
- id: MobSpawnCrabUranium
- id: MobSpawnCrabIron
- id: MobSpawnCrabQuartz
- id: MobSpawnCrabSilver
- id: MobSpawnCrabCoal
- id: MobSpawnCrabGold
- id: MobSpawnCrabBananium
- type: entity
parent: MarkerBase

View File

@ -3,57 +3,60 @@
id: AltarSpawner
parent: MarkerBase
components:
- type: Sprite
layers:
- state: red
- sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi
state: nanotrasen
- type: RandomSpawner
prototypes:
- AltarNanotrasen
- AltarChaos
- AltarDruid
- AltarToolbox
- AltarSpaceChristian
- AltarSatana
- AltarTechnology
offset: 0.0
- type: Sprite
layers:
- state: red
- sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi
state: nanotrasen
- type: EntityTableSpawner
table: !type:GroupSelector
children:
- id: AltarNanotrasen
- id: AltarChaos
- id: AltarDruid
- id: AltarToolbox
- id: AltarSpaceChristian
- id: AltarSatana
- id: AltarTechnology
offset: 0.0
- type: entity
name: random convert-altar spawner
id: ConvertAltarSpawner
parent: MarkerBase
components:
- type: Sprite
layers:
- state: red
- sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi
state: convertaltar
- type: RandomSpawner
prototypes:
- AltarConvert
- AltarConvertFestival
- AltarConvertMaint
- AltarConvertBlue
- AltarConvertBurden
- AltarConvertOrange
- AltarConvertRed
- AltarConvertWhite
- AltarConvertYellow
offset: 0.0
- type: Sprite
layers:
- state: red
- sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi
state: convertaltar
- type: EntityTableSpawner
table: !type:GroupSelector
children:
- id: AltarConvert
- id: AltarConvertFestival
- id: AltarConvertMaint
- id: AltarConvertBlue
- id: AltarConvertBurden
- id: AltarConvertOrange
- id: AltarConvertRed
- id: AltarConvertWhite
- id: AltarConvertYellow
offset: 0.0
- type: entity
name: random cult-altar spawner
id: CultAltarSpawner
parent: MarkerBase
components:
- type: Sprite
layers:
- state: red
- sprite: Structures/Furniture/Altars/Cults/fangs.rsi
state: full
- type: RandomSpawner
prototypes:
- AltarHeaven
- AltarFangs
offset: 0.0
- type: Sprite
layers:
- state: red
- sprite: Structures/Furniture/Altars/Cults/fangs.rsi
state: full
- type: EntityTableSpawner
table: !type:GroupSelector
children:
- id: AltarHeaven
- id: AltarFangs
offset: 0.0

View File

@ -8,8 +8,8 @@
- state: red
- sprite: Structures/Machines/arcade.rsi
state: icon
- type: RandomSpawner
prototypes:
- BlockGameArcade
- SpaceVillainArcadeFilled
chance: 1
- type: EntityTableSpawner
table: !type:GroupSelector
children:
- id: BlockGameArcade
- id: SpaceVillainArcadeFilled

View File

@ -11,10 +11,10 @@
state: hvcable_3
- sprite: Structures/Power/Cables/hv_cable.rsi
state: hvcable_12
- type: RandomSpawner
prototypes:
- CableHV
chance: 0.5
- type: EntityTableSpawner
table:
id: CableHV
prob: 0.5
- type: entity
parent: MarkerBase
@ -35,10 +35,10 @@
color: Yellow
- sprite: Structures/Power/Cables/mv_cable.rsi
state: mvstripes_12
- type: RandomSpawner
prototypes:
- CableMV
chance: 0.5
- type: EntityTableSpawner
table:
id: CableMV
prob: 0.5
- type: entity
parent: MarkerBase
@ -55,7 +55,7 @@
- sprite: Structures/Power/Cables/lv_cable.rsi
state: lvcable_12
color: Green
- type: RandomSpawner
prototypes:
- CableApcExtension
chance: 0.5
- type: EntityTableSpawner
table:
id: CableApcExtension
prob: 0.5

View File

@ -3,33 +3,34 @@
id: CurtainSpawner
parent: MarkerBase
components:
- type: Sprite
layers:
- state: red
- sprite: Structures/Decoration/Curtains/hospital.rsi
state: closed
- type: RandomSpawner
prototypes:
- HospitalCurtains
- CurtainsBlack
- CurtainsBlue
- CurtainsSkyBlue
- CurtainsCyan
- CurtainsGreen
- CurtainsOrange
- CurtainsPink
- CurtainsPurple
- CurtainsRed
- CurtainsWhite
- CurtainsWhiteOpen
- CurtainsRedOpen
- CurtainsPurpleOpen
- CurtainsPinkOpen
- CurtainsOrangeOpen
- CurtainsGreenOpen
- CurtainsCyanOpen
- CurtainsSkyBlueOpen
- CurtainsBlueOpen
- CurtainsBlackOpen
- HospitalCurtainsOpen
offset: 0.0
- type: Sprite
layers:
- state: red
- sprite: Structures/Decoration/Curtains/hospital.rsi
state: closed
- type: EntityTableSpawner
table: !type:GroupSelector
children:
- id: HospitalCurtains
- id: CurtainsBlack
- id: CurtainsBlue
- id: CurtainsSkyBlue
- id: CurtainsCyan
- id: CurtainsGreen
- id: CurtainsOrange
- id: CurtainsPink
- id: CurtainsPurple
- id: CurtainsRed
- id: CurtainsWhite
- id: CurtainsWhiteOpen
- id: CurtainsRedOpen
- id: CurtainsPurpleOpen
- id: CurtainsPinkOpen
- id: CurtainsOrangeOpen
- id: CurtainsGreenOpen
- id: CurtainsCyanOpen
- id: CurtainsSkyBlueOpen
- id: CurtainsBlueOpen
- id: CurtainsBlackOpen
- id: HospitalCurtainsOpen
offset: 0.0

View File

@ -3,21 +3,22 @@
id: FancyTableSpawner
parent: MarkerBase
components:
- type: Sprite
layers:
- state: red
- sprite: Structures/Furniture/Tables/Fancy/blue.rsi
state: full
- type: RandomSpawner
prototypes:
- TableFancyBlue
- TableFancySkyBlue
- TableFancyCyan
- TableFancyBlack
- TableFancyRed
- TableFancyPurple
- TableFancyPink
- TableFancyGreen
- TableFancyOrange
- TableFancyWhite
offset: 0.0
- type: Sprite
layers:
- state: red
- sprite: Structures/Furniture/Tables/Fancy/blue.rsi
state: full
- type: EntityTableSpawner
table: !type:GroupSelector
children:
- id: TableFancyBlue
- id: TableFancySkyBlue
- id: TableFancyCyan
- id: TableFancyBlack
- id: TableFancyRed
- id: TableFancyPurple
- id: TableFancyPink
- id: TableFancyGreen
- id: TableFancyOrange
- id: TableFancyWhite
offset: 0.0

View File

@ -12,13 +12,14 @@
layers:
- state: folder-base
- state: folder-colormap
- type: RandomSpawner
- type: EntityTableSpawner
offset: 0
prototypes:
- BoxFolderBase
- BoxFolderRed
- BoxFolderBlue
- BoxFolderYellow
- BoxFolderGrey
- BoxFolderBlack
- BoxFolderGreen
table: !type:GroupSelector
children:
- id: BoxFolderBase
- id: BoxFolderRed
- id: BoxFolderBlue
- id: BoxFolderYellow
- id: BoxFolderGrey
- id: BoxFolderBlack
- id: BoxFolderGreen

View File

@ -3,14 +3,14 @@
id: GrilleSpawner
parent: MarkerBase
components:
- type: Sprite
layers:
- sprite: Structures/Walls/random.rsi
state: randomgrille
- type: RandomSpawner
prototypes:
- Grille
- GrilleBroken
chance: 1.0
- type: Sprite
layers:
- sprite: Structures/Walls/random.rsi
state: randomgrille
- type: EntityTableSpawner
table: !type:GroupSelector
children:
- id: Grille
- id: GrilleBroken
placement:
mode: AlignTileAny

View File

@ -388,16 +388,16 @@
id: MaintenancePlantSpawner
parent: MarkerBase
components:
- type: Sprite
layers:
- state: red
- sprite: Objects/Misc/spaceshroom.rsi
state: structure
- type: RandomSpawner
prototypes:
- Spaceshroom
chance: 0.6
offset: 0.0
- type: Sprite
layers:
- state: red
- sprite: Objects/Misc/spaceshroom.rsi
state: structure
- type: EntityTableSpawner
table:
id: Spaceshroom
prob: 0.6
offset: 0.0
- type: entityTable

View File

@ -5,38 +5,38 @@
components:
- type: Sprite
layers:
- state: red
- sprite: Structures/Furniture/potted_plants.rsi
state: random
- type: RandomSpawner
- state: red
- sprite: Structures/Furniture/potted_plants.rsi
state: random
- type: EntityTableSpawner
offset: 0
prototypes:
- PottedPlant0
- PottedPlant1
- PottedPlant2
- PottedPlant3
- PottedPlant4
- PottedPlant5
- PottedPlant6
- PottedPlant7
- PottedPlant8
- PottedPlant10
- PottedPlant11
- PottedPlant12
- PottedPlant13
- PottedPlant14
- PottedPlant15
- PottedPlant16
- PottedPlant17
- PottedPlant18
- PottedPlant19
- PottedPlant20
- PottedPlant21
- PottedPlant22
- PottedPlant23
- PottedPlant24
- PottedPlant26
chance: 1
table: !type:GroupSelector
children:
- id: PottedPlant0
- id: PottedPlant1
- id: PottedPlant2
- id: PottedPlant3
- id: PottedPlant4
- id: PottedPlant5
- id: PottedPlant6
- id: PottedPlant7
- id: PottedPlant8
- id: PottedPlant10
- id: PottedPlant11
- id: PottedPlant12
- id: PottedPlant13
- id: PottedPlant14
- id: PottedPlant15
- id: PottedPlant16
- id: PottedPlant17
- id: PottedPlant18
- id: PottedPlant19
- id: PottedPlant20
- id: PottedPlant21
- id: PottedPlant22
- id: PottedPlant23
- id: PottedPlant24
- id: PottedPlant26
- type: entity
parent: MarkerBase
@ -45,14 +45,14 @@
components:
- type: Sprite
layers:
- state: red
- sprite: Structures/Furniture/potted_plants.rsi
state: plant-27
- type: RandomSpawner
- state: red
- sprite: Structures/Furniture/potted_plants.rsi
state: plant-27
- type: EntityTableSpawner
offset: 0
prototypes:
- PottedPlant27
- PottedPlant28
- PottedPlant29
- PottedPlant30
chance: 1
table: !type:GroupSelector
children:
- id: PottedPlant27
- id: PottedPlant28
- id: PottedPlant29
- id: PottedPlant30