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\
# 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

View File

@@ -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

View File

@@ -1,14 +1,12 @@
- 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"]
@@ -16,7 +14,27 @@
map: [ "enum.SolutionContainerLayers.Fill" ] # already has liquid, so no visible: false
- state: icon-front
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
solutions:
drink:
@@ -24,33 +42,19 @@
reagents:
- ReagentId: SpaceGlue
Quantity: 30
- type: SolutionContainerVisuals
maxFillLevels: 6
fillBaseName: fill
- 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

View File

@@ -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

View File

@@ -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]