- type: entity
abstract: true
parent: [ DrinkBase, DrinkBaseMaterialCardboard, DrinkBaseOpenable, DrinkVisualsOpenable ]
- id: DrinkCartonBaseLargeFull
+ id: DrinkCartonBaseLargeFull # todo rename DrinkCartonBaseFull to match bottles
suffix: Full
components:
- type: Openable
- type: entity
abstract: true
parent: DrinkCartonBaseLargeFull
- id: DrinkCartonBaseFull
+ id: DrinkCartonBaseFull # todo rename DrinkCartonSmallBaseFull to match bottles
components:
- type: SolutionContainerManager
solutions:
fillBaseName: fill-
inHandsMaxFillLevels: 3
inHandsFillBaseName: -fill-
+ - type: ExaminableSolution # If you can see the fill levels, you can see the unit count
+ solution: drink
# Layered visualizer for an entity with fill levels
- type: entity
fillBaseName: fill-
inHandsMaxFillLevels: 3
inHandsFillBaseName: -fill-
+ - type: ExaminableSolution # If you can see the fill levels, you can see the unit count
+ solution: drink
# Visualizer for an openable entity with fill levels, already filled
- type: entity
- type: Tag
tags:
- DrinkBottle
- - type: ExaminableSolution
- solution: drink
- type: entity
abstract: true
- type: Sprite
sprite: Objects/Consumable/Drinks/alco-bottle.rsi
layers:
- - state: icon_blue
+ - state: icon_blue # todo add "icon_empty" state
map: ["enum.OpenableVisuals.Layer"]
- state: fill-6
map: ["enum.SolutionContainerLayers.Fill"]
- type: Sprite
sprite: Objects/Consumable/Drinks/grenadinebottle.rsi
layers:
- - state: icon
+ - state: icon_empty
map: ["enum.OpenableVisuals.Layer"]
- state: fill-6
map: ["enum.SolutionContainerLayers.Fill"]
- type: Sprite
sprite: Objects/Consumable/Drinks/alco-bottle.rsi
layers:
- - state: icon_green
+ - state: icon_green # todo icon_empty
map: ["enum.OpenableVisuals.Layer"]
- state: fill-6
map: ["enum.SolutionContainerLayers.Fill"]
- type: entity
parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
- id: DrinkBeerGrowler # Needs to be renamed DrinkBeerBottleFull
+ id: DrinkBeerGrowler # todo Needs to be renamed DrinkBeerBottleFullGrowler
name: beer growler # beer it is. coffee. beer? coff-ee? be-er? c-o... b-e
description: An alcoholic beverage made from malted grains, hops, yeast, and water. XL growler bottle.
components:
drink:
maxVol: 100
- type: Sprite
- state: icon
sprite: Objects/Consumable/Drinks/generic_jug.rsi # fallback to generic plastic jug
- type: TrashOnSolutionEmpty
solution: drink
drink:
maxVol: 30
- type: Sprite
- state: icon
sprite: Objects/Consumable/Drinks/waterbottle.rsi # fallback
- type: FitsInDispenser
solution: drink
# A mug is a type of cup.[2]
- type: entity
abstract: true
- parent: [DrinkBaseCup, DrinkBaseMaterialPorcelain] # Should use DrinkVisualsFill, but sprites have no in-hand
+ parent: [DrinkBaseCup, DrinkBaseMaterialPorcelain] # todo Should use DrinkVisualsFill, but inheritors have no in-hand and state names are wrong
id: DrinkBaseMug
name: mug
description: A mug.
- type: SolutionContainerVisuals
maxFillLevels: 3
fillBaseName: icon-
+ - type: ExaminableSolution # If you can see the fill levels, you can see the unit count
+ solution: drink
## Misc Cups
name: teacup
description: A plain white porcelain teacup.
components:
- - type: Icon
- sprite: Objects/Consumable/Drinks/teacup.rsi
- state: icon-vend-tea
- type: Sprite
sprite: Objects/Consumable/Drinks/teacup.rsi
layers:
- state: icon-4
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- - type: Appearance
- type: SolutionContainerVisuals
maxFillLevels: 4
- type: entity
- parent: [ DrinkBaseCup, DrinkBaseMaterialGlass ]
+ parent: [ DrinkBaseCup, DrinkBaseMaterialGlass, DrinkVisualsFillOverlay ]
id: DrinkGlassCoupeShaped
name: coupe glass
description: A classic thin neck coupe glass, the icon of fragile labels on crates around the galaxy.
- type: Sprite
sprite: Objects/Consumable/Drinks/glass_coupe_shape.rsi
layers:
- - state: icon
+ - state: icon # todo add "icon_empty" state to match DrinkVisualsFillOverlay
map: [ "enum.SolutionContainerLayers.Base" ]
- state: fill1
map: [ "enum.SolutionContainerLayers.Fill" ]
visible: false
- state: icon-front
map: [ "enum.SolutionContainerLayers.Overlay" ]
- - type: Appearance
- type: SolutionContainerVisuals
- maxFillLevels: 5
- fillBaseName: fill
+ fillBaseName: fill # todo rename to "fill-" to match DrinkVisualsFillOverlay
inHandsMaxFillLevels: 1
- inHandsFillBaseName: -fill-
- - type: ExaminableSolution
- solution: drink
- type: entity
- parent: [DrinkBaseCup, DrinkBaseMaterialCardboard]
+ parent: [DrinkBaseCup, DrinkBaseMaterialCardboard] # TODO should use DrinkVisualsFill but state names are wrong and no inhand
id: DrinkWaterCup
name: water cup
description: A paper water cup.
- 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
state: icon-4
- type: SolutionContainerVisuals
maxFillLevels: 4
- fillBaseName: icon-
- type: TrashOnSolutionEmpty
solution: drink
state: icon-4
- type: SolutionContainerVisuals
maxFillLevels: 4
- fillBaseName: icon-
- type: TrashOnSolutionEmpty
solution: drink
reagents:
- ReagentId: Tea
Quantity: 20
+ - type: Icon
+ sprite: Objects/Consumable/Drinks/teacup.rsi
+ state: icon-vend-tea
- type: TrashOnSolutionEmpty
solution: drink
Quantity: 20
- type: Sprite
sprite: Objects/Consumable/Drinks/lean.rsi
- state: icon
- type: Item
sprite: Objects/Consumable/Drinks/lean.rsi
- type: TrashOnSolutionEmpty
- type: entity
abstract: true
- parent: [DrinkBase, DrinkBaseMaterialStrongMetal, DrinkBaseOpenable]
+ parent: [DrinkBase, DrinkBaseMaterialStrongMetal, DrinkBaseOpenable, DrinkVisualsOpenable]
id: FlaskBase
components:
- type: SolutionContainerManager
drink:
maxVol: 30
- type: Sprite
- state: icon
sprite: Objects/Consumable/Drinks/flask.rsi
- type: FitsInDispenser
solution: drink
# Flasks
- type: entity
- parent: [FlaskBase, DrinkVisualsOpenable]
+ parent: [DrinkBase, DrinkBaseMaterialStrongMetal]
+ id: DrinkFlaskOld
+ name: old flask
+ description: A decrepit old flask, its lid seems to be missing.
+ components:
+ - type: SolutionContainerManager
+ solutions:
+ drink:
+ maxVol: 30
+ - type: Sprite
+ sprite: Objects/Consumable/Drinks/flask_old.rsi
+ - type: FitsInDispenser
+ solution: drink
+
+- type: entity
+ parent: FlaskBase
id: DrinkShinyFlask
name: shiny flask
description: A shiny metal flask. It appears to have a Greek symbol inscribed on it.
sprite: Objects/Consumable/Drinks/shinyflask.rsi
- type: entity
- parent: [FlaskBase, DrinkVisualsOpenable]
+ parent: FlaskBase
id: DrinkMREFlask
suffix: Full
name: MRE flask
solution: drink
- type: entity
- parent: [FlaskBase, DrinkVisualsOpenable]
+ parent: FlaskBase
id: DrinkDetFlask
name: inspector's flask
description: A metal flask with a leather band and golden badge belonging to the inspector.
sprite: Objects/Consumable/Drinks/detflask.rsi
- type: entity
- parent: [FlaskBase, DrinkVisualsOpenable]
+ parent: FlaskBase
id: DrinkHosFlask
name: hos's flask
description: A metal flask, fit for a hard working HoS.
sprite: Objects/Consumable/Drinks/hosflask.rsi
- type: entity
- parent: [FlaskBase, DrinkVisualsOpenable]
+ parent: FlaskBase
id: DrinkFlask
name: captain's flask
description: A metal flask belonging to the captain.
sprite: Objects/Consumable/Drinks/flask.rsi
- type: entity
- parent: [FlaskBase, DrinkVisualsOpenable]
+ parent: FlaskBase
id: DrinkFlaskBar
name: bar flask
description: A metal flask often given out by the bartender on loan. Don't forget to return it!
- type: entity
parent: FlaskBase
- id: DrinkFlaskOld
- name: old flask
- description: A decrepit old flask, its lid seems to be missing.
- components:
- - type: Sprite
- sprite: Objects/Consumable/Drinks/flask_old.rsi
- - type: Openable # annoying hack
- opened: true
- closeable: false
-
-- type: entity
- parent: [FlaskBase, DrinkVisualsOpenable]
id: DrinkLithiumFlask
name: lithium flask
description: A flask with a Lithium Atom symbol on it.
sprite: Objects/Consumable/Drinks/lithiumflask.rsi
- type: entity
- parent: [FlaskBase, DrinkVisualsOpenable]
+ parent: FlaskBase
id: DrinkVacuumFlask
name: vacuum flask
description: Keeping your drinks at the perfect temperature since 1892.
- type: entity
- parent: [ DrinkBase, DrinkBaseMaterialPlastic, DrinkBaseOpenable, DrinkVisualsOpenable ] # Should use DrinkVisualAll, but sprite has no inhand
+ parent: [ DrinkBase, DrinkBaseMaterialPlastic, 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!
maxFillLevels: 2
fillBaseName: fill # TODO rename to "fill-" to match "DrinkVisualsFillOverlay"
inHandsMaxFillLevels: 1
- - type: ExaminableSolution
- solution: drink
- type: FitsInDispenser
solution: drink
- type: Tag
- type: SolutionContainerManager
solutions:
drink:
- maxVol: 20 # 20 might be too much
+ maxVol: 20 # might be too much
- type: Item
size: Tiny
- type: SolutionTransfer