This commit is contained in:
iaada
2025-08-05 18:14:09 -05:00
parent 6cdf16e1fd
commit af3af9a141
5 changed files with 49 additions and 58 deletions

View File

@@ -1,6 +1,6 @@
# When adding new drinks also add to random spawner located in Resources\Prototypes\Entities\Markers\Spawners\Random\Food_Drinks\ # 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 - type: entity
abstract: true abstract: true
parent: BaseItem parent: BaseItem
@@ -26,10 +26,12 @@
solution: drink solution: drink
- type: DrainableSolution - type: DrainableSolution
solution: drink 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 solution: drink
# - type: SolutionItemStatus todo Currently always shows the reagent count. Should show vague fill levels without ExaminableSolution
# solution: drink
- type: SolutionContainerManager - type: SolutionContainerManager
solutions: solutions:
drink: drink:
@@ -101,6 +103,9 @@
layers: layers:
- state: icon - state: icon
map: ["enum.OpenableVisuals.Layer"] 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 # Basic visualizer for an entity with fill levels
- type: entity - type: entity
@@ -119,10 +124,6 @@
fillBaseName: fill- fillBaseName: fill-
inHandsMaxFillLevels: 3 inHandsMaxFillLevels: 3
inHandsFillBaseName: -fill- 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 # Layered visualizer for an entity with fill levels
- type: entity - type: entity
@@ -171,6 +172,9 @@
- state: fill-1 - state: fill-1
map: ["enum.SolutionContainerLayers.Fill"] map: ["enum.SolutionContainerLayers.Fill"]
visible: false 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 # Visualizer for an openable entity with fill levels, already filled
- type: entity - type: entity

View File

@@ -38,10 +38,6 @@
- type: SolutionContainerVisuals - type: SolutionContainerVisuals
maxFillLevels: 3 maxFillLevels: 3
fillBaseName: icon- 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 ## Misc Cups
@@ -120,8 +116,6 @@
- DrinkCup - DrinkCup
- WhitelistChameleon - WhitelistChameleon
- type: Appearance - type: Appearance
- type: ExaminableSolution # If you can see the fill levels, you can see the unit count
solution: drink
- type: TrashOnSolutionEmpty - type: TrashOnSolutionEmpty
solution: drink solution: drink
- type: Clothing - type: Clothing
@@ -129,8 +123,6 @@
- HEAD - HEAD
quickEquip: false quickEquip: false
sprite: Clothing/Head/Hats/party_water_cup.rsi 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 # Mugs
- type: entity - type: entity

View File

@@ -1,14 +1,12 @@
- type: entity - type: entity
abstract: true
parent: [ DrinkBaseMaterialPlastic, DrinkBase, 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 id: BaseSqueezeBottle
name: space glue tube
description: High performance glue intended for maintenance of extremely complex mechanical equipment. DON'T DRINK!
components: components:
- type: Openable - type: Openable
sound: sound:
collection: packetOpenSounds collection: packetOpenSounds
- type: Sprite - type: Sprite
sprite: Objects/Consumable/Drinks/glue-tube.rsi
layers: layers:
- state: icon - state: icon
map: ["enum.OpenableVisuals.Layer"] map: ["enum.OpenableVisuals.Layer"]
@@ -16,7 +14,27 @@
map: [ "enum.SolutionContainerLayers.Fill" ] # already has liquid, so no visible: false map: [ "enum.SolutionContainerLayers.Fill" ] # already has liquid, so no visible: false
- state: icon-front - state: icon-front
map: [ "enum.SolutionContainerLayers.Overlay" ] map: [ "enum.SolutionContainerLayers.Overlay" ]
- type: Glue - type: SolutionContainerManager
solutions:
drink:
maxVol: 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 - type: SolutionContainerManager
solutions: solutions:
drink: drink:
@@ -24,33 +42,19 @@
reagents: reagents:
- ReagentId: SpaceGlue - ReagentId: SpaceGlue
Quantity: 30 Quantity: 30
- type: SolutionContainerVisuals
maxFillLevels: 6
fillBaseName: fill
- type: Tag - type: Tag
tags: tags:
- DrinkSpaceGlue - DrinkSpaceGlue
- type: TrashOnSolutionEmpty - type: Glue
solution: drink
- type: entity - type: entity
parent: [ DrinkBaseMaterialPlastic, DrinkBase, DrinkBaseOpenable, DrinkVisualsOpenable ] # Should use DrinkVisualAll, but sprite has no inhand parent: BaseSqueezeBottle
id: DrinkSpaceLube id: DrinkSpaceLube
name: space lube tube name: space lube tube
description: High performance lubricant intended for maintenance of extremely complex mechanical equipment. description: High performance lubricant intended for maintenance of extremely complex mechanical equipment.
components: components:
- type: Openable
sound:
collection: packetOpenSounds
- type: Sprite - type: Sprite
sprite: Objects/Consumable/Drinks/lube-tube.rsi 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 - type: SolutionContainerManager
solutions: solutions:
drink: drink:
@@ -58,12 +62,7 @@
reagents: reagents:
- ReagentId: SpaceLube - ReagentId: SpaceLube
Quantity: 30 Quantity: 30
- type: SolutionContainerVisuals
maxFillLevels: 6
fillBaseName: fill
- type: Lube - type: Lube
- type: TrashOnSolutionEmpty
solution: drink
# Find your nearest clown and give them a gift :o) # Find your nearest clown and give them a gift :o)
- type: entity - type: entity

View File

@@ -31,15 +31,11 @@
metamorphicDefaultSprite: metamorphicDefaultSprite:
sprite: Objects/Consumable/Drinks/glass_clear.rsi sprite: Objects/Consumable/Drinks/glass_clear.rsi
state: icon state: icon
- type: ExaminableSolution
solution: drink
- type: Tag - type: Tag
tags: tags:
- DrinkCup # Do these tags - DrinkCup # Do these tags
- DrinkGlass # even do anything? - DrinkGlass # even do anything?
- type: TransformableContainer - type: TransformableContainer
- type: SolutionItemStatus # Remove when comp is uncommented on DrinkBase or DrinkVisualsFillOverlay is added
solution: drink
- type: entity - type: entity
parent: DrinkGlass parent: DrinkGlass

View File

@@ -134,6 +134,9 @@
maxVol: 100 maxVol: 100
- type: FitsInDispenser - type: FitsInDispenser
solution: drink solution: drink
- type: ExaminableSolution
heldOnly: true
exactVolume: true
- type: Sprite - type: Sprite
sprite: Objects/Consumable/Drinks/shaker.rsi sprite: Objects/Consumable/Drinks/shaker.rsi
state: icon state: icon
@@ -147,8 +150,6 @@
mixOnInteract: false mixOnInteract: false
reactionTypes: reactionTypes:
- Shake - Shake
- type: SolutionItemStatus # Remove when comp is uncommented on DrinkBase
solution: drink
- type: entity - type: entity
parent: [DrinkBaseMaterialMetal, DrinkBase] parent: [DrinkBaseMaterialMetal, DrinkBase]
@@ -160,22 +161,21 @@
solutions: solutions:
drink: drink:
maxVol: 20 # might be too much maxVol: 20 # might be too much
- type: Item
size: Tiny
- type: SolutionTransfer - type: SolutionTransfer
canChangeTransferAmount: true canChangeTransferAmount: true
minTransferAmount: 1 minTransferAmount: 1
maxTransferAmount: 20 maxTransferAmount: 20
- type: FitsInDispenser - type: FitsInDispenser
solution: drink solution: drink
- type: ExaminableSolution
heldOnly: true
exactVolume: true
- type: Sprite - type: Sprite
sprite: Objects/Consumable/Drinks/jigger.rsi sprite: Objects/Consumable/Drinks/jigger.rsi
state: icon state: icon
- type: PhysicalComposition - type: PhysicalComposition
materialComposition: materialComposition:
Steel: 20 Steel: 20
- type: SolutionItemStatus # Remove when comp is uncommented on DrinkBase
solution: drink
- type: entity - type: entity
parent: [DrinkBaseMaterialStrongMetal, DrinkBase, DrinkVisualsFill] parent: [DrinkBaseMaterialStrongMetal, DrinkBase, DrinkVisualsFill]