From 5a4373daccf0e7427604b7a212be8283e9899ce2 Mon Sep 17 00:00:00 2001 From: iaada Date: Fri, 25 Jul 2025 19:19:04 -0500 Subject: [PATCH] break up drinks_bottles --- .../nutrition/components/drink-component.ftl | 1 + .../Objects/Consumable/Drinks/base_drinks.yml | 165 ++++++++---------- 2 files changed, 77 insertions(+), 89 deletions(-) diff --git a/Resources/Locale/en-US/nutrition/components/drink-component.ftl b/Resources/Locale/en-US/nutrition/components/drink-component.ftl index 5fa449396c..c3e6735057 100644 --- a/Resources/Locale/en-US/nutrition/components/drink-component.ftl +++ b/Resources/Locale/en-US/nutrition/components/drink-component.ftl @@ -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 diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/base_drinks.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/base_drinks.yml index bac4db0d57..8393033718 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/base_drinks.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/base_drinks.yml @@ -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 @@ -102,11 +99,56 @@ - !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 @@ -117,7 +159,7 @@ - type: Shakeable - type: Sealable -# Cans and bottles (opened) +# Pre-opened cans and bottles - type: entity abstract: true parent: BaseDrinkOpenable @@ -144,100 +186,45 @@ 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 -- 2.51.2