- type: Edible
edible: Drink # Namesake. This entity is a sort of cup you can drink directly from.
destroyOnEmpty: false
- utensil: None
+ utensil: None # Spoons don't fit in cups, also conflicts with bar spoon stirring
solution: &sol drink # solution name alias
- type: Spillable
solution: *sol
parent: DrinkBaseOpenable
id: DrinkBaseOpenableOpen
components:
- - type: Sprite
- layers:
- - state: icon_open
- map: ["enum.OpenableVisuals.Layer"]
- type: Openable
opened: true
- type: Sealable
sealed: false
+# - type: Sprite # Needs to be done manually, since most drinks have more than one layer. Or just let the visualizer handle it
+# layers:
+# - state: icon_open
+# map: ["enum.OpenableVisuals.Layer"]
## Bases for visuals
+# TODO standardize state names for fill levels and openable visuals
# Basic visualizer for an openable entity. Requires DrinkBaseOpenable
- type: entity
- type: entity
abstract: true
- parent: [ DrinkBaseMaterialPlastic, DrinkBase, DrinkBaseOpenable, DrinkVisualsOpenable ] # todo Should use DrinkVisualAll, but sprite has no inhand
+ parent: [ DrinkBaseMaterialPlastic, DrinkBase, DrinkBaseOpenable, DrinkVisualsAllFilled ]
id: BaseSqueezeBottle
components:
- type: Openable
maxVol: 30
- type: SolutionContainerVisuals
maxFillLevels: 6
- fillBaseName: fill
+ fillBaseName: fill # TODO rename to "fill-"
+ - type: GenericVisualizer
+ visuals:
+ enum.OpenableVisuals.Opened:
+ enum.OpenableVisuals.Layer:
+ True: {state: "icon_open"}
+ False: {state: "icon"}
- type: TrashOnSolutionEmpty
solution: drink
- - type: ExaminableSolution # Remove when DrinkVisualAll is added
- examinableWhileClosed: true
- heldOnly: false
- type: entity
parent: BaseSqueezeBottle