Reorganize and refactor drinks yml (#39221)

This commit is contained in:
SlamBamActionman
2025-09-11 17:59:11 +02:00
committed by GitHub
57 changed files with 2050 additions and 2194 deletions

View File

@@ -1,2 +1,4 @@
sealable-component-on-examine-is-sealed = The seal is intact.
sealable-component-on-examine-is-unsealed = The seal is broken.
sealable-component-on-examine-is-unsealed-no-cork = The seal is broken, and the cork is gone.
sealable-component-on-examine-is-unsealed-crown-cap = The seal is broken, and the crown cap is bent.

View File

@@ -17,7 +17,7 @@
- id: DrinkShaker
- id: ClothingEyesHudBeer
- id: HandLabeler
- id: DrinkBottleBeer
- id: DrinkBeerBottleFull
amount: !type:BinomialNumberSelector
trials: 3
- !type:AllSelector

View File

@@ -118,6 +118,16 @@
Heat: 5
Structural: 5
# Glass without the flat reductions
- type: damageModifierSet
id: FlimsyGlass
coefficients:
Blunt: 1.2
Slash: 0.5
Piercing: 1.0
Heat: 0.8
Shock: 0 #glass is an insulator!
- type: damageModifierSet
id: RGlass
coefficients:

View File

@@ -1,5 +1,5 @@
- type: entity
parent: DrinkGlassBase
parent: [DrinkBaseMaterialGlass, DrinkBase]
id: DrinkMeth
name: meth # beer it is. coffee. beer? coff-ee? be-er? c-o... b-e
description: Just a whole glass of meth.

View File

@@ -1,7 +1,7 @@
- type: entity
parent: DrinkBase
id: DrinkCartonBaseFull
abstract: true
parent: [ DrinkBaseMaterialCardboard, DrinkBase, DrinkBaseOpenable, DrinkVisualsOpenable ]
id: DrinkCartonBaseFull
suffix: Full
components:
- type: Openable
@@ -10,72 +10,44 @@
closeable: true
closeSound:
collection: bottleCloseSounds
- type: Sealable
- type: SolutionContainerManager
solutions:
drink:
maxVol: 50
- type: PressurizedSolution
solution: drink
- type: ExaminableSolution
examinableWhileClosed: false
- type: Shakeable
- type: Sprite
state: icon
- type: Item
size: Small
- type: MeleeWeapon
soundNoDamage:
path: "/Audio/Effects/Fluids/splat.ogg"
damage:
types:
Blunt: 0
- type: Damageable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 20
behaviors:
- !type:SpillBehavior { }
- !type:DoActsBehavior
acts: [ "Destruction" ]
#In future maybe add generic plastic scrap trash/debris
- type: TrashOnSolutionEmpty
solution: drink
- type: DnaSubstanceTrace
- type: entity
parent: DrinkCartonBaseFull
id: DrinkCartonBaseLargeFull
abstract: true
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 100
- type: TrashOnSolutionEmpty
solution: drink
- type: Item
size: Normal
- type: entity
id: DrinkCartonVisualsOpenable
abstract: true
parent: DrinkCartonBaseFull
id: DrinkCartonSmallBaseFull
components:
- type: Appearance
- type: GenericVisualizer
visuals:
enum.OpenableVisuals.Opened:
enum.OpenableVisuals.Layer:
True: {state: "icon_open"}
False: {state: "icon"}
- type: Sprite
layers:
- state: icon
map: ["enum.OpenableVisuals.Layer"]
- type: SolutionContainerManager
solutions:
drink:
maxVol: 50
- type: Item
size: Small
- type: entity
parent: [DrinkCartonVisualsOpenable, DrinkCartonBaseFull]
abstract: true
parent: DrinkCartonBaseFull
id: DrinkCartonBaseXtraLargeFull
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 150
- type: Tag
tags:
- DrinkBottle # Need this to fit in the soda dispenser, probably needs a better name
# Small carton
- type: entity
parent: [DrinkBaseMaterialPlastic, DrinkCartonSmallBaseFull]
id: DrinkJuiceLimeCarton
name: lime juice
description: Sweet-sour goodness.
@@ -90,7 +62,7 @@
sprite: Objects/Consumable/Drinks/limejuice.rsi
- type: entity
parent: [DrinkCartonVisualsOpenable, DrinkCartonBaseFull]
parent: DrinkCartonSmallBaseFull
id: DrinkJuiceOrangeCarton
name: orange juice
description: Full of vitamins and deliciousness!
@@ -105,7 +77,7 @@
sprite: Objects/Consumable/Drinks/orangejuice.rsi
- type: entity
parent: [DrinkCartonVisualsOpenable, DrinkCartonBaseFull]
parent: DrinkCartonSmallBaseFull
id: DrinkJuiceTomatoCarton
name: tomato juice
description: Well, at least it LOOKS like tomato juice. You can't tell with all that redness.
@@ -120,7 +92,7 @@
sprite: Objects/Consumable/Drinks/tomatojuice.rsi
- type: entity
parent: [DrinkBottleVisualsOpenable, DrinkBottlePlasticBaseFull]
parent: DrinkCartonSmallBaseFull
id: DrinkCoconutWaterCarton
name: coconut water
description: It's the inside of the coconut that counts.
@@ -131,14 +103,11 @@
reagents:
- ReagentId: CoconutWater
Quantity: 50
- type: Drink
- type: Label
currentLabel: reagent-name-coconut-water
- type: Sprite
sprite: Objects/Consumable/Drinks/coconutwater.rsi
- type: entity
parent: [DrinkCartonVisualsOpenable, DrinkCartonBaseFull]
parent: DrinkCartonSmallBaseFull
id: DrinkCreamCarton
name: milk cream
description: It's cream. Made from milk. What else did you think you'd find in there?
@@ -153,52 +122,7 @@
sprite: Objects/Consumable/Drinks/cream.rsi
- type: entity
parent: [DrinkCartonVisualsOpenable, DrinkCartonBaseLargeFull]
id: DrinkMilkCarton
name: milk
description: An opaque white liquid produced by the mammary glands of mammals.
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: Milk
Quantity: 100
- type: Sprite
sprite: Objects/Consumable/Drinks/milk.rsi
- type: entity
parent: [DrinkCartonVisualsOpenable, DrinkCartonBaseLargeFull]
id: DrinkSoyMilkCarton
name: soy milk
description: White and nutritious soy goodness!
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: MilkSoy
Quantity: 100
- type: Sprite
sprite: Objects/Consumable/Drinks/soymilk.rsi
- type: entity
parent: [DrinkCartonVisualsOpenable, DrinkCartonBaseLargeFull]
id: DrinkOatMilkCarton
name: oat milk
description: It's oat milk. Tan and nutritious goodness!
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: MilkOat
Quantity: 100
- type: Sprite
sprite: Objects/Consumable/Drinks/oatmilk.rsi
- type: entity
parent: [DrinkCartonVisualsOpenable, DrinkCartonBaseFull]
parent: [DrinkBaseMaterialPlastic, DrinkCartonSmallBaseFull]
id: DrinkJuiceLemonCarton
name: lemon juice
description: First it's sour, then it's still sour.
@@ -213,7 +137,7 @@
sprite: Objects/Consumable/Drinks/lemonjuice.rsi
- type: entity
parent: [DrinkCartonVisualsOpenable, DrinkCartonBaseFull]
parent: DrinkCartonSmallBaseFull
id: DrinkJuicePineappleCarton
name: pineapple juice
description: Tastes like a tropical vacation far from space.
@@ -226,3 +150,106 @@
Quantity: 50
- type: Sprite
sprite: Objects/Consumable/Drinks/pineapplejuice.rsi
# Large carton
- type: entity
parent: [DrinkBaseMaterialPlastic, DrinkCartonBaseFull] # Looks like a plastic jug, fight me
id: DrinkMilkCarton
name: milk
description: An opaque white liquid produced by the mammary glands of mammals.
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: Milk
Quantity: 100
- type: Sprite
sprite: Objects/Consumable/Drinks/milk.rsi
- type: entity
parent: DrinkCartonBaseFull
id: DrinkSoyMilkCarton
name: soy milk
description: White and nutritious soy goodness!
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: MilkSoy
Quantity: 100
- type: Sprite
sprite: Objects/Consumable/Drinks/soymilk.rsi
- type: entity
parent: [DrinkBaseMaterialPlastic, DrinkCartonBaseFull]
id: DrinkOatMilkCarton
name: oat milk
description: It's oat milk. Tan and nutritious goodness!
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: MilkOat
Quantity: 100
- type: Sprite
sprite: Objects/Consumable/Drinks/oatmilk.rsi
# Xtra large
- type: entity
parent: [DrinkBaseMaterialPlastic, DrinkCartonBaseXtraLargeFull]
id: DrinkJuiceLimeCartonXL
name: lime juice XL
description: Sweet-sour goodness.
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 150
reagents:
- ReagentId: JuiceLime
Quantity: 150
- type: Label
currentLabel: reagent-name-juice-lime
- type: Sprite
sprite: Objects/Consumable/Drinks/limejuice.rsi
- type: entity
parent: DrinkCartonBaseXtraLargeFull
id: DrinkJuiceOrangeCartonXL
name: orange juice XL
description: Full of vitamins and deliciousness!
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 150
reagents:
- ReagentId: JuiceOrange
Quantity: 150
- type: Label
currentLabel: reagent-name-juice-orange
- type: Sprite
sprite: Objects/Consumable/Drinks/orangejuice.rsi
- type: entity
parent: DrinkCartonBaseXtraLargeFull
id: DrinkCreamCartonXL
name: milk cream XL
description: It's cream. Made from milk. What else did you think you'd find in there?
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 150
reagents:
- ReagentId: Cream
Quantity: 150
- type: Label
currentLabel: reagent-name-cream
- type: Sprite
sprite: Objects/Consumable/Drinks/cream.rsi

View File

@@ -0,0 +1,196 @@
# When adding new drinks also add to random spawner located in Resources\Prototypes\Entities\Markers\Spawners\Random\Food_Drinks\
# Inheritors are an easily and freely accessible solution like cups, teapots, cans, flasks, bottles, or beakers.
- type: entity
abstract: true
parent: BaseItem
id: DrinkBase
components:
- type: Sprite
state: icon
- type: MeleeWeapon
soundNoDamage:
path: "/Audio/Effects/Fluids/splat.ogg"
damage:
types:
Blunt: 0
- type: DnaSubstanceTrace
- type: Edible
edible: Drink # Namesake. This entity is a sort of cup you can drink directly from.
destroyOnEmpty: false
utensil: None # Spoons don't fit in cups, also conflicts with bar spoon stirring
solution: &sol drink # solution name alias
- type: Spillable
solution: *sol
- type: MixableSolution
solution: *sol
- type: DrawableSolution
solution: *sol
- type: RefillableSolution
solution: *sol
- type: DrainableSolution
solution: *sol
- type: InjectableSolution # Injectors (syringe) will fall back to RefillableSolution. This adds support for hyposprays and liquid anomalies.
solution: *sol
- type: ExaminableSolution
solution: *sol
- type: SolutionItemStatus
solution: *sol
- type: SolutionContainerManager
solutions:
drink:
maxVol: 30
- type: SolutionTransfer
canChangeTransferAmount: true
- type: UserInterface
interfaces:
enum.TransferAmountUiKey.Key:
type: TransferAmountBoundUserInterface
## Misc bases
# This drink is empty trash
- type: entity
abstract: true
id: DrinkBaseEmptyTrash
suffix: Empty
components:
- type: SpaceGarbage
- type: TrashOnSolutionEmpty
solution: *sol
- type: Tag
tags:
- Trash
## Bases for drinks with a lid
# Un-opened
- type: entity
abstract: true
id: DrinkBaseOpenable
components:
- type: Openable
- type: PressurizedSolution
solution: *sol
- type: Shakeable
- type: Sealable
# Pre-opened
- type: entity
abstract: true
parent: DrinkBaseOpenable
id: DrinkBaseOpenableOpen
components:
- 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
abstract: true
id: DrinkVisualsOpenable
components:
- type: Appearance
- type: GenericVisualizer
visuals:
enum.OpenableVisuals.Opened:
enum.OpenableVisuals.Layer:
True: {state: "icon_open"}
False: {state: "icon"}
- type: Sprite
layers:
- state: icon
map: ["enum.OpenableVisuals.Layer"]
- type: ExaminableSolution
examinableWhileClosed: false # 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
abstract: true
id: DrinkVisualsFill
components:
- type: Appearance
- type: Sprite
layers:
- state: icon_empty
- state: fill-1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- type: SolutionContainerVisuals
maxFillLevels: 5
fillBaseName: fill-
inHandsMaxFillLevels: 3
inHandsFillBaseName: -fill-
# Layered visualizer for an entity with fill levels, and an overlay over the fill levels
- type: entity
abstract: true
parent: DrinkVisualsFill
id: DrinkVisualsFillOverlay
components:
- type: Sprite
layers:
- state: icon_empty
map: [ "enum.SolutionContainerLayers.Base" ]
- state: fill-1
map: [ "enum.SolutionContainerLayers.Fill" ]
visible: false
- state: icon-front
map: [ "enum.SolutionContainerLayers.Overlay" ]
# Basic visualizer for an entity with fill levels, already filled
- type: entity
abstract: true
parent: DrinkVisualsFill
id: DrinkVisualsFillFilled
components:
- type: Sprite
layers:
- state: icon
- state: fill-5 # this will need to be different with a different maxFillLevels
map: ["enum.SolutionContainerLayers.Fill"]
# Visualizer for an openable entity with fill levels. Requires DrinkBaseOpenable
- type: entity
abstract: true
parent: [DrinkVisualsOpenable, DrinkVisualsFill]
id: DrinkVisualsAll
components:
- type: GenericVisualizer
visuals:
enum.OpenableVisuals.Opened:
enum.OpenableVisuals.Layer:
True: {state: "icon_open"}
False: {state: "icon_empty"}
- type: Sprite
layers:
- state: icon_empty
map: ["enum.OpenableVisuals.Layer"]
- state: fill-1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- type: ExaminableSolution
examinableWhileClosed: true # If you can see the fill levels it's not opaque
heldOnly: false
# Visualizer for an openable entity with fill levels, already filled. Requires DrinkBaseOpenable
- type: entity
abstract: true
parent: DrinkVisualsAll
id: DrinkVisualsAllFilled
components:
- type: Sprite
layers:
- state: icon_empty
map: ["enum.OpenableVisuals.Layer"]
- state: fill-5 # this will need to be different with a different maxFillLevels
map: ["enum.SolutionContainerLayers.Fill"]

View File

@@ -0,0 +1,271 @@
## Material costs to apply to a drink
# These bases should always be the parented before DrinkBase, or before a prototype inheriting DrinkBase.
# - That way they override any previously inherited material, and material specific sounds aren't overridden by BaseItem.
# Fragile glass
- type: entity
abstract: true
id: DrinkBaseMaterialGlass
components:
- type: Damageable
damageContainer: Inorganic
damageModifierSet: FlimsyGlass
- type: Destructible
thresholds:
- trigger: # Overkill threshold
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 5
behaviors:
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpillBehavior { }
- !type:SpawnEntitiesBehavior
spawn:
ShardGlass:
min: 1
max: 1
transferForensics: true
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: DamageOnLand
ignoreResistances: true
damage:
types:
Blunt: 5 # so fragile it smashes when thrown
- type: DamageOtherOnHit
damage:
types:
Blunt: 5
# - type: EmitSoundOnLand TODO other materials need a sound
# sound:
# collection: GlassCrack
- type: PhysicalComposition
materialComposition:
Glass: 25
# Porcelain (like glass but no shard)
- type: entity
abstract: true
parent: DrinkBaseMaterialGlass
id: DrinkBaseMaterialPorcelain
components:
- type: Destructible
thresholds:
- trigger: # Overkill threshold
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 5
behaviors:
- !type:PlaySoundBehavior
sound:
collection: GlassCrack
- !type:SpillBehavior { }
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: PhysicalComposition
materialComposition:
Glass: 10 # Trace amounts of glass I guess. Important for overriding inheritance
# Fragile plastic
- type: entity
abstract: true
id: DrinkBaseMaterialPlastic
components:
- type: Damageable
damageContainer: Inorganic
# damageModifierSet: FlimsyPlastic TODO
- type: Destructible
thresholds:
- trigger: # Overkill threshold
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 5
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalCrunch # TODO a plastic break collection
- !type:SpillBehavior { }
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: DamageOnLand
ignoreResistances: true
damage:
types:
Blunt: 1
- type: DamageOtherOnHit
damage:
types:
Blunt: 2
- type: PhysicalComposition
materialComposition:
Plastic: 25
# Fragile cardboard
- type: entity
abstract: true
id: DrinkBaseMaterialCardboard
components:
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Card
- type: Destructible
thresholds:
- trigger: # Overkill threshold
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 5
behaviors:
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/unwrap.ogg # TODO a cardboard destruction collection
- !type:SpillBehavior { }
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: DamageOnLand
ignoreResistances: true
damage:
types:
Blunt: 1
- type: DamageOtherOnHit
damage:
types:
Blunt: 1
- type: PhysicalComposition
materialComposition:
Cardboard: 25
# Weak metal
- type: entity
abstract: true
id: DrinkBaseMaterialMetal
components:
- type: Damageable
damageContainer: Inorganic
damageModifierSet: FlimsyMetallic
- type: Destructible
thresholds:
- trigger: # Overkill threshold
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalCrunch # TODO a flimsier metal break collection
- !type:SpillBehavior { }
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: DamageOnLand
ignoreResistances: true
damage:
types:
Blunt: 1
- type: DamageOtherOnHit
damage:
types:
Blunt: 5
- type: PhysicalComposition
materialComposition:
Steel: 25
# strong metal
- type: entity
abstract: true
parent: DrinkBaseMaterialMetal
id: DrinkBaseMaterialStrongMetal
components:
- type: Damageable
damageModifierSet: Metallic
- type: Destructible
thresholds:
- trigger: # Overkill threshold
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 25
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalCrunch
- !type:SpillBehavior { }
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: PhysicalComposition
materialComposition:
Steel: 300
# Flimsy gold
- type: entity
abstract: true
id: DrinkBaseMaterialGold
components:
- type: Damageable
damageContainer: Inorganic
damageModifierSet: FlimsyMetallic
- type: Destructible
thresholds:
- trigger: # Overkill threshold
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 5 # Gold is very weak
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak # Could use a shinier sound
- !type:SpillBehavior { }
- !type:SpawnEntitiesBehavior
spawn:
IngotGold1:
min: 1
max: 1
transferForensics: true
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: DamageOnLand
ignoreResistances: true
damage:
types:
Blunt: 5 # Don't drop your fancy golden cup!
- type: DamageOtherOnHit
damage:
types:
Blunt: 2
- type: PhysicalComposition
materialComposition:
Gold: 25

View File

@@ -0,0 +1,525 @@
# When adding new drinks also add to random spawner located in Resources\Prototypes\Entities\Markers\Spawners\Random\Food_Drinks\drinks_bottles.yml
- type: entity
abstract: true
parent: [ DrinkBaseMaterialGlass, DrinkBase, DrinkBaseOpenable ]
id: DrinkBottleGlassBaseFull
suffix: Full
components:
- type: Item
size: Normal
- type: Openable
sound:
collection: bottleOpenSounds
closeable: true
closeSound:
collection: bottleCloseSounds
- type: SolutionContainerManager
solutions:
drink:
maxVol: 100
- type: Sprite
sprite: Objects/Consumable/Drinks/alco-bottle.rsi # fallback
- type: Tool
qualities:
- Rolling
speedModifier: 0.75 # not as good as a rolling pin but does the job
- type: TrashOnSolutionEmpty
solution: drink
- type: Tag
tags:
- DrinkBottle
- type: Destructible # Same as parent, but spawns BrokenBottle instead of ShardGlass
thresholds:
- trigger: # Overkill threshold
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 5
behaviors:
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpillBehavior { }
- !type:SpawnEntitiesBehavior
spawn:
BrokenBottle:
min: 1
max: 1
transferForensics: true
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: entity
abstract: true
parent: DrinkBottleGlassBaseFull
id: DrinkBottleGlassSmallBaseFull
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 50
- type: Item
size: Small
- type: Sprite
sprite: Objects/Consumable/Drinks/beer.rsi # fallback
- type: FitsInDispenser
solution: drink
# Large Glass Bottles
- type: entity
parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
id: DrinkAbsintheBottleFull
name: Jailbreaker Verte
description: One sip of this and you just know you're gonna have a good time.
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: Absinthe
Quantity: 100
- type: Label
currentLabel: reagent-name-absinthe
- type: Sprite
sprite: Objects/Consumable/Drinks/absinthebottle.rsi
- type: entity
parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
id: DrinkBlueCuracaoBottleFull
name: Miss Blue Curaçao
description: A fruity, exceptionally azure drink. Does not allow the imbiber to use the fifth magic.
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: BlueCuracao
Quantity: 100
- type: Label
currentLabel: reagent-name-blue-curacao
- type: Sprite
sprite: Objects/Consumable/Drinks/alco-bottle.rsi
layers:
- state: icon_blue # todo add "icon_empty" state
map: ["enum.OpenableVisuals.Layer"]
- state: fill-6
map: ["enum.SolutionContainerLayers.Fill"]
- type: SolutionContainerVisuals
maxFillLevels: 6
- type: entity
parent: [DrinkVisualsOpenable, DrinkBottleGlassBaseFull]
id: DrinkBottleOfNothingFull
name: bottle of nothing
description: A bottle filled with nothing.
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: Nothing
Quantity: 100
- type: Label
currentLabel: reagent-name-nothing
- type: Sprite
sprite: Objects/Consumable/Drinks/bottleofnothing.rsi
- type: entity
parent: [DrinkVisualsOpenable, DrinkBottleGlassBaseFull]
id: DrinkChampagneBottleFull
name: champagne bottle
description: Only people devoid of imagination can't find an excuse for champagne.
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: Champagne
Quantity: 100
- type: Label
currentLabel: reagent-name-champagne
- type: Sprite
sprite: Objects/Consumable/Drinks/champagnebottle.rsi
- type: Openable
closeable: false # Champagne corks are fat. Not worth the effort.
- type: Sealable
examineTextUnsealed: "sealable-component-on-examine-is-unsealed-no-cork" # tell the player why it can't close
- type: entity
parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
id: DrinkCognacBottleFull
name: cognac bottle
description: A sweet and strongly alcoholic drink, made after numerous distillations and years of maturing. You might as well not scream 'SHITCURITY' this time.
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: Cognac
Quantity: 100
- type: Label
currentLabel: reagent-name-cognac
- type: Sprite
sprite: Objects/Consumable/Drinks/cognacbottle.rsi
- type: entity
parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
id: DrinkGrenadineBottleFull
name: Briar Rose grenadine syrup bottle
description: Sweet and tangy, a bar syrup used to add color or flavor to drinks.
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: Grenadine
Quantity: 100
- type: Label
currentLabel: reagent-name-grenadine
- type: Sprite
sprite: Objects/Consumable/Drinks/grenadinebottle.rsi
layers:
- state: icon_empty
map: ["enum.OpenableVisuals.Layer"]
- state: fill-6
map: ["enum.SolutionContainerLayers.Fill"]
- type: SolutionContainerVisuals
maxFillLevels: 6
- type: entity
parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
id: DrinkGinBottleFull
name: Griffeater gin
description: A bottle of high quality gin, produced in the New London Space Station.
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: Gin
Quantity: 100
- type: Label
currentLabel: reagent-name-gin
- type: Sprite
sprite: Objects/Consumable/Drinks/ginbottle.rsi
- type: entity
parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
id: DrinkGildlagerBottleFull
name: Gildlager bottle
description: 100 proof cinnamon schnapps, made for alcoholic teen girls on spring break.
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: Gildlager
Quantity: 100
- type: Label
currentLabel: reagent-name-gildlager
- type: Sprite
sprite: Objects/Consumable/Drinks/gildlagerbottle.rsi
- type: entity
parent: [DrinkVisualsOpenable, DrinkBottleGlassBaseFull]
id: DrinkCoffeeLiqueurBottleFull
name: coffee liqueur bottle
description: The great taste of coffee with none of the benifits.
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: CoffeeLiqueur
Quantity: 100
- type: Label
currentLabel: reagent-name-coffeeliqueur
- type: Sprite
sprite: Objects/Consumable/Drinks/coffeeliqueurbottle.rsi
- type: entity
parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
id: DrinkMelonLiquorBottleFull
name: Emeraldine melon liquor
description: A bottle of 46 proof Emeraldine melon liquor. Sweet and light.
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: MelonLiquor
Quantity: 100
- type: Label
currentLabel: reagent-name-melon-liquor
- type: Sprite
sprite: Objects/Consumable/Drinks/alco-bottle.rsi
layers:
- state: icon_green # todo icon_empty
map: ["enum.OpenableVisuals.Layer"]
- state: fill-6
map: ["enum.SolutionContainerLayers.Fill"]
- type: SolutionContainerVisuals
maxFillLevels: 6
- type: entity
parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
id: DrinkPatronBottleFull
name: Wrapp Artiste Patrón bottle
description: Silver laced tequila, served in space night clubs across the galaxy.
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: Patron
Quantity: 100
- type: Label
currentLabel: reagent-name-patron
- type: Sprite
sprite: Objects/Consumable/Drinks/patronbottle.rsi
- type: entity
parent: [DrinkVisualsOpenable, DrinkBottleGlassBaseFull]
id: DrinkPoisonWinebottleFull
name: Warlock's Velvet bottle
description: What a delightful packaging for a surely high quality wine! The vintage must be amazing!
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: PoisonWine
Quantity: 100
- type: Sprite
sprite: Objects/Consumable/Drinks/pwinebottle.rsi
- type: Tag
tags:
- Wine
- DrinkBottle
- type: entity
parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
id: DrinkRumBottleFull
name: Captain Pete's Cuban spiced rum
description: This isn't just rum, oh no. It's practically GRIFF in a bottle.
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: Rum
Quantity: 100
- type: Label
currentLabel: reagent-name-rum
- type: Sprite
sprite: Objects/Consumable/Drinks/rumbottle.rsi
- type: entity
parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
id: DrinkTequilaBottleFull
name: Caccavo Guaranteed Quality tequila bottle
description: Made from premium petroleum distillates, pure thalidomide and other fine quality ingredients!
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: Tequila
Quantity: 100
- type: Label
currentLabel: reagent-name-tequila
- type: Sprite
sprite: Objects/Consumable/Drinks/tequillabottle.rsi
- type: entity
parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
id: DrinkVermouthBottleFull
name: Goldeneye vermouth bottle
description: Sweet, sweet dryness!
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: Vermouth
Quantity: 100
- type: Label
currentLabel: reagent-name-vermouth
- type: Sprite
sprite: Objects/Consumable/Drinks/vermouthbottle.rsi
- type: entity
parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
id: DrinkVodkaBottleFull
name: vodka bottle
description: Aah, vodka. Prime choice of drink AND fuel by Russians worldwide.
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: Vodka
Quantity: 100
- type: Label
currentLabel: reagent-name-vodka
- type: Sprite
sprite: Objects/Consumable/Drinks/vodkabottle.rsi
- type: entity
parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
id: DrinkWhiskeyBottleFull
name: Uncle Git's Special Reserve
description: A premium single-malt whiskey, gently matured inside the tunnels of a nuclear shelter. TUNNEL WHISKEY RULES.
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: Whiskey
Quantity: 100
- type: Label
currentLabel: reagent-name-whiskey
- type: Sprite
sprite: Objects/Consumable/Drinks/whiskeybottle.rsi
- type: entity
parent: [DrinkVisualsOpenable, DrinkBottleGlassBaseFull]
id: DrinkWineBottleFull
name: Doublebearded Bearded Special wine bottle
description: A faint aura of unease and asspainery surrounds the bottle.
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: Wine
Quantity: 100
- type: Label
currentLabel: reagent-name-wine
- type: Sprite
sprite: Objects/Consumable/Drinks/winebottle.rsi
- type: Tag
tags:
- Wine
- DrinkBottle
# Extra large bottles
- type: entity
parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
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:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 150
reagents:
- ReagentId: Beer
Quantity: 150
- type: Label
currentLabel: reagent-name-beer
- type: Sprite
sprite: Objects/Consumable/Drinks/beer.rsi
- type: Openable
closeable: false # sprite is just a beer bottle, but this should be removed when there's a more appropriate sprite
- type: Sealable
examineTextUnsealed: "sealable-component-on-examine-is-unsealed-crown-cap" # tell the player why it can't close
- type: Tag
tags:
- Beer
- DrinkBottle
- type: entity
parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
id: DrinkAleBottleFullGrowler
name: Magm-Ale growler
description: A true dorf's drink of choice. XL growler bottle.
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 150
reagents:
- ReagentId: Ale
Quantity: 150
- type: Label
currentLabel: reagent-name-ale
- type: Sprite
sprite: Objects/Consumable/Drinks/alebottle.rsi
- type: Openable
closeable: false # sprite is just a beer bottle, but this should be removed when there's a more appropriate sprite
- type: Sealable
examineTextUnsealed: "sealable-component-on-examine-is-unsealed-crown-cap" # tell the player why it can't close
# Small glass bottles
- type: entity
parent: [DrinkVisualsAllFilled, DrinkBottleGlassSmallBaseFull]
id: DrinkBeerBottleFull
name: beer bottle # 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.
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: Beer
Quantity: 50
- type: Label
currentLabel: reagent-name-beer
- type: Sprite
sprite: Objects/Consumable/Drinks/beer.rsi
- type: Openable
closeable: false # can't put the cap back on
- type: Sealable
examineTextUnsealed: "sealable-component-on-examine-is-unsealed-crown-cap" # tell the player why it can't close
- type: Tag
tags:
- Beer
- type: entity
parent: [DrinkVisualsAllFilled, DrinkBottleGlassSmallBaseFull]
id: DrinkAleBottleFull
name: Magm-Ale bottle
description: A true dorf's drink of choice.
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: Ale
Quantity: 50
- type: Label
currentLabel: reagent-name-ale
- type: Sprite
sprite: Objects/Consumable/Drinks/alebottle.rsi
- type: Openable
closeable: false # can't put the cap back on
- type: Sealable
examineTextUnsealed: "sealable-component-on-examine-is-unsealed-crown-cap" # tell the player why it can't close
- type: entity
parent: [DrinkVisualsOpenable, DrinkBottleGlassSmallBaseFull]
id: DrinkSakeBottleFull
name: small sake bottle
description: The regret of the next morning seems to be nipping on the bottle too.
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: Sake
Quantity: 50
- type: Label
currentLabel: reagent-name-sake
- type: Sprite
sprite: Objects/Consumable/Drinks/sakebottle.rsi

View File

@@ -0,0 +1,387 @@
- type: entity
abstract: true
parent: [ DrinkBaseMaterialPlastic, DrinkBase, DrinkBaseOpenable ]
id: DrinkBottlePlasticBaseFull
suffix: Full
components:
- type: Item
size: Normal
- type: Openable
sound:
collection: bottleOpenSounds
closeable: true
closeSound:
collection: bottleCloseSounds
- type: SolutionContainerManager
solutions:
drink:
maxVol: 100
- type: Sprite
sprite: Objects/Consumable/Drinks/generic_jug.rsi # fallback to generic plastic jug
- type: TrashOnSolutionEmpty
solution: drink
- type: Tag
tags:
- DrinkBottle # Needed to fit in the soda dispenser, needs a better name
- type: entity
abstract: true
parent: DrinkBottlePlasticBaseFull
id: DrinkBottlePlasticSmallBaseFull
components:
- type: Item
size: Small
- type: SolutionContainerManager
solutions:
drink:
maxVol: 30
- type: Sprite
sprite: Objects/Consumable/Drinks/waterbottle.rsi # fallback
- type: FitsInDispenser
solution: drink
# Empty
- type: entity
parent: [DrinkVisualsOpenable, DrinkBottlePlasticBaseFull]
id: CustomDrinkJug
name: beverage jug
description: A jug for storing custom made drinks.
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 150
# Small Plastic Bottles
- type: entity
parent: [DrinkVisualsAllFilled, DrinkBottlePlasticSmallBaseFull]
id: DrinkWaterBottleFull
name: water bottle
description: Simple clean water of unknown origin. You think that maybe you dont want to know it.
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: Water
Quantity: 30
- type: Sprite
sprite: Objects/Consumable/Drinks/waterbottle.rsi
- type: Label
currentLabel: reagent-name-water
# Large Plastic Bottles
- type: entity
parent: [DrinkVisualsAllFilled, DrinkBottlePlasticBaseFull]
id: DrinkColaBottleFull
name: Space Cola bottle
description: Cola. In spaaace!
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: Cola
Quantity: 100
- type: Label
currentLabel: reagent-name-cola
- type: Sprite
sprite: Objects/Consumable/Drinks/colabottle.rsi
- type: entity
parent: [DrinkVisualsAllFilled, DrinkBottlePlasticBaseFull]
id: DrinkSpaceMountainWindBottleFull
name: Space Solar Wind bottle
description: Blows right through you like a solar wind.
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: SpaceMountainWind
Quantity: 100
- type: Label
currentLabel: reagent-name-space-mountain-wind
- type: Sprite
sprite: Objects/Consumable/Drinks/space_mountain_wind_bottle.rsi
- type: entity
parent: [DrinkVisualsAllFilled, DrinkBottlePlasticBaseFull]
id: DrinkSpaceUpBottleFull
name: Space-Up bottle
description: Tastes like a hull breach in your mouth.
components:
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: SpaceUp
Quantity: 100
- type: Label
currentLabel: reagent-name-space-up
- type: Sprite
sprite: Objects/Consumable/Drinks/space-up_bottle.rsi
- type: entity
parent: [DrinkVisualsAllFilled, DrinkBottlePlasticBaseFull]
id: DrinkSodaWaterBottleFull
name: soda water bottle
description: Like water, but angry!
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 100
reagents:
- ReagentId: SodaWater
Quantity: 100
- type: Sprite
sprite: Objects/Consumable/Drinks/sodawater-bottle.rsi
- type: Label
currentLabel: reagent-name-soda-water
- type: entity
parent: [DrinkVisualsAllFilled, DrinkBottlePlasticBaseFull]
id: DrinkTonicWaterBottleFull
name: tonic water bottle
description: Like soda water, but angrier maybe? Often sweeter.
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 100
reagents:
- ReagentId: TonicWater
Quantity: 100
- type: Sprite
sprite: Objects/Consumable/Drinks/tonic-bottle.rsi
- type: Label
currentLabel: reagent-name-tonic-water
- type: entity
parent: [DrinkVisualsOpenable, DrinkBottlePlasticBaseFull]
id: DrinkEnergyDrinkJug
name: Red Bool jug
description: A jug of Red Bool, with enough caffeine to kill a whole station.
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 100
reagents:
- ReagentId: EnergyDrink
Quantity: 100
- type: Label
currentLabel: reagent-name-energy-drink
# TODO new sprite
# Xtra large
# TODO these have too much volume
- type: entity
parent: [DrinkVisualsOpenable, DrinkBottlePlasticBaseFull]
id: DrinkSugarJug
name: sugar jug
suffix: For Drinks, Full
description: Some people put this in their coffee...
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 300
reagents:
- ReagentId: Sugar
Quantity: 300
- type: Label
currentLabel: reagent-name-sugar
# TODO new sprite
- type: entity
parent: [DrinkVisualsOpenable, DrinkBottlePlasticBaseFull]
id: DrinkLemonLimeJug
name: Smite jug
description: A dual citrus sensation.
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 300
reagents:
- ReagentId: LemonLime
Quantity: 300
- type: Label
currentLabel: reagent-name-lemon-lime
# TODO new sprite
- type: entity
parent: [DrinkVisualsOpenable, DrinkBottlePlasticBaseFull]
id: DrinkMeadJug
name: mead jug
description: Storing mead in a plastic jug should be a crime.
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 150
reagents:
- ReagentId: Mead
Quantity: 150
- type: Label
currentLabel: reagent-name-mead
# TODO new sprite
- type: entity
parent: [DrinkVisualsOpenable, DrinkBottlePlasticBaseFull]
id: DrinkIceJug
name: ice jug
description: Stubborn water. Pretty cool.
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 300
reagents:
- ReagentId: Ice
Quantity: 300
- type: Label
currentLabel: reagent-name-ice
# TODO new sprite
- type: entity
parent: [DrinkVisualsOpenable, DrinkBottlePlasticBaseFull]
id: DrinkCoconutWaterJug
name: coconut water jug
description: It's on the inside of the coconut that counts.
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 300
reagents:
- ReagentId: CoconutWater
Quantity: 300
- type: Label
currentLabel: reagent-name-coconut-water
# TODO new sprite
- type: entity
parent: [DrinkVisualsOpenable, DrinkBottlePlasticBaseFull]
id: DrinkCoffeeJug
name: coffee jug
description: Wake up juice, of the heated kind.
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 300
reagents:
- ReagentId: Coffee
Quantity: 300
- type: Label
currentLabel: reagent-name-coffee
# TODO new sprite
- type: entity
parent: [DrinkVisualsOpenable, DrinkBottlePlasticBaseFull]
id: DrinkTeaJug
name: tea jug
description: The drink of choice for the Bri'ish and hipsters.
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 300
reagents:
- ReagentId: Tea
Quantity: 300
- type: Label
currentLabel: reagent-name-tea
# TODO new sprite
- type: entity
parent: [DrinkVisualsOpenable, DrinkBottlePlasticBaseFull]
id: DrinkGreenTeaJug
name: green tea jug
description: It's like tea... but green! great for settling the stomach.
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 300
reagents:
- ReagentId: GreenTea
Quantity: 300
- type: Label
currentLabel: reagent-name-green-tea
# TODO new sprite
- type: entity
parent: [DrinkVisualsOpenable, DrinkBottlePlasticBaseFull]
id: DrinkIcedTeaJug
name: iced tea jug
description: For when the regular tea is too hot for you. Boohoo.
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 300
reagents:
- ReagentId: IcedTea
Quantity: 300
- type: Label
currentLabel: reagent-name-iced-tea
# TODO new sprite
- type: entity
parent: [DrinkVisualsOpenable, DrinkBottlePlasticBaseFull]
id: DrinkDrGibbJug
name: Dr. Gibb jug
description: 42 different flavours... in a jug!
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 300
reagents:
- ReagentId: DrGibb
Quantity: 300
- type: Label
currentLabel: reagent-name-dr-gibb
# TODO new sprite
- type: entity
parent: [DrinkVisualsOpenable, DrinkBottlePlasticBaseFull]
id: DrinkRootBeerJug
name: root beer jug
description: This drink makes Australians giggle.
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 300
reagents:
- ReagentId: RootBeer
Quantity: 300
- type: Label
currentLabel: reagent-name-root-beer
# TODO new sprite
- type: entity
parent: [DrinkVisualsOpenable, DrinkBottlePlasticBaseFull]
id: DrinkWaterMelonJuiceJug
name: watermelon juice jug
description: May include leftover seeds.
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 300
reagents:
- ReagentId: JuiceWatermelon
Quantity: 300
- type: Label
currentLabel: reagent-name-juice-watermelon
# TODO new sprite

View File

@@ -1,18 +1,13 @@
# When adding new drinks also add to random spawner located in Resources\Prototypes\Entities\Markers\Spawners\Random\Food_Drinks\drinks_soda.yml
- type: entity
parent: BaseItem
id: DrinkCanBaseFull
abstract: true
parent: [ DrinkBaseMaterialMetal, DrinkBase, DrinkBaseOpenable, DrinkVisualsOpenable ]
id: DrinkCanBaseFull
suffix: Full
components:
- type: Drink
- type: Openable
- type: Shakeable
- type: SolutionContainerManager
solutions:
drink:
reagents:
- ReagentId: Cola
Quantity: 30
maxVol: 30
grindable:
reagents: # 5u -> 1/2 steel sheet (10u)
@@ -20,50 +15,13 @@
Quantity: 4
- ReagentId: Iron
Quantity: 1
- type: MixableSolution
solution: drink
- type: SolutionTransfer
canChangeTransferAmount: true
maxTransferAmount: 15
- type: Extractable
grindableSolutionName: grindable
- type: UserInterface
interfaces:
enum.TransferAmountUiKey.Key:
type: TransferAmountBoundUserInterface
- type: Sprite
state: icon
layers:
- state: icon
map: ["enum.OpenableVisuals.Layer"]
- type: FitsInDispenser
solution: drink
- type: DrawableSolution
solution: drink
- type: RefillableSolution
solution: drink
- type: DrainableSolution
solution: drink
- type: PressurizedSolution
solution: drink
- type: ExaminableSolution
solution: drink
examinableWhileClosed: false
- type: Appearance
- type: GenericVisualizer
visuals:
enum.OpenableVisuals.Opened:
enum.OpenableVisuals.Layer:
True: {state: "icon_open"}
False: {state: "icon"}
- type: Spillable
solution: drink
- type: MeleeWeapon
soundNoDamage:
path: "/Audio/Effects/Fluids/splat.ogg"
damage:
types:
Blunt: 0
- type: Tool
qualities:
- Rolling
@@ -77,7 +35,8 @@
- type: Tag
tags:
- DrinkCan
- type: DnaSubstanceTrace
## Filled
- type: entity
parent: DrinkCanBaseFull
@@ -102,7 +61,6 @@
tags:
- Cola
- DrinkCan
- Recyclable
- type: Sprite
sprite: Objects/Consumable/Drinks/cola.rsi
- type: Item
@@ -110,9 +68,9 @@
# created when taking apart an ied
- type: entity
parent: DrinkColaCan
parent: [ DrinkBaseOpenableOpen, DrinkColaCan ]
id: DrinkColaCanEmpty
suffix: empty
suffix: Empty
components:
- type: SolutionContainerManager
solutions:
@@ -124,19 +82,10 @@
Quantity: 4
- ReagentId: Iron
Quantity: 1
- type: Openable
opened: true
- type: Sprite
sprite: Objects/Consumable/Drinks/cola.rsi
layers:
- state: icon_open
- type: Item
sprite: Objects/Consumable/Drinks/cola.rsi
- type: Tag
tags:
- Cola
- DrinkCan
- Recyclable
- Trash
- type: entity
@@ -294,6 +243,7 @@
- type: Tag
tags:
- Beer
- DrinkCan
- type: entity
parent: DrinkCanBaseFull
@@ -314,9 +264,10 @@
Quantity: 4
- ReagentId: Iron
Quantity: 1
- type: Drink
- type: Sprite
sprite: Objects/Consumable/Drinks/sodawater.rsi
- type: Item
sprite: Objects/Consumable/Drinks/sodawater.rsi
- type: entity
parent: DrinkCanBaseFull
@@ -433,9 +384,10 @@
Quantity: 4
- ReagentId: Iron
Quantity: 1
- type: Drink
- type: Sprite
sprite: Objects/Consumable/Drinks/tonic.rsi
- type: Item
sprite: Objects/Consumable/Drinks/tonic.rsi
- type: entity
parent: DrinkCanBaseFull
@@ -480,7 +432,6 @@
Quantity: 4
- ReagentId: Iron
Quantity: 1
- type: Drink
- type: Sprite
sprite: Objects/Consumable/Drinks/changelingsting.rsi
- type: Item
@@ -505,7 +456,6 @@
Quantity: 4
- ReagentId: Iron
Quantity: 1
- type: Drink
- type: Sprite
sprite: Objects/Consumable/Drinks/dr_gibb.rsi
- type: Item
@@ -534,10 +484,6 @@
Quantity: 4
- ReagentId: Iron
Quantity: 1
- type: Tag
tags:
- DrinkCan
- Recyclable
- type: Sprite
sprite: Objects/Consumable/Drinks/robustnukie.rsi
- type: Item
@@ -562,65 +508,11 @@
Quantity: 4
- ReagentId: Iron
Quantity: 1
- type: Drink
- type: Sprite
sprite: Objects/Consumable/Drinks/energy_drink.rsi
- type: Item
sprite: Objects/Consumable/Drinks/energy_drink.rsi
- type: entity
id: DrinkCanPack
parent: BaseStorageItem
name: 6pack
components:
- type: Sprite
sprite: Objects/Misc/6pack.rsi
layers:
- state: plastic-thingy
- state: 6pack1
map: ["6pack1"]
visible: false
- state: 6pack2
map: ["6pack2"]
visible: false
- state: 6pack3
map: ["6pack3"]
visible: false
- state: 6pack4
map: ["6pack4"]
visible: false
- state: 6pack5
map: ["6pack5"]
visible: false
- state: 6pack6
map: ["6pack6"]
visible: false
- type: Item
size: Normal
- type: Storage
grid:
- 0,0,2,3
whitelist:
tags:
- Cola
hideStackVisualsWhenClosed: false
- type: StorageFill
contents:
- id: DrinkColaCan
amount: 6
- type: ItemCounter
count:
tags: [Cola]
composite: true
layerStates:
- 6pack1
- 6pack2
- 6pack3
- 6pack4
- 6pack5
- 6pack6
- type: Appearance
- type: entity
parent: DrinkCanBaseFull
id: DrinkShamblersJuiceCan
@@ -640,7 +532,6 @@
Quantity: 4
- ReagentId: Iron
Quantity: 1
- type: Drink
- type: Sprite
sprite: Objects/Consumable/Drinks/shamblersjuice.rsi
- type: Item
@@ -665,7 +556,6 @@
Quantity: 4
- ReagentId: Iron
Quantity: 1
- type: Drink
- type: Sprite
sprite: Objects/Consumable/Drinks/pwrgame.rsi
- type: Item
@@ -690,7 +580,6 @@
Quantity: 4
- ReagentId: Iron
Quantity: 1
- type: Drink
- type: Sprite
sprite: Objects/Consumable/Drinks/beer_can.rsi
- type: Item
@@ -698,6 +587,7 @@
- type: Tag
tags:
- Beer
- DrinkCan
- type: entity
parent: DrinkCanBaseFull
@@ -718,7 +608,6 @@
Quantity: 4
- ReagentId: Iron
Quantity: 1
- type: Drink
- type: Sprite
sprite: Objects/Consumable/Drinks/wine_can.rsi
- type: Item
@@ -726,3 +615,4 @@
- type: Tag
tags:
- Wine
- DrinkCan

View File

@@ -1,52 +1,48 @@
# Empty drink containers; different from bottles in that these are intended to be spawned empty
# When adding new drinks also add to random spawner located in Resources\Prototypes\Entities\Markers\Spawners\Random\Food_Drinks\drinks_soda.yml
# A cup is a small container used to hold liquids for drinking.[1]
- type: entity
parent: BaseItem
id: DrinkBaseCup
name: base cup
abstract: true
parent: DrinkBase
id: DrinkBaseCup
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 20
- type: MixableSolution
solution: drink
- type: FitsInDispenser
solution: drink
- type: DrawableSolution
solution: drink
- type: RefillableSolution
solution: drink
- type: DrainableSolution
solution: drink
- type: ExaminableSolution
solution: drink
- type: SolutionTransfer
canChangeTransferAmount: true
maxTransferAmount: 10
- type: UserInterface
interfaces:
enum.TransferAmountUiKey.Key:
type: TransferAmountBoundUserInterface
- type: Drink
- type: Sprite
state: icon
- type: Spillable
solution: drink
- type: MeleeWeapon
soundNoDamage:
path: "/Audio/Effects/Fluids/splat.ogg"
damage:
types:
Blunt: 0
- type: DnaSubstanceTrace
- type: Tag
tags:
- DrinkCup
- type: StaticPrice
price: 10
# A mug is a type of cup.[2]
- type: entity
abstract: true
parent: [ DrinkBaseMaterialPorcelain, DrinkBaseCup ] # todo Should use DrinkVisualsFill, but inheritors have no in-hand and state names are wrong
id: DrinkBaseMug
name: mug
description: A mug.
components:
- type: Sprite
sprite: Objects/Consumable/Drinks/mug.rsi
layers:
- state: icon-0
- state: icon-3
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- type: Appearance
- type: SolutionContainerVisuals
maxFillLevels: 3
fillBaseName: icon-
## Misc Cups
- type: entity
parent: DrinkBaseCup
parent: [DrinkBaseMaterialGold, DrinkBaseCup]
id: DrinkGoldenCup
name: golden cup
description: A golden cup.
@@ -55,32 +51,80 @@
sprite: Objects/Consumable/Drinks/golden_cup.rsi
- type: StaticPrice
price: 125
- type: PhysicalComposition
materialComposition:
Gold: 100
- type: entity
parent: DrinkBaseCup
id: DrinkBaseMug
abstract: true
name: mug
description: A mug.
parent: DrinkBaseMug
id: DrinkTeacupEmpty
name: teacup
description: A plain white porcelain teacup.
components:
- type: Sprite
sprite: Objects/Consumable/Drinks/mug.rsi
sprite: Objects/Consumable/Drinks/teacup.rsi
layers:
- state: icon-0
- map: ["enum.SolutionContainerLayers.Fill"]
state: icon-3
visible: false
- type: Appearance
- state: icon-0
- state: icon-4
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- type: SolutionContainerVisuals
maxFillLevels: 3
fillBaseName: icon-
- type: PhysicalComposition
materialComposition:
Glass: 25
maxFillLevels: 4
- type: entity
parent: [ DrinkBaseMaterialGlass, DrinkBaseCup, DrinkVisualsFillOverlay ]
id: DrinkGlassCoupeShaped
name: coupe glass
description: A classic thin neck coupe glass, the icon of fragile labels on crates around the galaxy.
components:
- type: Sprite
sprite: Objects/Consumable/Drinks/glass_coupe_shape.rsi
layers:
- 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: SolutionContainerVisuals
fillBaseName: fill # todo rename to "fill-" to match DrinkVisualsFillOverlay
inHandsMaxFillLevels: 1
- type: entity
parent: [DrinkBaseMaterialCardboard, DrinkBaseCup] # TODO should use DrinkVisualsFill but state names are wrong and no inhand
id: DrinkWaterCup
name: water cup
description: A paper water cup.
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 5 # One sip at a time. No rushing at the water cooler
- type: Item
size: Tiny
- type: Sprite
sprite: Objects/Consumable/Drinks/water_cup.rsi
layers:
- state: icon-0
- state: icon-1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- type: SolutionContainerVisuals
maxFillLevels: 1
fillBaseName: icon-
- type: Tag
tags:
- Trash
- DrinkCup
- WhitelistChameleon
- type: Appearance
- type: TrashOnSolutionEmpty
solution: drink
- type: Clothing
slots:
- HEAD
quickEquip: false
sprite: Clothing/Head/Hats/party_water_cup.rsi
# Mugs
- type: entity
parent: DrinkBaseMug
id: DrinkMug
@@ -136,16 +180,13 @@
sprite: Objects/Consumable/Drinks/mug_heart.rsi
- type: entity
parent: DrinkBaseMug
parent: [DrinkBaseMaterialMetal, DrinkBaseMug]
id: DrinkMugMetal
name: metal mug
description: A metal mug. You're not sure which metal.
components:
- type: Sprite
sprite: Objects/Consumable/Drinks/mug_metal.rsi
- type: PhysicalComposition
materialComposition:
Steel: 25
- type: entity
parent: DrinkBaseMug
@@ -183,10 +224,13 @@
- type: Sprite
sprite: Objects/Consumable/Drinks/mug_red.rsi
## Filled
- type: entity
parent: DrinkBaseCup
parent: DrinkBaseMug
id: DrinkHotCoco
name: hot chocolate
suffix: Full
description: A heated drink consisting melted chocolate and heated milk.
components:
- type: SolutionContainerManager
@@ -204,17 +248,16 @@
- state: icon-0
- map: ["enum.SolutionContainerLayers.Fill"]
state: icon-4
- type: Appearance
- type: SolutionContainerVisuals
maxFillLevels: 4
fillBaseName: icon-
- type: TrashOnSolutionEmpty
solution: drink
- type: entity
parent: DrinkBaseCup
parent: DrinkBaseMug
id: DrinkHotCoffee
name: coffee
suffix: Full
description: Coffee is a brewed drink prepared from roasted seeds, commonly called coffee beans, of the coffee plant.
components:
- type: SolutionContainerManager
@@ -232,17 +275,16 @@
- state: icon-0
- map: ["enum.SolutionContainerLayers.Fill"]
state: icon-4
- type: Appearance
- type: SolutionContainerVisuals
maxFillLevels: 4
fillBaseName: icon-
- type: TrashOnSolutionEmpty
solution: drink
- type: entity
parent: DrinkBaseCup
parent: DrinkBaseMug
id: DrinkCafeLatte
name: cafe latte
suffix: Full
description: A nice, strong and tasty beverage while you are reading.
components:
- type: SolutionContainerManager
@@ -266,10 +308,9 @@
solution: drink
- type: entity
parent: DrinkBaseCup
parent: DrinkTeacupEmpty
id: DrinkTeacup
name: teacup
description: A plain white porcelain teacup.
name: tea
components:
- type: SolutionContainerManager
solutions:
@@ -280,24 +321,13 @@
- type: Icon
sprite: Objects/Consumable/Drinks/teacup.rsi
state: icon-vend-tea
- type: Sprite
sprite: Objects/Consumable/Drinks/teacup.rsi
layers:
- state: icon-0
- map: ["enum.SolutionContainerLayers.Fill"]
state: icon-4
- type: Appearance
- type: SolutionContainerVisuals
maxFillLevels: 4
fillBaseName: icon-
- type: TrashOnSolutionEmpty
solution: drink
- type: entity
parent: DrinkBaseCup
parent: DrinkTeacupEmpty
id: DrinkGreenTea
name: green tea
description: A plain white porcelain teacup.
components:
- type: SolutionContainerManager
solutions:
@@ -308,21 +338,12 @@
- type: Icon
sprite: Objects/Consumable/Drinks/teacup.rsi
state: icon-vend-green-tea
- type: Sprite
sprite: Objects/Consumable/Drinks/teacup.rsi
layers:
- state: icon-0
- map: ["enum.SolutionContainerLayers.Fill"]
state: icon-4
- type: Appearance
- type: SolutionContainerVisuals
maxFillLevels: 4
fillBaseName: icon-
- type: TrashOnSolutionEmpty
solution: drink
# TODO this needs fill levels
- type: entity
parent: DrinkBaseCup
parent: [DrinkBaseMaterialPlastic, DrinkBaseCup]
id: DrinkLean
name: grape juice
description: Damn, no fun allowed.
@@ -335,37 +356,10 @@
Quantity: 20
- type: Sprite
sprite: Objects/Consumable/Drinks/lean.rsi
state: icon
- type: Item
sprite: Objects/Consumable/Drinks/lean.rsi
- type: TrashOnSolutionEmpty
solution: drink
- type: entity
parent: DrinkBaseCup
id: DrinkWaterCup
name: water cup
description: A paper water cup.
components:
- type: Drink
- type: Sprite
sprite: Objects/Consumable/Drinks/water_cup.rsi
layers:
- state: icon-0
- map: ["enum.SolutionContainerLayers.Fill"]
state: icon-1
- type: Appearance
- type: SolutionContainerVisuals
maxFillLevels: 1
fillBaseName: icon-
- type: Tag
tags:
- Trash
- WhitelistChameleon
- type: TrashOnSolutionEmpty
solution: drink
- type: Clothing
slots:
- HEAD
quickEquip: false
sprite: Clothing/Head/Hats/party_water_cup.rsi
#[1] https://en.wikipedia.org/wiki/Cup
#[2] https://en.wikipedia.org/wiki/Mug

View File

@@ -1,38 +1,16 @@
- type: entity
parent: DrinkBase
id: FlaskBase
abstract: true
parent: [DrinkBaseMaterialStrongMetal, DrinkBase, DrinkBaseOpenable, DrinkVisualsOpenable]
id: FlaskBase
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 30
- type: Sprite
state: icon
sprite: Objects/Consumable/Drinks/flask.rsi
- type: PhysicalComposition
materialComposition:
Steel: 300
- type: FitsInDispenser
solution: drink
- type: ExaminableSolution
examinableWhileClosed: false
- type: entity
id: DrinkFlaskVisualsOpenable
abstract: true
components:
- type: GenericVisualizer
visuals:
enum.OpenableVisuals.Opened:
enum.OpenableVisuals.Layer:
True: {state: "icon_open"}
False: {state: "icon"}
- type: Appearance
- type: Sprite
layers:
- state: icon
map: ["enum.OpenableVisuals.Layer"]
- type: Openable
sound:
collection: flaskOpenSounds
@@ -43,7 +21,22 @@
# Flasks
- type: entity
parent: [FlaskBase, DrinkFlaskVisualsOpenable]
parent: [DrinkBaseMaterialStrongMetal, DrinkBase]
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.
@@ -52,7 +45,7 @@
sprite: Objects/Consumable/Drinks/shinyflask.rsi
- type: entity
parent: [FlaskBase, DrinkFlaskVisualsOpenable]
parent: FlaskBase
id: DrinkMREFlask
suffix: Full
name: MRE flask
@@ -70,7 +63,7 @@
solution: drink
- type: entity
parent: [FlaskBase, DrinkFlaskVisualsOpenable]
parent: FlaskBase
id: DrinkDetFlask
name: inspector's flask
description: A metal flask with a leather band and golden badge belonging to the inspector.
@@ -79,7 +72,7 @@
sprite: Objects/Consumable/Drinks/detflask.rsi
- type: entity
parent: [FlaskBase, DrinkFlaskVisualsOpenable]
parent: FlaskBase
id: DrinkHosFlask
name: hos's flask
description: A metal flask, fit for a hard working HoS.
@@ -88,7 +81,7 @@
sprite: Objects/Consumable/Drinks/hosflask.rsi
- type: entity
parent: [FlaskBase, DrinkFlaskVisualsOpenable]
parent: FlaskBase
id: DrinkFlask
name: captain's flask
description: A metal flask belonging to the captain.
@@ -97,7 +90,7 @@
sprite: Objects/Consumable/Drinks/flask.rsi
- type: entity
parent: [FlaskBase, DrinkFlaskVisualsOpenable]
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!
@@ -107,15 +100,6 @@
- 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: entity
parent: [FlaskBase, DrinkFlaskVisualsOpenable]
id: DrinkLithiumFlask
name: lithium flask
description: A flask with a Lithium Atom symbol on it.
@@ -124,10 +108,14 @@
sprite: Objects/Consumable/Drinks/lithiumflask.rsi
- type: entity
parent: [FlaskBase, DrinkFlaskVisualsOpenable]
parent: FlaskBase
id: DrinkVacuumFlask
name: vacuum flask
description: Keeping your drinks at the perfect temperature since 1892.
components:
- type: Sprite
sprite: Objects/Consumable/Drinks/vacuumflask.rsi
- type: Tool
qualities:
- Rolling # Perfectly cylindrical flask
speedModifier: 0.75

View File

@@ -1,24 +1,43 @@
- type: entity
parent: DrinkBase
id: DrinkSpaceGlue
name: space glue tube
description: High performance glue intended for maintenance of extremely complex mechanical equipment. DON'T DRINK!
abstract: true
parent: [ DrinkBaseMaterialPlastic, DrinkBase, DrinkBaseOpenable, DrinkVisualsAllFilled ]
id: BaseSqueezeBottle
components:
- type: Openable
sound:
collection: packetOpenSounds
- type: Sprite
sprite: Objects/Consumable/Drinks/glue-tube.rsi
layers:
- state: icon
map: ["enum.OpenableVisuals.Layer"]
- state: fill1
map: [ "enum.SolutionContainerLayers.Fill" ]
visible: false
- state: icon-front
map: [ "enum.SolutionContainerLayers.Overlay" ]
- type: Appearance
- type: Glue
- 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:
maxVol: 30
- type: SolutionContainerVisuals
maxFillLevels: 6
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: 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:
@@ -26,43 +45,19 @@
reagents:
- ReagentId: SpaceGlue
Quantity: 30
- type: SolutionContainerVisuals
maxFillLevels: 6
fillBaseName: fill
inHandsMaxFillLevels: 3
inHandsFillBaseName: -fill-
- type: GenericVisualizer
visuals:
enum.OpenableVisuals.Opened:
enum.OpenableVisuals.Layer:
True: {state: "icon_open"}
False: {state: "icon"}
- type: Tag
tags:
- DrinkSpaceGlue
- type: TrashOnSolutionEmpty
solution: drink
- type: Glue
- type: entity
parent: DrinkBase
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: fill1
map: [ "enum.SolutionContainerLayers.Fill" ]
visible: false
- state: icon-front
map: [ "enum.SolutionContainerLayers.Overlay" ]
- type: Appearance
- type: SolutionContainerManager
solutions:
drink:
@@ -70,21 +65,9 @@
reagents:
- ReagentId: SpaceLube
Quantity: 30
- type: SolutionContainerVisuals
maxFillLevels: 6
fillBaseName: fill
inHandsMaxFillLevels: 3
inHandsFillBaseName: -fill-
- type: GenericVisualizer
visuals:
enum.OpenableVisuals.Opened:
enum.OpenableVisuals.Layer:
True: {state: "icon_open"}
False: {state: "icon"}
- type: Lube
- type: TrashOnSolutionEmpty
solution: drink
# Find your nearest clown and give them a gift :o)
- type: entity
parent: BluespaceBeaker
id: BottomlessLube
@@ -106,6 +89,22 @@
- ReagentId: SpaceLube
Quantity: 200
- type: entity
parent: [DrinkBaseMaterialGlass, DrinkBase]
id: DrinkJarWhat
name: jar of something
description: You can't really tell what this is.
components:
- type: Sprite
sprite: Objects/Consumable/Drinks/jar_what.rsi
- type: ExaminableSolution
solution: drink
- type: FitsInDispenser
solution: drink
- type: Tag
tags:
- DrinkGlass
# Mopwata
- type: weightedRandomFillSolution
id: RandomFillMopwata
@@ -154,13 +153,11 @@
- FourteenLoko
- type: entity
parent: DrinkBottleGlassBaseFull
parent: [DrinkVisualsAllFilled, DrinkBottleGlassSmallBaseFull]
id: DrinkMopwataBottleRandom
name: delicious mopwata
description: A foggy brown bottle with a faded label depicting a mop. It comes full of murky... vintage.
components:
- type: Item
size: Small
- type: SolutionContainerManager
solutions:
drink:
@@ -171,26 +168,5 @@
- type: RandomFillSolution
solution: drink
weightedRandomId: RandomFillMopwata
- type: PressurizedSolution
solution: drink
- type: Shakeable
- 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/mopwata.rsi
layers:
- state: icon
map: ["enum.OpenableVisuals.Layer"]
- state: fill-1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- type: SolutionContainerVisuals
maxFillLevels: 5
fillBaseName: fill-
inHandsMaxFillLevels: 3
inHandsFillBaseName: -fill-

View File

@@ -1,102 +1,18 @@
# TODO: Find remaining cans and move to drinks_cans
# TODO: Find empty containers (e.g. mug, pitcher) and move to their own yml
# File for the metamorphic glass and pre-filled drinks
# TODO Autogenerate prototypes so this file isn't 1000s of lines
# When adding new drinks also add to random spawner located in Resources\Prototypes\Entities\Markers\Spawners\Random\Food_Drinks\drinks_glass.yml
- type: entity
abstract: true
parent: BaseItem
id: DrinkBase
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 30
- type: MixableSolution
solution: drink
- type: SolutionTransfer
canChangeTransferAmount: true
- type: Edible
edible: Drink
solution: drink
destroyOnEmpty: false
- type: Sprite
state: icon
- type: MeleeWeapon
soundNoDamage:
path: "/Audio/Effects/Fluids/splat.ogg"
damage:
types:
Blunt: 0
- type: Spillable
solution: drink
- type: DrawableSolution
solution: drink
- type: RefillableSolution
solution: drink
- type: DrainableSolution
solution: drink
- type: ExaminableSolution
solution: drink
- type: UserInterface
interfaces:
enum.TransferAmountUiKey.Key:
type: TransferAmountBoundUserInterface
- type: DnaSubstanceTrace
- type: entity
parent: DrinkBase
id: DrinkGlassBase
abstract: true
components:
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Glass
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 5
behaviors:
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpillBehavior { }
- !type:SpawnEntitiesBehavior
spawn:
ShardGlass:
min: 1
max: 1
transferForensics: true
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: DamageOnLand
ignoreResistances: true
damage:
types:
Blunt: 5
- type: DamageOtherOnHit
damage:
types:
Blunt: 5
- type: PhysicalComposition
materialComposition:
Glass: 25
- type: FitsInDispenser
solution: drink
- type: Tag
tags:
- DrinkGlass
# Transformable container - normal glass
- type: entity
parent: [DrinkBaseMaterialGlass, DrinkBaseCup] # todo parent to DrinkVisualsFillOverlay after in-hands are added
id: DrinkGlass
name: metamorphic glass
description: A metamorphic glass that automagically turns into a glass appropriate for the drink within. There's a sanded off patent number on the bottom.
parent: DrinkGlassBase
id: DrinkGlass
components:
- type: Sprite
sprite: Objects/Consumable/Drinks/glass_clear.rsi
layers:
- state: icon
- state: icon # TODO add "icon_empty" state to match "DrinkVisualsFillOverlay"
map: [ "enum.SolutionContainerLayers.Base" ]
- state: fill1
map: [ "enum.SolutionContainerLayers.Fill" ]
@@ -110,39 +26,45 @@
maxVol: 30
- type: SolutionContainerVisuals
maxFillLevels: 9
fillBaseName: fill
fillBaseName: fill # todo rename to "fill-", add in-hands, then add parent "DrinkVisualsFillOverlay"
metamorphic: true
metamorphicDefaultSprite:
sprite: Objects/Consumable/Drinks/glass_clear.rsi
state: icon
- type: Tag
tags:
- DrinkCup # Do these tags
- DrinkGlass # even do anything?
- type: TransformableContainer
- 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
parent: DrinkGlass
id: DrinkJar
name: jar
description: The hipster's cup.
components:
- type: Sprite
sprite: Objects/Consumable/Drinks/glass_coupe_shape.rsi
layers:
- state: icon
map: [ "enum.SolutionContainerLayers.Base" ]
- state: fill1
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
inHandsFillBaseName: -fill-
- type: Sprite
sprite: Objects/Consumable/Drinks/jar.rsi
layers:
- state: icon
map: [ "enum.SolutionContainerLayers.Base" ]
- state: fill1
map: [ "enum.SolutionContainerLayers.Fill" ]
visible: false
- state: icon-front
map: [ "enum.SolutionContainerLayers.Overlay" ]
- type: SolutionContainerManager
solutions:
drink:
maxVol: 50
- type: SolutionContainerVisuals
metamorphicDefaultSprite:
sprite: Objects/Consumable/Drinks/jar.rsi
state: icon
## Filled
# TODO entities without IconComponent need a metamorphic sprite on the reagent
# TODO IconComponent doesn't seem to work in spawn panel
- type: entity
parent: DrinkGlass
@@ -152,10 +74,10 @@
- type: SolutionContainerManager
solutions:
drink:
maxVol: 20
maxVol: 30
reagents:
- ReagentId: Absinthe
Quantity: 20
Quantity: 30
- type: Icon
sprite: Objects/Consumable/Drinks/absintheglass.rsi
state: icon
@@ -284,6 +206,9 @@
reagents:
- ReagentId: Antifreeze
Quantity: 30
- type: Icon
sprite: Objects/Consumable/Drinks/antifreeze.rsi
state: icon
- type: entity
parent: DrinkGlass
@@ -412,9 +337,6 @@
- type: Icon
sprite: Objects/Consumable/Drinks/beerglass.rsi
state: icon
- type: Tag
tags:
- Beer
- type: entity
parent: DrinkGlass
@@ -636,6 +558,7 @@
reagents:
- ReagentId: CoconutWater
Quantity: 30
#TODO - type: Icon
- type: entity
parent: DrinkGlass
@@ -1031,7 +954,7 @@
- ReagentId: GreenTea
Quantity: 30
- type: Icon
sprite: Objects/Consumable/Drinks/glass_green.rsi #Placeholder
sprite: Objects/Consumable/Drinks/greenteaglass.rsi
state: icon
- type: entity
@@ -1128,7 +1051,7 @@
- ReagentId: IcedGreenTea
Quantity: 30
- type: Icon
sprite: Objects/Consumable/Drinks/glass_green.rsi #Placeholder
sprite: Objects/Consumable/Drinks/icedgreenteaglass.rsi
state: icon
- type: entity
@@ -1162,9 +1085,6 @@
- type: Icon
sprite: Objects/Consumable/Drinks/iced_beerglass.rsi
state: icon
- type: Tag
tags:
- Beer
- type: entity
parent: DrinkGlass
@@ -1342,7 +1262,6 @@
sprite: Objects/Consumable/Drinks/kiraspecial.rsi
state: icon
- type: entity
parent: DrinkGlass
id: DrinkLemonadeGlass
@@ -1403,6 +1322,7 @@
reagents:
- ReagentId: JuiceLime
Quantity: 30
#TODO Icon
- type: entity
parent: DrinkGlass
@@ -2133,22 +2053,6 @@
sprite: Objects/Consumable/Drinks/teaglass.rsi
state: icon
- type: entity
parent: DrinkGlassBase
id: DrinkTeapot
name: teapot # short and stout
description: An elegant teapot. It simply oozes class.
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 100
reagents:
- ReagentId: Tea
Quantity: 100
- type: Sprite
sprite: Objects/Consumable/Drinks/teapot.rsi
- type: entity
parent: DrinkGlass
id: DrinkTequilaGlass
@@ -2356,7 +2260,7 @@
state: icon
- type: entity
parent: DrinkGlassBase
parent: DrinkGlass
id: DrinkWaterJug
name: water jug
description: Stay hydrated.
@@ -2368,9 +2272,9 @@
reagents:
- ReagentId: Water
Quantity: 30
- type: Drink
- type: Sprite
- type: Icon
sprite: Objects/Consumable/Drinks/water.rsi
state: icon
- type: entity
parent: DrinkGlass
@@ -2384,6 +2288,9 @@
reagents:
- ReagentId: JuiceWatermelon
Quantity: 30
- type: Icon
sprite: Objects/Consumable/Drinks/watermelonglass.rsi
state: icon
- type: entity
parent: DrinkGlass
@@ -2673,58 +2580,6 @@
sprite: Objects/Consumable/Drinks/whiskeysour.rsi
state: icon
# TODO: MOVE
- 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
- type: entity
parent: DrinkGlass
id: DrinkBloodGlass

View File

@@ -1,53 +1,5 @@
- type: entity
parent: BaseItem
id: DrinkShaker
name: shaker
description: The trusty mixing buddy of the bartender.
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 100
- type: MixableSolution
solution: drink
- type: Drink
- type: Shakeable
- type: FitsInDispenser
solution: drink
- type: DrawableSolution
solution: drink
- type: RefillableSolution
solution: drink
- type: DrainableSolution
solution: drink
- type: SolutionTransfer
canChangeTransferAmount: true
- type: Spillable
solution: drink
- type: Sprite
sprite: Objects/Consumable/Drinks/shaker.rsi
state: icon
- type: Item
sprite: Objects/Consumable/Drinks/shaker.rsi
- type: UserInterface
interfaces:
enum.TransferAmountUiKey.Key:
type: TransferAmountBoundUserInterface
- type: PhysicalComposition
materialComposition:
Steel: 50
- type: DnaSubstanceTrace
- type: ReactionMixer
mixOnInteract: false
reactionTypes:
- Shake
- type: ExaminableSolution
solution: drink
heldOnly: true
examinableWhileClosed: false
- type: entity
parent: DrinkGlassBase
parent: [DrinkBaseMaterialGlass, DrinkBase, DrinkVisualsFillOverlay]
id: DrinkShotGlass
name: shot glass
description: Perfect for slamming down onto the table angrily.
@@ -56,115 +8,30 @@
solutions:
drink:
maxVol: 5
- type: SolutionTransfer
transferAmount: 10
minTransferAmount: 10
- type: Drink
- type: Item
size: Tiny
- type: Sprite
sprite: Objects/Consumable/Drinks/shotglass.rsi
layers:
- state: icon
map: [ "enum.SolutionContainerLayers.Base" ]
- state: fill1
map: [ "enum.SolutionContainerLayers.Fill" ]
visible: false
- state: icon-front
map: [ "enum.SolutionContainerLayers.Overlay" ]
- type: Appearance
- 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: SolutionContainerVisuals
maxFillLevels: 2
fillBaseName: fill
fillBaseName: fill # TODO rename to "fill-" to match "DrinkVisualsFillOverlay"
inHandsMaxFillLevels: 1
inHandsFillBaseName: -fill-
- type: entity
parent: DrinkGlassBase
id: DrinkJar
name: jar
description: The hipster's cup.
components:
- type: Drink
- type: Sprite
sprite: Objects/Consumable/Drinks/jar.rsi
layers:
- state: icon
map: [ "enum.SolutionContainerLayers.Base" ]
- state: fill1
map: [ "enum.SolutionContainerLayers.Fill" ]
visible: false
- state: icon-front
map: [ "enum.SolutionContainerLayers.Overlay" ]
- type: Appearance
- type: SolutionContainerManager
solutions:
drink:
maxVol: 50
- type: SolutionContainerVisuals
maxFillLevels: 9
fillBaseName: fill
metamorphic: true
metamorphicDefaultSprite:
sprite: Objects/Consumable/Drinks/jar.rsi
state: icon
- type: TransformableContainer
- type: entity
parent: DrinkGlassBase
id: DrinkJarWhat
name: jar of something
description: You can't really tell what this is.
components:
- type: Drink
- type: Sprite
sprite: Objects/Consumable/Drinks/jar_what.rsi
- type: entity
id: BartenderMixer
abstract: true
components:
- type: DrainableSolution
solution: drink
- type: Drink
- type: DrawableSolution
solution: drink
- type: RefillableSolution
solution: drink
- type: SolutionTransfer
canChangeTransferAmount: true
- type: Spillable
solution: drink
- type: UserInterface
interfaces:
enum.TransferAmountUiKey.Key:
type: TransferAmountBoundUserInterface
- type: entity
parent: [BaseItem, BartenderMixer]
id: DrinkJigger
name: jigger
description: Like a shaker, but smaller. Used to control the amount of ingredients.
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 20
- type: SolutionTransfer
canChangeTransferAmount: true
minTransferAmount: 1
maxTransferAmount: 20
- type: MixableSolution
solution: drink
- type: FitsInDispenser
solution: drink
- type: Sprite
sprite: Objects/Consumable/Drinks/jigger.rsi
state: icon
- type: PhysicalComposition
materialComposition:
Steel: 20
- type: Tag
tags:
- DrinkGlass
- type: entity
parent: [BaseItem, BartenderMixer]
parent: [DrinkBaseMaterialMetal, DrinkBase]
id: DrinkIceBucket
name: ice bucket
description: A special bucket of refreshy ice. Prohibited use for challenge with the same name!
@@ -183,7 +50,130 @@
Steel: 75
- type: entity
parent: DrinkBase
parent: [DrinkBaseMaterialPorcelain, DrinkBase]
id: DrinkTeapot
name: teapot # short and stout
description: An elegant teapot. It simply oozes class.
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 100
reagents:
- ReagentId: Tea
Quantity: 100
- type: Sprite
sprite: Objects/Consumable/Drinks/teapot.rsi
- type: FitsInDispenser
solution: drink
# Probably shouldn't be here
# Also probably shouldn't let you put the cola back in, and should spawn deadly plastic rings after removing the last one
- type: entity
parent: BaseStorageItem
id: DrinkCanPack
name: 6pack
components:
- type: Sprite
sprite: Objects/Misc/6pack.rsi
layers:
- state: plastic-thingy
- state: 6pack1
map: ["6pack1"]
- state: 6pack2
map: ["6pack2"]
- state: 6pack3
map: ["6pack3"]
- state: 6pack4
map: ["6pack4"]
- state: 6pack5
map: ["6pack5"]
- state: 6pack6
map: ["6pack6"]
- type: Item
size: Normal
- type: Storage
grid:
- 0,0,2,3
whitelist:
tags:
- Cola
hideStackVisualsWhenClosed: false
- type: StorageFill
contents:
- id: DrinkColaCan
amount: 6
- type: ItemCounter
count:
tags: [Cola]
composite: true
layerStates:
- 6pack1
- 6pack2
- 6pack3
- 6pack4
- 6pack5
- 6pack6
- type: Appearance
# Bartender tools
- type: entity
parent: [DrinkBaseMaterialStrongMetal, DrinkBase]
id: DrinkShaker
name: shaker
description: The trusty mixing buddy of the bartender.
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 100
- type: FitsInDispenser
solution: drink
- type: ExaminableSolution
heldOnly: true # Opaque, can't see inside from a distance
- type: Sprite
sprite: Objects/Consumable/Drinks/shaker.rsi
state: icon
- type: Item
sprite: Objects/Consumable/Drinks/shaker.rsi
- type: PhysicalComposition
materialComposition:
Steel: 50
- type: Shakeable
- type: ReactionMixer
mixOnInteract: false
reactionTypes:
- Shake
- type: entity
parent: [DrinkBaseMaterialMetal, DrinkBase]
id: DrinkJigger
name: jigger
description: Like a shaker, but smaller. Used to control the amount of ingredients.
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 20
- 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: entity
parent: [DrinkBaseMaterialStrongMetal, DrinkBase, DrinkVisualsFill]
id: Pitcher
name: metal pitcher
description: A stainless steel insulated pitcher. Everyone's best friend in the morning.
@@ -195,19 +185,68 @@
- type: Sprite
sprite: Objects/Consumable/Drinks/pitcher.rsi
layers:
- state: icon
map: ["enum.SolutionContainerLayers.Base"]
- state: fill-6
- state: icon # TODO add "icon_empty" state to match "DrinkVisualsFill"
- state: fill-1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- type: Appearance
- type: SolutionContainerVisuals
maxFillLevels: 6
fillBaseName: fill-
inHandsMaxFillLevels: 2
inHandsFillBaseName: -fill-
- type: PhysicalComposition
materialComposition:
Steel: 300
- type: FitsInDispenser
solution: drink
# Weird empty shakes
- type: entity
abstract: true
parent: [DrinkBaseMaterialGlass, DrinkBase]
id: DrinkShakeBase
description: ''
components:
- type: ExaminableSolution
solution: drink
- type: FitsInDispenser
solution: drink
- type: Tag
tags:
- DrinkGlass
- type: entity
parent: DrinkShakeBase
id: DrinkShakeBlue
name: blue milkshake
components:
- type: Sprite
sprite: Objects/Consumable/Drinks/shake-blue.rsi
- type: entity
parent: DrinkShakeBase
id: DrinkShakeEmpty
name: shakeempty
components:
- type: Sprite
sprite: Objects/Consumable/Drinks/shake-empty.rsi
- type: entity
parent: DrinkShakeBase
id: DrinkShakeMeat
name: meat shake
components:
- type: Sprite
sprite: Objects/Consumable/Drinks/shake-meat.rsi
- type: entity
parent: DrinkShakeBase
id: DrinkShakeRobo
name: robo shake
components:
- type: Sprite
sprite: Objects/Consumable/Drinks/shake-robo.rsi
- type: entity
parent: DrinkShakeBase
id: DrinkShakeWhite
name: white shake
components:
- type: Sprite
sprite: Objects/Consumable/Drinks/shake-white.rsi

View File

@@ -1,372 +1,166 @@
# These can still be used as containers
# File for containers like bottles or milk jugs that are empty
# TODO these prototypes have ambiguous names and should be renamed to match their filled versions, with "Full" replaced by "Empty"
# When used as the first parent, this empties a bottle's reagent and spawns it already opened
- type: entity
name: base empty bottle
abstract: true
parent: [ DrinkBaseOpenableOpen, DrinkBaseEmptyTrash ]
id: DrinkBottleBaseEmpty
parent: BaseItem
abstract: true
description: An empty bottle.
suffix: Empty
components:
- type: Sprite
state: icon
- type: Item
size: Normal
- type: SolutionContainerManager
solutions:
drink:
maxVol: 100
- type: SolutionTransfer
canChangeTransferAmount: true
maxTransferAmount: 5
- type: Drink
- type: MeleeWeapon
soundNoDamage:
path: "/Audio/Effects/Fluids/splat.ogg"
damage:
types:
Blunt: 0
- type: MixableSolution
solution: drink
- type: Spillable
solution: drink
- type: FitsInDispenser
solution: drink
- type: DrawableSolution
solution: drink
- type: RefillableSolution
solution: drink
- type: DrainableSolution
solution: drink
- type: UserInterface
interfaces:
enum.TransferAmountUiKey.Key:
type: TransferAmountBoundUserInterface
- type: DamageOnLand
damage:
types:
Blunt: 5
- type: DamageOtherOnHit
damage:
types:
Blunt: 4
- type: Damageable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 5
behaviors:
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpillBehavior { }
- !type:SpawnEntitiesBehavior
spawn:
BrokenBottle:
min: 1
max: 1
transferForensics: true
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: Tag
tags:
- DrinkBottle
- Trash
- type: PhysicalComposition
materialComposition:
Glass: 100
- type: SpaceGarbage
- type: DnaSubstanceTrace
- type: entity
name: base empty bottle
abstract: true
parent: [ DrinkBaseOpenableOpen, DrinkBaseEmptyTrash ]
id: DrinkBottleBaseSmallEmpty
parent: DrinkBottleBaseEmpty
abstract: true
components:
- type: Item
size: Small
- type: SolutionContainerManager
solutions:
drink:
maxVol: 50
- type: entity
name: base empty carton
id: DrinkCartonBaseEmpty
parent: BaseItem
abstract: true
description: An empty carton.
suffix: Empty
components:
- type: Sprite
state: icon
- type: SolutionContainerManager
solutions:
drink:
maxVol: 50
- type: MixableSolution
solution: drink
- type: SolutionTransfer
canChangeTransferAmount: true
maxTransferAmount: 5
- type: Drink
- type: Spillable
solution: drink
- type: FitsInDispenser
solution: drink
- type: DrawableSolution
solution: drink
- type: RefillableSolution
solution: drink
- type: DrainableSolution
solution: drink
- type: UserInterface
interfaces:
enum.TransferAmountUiKey.Key:
type: TransferAmountBoundUserInterface
- type: Damageable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 20
behaviors:
- !type:SpillBehavior { }
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: Tag
tags:
- DrinkBottle
- Trash
- type: PhysicalComposition
materialComposition:
Cardboard: 20
- type: SpaceGarbage
- type: entity
name: base empty bottle
id: DrinkCartonBaseLargeEmpty
parent: DrinkCartonBaseEmpty
abstract: true
parent: [ DrinkBaseOpenableOpen, DrinkBaseEmptyTrash ]
id: DrinkCartonBaseEmpty
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 50
- type: entity
abstract: true
parent: [ DrinkBaseOpenableOpen, DrinkBaseEmptyTrash ]
id: DrinkCartonBaseLargeEmpty
components:
- type: Item
size: Normal
- type: SolutionContainerManager
solutions:
drink:
maxVol: 100
# Containers
- type: entity
name: Jailbreaker Verte bottle
parent: DrinkBottleBaseEmpty
id: DrinkBottleAbsinthe
components:
- type: Sprite
sprite: Objects/Consumable/TrashDrinks/absinthebottle_empty.rsi
# Small bottles
- type: entity
name: alcohol bottle
parent: DrinkBottleBaseEmpty
id: DrinkBottleAlcoClear
components:
- type: Sprite
sprite: Objects/Consumable/TrashDrinks/alco-clear.rsi
- type: entity
name: ale bottle
parent: DrinkBottleBaseSmallEmpty
parent: [ DrinkBottleBaseSmallEmpty, DrinkAleBottleFull ]
id: DrinkBottleAle
components:
- type: Sprite
sprite: Objects/Consumable/TrashDrinks/alebottle_empty.rsi
- type: entity
name: beer bottle
parent: DrinkBottleBaseSmallEmpty
parent: [ DrinkBottleBaseSmallEmpty, DrinkBeerBottleFull ]
id: DrinkBottleBeer
components:
- type: Sprite
sprite: Objects/Consumable/TrashDrinks/beer_empty.rsi
- type: Tag
tags:
- Beer
- Trash
# Large bottles
- type: entity
name: cognac bottle
parent: DrinkBottleBaseEmpty
parent: [ DrinkBottleBaseEmpty, DrinkAbsintheBottleFull ]
id: DrinkBottleAbsinthe
- type: entity
parent: [DrinkBottleBaseEmpty, DrinkBlueCuracaoBottleFull]
id: DrinkBottleAlcoClear
- type: entity
parent: [ DrinkBottleBaseEmpty, DrinkCognacBottleFull ]
id: DrinkBottleCognac
components:
- type: Sprite
sprite: Objects/Consumable/TrashDrinks/cognacbottle_empty.rsi
- type: entity
name: Griffeater gin bottle
parent: DrinkBottleBaseEmpty
parent: [ DrinkBottleBaseEmpty, DrinkGinBottleFull ]
id: DrinkBottleGin
components:
- type: Sprite
sprite: Objects/Consumable/TrashDrinks/ginbottle_empty.rsi
- type: entity
name: gildlager bottle
parent: DrinkBottleBaseEmpty
parent: [DrinkBottleBaseEmpty, DrinkGildlagerBottleFull]
id: DrinkBottleGildlager
components:
- type: Sprite
sprite: Objects/Consumable/TrashDrinks/gildlagerbottle_empty.rsi
- type: entity
name: coffee liqueur bottle
parent: DrinkBottleBaseEmpty
parent: [DrinkBottleBaseEmpty, DrinkCoffeeLiqueurBottleFull]
id: DrinkBottleCoffeeLiqueur
components:
- type: Sprite
sprite: Objects/Consumable/TrashDrinks/coffeeliqueurbottle_empty.rsi
# todo make a real cahors bottle
- type: entity
name: nt cahors bottle
parent: DrinkBottleBaseEmpty
parent: [DrinkBottleBaseEmpty, DrinkBottleGlassBaseFull]
id: DrinkBottleNTCahors
components:
- type: Sprite
sprite: Objects/Consumable/TrashDrinks/ntcahors_empty.rsi
sprite: Objects/Consumable/Drinks/ntcahors.rsi
- type: entity
name: patron bottle
parent: DrinkBottleBaseEmpty
parent: [DrinkBottleBaseEmpty, DrinkPatronBottleFull]
id: DrinkBottlePatron
components:
- type: Sprite
sprite: Objects/Consumable/TrashDrinks/patronbottle_empty.rsi
- type: entity
name: poison wine bottle
parent: DrinkBottleBaseEmpty
parent: [DrinkBottleBaseEmpty, DrinkPoisonWinebottleFull]
id: DrinkBottlePoisonWine
components:
- type: Sprite
sprite: Objects/Consumable/TrashDrinks/pwinebottle_empty.rsi
- type: entity
name: rum bottle
parent: DrinkBottleBaseEmpty
parent: [DrinkBottleBaseEmpty, DrinkRumBottleFull]
id: DrinkBottleRum
components:
- type: Sprite
sprite: Objects/Consumable/TrashDrinks/rumbottle_empty.rsi
- type: entity
name: tequila bottle
parent: DrinkBottleBaseEmpty
parent: [DrinkBottleBaseEmpty, DrinkTequilaBottleFull]
id: DrinkBottleTequila
components:
- type: Sprite
sprite: Objects/Consumable/TrashDrinks/tequillabottle_empty.rsi
- type: entity
name: vermouth bottle
parent: DrinkBottleBaseEmpty
parent: [DrinkBottleBaseEmpty, DrinkVermouthBottleFull]
id: DrinkBottleVermouth
components:
- type: Sprite
sprite: Objects/Consumable/TrashDrinks/vermouthbottle_empty.rsi
- type: entity
name: vodka bottle
parent: DrinkBottleBaseEmpty
parent: [DrinkBottleBaseEmpty, DrinkVodkaBottleFull]
id: DrinkBottleVodka
components:
- type: Sprite
sprite: Objects/Consumable/TrashDrinks/vodkabottle_empty.rsi
- type: entity
name: whiskey bottle
parent: DrinkBottleBaseEmpty
parent: [DrinkBottleBaseEmpty, DrinkWhiskeyBottleFull]
id: DrinkBottleWhiskey
components:
- type: Sprite
sprite: Objects/Consumable/TrashDrinks/whiskeybottle_empty.rsi
- type: entity
name: wine bottle
parent: DrinkBottleBaseEmpty
parent: [DrinkBottleBaseEmpty, DrinkWineBottleFull]
id: DrinkBottleWine
components:
- type: Sprite
sprite: Objects/Consumable/TrashDrinks/winebottle_empty.rsi
# Small cartons
- type: entity
name: lime juice carton
parent: DrinkCartonBaseEmpty
parent: [DrinkCartonBaseEmpty, DrinkJuiceLimeCarton]
id: DrinkCartonLime
components:
- type: Sprite
sprite: Objects/Consumable/Drinks/limejuice.rsi
- type: entity
name: orange juice carton
parent: DrinkCartonBaseEmpty
parent: [DrinkCartonBaseEmpty, DrinkJuiceOrangeCarton]
id: DrinkCartonOrange
components:
- type: Sprite
sprite: Objects/Consumable/Drinks/orangejuice.rsi
- type: entity
name: tomato juice carton
parent: DrinkCartonBaseEmpty
parent: [DrinkCartonBaseEmpty, DrinkJuiceTomatoCarton]
id: DrinkCartonTomato
components:
- type: Sprite
sprite: Objects/Consumable/Drinks/tomatojuice.rsi
- type: entity
name: milk cream carton
parent: DrinkCartonBaseEmpty
parent: [DrinkCartonBaseEmpty, DrinkCreamCarton]
id: DrinkCartonCream
components:
- type: Sprite
sprite: Objects/Consumable/Drinks/cream.rsi
# Large cartons
- type: entity
name: milk carton
parent: DrinkCartonBaseLargeEmpty
parent: [DrinkCartonBaseLargeEmpty, DrinkMilkCarton]
id: DrinkCartonMilk
components:
- type: Sprite
sprite: Objects/Consumable/Drinks/milk.rsi
- type: entity
name: soy milk carton
parent: DrinkCartonBaseLargeEmpty
parent: [DrinkCartonBaseLargeEmpty, DrinkSoyMilkCarton]
id: DrinkCartonSoyMilk
components:
- type: Sprite
sprite: Objects/Consumable/Drinks/soymilk.rsi
- type: entity
name: oat milk carton
parent: DrinkCartonBaseLargeEmpty
parent: [DrinkCartonBaseLargeEmpty, DrinkOatMilkCarton]
id: DrinkCartonOatMilk
components:
- type: Sprite
sprite: Objects/Consumable/Drinks/oatmilk.rsi

View File

@@ -15,7 +15,7 @@
soundHit:
path: /Audio/Weapons/bladeslice.ogg
- type: Sprite
sprite: Objects/Consumable/TrashDrinks/broken_bottle.rsi
sprite: Objects/Misc/broken_bottle.rsi
state: icon
- type: DamageOtherOnHit
damage:

View File

@@ -10,6 +10,9 @@
{
"name": "icon"
},
{
"name": "icon_open"
},
{
"name": "inhand-left",
"directions": 4

Binary file not shown.

Before

Width:  |  Height:  |  Size: 453 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 222 B

View File

@@ -1 +0,0 @@
{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 473 B

View File

@@ -1 +0,0 @@
{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 522 B

View File

@@ -1 +0,0 @@
{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]}

View File

@@ -1 +0,0 @@
{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 497 B

View File

@@ -1 +0,0 @@
{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 536 B

View File

@@ -1 +0,0 @@
{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 483 B

View File

@@ -1 +0,0 @@
{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 617 B

View File

@@ -1 +0,0 @@
{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 209 B

View File

@@ -1 +0,0 @@
{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]}

View File

@@ -1 +0,0 @@
{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 475 B

View File

@@ -1 +0,0 @@
{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 433 B

View File

@@ -1 +0,0 @@
{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 471 B

View File

@@ -1 +0,0 @@
{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 603 B

View File

@@ -1 +0,0 @@
{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 544 B

View File

@@ -1 +0,0 @@
{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 518 B

View File

@@ -1 +0,0 @@
{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 534 B

View File

@@ -1 +0,0 @@
{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 504 B

View File

@@ -1 +0,0 @@
{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]}

View File

Before

Width:  |  Height:  |  Size: 656 B

After

Width:  |  Height:  |  Size: 656 B