From af3af9a14134899e555f26cf17873f285c858b2c Mon Sep 17 00:00:00 2001 From: iaada Date: Tue, 5 Aug 2025 18:14:09 -0500 Subject: [PATCH] update for #39362 and #39363 --- .../Objects/Consumable/Drinks/drinks_base.yml | 20 +++--- .../Objects/Consumable/Drinks/drinks_cups.yml | 8 --- .../Objects/Consumable/Drinks/drinks_fun.yml | 63 +++++++++---------- .../Consumable/Drinks/drinks_metamorphic.yml | 4 -- .../Consumable/Drinks/drinks_special.yml | 12 ++-- 5 files changed, 49 insertions(+), 58 deletions(-) diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_base.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_base.yml index 0cd822bff4..4fedc36552 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_base.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_base.yml @@ -1,6 +1,6 @@ # When adding new drinks also add to random spawner located in Resources\Prototypes\Entities\Markers\Spawners\Random\Food_Drinks\ -# A drink is an easily and freely accessible solution like cups, teapots, cans, flasks, bottles, or beakers. +# Inheritors are an easily and freely accessible solution like cups, teapots, cans, flasks, bottles, or beakers. - type: entity abstract: true parent: BaseItem @@ -26,10 +26,12 @@ solution: drink - type: DrainableSolution solution: drink - - type: InjectableSolution # Injectors (syringe) will fallback to RefillableSolution. This adds support for hyposprays and injector anomalies. + - type: InjectableSolution # Injectors (syringe) will fallback to RefillableSolution. This adds support for hyposprays and liquid anomalies. + solution: drink + - type: ExaminableSolution + solution: drink + - type: SolutionItemStatus solution: drink -# - type: SolutionItemStatus todo Currently always shows the reagent count. Should show vague fill levels without ExaminableSolution -# solution: drink - type: SolutionContainerManager solutions: drink: @@ -101,6 +103,9 @@ layers: - state: icon map: ["enum.OpenableVisuals.Layer"] + - type: ExaminableSolution + opaque: true # If you can't see the fill levels on the sprite, we can assume it's opaque + heldOnly: true # If it's opaque, you probably can't see through the open lid from a distance # Basic visualizer for an entity with fill levels - type: entity @@ -119,10 +124,6 @@ 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 # Layered visualizer for an entity with fill levels - type: entity @@ -171,6 +172,9 @@ - state: fill-1 map: ["enum.SolutionContainerLayers.Fill"] visible: false + - type: ExaminableSolution + opaque: false # If you can see the fill levels it's not opaque + heldOnly: false # Visualizer for an openable entity with fill levels, already filled - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml index b4687d081f..e1fe78c433 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml @@ -38,10 +38,6 @@ - type: SolutionContainerVisuals maxFillLevels: 3 fillBaseName: icon- - - 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 or DrinkVisualsFill is added as a base - solution: drink ## Misc Cups @@ -120,8 +116,6 @@ - DrinkCup - WhitelistChameleon - type: Appearance - - type: ExaminableSolution # If you can see the fill levels, you can see the unit count - solution: drink - type: TrashOnSolutionEmpty solution: drink - type: Clothing @@ -129,8 +123,6 @@ - HEAD quickEquip: false sprite: Clothing/Head/Hats/party_water_cup.rsi - - type: SolutionItemStatus # Remove when comp is uncommented on DrinkBase or DrinkVisualsFill is added as a base - solution: drink # Mugs - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_fun.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_fun.yml index 5e670117d7..eb10493467 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_fun.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_fun.yml @@ -1,56 +1,60 @@ - type: entity + abstract: true 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! + id: BaseSqueezeBottle components: - type: Openable sound: collection: packetOpenSounds - type: Sprite - sprite: Objects/Consumable/Drinks/glue-tube.rsi layers: - - state: icon - map: ["enum.OpenableVisuals.Layer"] - - state: fill6 - map: [ "enum.SolutionContainerLayers.Fill" ] # already has liquid, so no visible: false - - state: icon-front - map: [ "enum.SolutionContainerLayers.Overlay" ] - - type: Glue + - state: icon + map: ["enum.OpenableVisuals.Layer"] + - state: fill6 + map: [ "enum.SolutionContainerLayers.Fill" ] # already has liquid, so no visible: false + - state: icon-front + map: [ "enum.SolutionContainerLayers.Overlay" ] - type: SolutionContainerManager solutions: drink: maxVol: 30 - reagents: - - ReagentId: SpaceGlue - Quantity: 30 - type: SolutionContainerVisuals maxFillLevels: 6 fillBaseName: fill + - type: TrashOnSolutionEmpty + solution: drink + - type: ExaminableSolution # Remove when DrinkVisualAll is added + opaque: false + heldOnly: false + +- type: entity + parent: BaseSqueezeBottle + id: DrinkSpaceGlue + name: space glue tube + description: High performance glue intended for maintenance of extremely complex mechanical equipment. DON'T DRINK! + components: + - type: Sprite + sprite: Objects/Consumable/Drinks/glue-tube.rsi + - type: SolutionContainerManager + solutions: + drink: + maxVol: 30 + reagents: + - ReagentId: SpaceGlue + Quantity: 30 - type: Tag tags: - DrinkSpaceGlue - - type: TrashOnSolutionEmpty - solution: drink + - type: Glue - type: entity - parent: [ DrinkBaseMaterialPlastic, DrinkBase, DrinkBaseOpenable, DrinkVisualsOpenable ] # Should use DrinkVisualAll, but sprite has no inhand + parent: BaseSqueezeBottle id: DrinkSpaceLube name: space lube tube description: High performance lubricant intended for maintenance of extremely complex mechanical equipment. components: - - type: Openable - sound: - collection: packetOpenSounds - type: Sprite sprite: Objects/Consumable/Drinks/lube-tube.rsi - layers: - - state: icon - map: ["enum.OpenableVisuals.Layer"] - - state: fill6 - map: [ "enum.SolutionContainerLayers.Fill" ] # already has liquid, so no visible: false - - state: icon-front - map: [ "enum.SolutionContainerLayers.Overlay" ] - type: SolutionContainerManager solutions: drink: @@ -58,12 +62,7 @@ reagents: - ReagentId: SpaceLube Quantity: 30 - - type: SolutionContainerVisuals - maxFillLevels: 6 - fillBaseName: fill - type: Lube - - type: TrashOnSolutionEmpty - solution: drink # Find your nearest clown and give them a gift :o) - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml index a712fe45f3..22054741e3 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml @@ -31,15 +31,11 @@ metamorphicDefaultSprite: sprite: Objects/Consumable/Drinks/glass_clear.rsi state: icon - - type: ExaminableSolution - solution: drink - type: Tag tags: - DrinkCup # Do these tags - DrinkGlass # even do anything? - type: TransformableContainer - - type: SolutionItemStatus # Remove when comp is uncommented on DrinkBase or DrinkVisualsFillOverlay is added - solution: drink - type: entity parent: DrinkGlass diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_special.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_special.yml index fb0e114106..27d568eb82 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_special.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_special.yml @@ -134,6 +134,9 @@ maxVol: 100 - type: FitsInDispenser solution: drink + - type: ExaminableSolution + heldOnly: true + exactVolume: true - type: Sprite sprite: Objects/Consumable/Drinks/shaker.rsi state: icon @@ -147,8 +150,6 @@ mixOnInteract: false reactionTypes: - Shake - - type: SolutionItemStatus # Remove when comp is uncommented on DrinkBase - solution: drink - type: entity parent: [DrinkBaseMaterialMetal, DrinkBase] @@ -160,22 +161,21 @@ solutions: drink: maxVol: 20 # might be too much - - type: Item - size: Tiny - type: SolutionTransfer canChangeTransferAmount: true minTransferAmount: 1 maxTransferAmount: 20 - type: FitsInDispenser solution: drink + - type: ExaminableSolution + heldOnly: true + exactVolume: true - type: Sprite sprite: Objects/Consumable/Drinks/jigger.rsi state: icon - type: PhysicalComposition materialComposition: Steel: 20 - - type: SolutionItemStatus # Remove when comp is uncommented on DrinkBase - solution: drink - type: entity parent: [DrinkBaseMaterialStrongMetal, DrinkBase, DrinkVisualsFill] -- 2.51.2