]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
break up drinks_bottles
authoriaada <iaada@users.noreply.github.com>
Sat, 26 Jul 2025 00:19:04 +0000 (19:19 -0500)
committeriaada <iaada@users.noreply.github.com>
Sat, 26 Jul 2025 00:19:04 +0000 (19:19 -0500)
Resources/Locale/en-US/nutrition/components/drink-component.ftl
Resources/Prototypes/Entities/Objects/Consumable/Drinks/base_drinks.yml

index 5fa449396c759eb5d6ff21250d53e42cc4e350c6..c3e67350571d9289dd05b4bdde5d23594b449af9 100644 (file)
@@ -4,6 +4,7 @@ drink-component-on-examine-is-opened = [color=yellow]Opened[/color]
 drink-component-on-examine-is-sealed = The seal is intact.
 drink-component-on-examine-is-unsealed = The seal is broken.
 drink-component-on-examine-is-unsealed-no-cork = The seal is broken, and the cork is gone.
+drink-component-on-examine-is-unsealed-crown-cap = The seal is broken, and the crown cap is bent.
 drink-component-on-examine-is-full = Full
 drink-component-on-examine-is-mostly-full = Mostly Full
 drink-component-on-examine-is-half-full = Halfway Full
index bac4db0d5758075424820da1eda7d5cd9c4ec97e..83930337185bac02c29a7eba656454b4ffcc46b8 100644 (file)
@@ -1,6 +1,3 @@
-# TODO: Find remaining cans and move to drinks_cans
-# TODO: Find empty containers (e.g. mug, pitcher) and move to their own yml
-
 # For cups, bottles, beakers, and other freely accessible solutions
 - type: entity
   abstract: true
       - !type:SpillBehavior { }
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
+        #In future maybe add generic plastic scrap trash/debris
   - type: PhysicalComposition
     materialComposition:
       Plastic: 25
 
-# Cans and bottles
+# A destructible, opaque cardboard bottle
+- type: entity
+  abstract: true
+  parent: DrinkBase
+  id: DrinkCardboardBase
+  components:
+  - type: Damageable
+    damageContainer: Inorganic
+  - type: Destructible
+    thresholds:
+    - trigger:
+        !type:DamageTrigger
+        damage: 5
+      behaviors:
+      - !type:SpillBehavior { }
+      - !type:DoActsBehavior
+        acts: [ "Destruction" ]
+  - type: PhysicalComposition
+    materialComposition:
+      Cardboard: 25
+
+# A destructible, opaque metal can
+- type: entity
+  abstract: true
+  parent: DrinkBase
+  id: DrinkMetalBase
+  components:
+  - type: Damageable
+    damageContainer: Inorganic
+    damageModifierSet: FlimsyMetallic
+  - type: Destructible
+    thresholds:
+    - trigger:
+        !type:DamageTrigger
+        damage: 10
+      behaviors:
+      - !type:SpillBehavior { }
+      - !type:DoActsBehavior
+        acts: [ "Destruction" ]
+        #In future maybe add generic metal scrap trash/debris
+  - type: PhysicalComposition
+    materialComposition:
+      Steel: 25
+
+# Un-opened cans and bottles
 - type: entity
   abstract: true
   id: BaseDrinkOpenable
   - type: Shakeable
   - type: Sealable
 
-# Cans and bottles (opened)
+# Pre-opened cans and bottles
 - type: entity
   abstract: true
   parent: BaseDrinkOpenable
     tags:
     - Trash
 
-###
-# TODO: MOVE
-
+# Basic visualizer for an openable entity, often paired with BaseDrinkOpenable
 - type: entity
-  parent: DrinkGlassBase
-  id: DrinkTeapot
-  name: teapot  # short and stout
-  description: An elegant teapot. It simply oozes class.
+  abstract: true
+  id: DrinkVisualsOpenable
   components:
-  - type: SolutionContainerManager
-    solutions:
-      drink:
-        maxVol: 100
-        reagents:
-        - ReagentId: Tea
-          Quantity: 100
+  - type: Appearance
+  - type: GenericVisualizer
+    visuals:
+      enum.OpenableVisuals.Opened:
+        enum.OpenableVisuals.Layer:
+          True: {state: "icon_open"}
+          False: {state: "icon"}
   - type: Sprite
-    sprite: Objects/Consumable/Drinks/teapot.rsi
+    layers:
+    - state: icon
+      map: ["enum.OpenableVisuals.Layer"]
 
+# Visualizer for an openable entity with fill levels
 - type: entity
-  name: coupe glass
-  description: A classic thin neck coupe glass, the icon of fragile labels on crates around the galaxy.
-  parent: DrinkGlassBase
-  id: DrinkGlassCoupeShaped
+  abstract: true
+  id: DrinkVisualsAll
   components:
+  - type: Appearance
+  - type: GenericVisualizer
+    visuals:
+      enum.OpenableVisuals.Opened:
+        enum.OpenableVisuals.Layer:
+          True: {state: "icon_open"}
+          False: {state: "icon_empty"}
   - type: Sprite
-    sprite: Objects/Consumable/Drinks/glass_coupe_shape.rsi
+    sprite: Objects/Consumable/Drinks/alco-bottle.rsi
     layers:
     - state: icon
-      map: [ "enum.SolutionContainerLayers.Base" ]
-    - state: fill1
-      map: [ "enum.SolutionContainerLayers.Fill" ]
+      map: ["enum.OpenableVisuals.Layer"]
+    - state: fill-1
+      map: ["enum.SolutionContainerLayers.Fill"]
       visible: false
-    - state: icon-front
-      map: [ "enum.SolutionContainerLayers.Overlay" ]
-  - type: Appearance
-  - type: SolutionContainerManager
-    solutions:
-      drink:
-        maxVol: 30
   - type: SolutionContainerVisuals
     maxFillLevels: 5
-    fillBaseName: fill
-    inHandsMaxFillLevels: 1
+    fillBaseName: fill-
+    inHandsMaxFillLevels: 3
     inHandsFillBaseName: -fill-
-
-#
-
-- type: entity
-  parent: DrinkGlassBase
-  id: DrinkShakeBlue
-  name: blue milkshake
-  description: ''
-  components:
-  - type: Drink
-  - type: Sprite
-    sprite: Objects/Consumable/Drinks/shake-blue.rsi
-
-- type: entity
-  parent: DrinkGlassBase
-  id: DrinkShakeEmpty
-  name: shakeempty
-  description: ''
-  components:
-  - type: Drink
-  - type: Sprite
-    sprite: Objects/Consumable/Drinks/shake-empty.rsi
-
-- type: entity
-  parent: DrinkGlassBase
-  id: DrinkShakeMeat
-  name: meat shake
-  description: ''
-  components:
-  - type: Drink
-  - type: Sprite
-    sprite: Objects/Consumable/Drinks/shake-meat.rsi
-
-- type: entity
-  parent: DrinkGlassBase
-  id: DrinkShakeRobo
-  name: robo shake
-  description: ''
-  components:
-  - type: Drink
-  - type: Sprite
-    sprite: Objects/Consumable/Drinks/shake-robo.rsi
-
-- type: entity
-  parent: DrinkGlassBase
-  id: DrinkShakeWhite
-  name: white shake
-  description: ''
-  components:
-  - type: Drink
-  - type: Sprite
-    sprite: Objects/Consumable/Drinks/shake-white.rsi