diff --git a/Resources/Locale/en-US/nutrition/components/sealable-component.ftl b/Resources/Locale/en-US/nutrition/components/sealable-component.ftl index e826e174ef..be37b91ce2 100644 --- a/Resources/Locale/en-US/nutrition/components/sealable-component.ftl +++ b/Resources/Locale/en-US/nutrition/components/sealable-component.ftl @@ -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. diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/service.yml b/Resources/Prototypes/Catalog/Fills/Lockers/service.yml index 85bd52e13d..e486545ce3 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/service.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/service.yml @@ -17,7 +17,7 @@ - id: DrinkShaker - id: ClothingEyesHudBeer - id: HandLabeler - - id: DrinkBottleBeer + - id: DrinkBeerBottleFull amount: !type:BinomialNumberSelector trials: 3 - !type:AllSelector diff --git a/Resources/Prototypes/Damage/modifier_sets.yml b/Resources/Prototypes/Damage/modifier_sets.yml index 1fff75cf71..ffd7bb66a9 100644 --- a/Resources/Prototypes/Damage/modifier_sets.yml +++ b/Resources/Prototypes/Damage/modifier_sets.yml @@ -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: diff --git a/Resources/Prototypes/Entities/Debugging/drugs.yml b/Resources/Prototypes/Entities/Debugging/drugs.yml index 932fdad2c2..2bb8fdae71 100644 --- a/Resources/Prototypes/Entities/Debugging/drugs.yml +++ b/Resources/Prototypes/Entities/Debugging/drugs.yml @@ -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. diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks-cartons.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks-cartons.yml index 834a2c3a8e..f1f4ad06d0 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks-cartons.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks-cartons.yml @@ -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 diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_base.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_base.yml new file mode 100644 index 0000000000..c4e8b020e7 --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_base.yml @@ -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"] diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_base_materials.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_base_materials.yml new file mode 100644 index 0000000000..7db03edbf5 --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_base_materials.yml @@ -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 diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles.yml deleted file mode 100644 index d432c6d9d5..0000000000 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles.yml +++ /dev/null @@ -1,1083 +0,0 @@ -# When adding new drinks also add to random spawner located in Resources\Prototypes\Entities\Markers\Spawners\Random\Food_Drinks\drinks_bottles.yml -- type: entity - parent: DrinkBase - id: DrinkBottlePlasticBaseFull - abstract: true - suffix: Full - components: - - type: Tag - tags: - - DrinkBottle - - type: Openable - sound: - collection: bottleOpenSounds - closeable: true - closeSound: - collection: bottleCloseSounds - - type: SolutionContainerManager - solutions: - drink: - maxVol: 100 - - type: Sprite - state: icon - sprite: Objects/Consumable/Drinks/generic_jug.rsi # fallback to generic plastic jug - - type: Item - size: Normal - - type: Damageable - damageContainer: Inorganic - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 5 - behaviors: - - !type:SpillBehavior { } - - !type:DoActsBehavior - acts: [ "Destruction" ] - - type: TrashOnSolutionEmpty - solution: drink - - type: PhysicalComposition - materialComposition: - Plastic: 100 - - type: DnaSubstanceTrace - - type: PressurizedSolution - solution: drink - - type: Shakeable - -- type: entity - parent: DrinkBase - id: DrinkBottlePlasticSmallBaseFull - abstract: true - suffix: Full - components: - - type: Item - size: Small - - type: Tag - tags: - - DrinkCup - - type: SolutionContainerManager - solutions: - drink: - maxVol: 30 - - type: FitsInDispenser - solution: drink - - type: Openable - sound: - collection: bottleOpenSounds - closeable: true - closeSound: - collection: bottleCloseSounds - - type: Sprite - state: icon - sprite: Objects/Consumable/Drinks/waterbottle.rsi - - type: Damageable - damageContainer: Inorganic - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 5 - behaviors: - - !type:DoActsBehavior - acts: [ "Destruction" ] - - !type:SpillBehavior { } - - type: DnaSubstanceTrace - - type: PressurizedSolution - solution: drink - - type: TrashOnSolutionEmpty - solution: drink - - type: Shakeable - - type: PhysicalComposition - materialComposition: - Plastic: 100 - -- type: entity - parent: DrinkBottlePlasticSmallBaseFull - id: DrinkBottleGlassSmallBaseFull - abstract: true - components: - - type: SolutionContainerManager - solutions: - drink: - maxVol: 50 - - type: Sprite - sprite: Objects/Consumable/Drinks/beer.rsi - - type: DamageOnLand - damage: - types: - Blunt: 5 - - type: DamageOtherOnHit - damage: - types: - Blunt: 4 - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 5 - behaviors: - - !type:PlaySoundBehavior - sound: - collection: GlassBreak - - !type:SpillBehavior { } - - !type:SpawnEntitiesBehavior - spawn: - BrokenBottle: - min: 1 - max: 1 - - !type:DoActsBehavior - acts: [ "Destruction" ] - - type: Tool - qualities: - - Rolling - speedModifier: 0.75 - - type: PhysicalComposition - materialComposition: - Glass: 100 - -- type: entity - parent: DrinkBottlePlasticBaseFull - id: DrinkBottleGlassBaseFull - abstract: true - components: - - type: Sprite - state: icon - - 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 - - !type:DoActsBehavior - acts: [ "Destruction" ] - - type: Tool - qualities: - - Rolling - speedModifier: 0.75 # not as good as a rolling pin but does the job - - type: PhysicalComposition - materialComposition: - Glass: 100 - -- type: entity - id: DrinkBottleVisualsOpenable - abstract: true - 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 fill levels, it's probably opaque - -- type: entity - id: DrinkBottleVisualsAll - abstract: true - components: - - type: Appearance - - type: GenericVisualizer - visuals: - enum.OpenableVisuals.Opened: - enum.OpenableVisuals.Layer: - True: {state: "icon_open"} - False: {state: "icon_empty"} - - type: Sprite - sprite: Objects/Consumable/Drinks/alco-bottle.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- - - type: ExaminableSolution - -# Large Glass Bottles - -- type: entity - parent: [DrinkBottleVisualsAll, 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: Sealable - -- type: entity - parent: [DrinkBottleVisualsAll, 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 - map: ["enum.OpenableVisuals.Layer"] - - state: fill-1 - map: ["enum.SolutionContainerLayers.Fill"] - visible: false - - type: SolutionContainerVisuals - maxFillLevels: 6 - fillBaseName: fill- - -- type: entity - parent: [DrinkBottleVisualsOpenable, 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: Sealable - -- type: entity - parent: [DrinkBottleVisualsOpenable, 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: entity - parent: [DrinkBottleVisualsAll, 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: Sealable - -- type: entity - parent: [DrinkBottleVisualsAll, 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 - - type: SolutionContainerVisuals - maxFillLevels: 6 - -- type: entity - parent: [DrinkBottleVisualsAll, 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: Sealable - -- type: entity - parent: [DrinkBottleVisualsAll, 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: Sealable - -- type: entity - parent: [DrinkBottleVisualsOpenable, 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: Sealable - -- type: entity - parent: [DrinkBottleVisualsAll, 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 - map: ["enum.OpenableVisuals.Layer"] - - state: fill-1 - map: ["enum.SolutionContainerLayers.Fill"] - visible: false - - type: SolutionContainerVisuals - maxFillLevels: 6 - fillBaseName: fill- - -- type: entity - parent: [DrinkBottleVisualsAll, 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: [DrinkBottleVisualsOpenable, 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: Sealable - - type: Tag - tags: - - Wine - - DrinkBottle - -- type: entity - parent: [DrinkBottleVisualsAll, 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: Sealable - -- type: entity - parent: [DrinkBottleVisualsAll, 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: Sealable - -- type: entity - parent: [DrinkBottleVisualsAll, 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: Sealable - -- type: entity - parent: [DrinkBottleVisualsAll, 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: Sealable - -- type: entity - parent: [DrinkBottleVisualsAll, 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: Sealable - -- type: entity - parent: [DrinkBottleVisualsOpenable, 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: Sealable - - type: Tag - tags: - - Wine - - DrinkBottle - -- type: entity - parent: [DrinkBottleVisualsAll, DrinkBottleGlassBaseFull] - id: DrinkBeerGrowler # Needs to be renamed DrinkBeerBottleFull - 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 - - type: Tag - tags: - - Beer - - DrinkBottle - -- type: entity - parent: [DrinkBottleVisualsAll, 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 - -# Large Plastic Bottles - -- type: entity - parent: [DrinkBottleVisualsAll, 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: Sealable - -- type: entity - parent: [DrinkBottleVisualsAll, 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: Sealable - -- type: entity - parent: [DrinkBottleVisualsAll, 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: Sealable - -- type: entity - parent: [DrinkBottleVisualsAll, 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: Sealable - -- type: entity - parent: [DrinkBottleVisualsAll, 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: Sealable - -# Small Bottles - -- type: entity - parent: [DrinkBottleVisualsAll, 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 - - type: Sealable - -- type: entity - parent: [DrinkBottleVisualsAll, 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 - - type: Tag - tags: - - Beer - -- type: entity - parent: [DrinkBottleVisualsAll, 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 - -- type: entity - parent: [DrinkBottleVisualsOpenable, 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 - - type: Sealable - -# Cartons, TODO: this needs to be moved elsewhere eventually, since cartons shouldnt smash into glass shards - -- type: entity - parent: [DrinkBottleVisualsOpenable, DrinkBottlePlasticBaseFull] - id: DrinkJuiceLimeCartonXL - name: lime juice XL - description: Sweet-sour goodness. - components: - - type: SolutionContainerManager - solutions: - drink: - maxVol: 150 - reagents: - - ReagentId: JuiceLime - Quantity: 150 - - type: Drink - - type: Label - currentLabel: reagent-name-juice-lime - - type: Sprite - sprite: Objects/Consumable/Drinks/limejuice.rsi - -- type: entity - parent: [DrinkBottleVisualsOpenable, DrinkBottlePlasticBaseFull] - 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: Drink - - type: Label - currentLabel: reagent-name-juice-orange - - type: Sprite - sprite: Objects/Consumable/Drinks/orangejuice.rsi - -- type: entity - parent: [DrinkBottleVisualsOpenable, DrinkBottlePlasticBaseFull] - 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: Drink - - type: Label - currentLabel: reagent-name-cream - - type: Sprite - sprite: Objects/Consumable/Drinks/cream.rsi - -#boring jugs some more sprites are made - -- type: entity - parent: [DrinkBottleVisualsOpenable, 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: Drink - - type: Label - currentLabel: reagent-name-sugar - -- type: entity - parent: [DrinkBottleVisualsOpenable, DrinkBottlePlasticBaseFull] - id: DrinkLemonLimeJug - name: Smite jug - description: A dual citrus sensation. - components: - - type: SolutionContainerManager - solutions: - drink: - maxVol: 300 - reagents: - - ReagentId: LemonLime - Quantity: 300 - - type: Drink - - type: Label - currentLabel: reagent-name-lemon-lime - -- type: entity - parent: [DrinkBottleVisualsOpenable, 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: Drink - - type: Label - currentLabel: reagent-name-mead - -- type: entity - parent: [DrinkBottleVisualsOpenable, DrinkBottlePlasticBaseFull] - id: DrinkIceJug - name: ice jug - description: Stubborn water. Pretty cool. - components: - - type: SolutionContainerManager - solutions: - drink: - maxVol: 300 - reagents: - - ReagentId: Ice - Quantity: 300 - - type: Drink - - type: Label - currentLabel: reagent-name-ice - -- type: entity - parent: [DrinkBottleVisualsOpenable, 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: Drink - - type: Label - currentLabel: reagent-name-coconut-water - -- type: entity - parent: [DrinkBottleVisualsOpenable, 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: Drink - - type: Label - currentLabel: reagent-name-coffee - -- type: entity - parent: [DrinkBottleVisualsOpenable, 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: Drink - - type: Label - currentLabel: reagent-name-tea - -- type: entity - parent: [DrinkBottleVisualsOpenable, 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: Drink - - type: Label - currentLabel: reagent-name-green-tea - -- type: entity - parent: [DrinkBottleVisualsOpenable, 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: Drink - - type: Label - currentLabel: reagent-name-iced-tea - -- type: entity - parent: [DrinkBottleVisualsOpenable, 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: Drink - - type: Label - currentLabel: reagent-name-dr-gibb - -- type: entity - parent: [DrinkBottleVisualsOpenable, 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: Drink - - type: Label - currentLabel: reagent-name-root-beer - -- type: entity - parent: [DrinkBottleVisualsOpenable, 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: Drink - - type: Label - currentLabel: reagent-name-juice-watermelon - -- type: entity - parent: [DrinkBottleVisualsOpenable, 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: Drink - - type: Label - currentLabel: reagent-name-energy-drink - -- type: entity - parent: [DrinkBottleVisualsOpenable, DrinkBottlePlasticBaseFull] - id: CustomDrinkJug - name: beverage jug - description: A jug for storing custom made drinks. - components: - - type: SolutionContainerManager - solutions: - drink: - maxVol: 150 - - type: Drink diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles_glass.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles_glass.yml new file mode 100644 index 0000000000..ec6bdf8002 --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles_glass.yml @@ -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 diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles_plastic.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles_plastic.yml new file mode 100644 index 0000000000..3343ad42ce --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles_plastic.yml @@ -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 diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cans.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cans.yml index e6ba0d002e..3102ffc522 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cans.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cans.yml @@ -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 diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml index d5bfdefe48..e1fe78c433 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml @@ -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 diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_flasks.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_flasks.yml index 8f3b9381f7..17f9e47fe6 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_flasks.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_flasks.yml @@ -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 diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_fun.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_fun.yml index 1ab7c3180b..1197356553 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_fun.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_fun.yml @@ -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- diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml similarity index 92% rename from Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks.yml rename to Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml index ca633cdb39..22054741e3 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml @@ -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 diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_special.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_special.yml index e7aa6c1252..adc99f46ad 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_special.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_special.yml @@ -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 diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/trash_drinks.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/trash_drinks.yml index eadeeabd74..879ab62ba4 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/trash_drinks.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/trash_drinks.yml @@ -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 diff --git a/Resources/Prototypes/Entities/Objects/Misc/broken_bottle.yml b/Resources/Prototypes/Entities/Objects/Misc/broken_bottle.yml index b458f0ae21..12240adf47 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/broken_bottle.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/broken_bottle.yml @@ -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: diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/ntcahors_empty.rsi/icon.png b/Resources/Textures/Objects/Consumable/Drinks/ntcahors.rsi/icon_open.png similarity index 100% rename from Resources/Textures/Objects/Consumable/TrashDrinks/ntcahors_empty.rsi/icon.png rename to Resources/Textures/Objects/Consumable/Drinks/ntcahors.rsi/icon_open.png diff --git a/Resources/Textures/Objects/Consumable/Drinks/ntcahors.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/ntcahors.rsi/meta.json index e91afea62f..08a3a6b849 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/ntcahors.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/ntcahors.rsi/meta.json @@ -10,6 +10,9 @@ { "name": "icon" }, + { + "name": "icon_open" + }, { "name": "inhand-left", "directions": 4 diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/absinthebottle_empty.rsi/icon.png b/Resources/Textures/Objects/Consumable/TrashDrinks/absinthebottle_empty.rsi/icon.png deleted file mode 100644 index 0267a69709..0000000000 Binary files a/Resources/Textures/Objects/Consumable/TrashDrinks/absinthebottle_empty.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/alco-clear.rsi/icon.png b/Resources/Textures/Objects/Consumable/TrashDrinks/alco-clear.rsi/icon.png deleted file mode 100644 index ef981a53fc..0000000000 Binary files a/Resources/Textures/Objects/Consumable/TrashDrinks/alco-clear.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/alco-clear.rsi/meta.json b/Resources/Textures/Objects/Consumable/TrashDrinks/alco-clear.rsi/meta.json deleted file mode 100644 index db0ac608ed..0000000000 --- a/Resources/Textures/Objects/Consumable/TrashDrinks/alco-clear.rsi/meta.json +++ /dev/null @@ -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"}]} \ No newline at end of file diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/alebottle_empty.rsi/icon.png b/Resources/Textures/Objects/Consumable/TrashDrinks/alebottle_empty.rsi/icon.png deleted file mode 100644 index 05d0e0330f..0000000000 Binary files a/Resources/Textures/Objects/Consumable/TrashDrinks/alebottle_empty.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/alebottle_empty.rsi/meta.json b/Resources/Textures/Objects/Consumable/TrashDrinks/alebottle_empty.rsi/meta.json deleted file mode 100644 index db0ac608ed..0000000000 --- a/Resources/Textures/Objects/Consumable/TrashDrinks/alebottle_empty.rsi/meta.json +++ /dev/null @@ -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"}]} \ No newline at end of file diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/beer_empty.rsi/icon.png b/Resources/Textures/Objects/Consumable/TrashDrinks/beer_empty.rsi/icon.png deleted file mode 100644 index 0731fb54d7..0000000000 Binary files a/Resources/Textures/Objects/Consumable/TrashDrinks/beer_empty.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/beer_empty.rsi/meta.json b/Resources/Textures/Objects/Consumable/TrashDrinks/beer_empty.rsi/meta.json deleted file mode 100644 index db0ac608ed..0000000000 --- a/Resources/Textures/Objects/Consumable/TrashDrinks/beer_empty.rsi/meta.json +++ /dev/null @@ -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"}]} \ No newline at end of file diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/broken_bottle.rsi/meta.json b/Resources/Textures/Objects/Consumable/TrashDrinks/broken_bottle.rsi/meta.json deleted file mode 100644 index db0ac608ed..0000000000 --- a/Resources/Textures/Objects/Consumable/TrashDrinks/broken_bottle.rsi/meta.json +++ /dev/null @@ -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"}]} \ No newline at end of file diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/coffeeliqueurbottle_empty.rsi/icon.png b/Resources/Textures/Objects/Consumable/TrashDrinks/coffeeliqueurbottle_empty.rsi/icon.png deleted file mode 100644 index d7e4081ab2..0000000000 Binary files a/Resources/Textures/Objects/Consumable/TrashDrinks/coffeeliqueurbottle_empty.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/coffeeliqueurbottle_empty.rsi/meta.json b/Resources/Textures/Objects/Consumable/TrashDrinks/coffeeliqueurbottle_empty.rsi/meta.json deleted file mode 100644 index db0ac608ed..0000000000 --- a/Resources/Textures/Objects/Consumable/TrashDrinks/coffeeliqueurbottle_empty.rsi/meta.json +++ /dev/null @@ -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"}]} \ No newline at end of file diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/cognacbottle_empty.rsi/icon.png b/Resources/Textures/Objects/Consumable/TrashDrinks/cognacbottle_empty.rsi/icon.png deleted file mode 100644 index c10f408256..0000000000 Binary files a/Resources/Textures/Objects/Consumable/TrashDrinks/cognacbottle_empty.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/cognacbottle_empty.rsi/meta.json b/Resources/Textures/Objects/Consumable/TrashDrinks/cognacbottle_empty.rsi/meta.json deleted file mode 100644 index db0ac608ed..0000000000 --- a/Resources/Textures/Objects/Consumable/TrashDrinks/cognacbottle_empty.rsi/meta.json +++ /dev/null @@ -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"}]} \ No newline at end of file diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/gildlagerbottle_empty.rsi/icon.png b/Resources/Textures/Objects/Consumable/TrashDrinks/gildlagerbottle_empty.rsi/icon.png deleted file mode 100644 index 035c921d89..0000000000 Binary files a/Resources/Textures/Objects/Consumable/TrashDrinks/gildlagerbottle_empty.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/gildlagerbottle_empty.rsi/meta.json b/Resources/Textures/Objects/Consumable/TrashDrinks/gildlagerbottle_empty.rsi/meta.json deleted file mode 100644 index db0ac608ed..0000000000 --- a/Resources/Textures/Objects/Consumable/TrashDrinks/gildlagerbottle_empty.rsi/meta.json +++ /dev/null @@ -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"}]} \ No newline at end of file diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/ginbottle_empty.rsi/icon.png b/Resources/Textures/Objects/Consumable/TrashDrinks/ginbottle_empty.rsi/icon.png deleted file mode 100644 index 4be9d1fa20..0000000000 Binary files a/Resources/Textures/Objects/Consumable/TrashDrinks/ginbottle_empty.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/ginbottle_empty.rsi/meta.json b/Resources/Textures/Objects/Consumable/TrashDrinks/ginbottle_empty.rsi/meta.json deleted file mode 100644 index db0ac608ed..0000000000 --- a/Resources/Textures/Objects/Consumable/TrashDrinks/ginbottle_empty.rsi/meta.json +++ /dev/null @@ -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"}]} \ No newline at end of file diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/glass_empty.rsi/icon.png b/Resources/Textures/Objects/Consumable/TrashDrinks/glass_empty.rsi/icon.png deleted file mode 100644 index 00b2ed6152..0000000000 Binary files a/Resources/Textures/Objects/Consumable/TrashDrinks/glass_empty.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/glass_empty.rsi/meta.json b/Resources/Textures/Objects/Consumable/TrashDrinks/glass_empty.rsi/meta.json deleted file mode 100644 index db0ac608ed..0000000000 --- a/Resources/Textures/Objects/Consumable/TrashDrinks/glass_empty.rsi/meta.json +++ /dev/null @@ -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"}]} \ No newline at end of file diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/ntcahors_empty.rsi/meta.json b/Resources/Textures/Objects/Consumable/TrashDrinks/ntcahors_empty.rsi/meta.json deleted file mode 100644 index db0ac608ed..0000000000 --- a/Resources/Textures/Objects/Consumable/TrashDrinks/ntcahors_empty.rsi/meta.json +++ /dev/null @@ -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"}]} \ No newline at end of file diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/patronbottle_empty.rsi/icon.png b/Resources/Textures/Objects/Consumable/TrashDrinks/patronbottle_empty.rsi/icon.png deleted file mode 100644 index aeb4d6ea59..0000000000 Binary files a/Resources/Textures/Objects/Consumable/TrashDrinks/patronbottle_empty.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/patronbottle_empty.rsi/meta.json b/Resources/Textures/Objects/Consumable/TrashDrinks/patronbottle_empty.rsi/meta.json deleted file mode 100644 index db0ac608ed..0000000000 --- a/Resources/Textures/Objects/Consumable/TrashDrinks/patronbottle_empty.rsi/meta.json +++ /dev/null @@ -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"}]} \ No newline at end of file diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/pwinebottle_empty.rsi/icon.png b/Resources/Textures/Objects/Consumable/TrashDrinks/pwinebottle_empty.rsi/icon.png deleted file mode 100644 index 964c96d198..0000000000 Binary files a/Resources/Textures/Objects/Consumable/TrashDrinks/pwinebottle_empty.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/pwinebottle_empty.rsi/meta.json b/Resources/Textures/Objects/Consumable/TrashDrinks/pwinebottle_empty.rsi/meta.json deleted file mode 100644 index db0ac608ed..0000000000 --- a/Resources/Textures/Objects/Consumable/TrashDrinks/pwinebottle_empty.rsi/meta.json +++ /dev/null @@ -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"}]} \ No newline at end of file diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/rumbottle_empty.rsi/icon.png b/Resources/Textures/Objects/Consumable/TrashDrinks/rumbottle_empty.rsi/icon.png deleted file mode 100644 index 723c599e48..0000000000 Binary files a/Resources/Textures/Objects/Consumable/TrashDrinks/rumbottle_empty.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/rumbottle_empty.rsi/meta.json b/Resources/Textures/Objects/Consumable/TrashDrinks/rumbottle_empty.rsi/meta.json deleted file mode 100644 index db0ac608ed..0000000000 --- a/Resources/Textures/Objects/Consumable/TrashDrinks/rumbottle_empty.rsi/meta.json +++ /dev/null @@ -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"}]} \ No newline at end of file diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/tequillabottle_empty.rsi/icon.png b/Resources/Textures/Objects/Consumable/TrashDrinks/tequillabottle_empty.rsi/icon.png deleted file mode 100644 index 0d59bc4fcd..0000000000 Binary files a/Resources/Textures/Objects/Consumable/TrashDrinks/tequillabottle_empty.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/tequillabottle_empty.rsi/meta.json b/Resources/Textures/Objects/Consumable/TrashDrinks/tequillabottle_empty.rsi/meta.json deleted file mode 100644 index db0ac608ed..0000000000 --- a/Resources/Textures/Objects/Consumable/TrashDrinks/tequillabottle_empty.rsi/meta.json +++ /dev/null @@ -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"}]} \ No newline at end of file diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/vermouthbottle_empty.rsi/icon.png b/Resources/Textures/Objects/Consumable/TrashDrinks/vermouthbottle_empty.rsi/icon.png deleted file mode 100644 index e64c61c865..0000000000 Binary files a/Resources/Textures/Objects/Consumable/TrashDrinks/vermouthbottle_empty.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/vermouthbottle_empty.rsi/meta.json b/Resources/Textures/Objects/Consumable/TrashDrinks/vermouthbottle_empty.rsi/meta.json deleted file mode 100644 index db0ac608ed..0000000000 --- a/Resources/Textures/Objects/Consumable/TrashDrinks/vermouthbottle_empty.rsi/meta.json +++ /dev/null @@ -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"}]} \ No newline at end of file diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/vodkabottle_empty.rsi/icon.png b/Resources/Textures/Objects/Consumable/TrashDrinks/vodkabottle_empty.rsi/icon.png deleted file mode 100644 index 4b23d0ca20..0000000000 Binary files a/Resources/Textures/Objects/Consumable/TrashDrinks/vodkabottle_empty.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/vodkabottle_empty.rsi/meta.json b/Resources/Textures/Objects/Consumable/TrashDrinks/vodkabottle_empty.rsi/meta.json deleted file mode 100644 index db0ac608ed..0000000000 --- a/Resources/Textures/Objects/Consumable/TrashDrinks/vodkabottle_empty.rsi/meta.json +++ /dev/null @@ -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"}]} \ No newline at end of file diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/whiskeybottle_empty.rsi/icon.png b/Resources/Textures/Objects/Consumable/TrashDrinks/whiskeybottle_empty.rsi/icon.png deleted file mode 100644 index c0eafca108..0000000000 Binary files a/Resources/Textures/Objects/Consumable/TrashDrinks/whiskeybottle_empty.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/whiskeybottle_empty.rsi/meta.json b/Resources/Textures/Objects/Consumable/TrashDrinks/whiskeybottle_empty.rsi/meta.json deleted file mode 100644 index db0ac608ed..0000000000 --- a/Resources/Textures/Objects/Consumable/TrashDrinks/whiskeybottle_empty.rsi/meta.json +++ /dev/null @@ -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"}]} \ No newline at end of file diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/winebottle_empty.rsi/icon.png b/Resources/Textures/Objects/Consumable/TrashDrinks/winebottle_empty.rsi/icon.png deleted file mode 100644 index 45fa94abd9..0000000000 Binary files a/Resources/Textures/Objects/Consumable/TrashDrinks/winebottle_empty.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/winebottle_empty.rsi/meta.json b/Resources/Textures/Objects/Consumable/TrashDrinks/winebottle_empty.rsi/meta.json deleted file mode 100644 index db0ac608ed..0000000000 --- a/Resources/Textures/Objects/Consumable/TrashDrinks/winebottle_empty.rsi/meta.json +++ /dev/null @@ -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"}]} \ No newline at end of file diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/broken_bottle.rsi/icon.png b/Resources/Textures/Objects/Misc/broken_bottle.rsi/icon.png similarity index 100% rename from Resources/Textures/Objects/Consumable/TrashDrinks/broken_bottle.rsi/icon.png rename to Resources/Textures/Objects/Misc/broken_bottle.rsi/icon.png diff --git a/Resources/Textures/Objects/Consumable/TrashDrinks/absinthebottle_empty.rsi/meta.json b/Resources/Textures/Objects/Misc/broken_bottle.rsi/meta.json similarity index 100% rename from Resources/Textures/Objects/Consumable/TrashDrinks/absinthebottle_empty.rsi/meta.json rename to Resources/Textures/Objects/Misc/broken_bottle.rsi/meta.json