]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
pre-plan for more sounds
authoriaada <iaada@users.noreply.github.com>
Thu, 31 Jul 2025 22:38:39 +0000 (17:38 -0500)
committeriaada <iaada@users.noreply.github.com>
Thu, 31 Jul 2025 22:38:39 +0000 (17:38 -0500)
13 files changed:
Resources/Prototypes/Damage/modifier_sets.yml
Resources/Prototypes/Entities/Debugging/drugs.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks-cartons.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_base.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_base_materials.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles_glass.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles_plastic.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cans.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_flasks.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_fun.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_special.yml

index cfb88c6a267f1a19bee29a921b56781b79925a5d..35a5f491340213a3b7f1af1b8ed8e4ed91a6c7ec 100644 (file)
   flatReductions:
     Blunt: 5
 
-# Generally quite fragile
-- type: damageModifierSet
-  id: Cardboard
-  coefficients:
-    Blunt: 1.3
-    Slash: 1.3
-    Piercing: 0.3 # poking holes in cardboard doesn't do much
-    Heat: 2.0 # it's wood so it burns
-    Structural: 1.3
-
 - type: damageModifierSet
   id: Web # Very flammable, can be easily hacked and slashed, but shooting or hitting it is another story.
   coefficients:
index 473e370625cb6bc077081b28730fd0ca7b75fac8..2bb8fdae7144f88ebcb6ebb2ae8837b9a2161570 100644 (file)
@@ -1,5 +1,5 @@
 - type: entity
-  parent: [DrinkBase, DrinkBaseMaterialGlass]
+  parent: [DrinkBaseMaterialGlass, DrinkBase]
   id: DrinkMeth
   name: meth  # beer it is. coffee. beer? coff-ee? be-er? c-o... b-e
   description: Just a whole glass of meth.
index 5abc7d0ef4c81d89ef1501268bd5535ac97ab58b..4a5991d7998d565758030b99e1a9c8741709abf4 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   abstract: true
-  parent: [ DrinkBase, DrinkBaseMaterialCardboard, DrinkBaseOpenable, DrinkVisualsOpenable ]
+  parent: [ DrinkBaseMaterialCardboard, DrinkBase, DrinkBaseOpenable, DrinkVisualsOpenable ]
   id: DrinkCartonBaseLargeFull # todo rename DrinkCartonBaseFull to match bottles
   suffix: Full
   components:
index 313e9c34e2c424d1454559a451ae7e7867cc33ce..0cd822bff49036682a743c02b8e7b3b6f25ef8ee 100644 (file)
@@ -28,7 +28,7 @@
     solution: drink
   - type: InjectableSolution # Injectors (syringe) will fallback to RefillableSolution. This adds support for hyposprays and injector anomalies.
     solution: drink
-#  - type: SolutionItemStatus todo Currently does not respect if the solution has ExaminableSolution and always shows the reagent count
+#  - type: SolutionItemStatus todo Currently always shows the reagent count. Should show vague fill levels without ExaminableSolution
 #    solution: drink
   - type: SolutionContainerManager
     solutions:
 # Visualizer for an openable entity with fill levels
 - type: entity
   abstract: true
+  parent: [DrinkVisualsOpenable, DrinkVisualsFill]
   id: DrinkVisualsAll
   components:
-  - type: Appearance
   - type: GenericVisualizer
     visuals:
       enum.OpenableVisuals.Opened:
     - state: fill-1
       map: ["enum.SolutionContainerLayers.Fill"]
       visible: false
-  - type: SolutionContainerVisuals
-    maxFillLevels: 5
-    fillBaseName: fill-
-    inHandsMaxFillLevels: 3
-    inHandsFillBaseName: -fill-
-  - type: ExaminableSolution # If you can see the fill levels, you can see the unit count
-    solution: drink
-  - type: SolutionItemStatus # Remove when comp is uncommented on DrinkBase
-    solution: drink
 
 # Visualizer for an openable entity with fill levels, already filled
 - type: entity
index 7233df4415cb7b49c0f36ffec53be87140efc9a9..6b215c5d6924f9215259803336edc8fa910242d7 100644 (file)
@@ -1,5 +1,5 @@
 ## Material costs to apply to a drink
-# Adding one of these bases as the first parent will override a previous inherited material
+# These bases should always be the first parent
 
 # Fragile glass
 - type: entity
@@ -42,6 +42,9 @@
     damage:
       types:
         Blunt: 5
+#  - type: EmitSoundOnLand TODO other materials need a sound
+#    sound:
+#      collection: GlassCrack
   - type: PhysicalComposition
     materialComposition:
       Glass: 25
 # Porcelain (like glass but no shard)
 - type: entity
   abstract: true
+  parent: DrinkBaseMaterialGlass
   id: DrinkBaseMaterialPorcelain
   components:
-  - type: Damageable
-    damageContainer: Inorganic
-    damageModifierSet: FlimsyGlass
   - type: Destructible
     thresholds:
     - trigger: # Overkill threshold
       - !type:SpillBehavior { }
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
-  - type: DamageOnLand
-    ignoreResistances: true
-    damage:
-      types:
-        Blunt: 5 # so fragile it smashes when thrown
-  - type: DamageOtherOnHit
-    damage:
-      types:
-        Blunt: 5
   - type: PhysicalComposition
     materialComposition:
       Glass: 10 # Trace amounts of glass I guess. Important for overriding inheritance
@@ -92,7 +84,7 @@
   components:
   - type: Damageable
     damageContainer: Inorganic
-#TODO    damageModifierSet: FlimsyPlastic
+#    damageModifierSet: FlimsyPlastic TODO
   - type: Destructible
     thresholds:
     - trigger: # Overkill threshold
   components:
   - type: Damageable
     damageContainer: Inorganic
-    damageModifierSet: Cardboard
+#    damageModifierSet: Cardboard TODO
   - type: Destructible
     thresholds:
     - trigger: # Overkill threshold
 # strong metal
 - type: entity
   abstract: true
+  parent: DrinkBaseMaterialMetal
   id: DrinkBaseMaterialStrongMetal
   components:
   - type: Damageable
-    damageContainer: Inorganic
     damageModifierSet: Metallic
   - type: Destructible
     thresholds:
       - !type:SpillBehavior { }
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
-  - type: DamageOnLand
-    ignoreResistances: true
-    damage:
-      types:
-        Blunt: 1
-  - type: DamageOtherOnHit
-    damage:
-      types:
-        Blunt: 5
   - type: PhysicalComposition
     materialComposition:
       Steel: 300
index b1d29188a4574a6ef8b44dfe4ab98cb4257ba52d..aefa55d67a2b86353181f5389679b217bdf719de 100644 (file)
@@ -2,7 +2,7 @@
 
 - type: entity
   abstract: true
-  parent: [ DrinkBase, DrinkBaseMaterialGlass, DrinkBaseOpenable ]
+  parent: [ DrinkBaseMaterialGlass, DrinkBase, DrinkBaseOpenable ]
   id: DrinkBottleGlassBaseFull
   suffix: Full
   components:
   - type: Tag
     tags:
     - DrinkBottle
+  - type: Destructible # Same as parent, but spawns BrokenBottle instead of ShardGlass
+    thresholds:
+    - trigger: # Overkill threshold
+        !type:DamageTrigger
+        damage: 200
+      behaviors:
+      - !type:DoActsBehavior
+        acts: [ "Destruction" ]
+    - trigger:
+        !type:DamageTrigger
+        damage: 5
+      behaviors:
+      - !type:PlaySoundBehavior
+        sound:
+          collection: GlassBreak
+      - !type:SpillBehavior { }
+      - !type:SpawnEntitiesBehavior
+        spawn:
+          BrokenBottle:
+            min: 1
+            max: 1
+        transferForensics: true
+      - !type:DoActsBehavior
+        acts: [ "Destruction" ]
 
 - type: entity
   abstract: true
         map: ["enum.SolutionContainerLayers.Fill"]
   - type: SolutionContainerVisuals
     maxFillLevels: 6
-    fillBaseName: fill-
 
 - type: entity
   parent: [DrinkVisualsOpenable, DrinkBottleGlassBaseFull]
         map: ["enum.SolutionContainerLayers.Fill"]
   - type: SolutionContainerVisuals
     maxFillLevels: 6
-    fillBaseName: fill-
 
 - type: entity
   parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
index 1a12f11e348ce231f34b5bc5d3f9d514fd7b798b..3343ad42cee5f844649ad55b4b4752468fb83124 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   abstract: true
-  parent: [ DrinkBase, DrinkBaseMaterialPlastic, DrinkBaseOpenable ]
+  parent: [ DrinkBaseMaterialPlastic, DrinkBase, DrinkBaseOpenable ]
   id: DrinkBottlePlasticBaseFull
   suffix: Full
   components:
index 0318b05c5c9868c7c1dd11907e9aec56c7529088..3102ffc5220ade37c6396973e96eafe4712621b7 100644 (file)
@@ -1,7 +1,7 @@
 # When adding new drinks also add to random spawner located in Resources\Prototypes\Entities\Markers\Spawners\Random\Food_Drinks\drinks_soda.yml
 - type: entity
   abstract: true
-  parent: [ DrinkBase, DrinkBaseMaterialMetal, DrinkBaseOpenable, DrinkVisualsOpenable ]
+  parent: [ DrinkBaseMaterialMetal, DrinkBase, DrinkBaseOpenable, DrinkVisualsOpenable ]
   id: DrinkCanBaseFull
   suffix: Full
   components:
index d6ad3c65f9a8f065939c623f6dfe0f0e55835ce0..b4687d081f091453f9cf900265be57fafd4cead9 100644 (file)
@@ -22,7 +22,7 @@
 # A mug is a type of cup.[2]
 - type: entity
   abstract: true
-  parent: [DrinkBaseCup, DrinkBaseMaterialPorcelain] # todo Should use DrinkVisualsFill, but inheritors have no in-hand and state names are wrong
+  parent: [ DrinkBaseMaterialPorcelain, DrinkBaseCup ] # todo Should use DrinkVisualsFill, but inheritors have no in-hand and state names are wrong
   id: DrinkBaseMug
   name: mug
   description: A mug.
@@ -46,7 +46,7 @@
 ## Misc Cups
 
 - type: entity
-  parent: [DrinkBaseCup, DrinkBaseMaterialGold]
+  parent: [DrinkBaseMaterialGold, DrinkBaseCup]
   id: DrinkGoldenCup
   name: golden cup
   description: A golden cup.
@@ -73,7 +73,7 @@
     maxFillLevels: 4
 
 - type: entity
-  parent: [ DrinkBaseCup, DrinkBaseMaterialGlass, DrinkVisualsFillOverlay ]
+  parent: [ DrinkBaseMaterialGlass, DrinkBaseCup, DrinkVisualsFillOverlay ]
   id: DrinkGlassCoupeShaped
   name: coupe glass
   description: A classic thin neck coupe glass, the icon of fragile labels on crates around the galaxy.
@@ -93,7 +93,7 @@
     inHandsMaxFillLevels: 1
 
 - type: entity
-  parent: [DrinkBaseCup, DrinkBaseMaterialCardboard] # TODO should use DrinkVisualsFill but state names are wrong and no inhand
+  parent: [DrinkBaseMaterialCardboard, DrinkBaseCup] # TODO should use DrinkVisualsFill but state names are wrong and no inhand
   id: DrinkWaterCup
   name: water cup
   description: A paper water cup.
 
 # TODO this needs fill levels
 - type: entity
-  parent: [DrinkBaseCup, DrinkBaseMaterialPlastic]
+  parent: [DrinkBaseMaterialPlastic, DrinkBaseCup]
   id: DrinkLean
   name: grape juice
   description: Damn, no fun allowed.
index e40ef2188e1947b3141e3315adccbc19dcb7ac45..17f9e47fe6b16df5c0b353200cb1af913c599e0a 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   abstract: true
-  parent: [DrinkBase, DrinkBaseMaterialStrongMetal, DrinkBaseOpenable, DrinkVisualsOpenable]
+  parent: [DrinkBaseMaterialStrongMetal, DrinkBase, DrinkBaseOpenable, DrinkVisualsOpenable]
   id: FlaskBase
   components:
   - type: SolutionContainerManager
@@ -21,7 +21,7 @@
 # Flasks
 
 - type: entity
-  parent: [DrinkBase, DrinkBaseMaterialStrongMetal]
+  parent: [DrinkBaseMaterialStrongMetal, DrinkBase]
   id: DrinkFlaskOld
   name: old flask
   description: A decrepit old flask, its lid seems to be missing.
index 180030d78acd298a8e19c39b7e72971dc6c4894a..5e670117d7ccbcfac8f01b51fe3c4c3a399fa942 100644 (file)
@@ -1,5 +1,5 @@
 - type: entity
-  parent: [ DrinkBase, DrinkBaseMaterialPlastic, DrinkBaseOpenable, DrinkVisualsOpenable ] # todo Should use DrinkVisualAll, but sprite has no inhand
+  parent: [ DrinkBaseMaterialPlastic, DrinkBase, DrinkBaseOpenable, DrinkVisualsOpenable ] # todo Should use DrinkVisualAll, but sprite has no inhand
   id: DrinkSpaceGlue
   name: space glue tube
   description: High performance glue intended for maintenance of extremely complex mechanical equipment. DON'T DRINK!
