]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
[BUGFIX/CLEANUP] Edible Plushies and Clothes (#40276)
authorPrincess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
Fri, 26 Sep 2025 04:22:40 +0000 (21:22 -0700)
committerGitHub <noreply@github.com>
Fri, 26 Sep 2025 04:22:40 +0000 (23:22 -0500)
* Hongry...

AAAAAAAAAAAAAAAAA

* Extremely silly test fail

* Fix another dumb test fail

* Fix test fails (Real)

* Fix 2

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
12 files changed:
Resources/Prototypes/Entities/Clothing/Hands/base_clothinghands.yml
Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml
Resources/Prototypes/Entities/Clothing/Masks/base_clothingmask.yml
Resources/Prototypes/Entities/Clothing/Multiple/towel.yml
Resources/Prototypes/Entities/Clothing/Neck/base_clothingneck.yml
Resources/Prototypes/Entities/Clothing/OuterClothing/coats.yml
Resources/Prototypes/Entities/Clothing/OuterClothing/wintercoats.yml
Resources/Prototypes/Entities/Clothing/Shoes/base_clothingshoes.yml
Resources/Prototypes/Entities/Clothing/Shoes/misc.yml
Resources/Prototypes/Entities/Clothing/Uniforms/base_clothinguniforms.yml
Resources/Prototypes/Entities/Objects/Fun/plushies.yml
Resources/Prototypes/Entities/Objects/Specific/rehydrateable.yml

index cd68149edc52164576687abbbc4c950627b39daa..d90e02b16e6d65f955c657cd753f1c2cecbfd07e 100644 (file)
@@ -7,7 +7,7 @@
     state: icon
   - type: Clothing
     slots: [gloves]
-  - type: Food
+  - type: Edible
     requiresSpecialDigestion: true
   - type: Item
     size: Small
index 5d512cb3c78dd2dbd813100d6e3bd5287cb3c9aa..53772f62153b4aaee12cb83d1e50168a1ea437f0 100644 (file)
@@ -11,7 +11,7 @@
   - type: Item
     size: Small
     storedRotation: -90
-  - type: Food
+  - type: Edible
     requiresSpecialDigestion: true
   - type: SolutionContainerManager
     solutions:
index a112e4f0def932bcea2303d4dcaea968dd5126b5..6ab6da4c0fe44d97fc11f400e61d48c42cbf87a1 100644 (file)
@@ -44,7 +44,7 @@
   - type: PhysicalComposition # 50% of the amount of cloth you'd obtain upon butchering
     materialComposition:
       Cloth: 50
-  - type: Food
+  - type: Edible
     requiresSpecialDigestion: true
   - type: SolutionContainerManager
     solutions:
index 0ee8df45244f79a4a7ad87a6796c571d473241db..f5f2053feae9b997224cefe0ec5f394296be9562 100644 (file)
@@ -9,18 +9,16 @@
     sprite: Clothing/Multiple/towel.rsi
   - type: Clothing
     sprite: Clothing/Multiple/towel.rsi
-    slots: 
+    slots:
     - BELT
     - INNERCLOTHING
     - HEAD
     femaleMask: UniformTop
-    equipSound: 
-    unequipSound: 
+    equipSound:
+    unequipSound:
   - type: Spillable
     solution: absorbed
     spillWhenThrown: false
-  - type: DrainableSolution
-    solution: absorbed
   - type: Absorbent
     pickupAmount: 15
   - type: SolutionContainerManager
         color: "#0089EF"
   - type: Fiber
     fiberColor: fibers-blue
-    
+
 - type: entity
   id: TowelColorDarkBlue
   name: dark blue towel
         color: "#535353"
   - type: Fiber
     fiberColor: fibers-black
-    
\ No newline at end of file
index 949575eaf58dab98fbb5f90bdca49065bc208320..2e1b0dea7359fc3f7067a37c505608736aac4374 100644 (file)
@@ -19,7 +19,7 @@
   - type: PhysicalComposition # 50% of the amount of cloth you'd obtain upon butchering
     materialComposition:
       Cloth: 100
-  - type: Food
+  - type: Edible
     requiresSpecialDigestion: true
   - type: SolutionContainerManager
     solutions:
index e73eca00bf819523d5bab2052452e240ab43beef..5c0f1ed277d02401e85ea1e26f4f6251f631c1a8 100644 (file)
     modifiers:
       coefficients:
         Slash: 0.95
-  - type: Food
+  - type: Edible
     requiresSpecialDigestion: true
   - type: SolutionContainerManager
     solutions:
index 4227e52518db168160c91151ee99bffa4e89d70f..86df3c6ec1adb7dc91e7f788df8ba81efe99d84e 100644 (file)
@@ -21,7 +21,7 @@
     priceMultiplier: 0
   - type: ZombificationResistance
     zombificationResistanceCoefficient: 0.55
-  - type: Food
+  - type: Edible
     requiresSpecialDigestion: true
   - type: SolutionContainerManager
     solutions:
index 646adda105ba5cbc9f0429a72a77523c283fdf77..a1c837e2082e4c4dcf5cb6420f1474c4f04f1c34 100644 (file)
@@ -10,7 +10,7 @@
     state: icon
   - type: Item
     size: Normal
-  - type: Food
+  - type: Edible
     requiresSpecialDigestion: true
   - type: SolutionContainerManager
     solutions:
index 4b93091ec5b33425e33d4530c6b8945db50d0fae..db8e3bb603495330ceeb83fce5988443f66a3c58 100644 (file)
   - type: Construction
     graph: ClothingShoeSlippersLizard
     node: shoes
+  - type: Edible
+    useSound:
+      path: /Audio/Items/Toys/weh.ogg # Copied from lizard plush sound
+      params:
+        volume: -5
+    transferAmount: 10
   - type: Extractable
     juiceSolution:
       reagents:
index cd8ef614e59c1f2643bee46d86eadcdb91cde939..0abbfebc2acec59d3b337e2cfc803f6e4908b2f5 100644 (file)
@@ -17,7 +17,7 @@
   - type: PhysicalComposition # 50% of the amount of cloth you'd obtain upon butchering
     materialComposition:
       Cloth: 150
-  - type: Food
+  - type: Edible
     requiresSpecialDigestion: true
   - type: SolutionContainerManager
     solutions:
@@ -74,4 +74,4 @@
     unfoldVerbText: unfold-verb-clothing-jacket
     foldVerbText: fold-verb-clothing-jacket
   - type: FoldableClothing
-    foldedEquippedPrefix: folded
\ No newline at end of file
+    foldedEquippedPrefix: folded
index fa028c038a44b9c84c1349356ce83bb8d738fc54..b4ab369fab8cd3a9547c816a503a56e63cfb2b40 100644 (file)
@@ -33,7 +33,7 @@
       Cloth: 100
   - type: StaticPrice
     price: 5
-  - type: Food
+  - type: Edible
     requiresSpecialDigestion: true
     useSound: *BasePlushieSound
     delay: 2
     - ForceableFollow
     - PlushieGhost
     - Payload
+    - ClothMade
 
 - type: entity
   parent: PlushieGhost
     sprite: Objects/Fun/Plushies/hampter.rsi
     state: icon
   - type: EmitSoundOnUse
-    sound:
+    sound: &PlushieHampterSound
       path: /Audio/Items/Toys/mousesqueek.ogg
   - type: EmitSoundOnLand
-    sound:
-      path: /Audio/Items/Toys/mousesqueek.ogg
+    sound: *PlushieHampterSound
   - type: EmitSoundOnActivate
-    sound:
-      path: /Audio/Items/Toys/mousesqueek.ogg
+    sound: *PlushieHampterSound
   - type: EmitSoundOnTrigger
-    sound:
-      path: /Audio/Items/Toys/mousesqueek.ogg
+    sound: *PlushieHampterSound
   - type: EmitSoundOnCollide
-    sound:
-      path: /Audio/Items/Toys/mousesqueek.ogg
-  - type: Food
-    requiresSpecialDigestion: true
-    useSound:
-      path: /Audio/Items/Toys/mousesqueek.ogg
+    sound: *PlushieHampterSound
+  - type: Edible
+    useSound: *PlushieHampterSound
   - type: MeleeWeapon
     wideAnimationRotation: 180
-    soundHit:
-      path: /Audio/Items/Toys/mousesqueek.ogg
+    soundHit: *PlushieHampterSound
   - type: Clothing
     quickEquip: false
     sprite: Objects/Fun/Plushies/hampter.rsi
     sprite: Objects/Fun/Plushies/arachnid.rsi
     state: icon
   - type: EmitSoundOnUse
-    sound:
+    sound: &PlushieArachnidSound
       path: /Audio/Voice/Arachnid/arachnid_laugh.ogg
   - type: EmitSoundOnLand
-    sound:
-      path: /Audio/Voice/Arachnid/arachnid_laugh.ogg
+    sound: *PlushieArachnidSound
   - type: EmitSoundOnActivate
-    sound:
-      path: /Audio/Voice/Arachnid/arachnid_laugh.ogg
+    sound: *PlushieArachnidSound
   - type: EmitSoundOnTrigger
-    sound:
-      path: /Audio/Voice/Arachnid/arachnid_laugh.ogg
+    sound: *PlushieArachnidSound
   - type: EmitSoundOnCollide
-    sound:
-      path: /Audio/Voice/Arachnid/arachnid_laugh.ogg
-  - type: Food
-    requiresSpecialDigestion: true
-    useSound:
-      path: /Audio/Voice/Arachnid/arachnid_laugh.ogg
+    sound: *PlushieArachnidSound
+  - type: Edible
+    useSound: *PlushieArachnidSound
   - type: MeleeWeapon
-    wideAnimationRotation: 180
-    soundHit:
-      path: /Audio/Voice/Arachnid/arachnid_laugh.ogg
+    soundHit: *PlushieArachnidSound
   - type: Clothing
     quickEquip: false
     sprite: Objects/Fun/Plushies/arachnid.rsi
     sound: *PlushieLizardSound
   - type: EmitSoundOnCollide
     sound: *PlushieLizardSound
-  - type: Food
-    requiresSpecialDigestion: true
+  - type: Edible
     useSound: *PlushieLizardSound
+    transferAmount: 10
   - type: MeleeWeapon
     wideAnimationRotation: 180
     soundHit: *PlushieLizardSound
     sound: *PlushieExperimentSound
   - type: EmitSoundOnCollide
     sound: *PlushieExperimentSound
-  - type: Food
-    requiresSpecialDigestion: true
+  - type: Edible
     useSound: *PlushieExperimentSound
   - type: MeleeWeapon
     wideAnimationRotation: 180
     sound: *PlushieSpaceLizardSound
   - type: EmitSoundOnCollide
     sound: *PlushieSpaceLizardSound
-  - type: Food
-    requiresSpecialDigestion: true
+  - type: Edible
     useSound: *PlushieSpaceLizardSound
   - type: MeleeWeapon
     wideAnimationRotation: 180
     sound: *PlushieLizardInversedSound
   - type: EmitSoundOnTrigger
     sound: *PlushieLizardInversedSound
-  - type: Food
-    requiresSpecialDigestion: true
+  - type: Edible
     useSound: *PlushieLizardInversedSound
   - type: MeleeWeapon
     wideAnimationRotation: 180
   - type: MeleeWeapon
     wideAnimationRotation: 180
     soundHit: *PlushieDionaSound
-  - type: Food
-    requiresSpecialDigestion: true
+  - type: Edible
     useSound: *PlushieDionaSound
   - type: SolutionContainerManager
     solutions:
-      plushie:
-        maxVol: 1
       food:
-        maxVol: 10
+        maxVol: 11
         reagents:
         - ReagentId: Fiber
           Quantity: 10
   - type: RefillableSolution
-    solution: plushie
+    solution: food
   - type: SolutionContainerVisuals
-    solutionName: plushie
+    solutionName: food
     maxFillLevels: 1
     fillBaseName: plushie_diona
     changeColor: false
   - type: Sprite
     sprite: Objects/Fun/Plushies/shark.rsi
     state: blue
-  - type: EmitSoundOnLand
-    sound:
-      path: /Audio/Items/Toys/rawr.ogg
-  - type: EmitSoundOnTrigger
-    sound:
-      path: /Audio/Items/Toys/rawr.ogg
   - type: EmitSoundOnUse
-    sound:
+    sound: &PlushieSharkSound
       path: /Audio/Items/Toys/rawr.ogg
+  - type: EmitSoundOnLand
+    sound: *PlushieSharkSound
+  - type: EmitSoundOnTrigger
+    sound: *PlushieSharkSound
   - type: EmitSoundOnActivate
-    sound:
-      path: /Audio/Items/Toys/rawr.ogg
+    sound: *PlushieSharkSound
   - type: EmitSoundOnCollide
-    sound:
-      path: /Audio/Items/Toys/rawr.ogg
+    sound: *PlushieSharkSound
   - type: MeleeWeapon
     wideAnimationRotation: 90
-    soundHit:
-      path: /Audio/Items/Toys/rawr.ogg
+    soundHit: *PlushieSharkSound
     animation: WeaponArcBite
+  - type: Edible
+    useSound: *PlushieSharkSound
   - type: Item
     heldPrefix: blue
     storedRotation: -90
     heldPrefix: carpplush
     storedRotation: -90
   - type: EmitSoundOnUse
-    sound:
+    sound: &PlushieCarpSound
       path: /Audio/Effects/bite.ogg
   - type: EmitSoundOnLand
-    sound:
-      path: /Audio/Effects/bite.ogg
+    sound: *PlushieCarpSound
   - type: EmitSoundOnActivate
-    sound:
-      path: /Audio/Effects/bite.ogg
+    sound: *PlushieCarpSound
   - type: EmitSoundOnTrigger
-    sound:
-      path: /Audio/Effects/bite.ogg
+    sound: *PlushieCarpSound
   - type: EmitSoundOnCollide
-    sound:
-      path: /Audio/Effects/bite.ogg
-  - type: Food
-    requiresSpecialDigestion: true
-    useSound:
-      path: /Audio/Effects/bite.ogg
+    sound: *PlushieCarpSound
+  - type: Edible
+    useSound: *PlushieCarpSound
   - type: MeleeWeapon
     wideAnimationRotation: 90
-    soundHit:
-      path: /Audio/Effects/bite.ogg
+    soundHit: *PlushieCarpSound
     angle: 0
     animation: WeaponArcBite # Rrrr!
   - type: FoodSequenceElement
     sprite: Objects/Fun/Plushies/slime.rsi
     state: icon
   - type: EmitSoundOnUse
-    sound:
+    sound: &PlushieSlimeSound
       path: /Audio/Voice/Slime/slime_squish.ogg
   - type: EmitSoundOnLand
-    sound:
-      path: /Audio/Voice/Slime/slime_squish.ogg
+    sound: *PlushieSlimeSound
   - type: EmitSoundOnActivate
-    sound:
-      path: /Audio/Voice/Slime/slime_squish.ogg
+    sound: *PlushieSlimeSound
   - type: EmitSoundOnTrigger
-    sound:
-      path: /Audio/Voice/Slime/slime_squish.ogg
+    sound: *PlushieSlimeSound
   - type: MeleeWeapon
-    wideAnimationRotation: 180
-    soundHit:
-      path: /Audio/Voice/Slime/slime_squish.ogg
+    soundHit: *PlushieSlimeSound
+  - type: Edible
+    useSound: *PlushieSlimeSound
   - type: Clothing
     quickEquip: false
     sprite: Objects/Fun/Plushies/slime.rsi
   - type: Item
     heldPrefix: plushiesnake
   - type: EmitSoundOnUse
-    sound:
+    sound: &PlushieSnakeSound
       path: /Audio/Items/Toys/rattle.ogg
   - type: EmitSoundOnLand
-    sound:
-      path: /Audio/Items/Toys/rattle.ogg
+    sound: *PlushieSnakeSound
   - type: EmitSoundOnActivate
-    sound:
-      path: /Audio/Items/Toys/rattle.ogg
+    sound: *PlushieSnakeSound
   - type: EmitSoundOnTrigger
-    sound:
-      path: /Audio/Items/Toys/rattle.ogg
+    sound: *PlushieSnakeSound
   - type: EmitSoundOnCollide
-    sound:
-      path: /Audio/Items/Toys/rattle.ogg
-  - type: Food
-    requiresSpecialDigestion: true
-    useSound:
-      path: /Audio/Items/Toys/rattle.ogg
+    sound: *PlushieSnakeSound
+  - type: Edible
+    useSound: *PlushieSnakeSound
   - type: MeleeWeapon
     wideAnimationRotation: 90
-    soundHit:
-      path: /Audio/Items/Toys/rattle.ogg
+    soundHit: *PlushieSnakeSound
   - type: Clothing
     sprite: Objects/Fun/Plushies/snake.rsi
     quickEquip: false
     sprite: Objects/Fun/toy_mouse.rsi
     state: icon
   - type: EmitSoundOnUse
-    sound:
+    sound: &PlushieMouseSound
       path: /Audio/Items/Toys/mousesqueek.ogg
   - type: EmitSoundOnLand
-    sound:
-      path: /Audio/Items/Toys/mousesqueek.ogg
+    sound: *PlushieMouseSound
   - type: EmitSoundOnActivate
-    sound:
-      path: /Audio/Items/Toys/mousesqueek.ogg
+    sound: *PlushieMouseSound
   - type: EmitSoundOnTrigger
-    sound:
-      path: /Audio/Items/Toys/mousesqueek.ogg
+    sound: *PlushieMouseSound
   - type: EmitSoundOnCollide
-    sound:
-      path: /Audio/Items/Toys/mousesqueek.ogg
-  - type: Food
-    requiresSpecialDigestion: true
-    useSound:
-      path: /Audio/Items/Toys/mousesqueek.ogg
+    sound: *PlushieMouseSound
+  - type: Edible
+    useSound: *PlushieMouseSound
   - type: MeleeWeapon
     wideAnimationRotation: -90
-    soundHit:
-      path: /Audio/Items/Toys/mousesqueek.ogg
+    soundHit: *PlushieMouseSound
   - type: Clothing
     quickEquip: false
     sprite: Objects/Fun/toy_mouse.rsi
     sound: *PlushieVoxSound
   - type: EmitSoundOnCollide
     sound: *PlushieVoxSound
-  - type: Food
-    requiresSpecialDigestion: true
+  - type: Edible
     useSound: *PlushieVoxSound
   - type: MeleeWeapon
     wideAnimationRotation: 180
     sound: *PlushieXenoSound
   - type: EmitSoundOnCollide
     sound: *PlushieXenoSound
-  - type: Food
-    requiresSpecialDigestion: true
+  - type: Edible
     useSound: *PlushieXenoSound
   - type: MeleeWeapon
     wideAnimationRotation: 180
     sprite: Objects/Fun/Plushies/human.rsi
     state: icon
   - type: EmitSoundOnUse
-    sound: &PlushieHuman
+    sound: &PlushieHuman1
       path: /Audio/Voice/Human/malescream_1.ogg
       params:
         volume: -8
       params:
         volume: -8
   - type: EmitSoundOnCollide
-    sound:
+    sound: &PlushieHuman4
       path: /Audio/Voice/Human/malescream_4.ogg
       params:
         volume: -8
-  - type: Food
-    requiresSpecialDigestion: true
-    useSound:
-      path: /Audio/Voice/Human/malescream_1.ogg
-      params:
-        volume: -8
+  - type: Edible
+    useSound: *PlushieHuman1
   - type: MeleeWeapon
-    soundHit:
-      path: /Audio/Voice/Human/malescream_4.ogg
-      params:
-        volume: -8
+    soundHit: *PlushieHuman4
   - type: EmitSoundOnTrigger
     sound:
       path: /Audio/Voice/Human/malescream_5.ogg
     sprite: Objects/Fun/Plushies/moth.rsi
     state: icon
   - type: EmitSoundOnUse
-    sound:
+    sound: &PlushieMothSound
       path: /Audio/Voice/Moth/moth_chitter.ogg
   - type: EmitSoundOnLand
-    sound:
-      path: /Audio/Voice/Moth/moth_chitter.ogg
+    sound: *PlushieMothSound
   - type: EmitSoundOnActivate
-    sound:
-      path: /Audio/Voice/Moth/moth_chitter.ogg
+    sound: *PlushieMothSound
   - type: EmitSoundOnTrigger
-    sound:
-      path: /Audio/Voice/Moth/moth_chitter.ogg
+    sound: *PlushieMothSound
   - type: EmitSoundOnCollide
-    sound:
-      path: /Audio/Voice/Moth/moth_chitter.ogg
+    sound: *PlushieMothSound
   - type: MeleeWeapon
-    soundHit:
-      path: /Audio/Voice/Moth/moth_chitter.ogg
-  - type: Food
-    requiresSpecialDigestion: true
-    useSound:
-      path: /Audio/Voice/Moth/moth_chitter.ogg
+    soundHit: *PlushieMothSound
+  - type: Edible
+    useSound: *PlushieMothSound
   - type: Clothing
     quickEquip: false
     sprite: Objects/Fun/Plushies/moth.rsi
index 0d8a7d49d62abadefee70709776728e3616e3827..dd2c73e005727fc8f15a4bc153bd40322cb46975 100644 (file)
     solutions:
       cube:
         maxVol: 1 # needs room for water
+  - type: Edible
+    solution: cube
   - type: Fixtures # BaseItem from PlushieCarp overrides fixtures, making carp not react to extinguishers
     fixtures:
       fix1: