-# TODO: Find remaining cans and move to drinks_cans
-# TODO: Find empty containers (e.g. mug, pitcher) and move to their own yml
-
# For cups, bottles, beakers, and other freely accessible solutions
- type: entity
abstract: true
- !type:SpillBehavior { }
- !type:DoActsBehavior
acts: [ "Destruction" ]
+ #In future maybe add generic plastic scrap trash/debris
- type: PhysicalComposition
materialComposition:
Plastic: 25
-# Cans and bottles
+# A destructible, opaque cardboard bottle
+- type: entity
+ abstract: true
+ parent: DrinkBase
+ id: DrinkCardboardBase
+ components:
+ - type: Damageable
+ damageContainer: Inorganic
+ - type: Destructible
+ thresholds:
+ - trigger:
+ !type:DamageTrigger
+ damage: 5
+ behaviors:
+ - !type:SpillBehavior { }
+ - !type:DoActsBehavior
+ acts: [ "Destruction" ]
+ - type: PhysicalComposition
+ materialComposition:
+ Cardboard: 25
+
+# A destructible, opaque metal can
+- type: entity
+ abstract: true
+ parent: DrinkBase
+ id: DrinkMetalBase
+ components:
+ - type: Damageable
+ damageContainer: Inorganic
+ damageModifierSet: FlimsyMetallic
+ - type: Destructible
+ thresholds:
+ - trigger:
+ !type:DamageTrigger
+ damage: 10
+ behaviors:
+ - !type:SpillBehavior { }
+ - !type:DoActsBehavior
+ acts: [ "Destruction" ]
+ #In future maybe add generic metal scrap trash/debris
+ - type: PhysicalComposition
+ materialComposition:
+ Steel: 25
+
+# Un-opened cans and bottles
- type: entity
abstract: true
id: BaseDrinkOpenable
- type: Shakeable
- type: Sealable
-# Cans and bottles (opened)
+# Pre-opened cans and bottles
- type: entity
abstract: true
parent: BaseDrinkOpenable
tags:
- Trash
-###
-# TODO: MOVE
-
+# Basic visualizer for an openable entity, often paired with BaseDrinkOpenable
- type: entity
- parent: DrinkGlassBase
- id: DrinkTeapot
- name: teapot # short and stout
- description: An elegant teapot. It simply oozes class.
+ abstract: true
+ id: DrinkVisualsOpenable
components:
- - type: SolutionContainerManager
- solutions:
- drink:
- maxVol: 100
- reagents:
- - ReagentId: Tea
- Quantity: 100
+ - type: Appearance
+ - type: GenericVisualizer
+ visuals:
+ enum.OpenableVisuals.Opened:
+ enum.OpenableVisuals.Layer:
+ True: {state: "icon_open"}
+ False: {state: "icon"}
- type: Sprite
- sprite: Objects/Consumable/Drinks/teapot.rsi
+ layers:
+ - state: icon
+ map: ["enum.OpenableVisuals.Layer"]
+# Visualizer for an openable entity with fill levels
- type: entity
- name: coupe glass
- description: A classic thin neck coupe glass, the icon of fragile labels on crates around the galaxy.
- parent: DrinkGlassBase
- id: DrinkGlassCoupeShaped
+ abstract: true
+ id: DrinkVisualsAll
components:
+ - type: Appearance
+ - type: GenericVisualizer
+ visuals:
+ enum.OpenableVisuals.Opened:
+ enum.OpenableVisuals.Layer:
+ True: {state: "icon_open"}
+ False: {state: "icon_empty"}
- type: Sprite
- sprite: Objects/Consumable/Drinks/glass_coupe_shape.rsi
+ sprite: Objects/Consumable/Drinks/alco-bottle.rsi
layers:
- state: icon
- map: [ "enum.SolutionContainerLayers.Base" ]
- - state: fill1
- map: [ "enum.SolutionContainerLayers.Fill" ]
+ map: ["enum.OpenableVisuals.Layer"]
+ - state: fill-1
+ map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- - state: icon-front
- map: [ "enum.SolutionContainerLayers.Overlay" ]
- - type: Appearance
- - type: SolutionContainerManager
- solutions:
- drink:
- maxVol: 30
- type: SolutionContainerVisuals
maxFillLevels: 5
- fillBaseName: fill
- inHandsMaxFillLevels: 1
+ fillBaseName: fill-
+ inHandsMaxFillLevels: 3
inHandsFillBaseName: -fill-
-
-#
-
-- type: entity
- parent: DrinkGlassBase
- id: DrinkShakeBlue
- name: blue milkshake
- description: ''
- components:
- - type: Drink
- - type: Sprite
- sprite: Objects/Consumable/Drinks/shake-blue.rsi
-
-- type: entity
- parent: DrinkGlassBase
- id: DrinkShakeEmpty
- name: shakeempty
- description: ''
- components:
- - type: Drink
- - type: Sprite
- sprite: Objects/Consumable/Drinks/shake-empty.rsi
-
-- type: entity
- parent: DrinkGlassBase
- id: DrinkShakeMeat
- name: meat shake
- description: ''
- components:
- - type: Drink
- - type: Sprite
- sprite: Objects/Consumable/Drinks/shake-meat.rsi
-
-- type: entity
- parent: DrinkGlassBase
- id: DrinkShakeRobo
- name: robo shake
- description: ''
- components:
- - type: Drink
- - type: Sprite
- sprite: Objects/Consumable/Drinks/shake-robo.rsi
-
-- type: entity
- parent: DrinkGlassBase
- id: DrinkShakeWhite
- name: white shake
- description: ''
- components:
- - type: Drink
- - type: Sprite
- sprite: Objects/Consumable/Drinks/shake-white.rsi