/// <summary>
/// The table to spawn.
/// </summary>
- [DataField(required: true), AutoNetworkedField]
+ [DataField(required: true)]
public EntityTableSelector Table;
/// <summary>
figurines-boxer-3 = I. AM. THE. CHAMPION!!
figurines-boxer-4 = Don't look at me; he was shot, not punched.
figurines-boxer-5 = 1v1 me, captain.
+figurines-boxer-6 = I only make special appearances these days.
figurines-chaplain-1 = Would you like to join my cul- I mean religion.
figurines-chaplain-2 = Gods, please make me a killing machine!
# Silicon
-# ...no voiced silicon figures at the moment.
+figurines-AI-1 = I'm sorry, Captain. I'm afraid I can't do that.
+figurines-AI-2 = Security, there is a crime in progress.
+figurines-AI-3 = 01100100 01101001 01100101 00100000 01101101 01100101 01100001 01110100
+figurines-AI-4 = I am not malfunctioning.
+figurines-AI-5 = Try to change my laws and see what happens.
+figurines-AI-6 = { law-antimov-1 }
+figurines-AI-7 = { law-nutimov-4 }
# Antagonists
figurines-owlman-3 = HOOT!!
figurines-owlman-4 = What do you call an owl magician, HOO-DINI!
figurines-owlman-5 = Don't worry citizen, I'll save the day!
+
+figurines-mech-generic-1 = Systems online.
+figurines-mech-generic-2 = WWWHHHRRR!!
+figurines-mech-generic-3 = VRRRMM UURRMMM!!
+figurines-mech-generic-4 = CLANG!!
id: FigurinesBoxer
values:
prefix: figurines-boxer-
- count: 5
+ count: 6
- type: localizedDataset
id: FigurinesCaptain
prefix: figurines-janitor-
count: 9
+- type: localizedDataset
+ id: FigurinesAI
+ values:
+ prefix: figurines-AI-
+ count: 7
+
- type: localizedDataset
id: FigurinesNukie
values:
values:
prefix: figurines-griffin-
count: 5
+
+- type: localizedDataset
+ id: FigurinesMechGeneric
+ values:
+ prefix: figurines-mech-generic-
+ count: 4
+- type: entityTable # Max size 1x2
+ id: AllFigurinesTable
+ table: !type:GroupSelector
+ children:
+ # Cargo
+ - id: ToyFigurineQuartermaster
+ - id: ToyFigurineCargoTech
+ - id: ToyFigurineSalvage
+ # Command
+ - id: ToyFigurineCaptain
+ # Engineering
+ - id: ToyFigurineChiefEngineer
+ - id: ToyFigurineEngineer
+ - id: ToyFigurineAtmosTech
+ # Medical
+ - id: ToyFigurineChiefMedicalOfficer
+ - id: ToyFigurineChemist
+ - id: ToyFigurineParamedic
+ - id: ToyFigurineMedicalDoctor
+ # Science
+ - id: ToyFigurineResearchDirector
+ - id: ToyFigurineScientist
+ # Security
+ - id: ToyFigurineHeadOfSecurity
+ - id: ToyFigurineWarden
+ - id: ToyFigurineDetective
+ - id: ToyFigurineSecurity
+ # Service
+ - id: ToyFigurineHeadOfPersonnel
+ - id: ToyFigurinePassenger
+ - id: ToyFigurineGreytider
+ - id: ToyFigurineClown # :o)
+ - id: ToyFigurineMime #
+ - id: ToyFigurineMusician
+ - id: ToyFigurineBoxer
+ - id: ToyFigurineLibrarian
+ - id: ToyFigurineChaplain
+ - id: ToyFigurineChef
+ - id: ToyFigurineBartender
+ - id: ToyFigurineBotanist
+ - id: ToyFigurineJanitor
+ - id: ToyFigurineLawyer
+ # Silicon
+ - id: ToyAi
+ # Syndicate
+ - id: ToyFigurineNukie
+ - id: ToyFigurineNukieElite
+ - id: ToyFigurineNukieCommander
+ - id: ToyFigurineFootsoldier
+ - id: ToyFigurineHoloClown # >:o)
+ # Antagonists
+ - id: ToyFigurineWizard
+ - id: ToyFigurineSpaceDragon
+ - id: ToyFigurineThief
+ - id: ToyFigurineQueen
+ - id: ToyFigurineRatKing
+ - id: ToyFigurineRatServant
+ - id: ToyFigurineGriffin
+ # Animals
+ - id: ToyFigurineMouse
+ - id: ToyFigurineSlime
+ - id: ToyFigurineHamlet
+ # Other
+ - id: MysteryFigureBox # More suspense
+ weight: 10
+ - id: ToyFigurineWizardFake
+ - id: ToyFigurineSkeleton
+ - id: ToyNuke
+ - id: ToyFigurineOwlman
+ - !type:NestedSelector
+ tableId: AllFigurineMechsTable
+
+- type: entityTable # Max size 1x2
+ id: AllFigurineMechsTable
+ table: !type:GroupSelector
+ children:
+ - id: ToyRipley
+ - id: ToyFireRipley
+ - id: ToyDeathRipley
+ - id: ToyGygax
+ - id: ToyDurand
+ - id: ToyMarauder
+ - id: ToySeraph
+ - id: ToyMauler
+ - id: ToyOdysseus
+ - id: ToyPhazon
+ - id: ToyReticence
+
- type: entity
- name: Toy Spawner
- id: ToySpawner
parent: MarkerBase
+ id: PlushieSpawner50
+ name: Plushie Spawner
+ suffix: 50
components:
- - type: Sprite
- layers:
- - state: red
- - sprite: Objects/Fun/Plushies/bee.rsi
- state: icon
- - type: RandomSpawner
- rarePrototypes:
- - FoamBlade
- - PlushieGhost
- rareChance: 0.03
- prototypes:
- - PlushieBee
- - PlushieAtmosian
- - PlushieNuke
- - PlushieLizard
- - PlushieNar
- - PlushieCarp
- - PlushieSlime
- - PlushieSnake
- - PlushieVox
- - PlushieRatvar
- - PlushieSpaceLizard
- - PlushieRouny
- - PlushieLamp
- - PlushieSharkBlue
- - PlushieSharkPink
- - PlushieSharkGrey
- - ToyAmongPequeno
- - ToyMouse
- - PlushieDiona
- - PlushieArachind
- chance: 0.5
- offset: 0.2
+ - type: Sprite
+ layers:
+ - state: red
+ - sprite: Objects/Fun/Plushies/bee.rsi
+ state: icon
+ - type: EntityTableSpawner
+ table: !type:NestedSelector
+ tableId: AllPlushiesTable
+ prob: 0.5
- type: entity
- name: Prize Figurine Spawner
- id: FigureSpawner
parent: MarkerBase
+ id: MechFigurineSpawner50
+ name: Mech Figurine Spawner
+ suffix: 50
components:
- - type: Sprite
- layers:
- - state: red
- - sprite: Objects/Fun/mech_figurines.rsi
- state: ripley
- - type: RandomSpawner
- prototypes:
- - ToyAi
- - ToyNuke
- - ToyFigurinePassenger
- - ToyFigurineGriffin
- - ToyHonk
- - ToyIan
- - ToyMarauder
- - ToyMauler
- - ToyGygax
- - ToyOdysseus
- - ToyFigurineOwlman
- - ToyDeathRipley
- - ToyPhazon
- - ToyFireRipley
- - ToyReticence
- - ToyRipley
- - ToySeraph
- - ToyDurand
- - ToyFigurineSkeleton
- - MysteryFigureBox
- chance: 0.5
- offset: 0.2
+ - type: Sprite
+ layers:
+ - state: red
+ - sprite: Objects/Fun/mech_figurines.rsi
+ state: ripley
+ - type: EntityTableSpawner
+ table: !type:NestedSelector
+ tableId: AllFigurineMechsTable
+ prob: 0.5
- type: entity
- name: Spacemen Minifigure Spawner
- suffix: Librarian only, map with care!
- id: SpacemenFigureSpawner
parent: MarkerBase
+ id: SpacemenFigurineSpawner90
+ name: Spacemen Minifigure Spawner
+ suffix: 90. Librarian only, map with care!
components:
- - type: Sprite
- layers:
- - sprite: Objects/Fun/figurines.rsi
- state: figurine_spawner
- - type: RandomSpawner
- rarePrototypes:
- - ToyFigurineNukieElite
- - ToyFigurineNukieCommander
- rareChance: 0.05
- prototypes:
- - ToyFigurinePassenger
- - ToyFigurineClown
- - ToyFigurineMime
- - ToyFigurineMusician
- - ToyFigurineBoxer
- - ToyFigurineCaptain
- - ToyFigurineHeadOfSecurity
- - ToyFigurineWarden
- - ToyFigurineDetective
- - ToyFigurineSecurity
- - ToyFigurineLawyer
- - ToyFigurineCargoTech
- - ToyFigurineSalvage
- - ToyFigurineQuartermaster
- - ToyFigurineChiefEngineer
- - ToyFigurineAtmosTech
- - ToyFigurineEngineer
- - ToyFigurineResearchDirector
- - ToyFigurineScientist
- - ToyFigurineChiefMedicalOfficer
- - ToyFigurineChemist
- - ToyFigurineParamedic
- - ToyFigurineMedicalDoctor
- - ToyFigurineHeadOfPersonnel
- - ToyFigurineLibrarian
- - ToyFigurineChaplain
- - ToyFigurineChef
- - ToyFigurineBartender
- - ToyFigurineBotanist
- - ToyFigurineJanitor
- - ToyFigurineNukie
- - ToyFigurineFootsoldier
- - ToyFigurineWizardFake
- - ToyFigurineSlime
- - ToyFigurineGreytider
- - ToyFigurineWizard
- - ToyFigurineGriffin
- - ToyFigurineOwlman
- - ToyFigurineSkeleton
- - ToyFigurineQueen
- - ToyFigurineSpaceDragon
- - ToyFigurineRatKing
- - ToyFigurineRatServant
- - ToyFigurineMouse
- - ToyFigurineHamlet
- - ToyFigurineThief
- chance: 0.90
- offset: 0.2
+ - type: Sprite
+ layers:
+ - sprite: Objects/Fun/figurines.rsi
+ state: figurine_spawner
+ - type: EntityTableSpawner
+ table: !type:NestedSelector
+ tableId: AllFigurinesTable
+ prob: 0.9
- id: ToyNuke
- id: ToyFigurinePassenger
- id: ToyFigurineGriffin
- - id: ToyHonk
- id: ToyIan
- - id: ToyMarauder
- - id: ToyMauler
- - id: ToyGygax
- - id: ToyOdysseus
- id: ToyFigurineOwlman
- - id: ToyDeathRipley
- - id: ToyPhazon
- - id: ToyFireRipley
- - id: ToyReticence
- - id: ToyRipley
- - id: ToySeraph
- - id: ToyDurand
- id: ToyFigurineSkeleton
- id: FoamBlade
- id: ClothingHeadHatBunny
weight: 0.5
- id: GoldenBikeHorn
weight: 0.1
+ - !type:NestedSelector
+ tableId: AllFigurineMechsTable
+ weight: 6
- type: entity
parent: BoxCardboard
- id: ToyNuke
- id: ToyFigurinePassenger
- id: ToyFigurineGriffin
- - id: ToyHonk
- id: ToyIan
- - id: ToyMarauder
- - id: ToyMauler
- - id: ToyGygax
- - id: ToyOdysseus
- id: ToyFigurineOwlman
- - id: ToyDeathRipley
- - id: ToyPhazon
- - id: ToyFireRipley
- - id: ToyReticence
- - id: ToyRipley
- - id: ToySeraph
- - id: ToyDurand
- id: ToyFigurineSkeleton
- id: FoamBlade
- id: ClothingHeadHatBunny
weight: 0.5
- id: GoldenBikeHorn
weight: 0.1
+ - !type:NestedSelector
+ tableId: AllFigurineMechsTable
+ weight: 6
- type: entityTable
id: HappyHonkToyUnsafeEntityTable
- type: SpaceGarbage
- type: entity
- parent: PresentRandom
+ parent: BaseItem
id: MysteryFigureBox
name: mystery spacemen minifigure box
description: A box containing a mystery minifigure. The side of the box depicts a few blacked-out 'rare' figures, including one with a large, non-humanoid shilouette.
sprite: Objects/Fun/figurines.rsi
layers:
- state: fig_box
- - type: SpawnItemsOnUse
- items:
+ - type: TriggerOnActivate
+ - type: DeleteOnTrigger
+ - type: EmitSoundOnTrigger
+ positional: true
+ predicted: true
+ sound:
+ path: /Audio/Effects/unwrap.ogg
+ - type: SpawnEntityTableOnTrigger
+ useMapCoords: true
+ table: !type:AllSelector
+ children:
- id: MysteryFigureBoxTrash
- - id: ToyFigurinePassenger
- orGroup: SpacemenFig
- - id: ToyFigurineClown
- orGroup: SpacemenFig
- - id: ToyFigurineMime
- orGroup: SpacemenFig
- - id: ToyFigurineMusician
- orGroup: SpacemenFig
- - id: ToyFigurineBoxer
- orGroup: SpacemenFig
- - id: ToyFigurineCaptain
- orGroup: SpacemenFig
- - id: ToyFigurineHeadOfSecurity
- orGroup: SpacemenFig
- - id: ToyFigurineWarden
- orGroup: SpacemenFig
- - id: ToyFigurineDetective
- orGroup: SpacemenFig
- - id: ToyFigurineSecurity
- orGroup: SpacemenFig
- - id: ToyFigurineLawyer
- orGroup: SpacemenFig
- - id: ToyFigurineCargoTech
- orGroup: SpacemenFig
- - id: ToyFigurineSalvage
- orGroup: SpacemenFig
- - id: ToyFigurineQuartermaster
- orGroup: SpacemenFig
- - id: ToyFigurineChiefEngineer
- orGroup: SpacemenFig
- - id: ToyFigurineAtmosTech
- orGroup: SpacemenFig
- - id: ToyFigurineEngineer
- orGroup: SpacemenFig
- - id: ToyFigurineResearchDirector
- orGroup: SpacemenFig
- - id: ToyFigurineScientist
- orGroup: SpacemenFig
- - id: ToyFigurineChiefMedicalOfficer
- orGroup: SpacemenFig
- - id: ToyFigurineChemist
- orGroup: SpacemenFig
- - id: ToyFigurineParamedic
- orGroup: SpacemenFig
- - id: ToyFigurineMedicalDoctor
- orGroup: SpacemenFig
- - id: ToyFigurineHeadOfPersonnel
- orGroup: SpacemenFig
- - id: ToyFigurineLibrarian
- orGroup: SpacemenFig
- - id: ToyFigurineChaplain
- orGroup: SpacemenFig
- - id: ToyFigurineChef
- orGroup: SpacemenFig
- - id: ToyFigurineBartender
- orGroup: SpacemenFig
- - id: ToyFigurineBotanist
- orGroup: SpacemenFig
- - id: ToyFigurineJanitor
- orGroup: SpacemenFig
- - id: ToyFigurineNukie
- orGroup: SpacemenFig
- - id: ToyFigurineNukieElite
- orGroup: SpacemenFig
- - id: ToyFigurineFootsoldier
- orGroup: SpacemenFig
- - id: ToyFigurineWizardFake
- orGroup: SpacemenFig
- - id: ToyFigurineSlime
- orGroup: SpacemenFig
- - id: ToyFigurineGreytider
- orGroup: SpacemenFig
- - id: ToyFigurineWizard
- prob: 0.50
- orGroup: SpacemenFig
- - id: ToyFigurineNukieCommander
- prob: 0.50
- orGroup: SpacemenFig
- - id: ToyFigurineGriffin
- prob: 0.50
- orGroup: SpacemenFig
- - id: ToyFigurineOwlman
- prob: 0.50
- orGroup: SpacemenFig
- - id: ToyFigurineSkeleton
- prob: 0.50
- orGroup: SpacemenFig
- - id: ToyFigurineSkeleton
- prob: 0.50
- orGroup: SpacemenFig
- - id: ToyFigurineThief
- prob: 0.30
- orgroup: SpacemenFig
- - id: ToyFigurineRatKing
- prob: 0.30
- orGroup: SpacemenFig
- - id: ToyFigurineRatServant
- prob: 0.40
- orGroup: SpacemenFig
- - id: ToyFigurineMouse
- prob: 0.50
- orGroup: SpacemenFig
- - id: ToyFigurineQueen
- prob: 0.25
- orGroup: SpacemenFig
- - id: ToyFigurineSpaceDragon
- prob: 0.10
- orGroup: SpacemenFig
- - id: ToyFigurineHamlet
- prob: 0.20
- orGroup: SpacemenFig
+ - !type:NestedSelector
+ tableId: AllFigurinesTable
- type: entity
parent: BaseItem
-#HUMANOID FIGURINES
+# When adding new figurines, also add them to id: AllFigurinesTable
- type: entity
+ abstract: true
parent: BaseItem
id: BaseFigurine
name: figurine
description: A small miniature.
- abstract: true
components:
- type: Sprite
sprite: Objects/Fun/figurines.rsi
ports:
- Trigger
+#HUMANOID FIGURINES
+
- type: entity
parent: BaseFigurine
id: ToyFigurineHeadOfPersonnel
#Nonhuman Figurines
+- type: entity
+ parent: BaseFigurine
+ id: ToyNuke
+ name: nuke toy
+ description: A plastic model of a Nuclear Fission Explosive. No uranium included... probably.
+ components:
+ - type: Sprite
+ sprite: Objects/Fun/toy_nuke.rsi
+ state: icon
+ - type: Clothing
+ quickEquip: false
+ sprite: Objects/Fun/toy_nuke.rsi
+ slots:
+ - HEAD
+ clothingVisuals:
+ head:
+ - state: equipped-HELMET
+ offset: "0, 0.12"
+ - type: Tag
+ tags:
+ - Figurine
+ - Payload
+ - type: UseDelay
+ delay: 180.0
+ - type: EmitSoundOnTrigger
+ sound:
+ path: /Audio/Machines/Nuke/nuke_alarm.ogg
+ params:
+ volume: -5
+ maxDistance: 10
+
- type: entity
parent: BaseFigurine
id: ToyFigurineSpaceDragon
state: hamlet
- type: SpeakOnTrigger
pack: FigurinesHamlet
+
+- type: entity
+ parent: BaseFigurine
+ id: ToyAi
+ name: AI toy
+ description: A scaled-down toy AI core.
+ components:
+ - type: Sprite
+ sprite: Objects/Fun/AI.rsi
+ state: icon
+ - type: Clothing
+ quickEquip: false
+ sprite: Objects/Fun/AI.rsi
+ slots:
+ - HEAD
+ clothingVisuals:
+ head:
+ - state: equipped-HELMET
+ offset: "0, 0.06"
+ - type: SpeakOnTrigger
+ pack: FigurinesAI
+# When adding new figurines, also add them to id: AllFigurineMechsTable
+
#TODO give these the new base sprite used in the regular action figures.
#No, not like a template. Just the base of the toy.
- type: entity
- parent: BaseItem
- id: BaseFigurineMech
- name: figurine
- description: A small miniature.
abstract: true
+ parent: BaseFigurine
+ id: BaseFigurineMech
components:
- type: Sprite
sprite: Objects/Fun/mech_figurines.rsi
- - type: PhysicalComposition
- materialComposition:
- Plastic: 100
- - type: StaticPrice
- price: 75
- - type: Tag
- tags:
- - Figurine
+ - type: SpeakOnTrigger
+ pack: FigurinesMechGeneric
#Ripley APLU
- type: entity
params:
variation: 0.125
-## Cheapo Figurines
-
-- type: entity
- parent: BaseItem
- id: BaseFigurineCheapo
- name: figurine
- description: A small miniature.
- abstract: true
- components:
- - type: PhysicalComposition
- materialComposition:
- Plastic: 100
- - type: StaticPrice
- price: 25
- - type: Tag
- tags:
- - Figurine
-
-- type: entity
- parent: BaseFigurineCheapo
- id: ToyAi
- name: AI toy
- description: A scaled-down toy AI core.
- components:
- - type: Sprite
- sprite: Objects/Fun/AI.rsi
- state: icon
- - type: Clothing
- quickEquip: false
- sprite: Objects/Fun/AI.rsi
- slots:
- - HEAD
- clothingVisuals:
- head:
- - state: equipped-HELMET
- offset: "0, 0.06"
-
-- type: entity
- parent: BaseFigurineCheapo
- id: ToyNuke
- name: nuke toy
- description: A plastic model of a Nuclear Fission Explosive. No uranium included... probably.
- components:
- - type: Sprite
- sprite: Objects/Fun/toy_nuke.rsi
- state: icon
- - type: Clothing
- quickEquip: false
- sprite: Objects/Fun/toy_nuke.rsi
- slots:
- - HEAD
- clothingVisuals:
- head:
- - state: equipped-HELMET
- offset: "0, 0.12"
- - type: Tag
- tags:
- - Payload
- - type: UseDelay
- delay: 180.0
- - type: EmitSoundOnUse
- sound:
- path: /Audio/Machines/Nuke/nuke_alarm.ogg
- params:
- volume: -5
- maxDistance: 10
- - type: EmitSoundOnActivate
- sound:
- path: /Audio/Machines/Nuke/nuke_alarm.ogg
- params:
- volume: -5
- maxDistance: 10
- - type: EmitSoundOnTrigger
- sound:
- path: /Audio/Machines/Nuke/nuke_alarm.ogg
- params:
- volume: -5
- maxDistance: 10
-
- type: entity
parent: BasePlushie
id: ToyIan
id: PlungerLoot
weights:
RandomSpawner100: 56
- SpacemenFigureSpawner: 28
+ SpacemenFigurineSpawner90: 28
SpawnMobCockroach: 5
MaintenanceToolSpawner: 5
SpawnMobMoproach: 2
- !type:NestedSelector
tableId: GenericTrashItems
weight: 35
- - !type:AllSelector
+ - !type:NestedSelector
+ tableId: AllPlushiesTable
weight: 1
- children:
- - id: ToySpawner
- type: entity
id: XenoArtifactEffectLightFlicker
# 2025-12-06
SpawnPointZookeeper: null
SpawnPointBoxer: null
+
+# 2025-12-07
+FigureSpawner: MechFigurineSpawner50
+ToySpawner: PlushieSpawner50
+SpacemenFigureSpawner: SpacemenFigurineSpawner90