]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
All Figurines Entity Table (#41775)
authorāda <ss.adasts@gmail.com>
Sat, 13 Dec 2025 19:19:42 +0000 (13:19 -0600)
committerGitHub <noreply@github.com>
Sat, 13 Dec 2025 19:19:42 +0000 (19:19 +0000)
* ai talks

* kill cheepo

* mech figures

* finished

* touchup

* wider net

* final changes

* never final

* fix test fail

* review

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
12 files changed:
Content.Shared/Trigger/Components/Effects/SpawnEntityTableOnTriggerComponent.cs
Resources/Locale/en-US/datasets/figurines.ftl
Resources/Prototypes/Datasets/figurines.yml
Resources/Prototypes/Entities/Markers/Spawners/Random/toy.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml
Resources/Prototypes/Entities/Objects/Fun/figurine_boxes.yml
Resources/Prototypes/Entities/Objects/Fun/figurines.yml
Resources/Prototypes/Entities/Objects/Fun/mech_figurines.yml
Resources/Prototypes/Entities/Objects/Fun/toys.yml
Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml
Resources/Prototypes/XenoArch/effects.yml
Resources/migration.yml

index 41cb785c0527fae9626298e66691a8c93450aaa1..7dcd13a500f3ec4e1075d0340737583d145f0e4b 100644 (file)
@@ -14,7 +14,7 @@ public sealed partial class SpawnEntityTableOnTriggerComponent : BaseXOnTriggerC
     /// <summary>
     /// The table to spawn.
     /// </summary>
-    [DataField(required: true), AutoNetworkedField]
+    [DataField(required: true)]
     public EntityTableSelector Table;
 
     /// <summary>
index 9a27dbc5842c3d66de30ca5b2f5c7c18ed569490..87e6a7a67056563c1d9cdd3ed872e5773f86a25c 100644 (file)
@@ -176,6 +176,7 @@ figurines-boxer-2 = We settle this in the ring, alright?
 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!
@@ -269,7 +270,13 @@ figurines-passenger-5 = How much for a toolbelt?
 
 # 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
 
@@ -390,3 +397,8 @@ figurines-owlman-2 = Owl be seeing you later!
 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!!
index 8d1a256b53054972d998e235d660986b82f0c523..4cd09c03e26e1ffdd453589965130446f15134eb 100644 (file)
@@ -44,7 +44,7 @@
   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
index 96c00683d4570ad71538880d71a97631b1a53334..a8128e0f5a1fd9619142166bb5ffdd61da2ba4c8 100644 (file)
+- 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
index 9ca5d1118fa8ebabf75c0ca95e43b6ae9cd1519d..75230222782a7250b39fe4dbe90c62bd726f6bfd 100644 (file)
           - 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
index 1530b639495b722843667f8fc27cb40d77fab680..bf789a4dbecac8bc4719fac2fa9c5941d87a4b02 100644 (file)
@@ -16,7 +16,7 @@
   - 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
index 5e7cd96af87b337d956c9204e512b2b051180e99..c555c74db4504f7ae06cc0a2246b70a858a73c9f 100644 (file)
@@ -1,11 +1,11 @@
-#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
@@ -34,6 +34,8 @@
     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
index f04fa19a040bce8013049eb5679a34bb8ceae3b8..427dda8cfc3283006d302b098f4ce778e23915ce 100644 (file)
@@ -1,22 +1,16 @@
+# 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
index e56a431f752b94f1b59b0a1a3a410340cdd1946f..9dc62e0a1e3f48e6830e92b91eef68a31cc9d0c0 100644 (file)
       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
index d1b95a3f098c4f19d97ac6af1e03318a97919a4d..9ee5bcd61a3af26f33aba21ff8395e3a732bdbf1 100644 (file)
   id: PlungerLoot
   weights:
     RandomSpawner100: 56
-    SpacemenFigureSpawner: 28
+    SpacemenFigurineSpawner90: 28
     SpawnMobCockroach: 5
     MaintenanceToolSpawner: 5
     SpawnMobMoproach: 2
index 649232edbf7098c2cfb1bff89586c2a17093d441..fb0d845bd813b4d474d1d0eb60159d7e23815f78 100644 (file)
         - !type:NestedSelector
           tableId: GenericTrashItems
           weight: 35
-        - !type:AllSelector
+        - !type:NestedSelector
+          tableId: AllPlushiesTable
           weight: 1
-          children:
-          - id: ToySpawner
 
 - type: entity
   id: XenoArtifactEffectLightFlicker
index 91403f63813a1feb21ff998821ca05deec9647b2..ac85a102efbff2c7f7e29552a6a1271107e6c84c 100644 (file)
@@ -744,3 +744,8 @@ GlowstickBase: GlowstickGreen
 # 2025-12-06
 SpawnPointZookeeper: null
 SpawnPointBoxer: null
+
+# 2025-12-07
+FigureSpawner: MechFigurineSpawner50
+ToySpawner: PlushieSpawner50
+SpacemenFigureSpawner: SpacemenFigurineSpawner90