@@ -34,7 +34,7 @@
     solution: drink
 
 - type: entity
-  parent: [ DrinkBase, DrinkBaseMaterialPlastic, DrinkBaseOpenable, DrinkVisualsOpenable ] # Should use DrinkVisualAll, but sprite has no inhand
+  parent: [ DrinkBaseMaterialPlastic, DrinkBase, DrinkBaseOpenable, DrinkVisualsOpenable ] # Should use DrinkVisualAll, but sprite has no inhand
   id: DrinkSpaceLube
   name: space lube tube
   description: High performance lubricant intended for maintenance of extremely complex mechanical equipment.
@@ -88,7 +88,7 @@
         Quantity: 200
 
 - type: entity
-  parent: [DrinkBase, DrinkBaseMaterialGlass]
+  parent: [DrinkBaseMaterialGlass, DrinkBase]
   id: DrinkJarWhat
   name: jar of something
   description: You can't really tell what this is.
index 8c1029a9f42bc7896c6ba58f700fc41f880b24af..a712fe45f35c21cb73acf4b914363defe63d236e 100644 (file)
@@ -4,7 +4,7 @@
 
 # Transformable container - normal glass
 - type: entity
-  parent: [DrinkBaseCup, DrinkBaseMaterialGlass] # todo parent to DrinkVisualsFillOverlay after in-hands are added
+  parent: [DrinkBaseMaterialGlass, DrinkBaseCup] # todo parent to DrinkVisualsFillOverlay after in-hands are added
   id: DrinkGlass
   name: metamorphic glass
   description: A metamorphic glass that automagically turns into a glass appropriate for the drink within. There's a sanded off patent number on the bottom.
index 42bc056d376c2d257a1abbad0f3f655fc9fa3d8c..fb0e1141065a4c271c5764be673195e8ec40b084 100644 (file)
@@ -1,5 +1,5 @@
 - type: entity
-  parent: [DrinkBase, DrinkBaseMaterialGlass, DrinkVisualsFillOverlay]
+  parent: [DrinkBaseMaterialGlass, DrinkBase, DrinkVisualsFillOverlay]
   id: DrinkShotGlass
   name: shot glass
   description: Perfect for slamming down onto the table angrily.
@@ -31,7 +31,7 @@
     - DrinkGlass
 
 - type: entity
-  parent: [DrinkBase, DrinkBaseMaterialMetal]
+  parent: [DrinkBaseMaterialMetal, DrinkBase]
   id: DrinkIceBucket
   name: ice bucket
   description: A special bucket of refreshy ice. Prohibited use for challenge with the same name!
@@ -50,7 +50,7 @@
       Steel: 75
 
 - type: entity
-  parent: [DrinkBase, DrinkBaseMaterialPorcelain]
+  parent: [DrinkBaseMaterialPorcelain, DrinkBase]
   id: DrinkTeapot
   name: teapot  # short and stout
   description: An elegant teapot. It simply oozes class.
 # Bartender tools
 
 - type: entity
-  parent: [DrinkBase, DrinkBaseMaterialStrongMetal]
+  parent: [DrinkBaseMaterialStrongMetal, DrinkBase]
   id: DrinkShaker
   name: shaker
   description: The trusty mixing buddy of the bartender.
     solution: drink
 
 - type: entity
-  parent: [DrinkBase, DrinkBaseMaterialMetal]
+  parent: [DrinkBaseMaterialMetal, DrinkBase]
   id: DrinkJigger
   name: jigger
   description: Like a shaker, but smaller. Used to control the amount of ingredients.
     solution: drink
 
 - type: entity
-  parent: [DrinkBase, DrinkBaseMaterialStrongMetal, DrinkVisualsFill]
+  parent: [DrinkBaseMaterialStrongMetal, DrinkBase, DrinkVisualsFill]
   id: Pitcher
   name: metal pitcher
   description: A stainless steel insulated pitcher. Everyone's best friend in the morning.
 
 - type: entity
   abstract: true
-  parent: [DrinkBase, DrinkBaseMaterialGlass]
+  parent: [DrinkBaseMaterialGlass, DrinkBase]
   id: DrinkShakeBase
   description: ''
   components: