From: iaada Date: Sat, 26 Jul 2025 07:58:28 +0000 (-0500) Subject: no commit discipline X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=3774b05ca14162d0a2573e19bc1c5d701cb9386f;p=space-station-14.git no commit discipline --- diff --git a/Resources/Prototypes/Damage/modifier_sets.yml b/Resources/Prototypes/Damage/modifier_sets.yml index 0f023e2470..35a5f49134 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..2c222b8905 100644 --- a/Resources/Prototypes/Entities/Debugging/drugs.yml +++ b/Resources/Prototypes/Entities/Debugging/drugs.yml @@ -1,5 +1,5 @@ - type: entity - parent: DrinkGlassBase + parent: [DrinkBase, DrinkGlassBase] 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/base_drinks.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/base_drinks.yml deleted file mode 100644 index 8393033718..0000000000 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/base_drinks.yml +++ /dev/null @@ -1,230 +0,0 @@ -# For cups, bottles, beakers, and other freely accessible solutions -- 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: Drink - - type: Spillable - solution: drink - - type: MixableSolution - solution: drink - - type: DrawableSolution - solution: drink - - type: RefillableSolution - solution: drink - - type: DrainableSolution - solution: drink - - type: SolutionContainerManager - solutions: - drink: - maxVol: 30 - - type: SolutionTransfer - canChangeTransferAmount: true - - type: UserInterface - interfaces: - enum.TransferAmountUiKey.Key: - type: TransferAmountBoundUserInterface - -# A fragile, transparent glass cup -- type: entity - abstract: true - parent: DrinkBase - id: DrinkGlassBase - 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: ExaminableSolution - solution: drink - - type: FitsInDispenser - solution: drink - - type: Tag - tags: - - DrinkGlass - -# A destructible, opaque plastic bottle -- type: entity - abstract: true - parent: DrinkBase - id: DrinkPlasticBase - components: - - type: Damageable - damageContainer: Inorganic - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 5 - behaviors: - - !type:SpillBehavior { } - - !type:DoActsBehavior - acts: [ "Destruction" ] - #In future maybe add generic plastic scrap trash/debris - - type: PhysicalComposition - materialComposition: - Plastic: 25 - -# A destructible, opaque cardboard bottle -- type: entity - abstract: true - parent: DrinkBase - id: DrinkCardboardBase - components: - - type: Damageable - damageContainer: Inorganic - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 5 - behaviors: - - !type:SpillBehavior { } - - !type:DoActsBehavior - acts: [ "Destruction" ] - - type: PhysicalComposition - materialComposition: - Cardboard: 25 - -# A destructible, opaque metal can -- type: entity - abstract: true - parent: DrinkBase - id: DrinkMetalBase - components: - - type: Damageable - damageContainer: Inorganic - damageModifierSet: FlimsyMetallic - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 10 - behaviors: - - !type:SpillBehavior { } - - !type:DoActsBehavior - acts: [ "Destruction" ] - #In future maybe add generic metal scrap trash/debris - - type: PhysicalComposition - materialComposition: - Steel: 25 - -# Un-opened cans and bottles -- type: entity - abstract: true - id: BaseDrinkOpenable - components: - - type: Openable - - type: PressurizedSolution - solution: drink - - type: Shakeable - - type: Sealable - -# Pre-opened cans and bottles -- type: entity - abstract: true - parent: BaseDrinkOpenable - id: BaseDrinkOpenableOpen - components: - - type: Sprite - layers: - - state: icon_open - - type: Openable - opened: true - - type: Sealable - sealed: false - -# An empty drink, often paired with BaseDrinkOpenableOpen -- type: entity - abstract: true - id: BaseDrinkEmptyTrash - suffix: Empty - components: - - type: SpaceGarbage - - type: TrashOnSolutionEmpty - solution: drink - - type: Tag - tags: - - Trash - -# Basic visualizer for an openable entity, often paired with BaseDrinkOpenable -- 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"] - -# Visualizer for an openable entity with fill levels -- type: entity - abstract: true - id: DrinkVisualsAll - components: - - type: Appearance - - type: GenericVisualizer - visuals: - enum.OpenableVisuals.Opened: - enum.OpenableVisuals.Layer: - True: {state: "icon_open"} - False: {state: "icon_empty"} - - type: Sprite - sprite: Objects/Consumable/Drinks/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- diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks-cartons.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks-cartons.yml index 27bb1dcdb8..5bf736d6cd 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 abstract: true - parent: [ DrinkCardboardBase, BaseDrinkOpenable ] - id: DrinkCartonBaseFull + parent: [ DrinkBase, DrinkCardboardBase, DrinkOpenableBase ] + id: DrinkCartonBaseLargeFull suffix: Full components: - type: Openable @@ -13,33 +13,33 @@ - type: SolutionContainerManager solutions: drink: - maxVol: 50 + maxVol: 100 - type: TrashOnSolutionEmpty solution: drink + - type: Item + size: Normal - type: entity abstract: true - parent: DrinkCartonBaseFull - id: DrinkCartonBaseLargeFull + parent: DrinkCartonBaseLargeFull + id: DrinkCartonBaseFull components: - type: SolutionContainerManager solutions: drink: - maxVol: 100 + maxVol: 50 - type: Item - size: Normal + size: Small - type: entity abstract: true - parent: DrinkCartonBaseFull + parent: DrinkCartonBaseLargeFull id: DrinkCartonBaseXtraLargeFull components: - type: SolutionContainerManager solutions: drink: maxVol: 150 - - type: Item - size: Normal # Small carton 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..95feee5bde --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_base.yml @@ -0,0 +1,125 @@ +# When adding new drinks also add to random spawner located in Resources\Prototypes\Entities\Markers\Spawners\Random\Food_Drinks\drinks_soda.yml + +# A drink is a 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: Drink + - type: Spillable + solution: drink + - type: MixableSolution + solution: drink + - type: DrawableSolution + solution: drink + - type: RefillableSolution + solution: drink + - type: DrainableSolution + solution: drink + - type: SolutionContainerManager + solutions: + drink: + maxVol: 30 + - type: SolutionTransfer + canChangeTransferAmount: true + - type: UserInterface + interfaces: + enum.TransferAmountUiKey.Key: + type: TransferAmountBoundUserInterface + +## Misc + +# This drink is empty trash +- type: entity + abstract: true + id: DrinkEmptyTrashBase + suffix: Empty + components: + - type: SpaceGarbage + - type: TrashOnSolutionEmpty + solution: drink + - type: Tag + tags: + - Trash + +## For drinks with a lid + +# Un-opened +- type: entity + abstract: true + id: DrinkOpenableBase + components: + - type: Openable + - type: PressurizedSolution + solution: drink + - type: Shakeable + - type: Sealable + +# Pre-opened +- type: entity + abstract: true + parent: DrinkOpenableBase + id: DrinkOpenableOpenBase + components: + - type: Sprite + layers: + - state: icon_open + - type: Openable + opened: true + - type: Sealable + sealed: false + +## For visuals + +# Basic visualizer for an openable entity, often paired with BaseDrinkOpenable +- 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"] + +# Visualizer for an openable entity with fill levels +- type: entity + abstract: true + id: DrinkVisualsAll + components: + - type: Appearance + - type: GenericVisualizer + visuals: + enum.OpenableVisuals.Opened: + enum.OpenableVisuals.Layer: + True: {state: "icon_open"} + False: {state: "icon_empty"} + - type: Sprite + sprite: Objects/Consumable/Drinks/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- 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..0a9e2d6756 --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_base_materials.yml @@ -0,0 +1,154 @@ +# Material costs to apply to a drink + +# Fragile glass +- type: entity + abstract: true + id: DrinkGlassBase + components: + - type: Damageable + damageContainer: Inorganic + damageModifierSet: FlimsyGlass + - 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" ] + # so fragile it smashes when thrown + - type: DamageOnLand + ignoreResistances: true + damage: + types: + Blunt: 5 + - type: DamageOtherOnHit + damage: + types: + Blunt: 5 + - type: PhysicalComposition + materialComposition: + Glass: 25 + +# Fragile plastic +- type: entity + abstract: true + id: DrinkPlasticBase + components: + - type: Damageable + damageContainer: Inorganic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 5 + behaviors: +# - !type:PlaySoundBehavior TODO +# sound: + - !type:SpillBehavior { } + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: PhysicalComposition + materialComposition: + Plastic: 25 + +# Fragile cardboard +- type: entity + abstract: true + id: DrinkCardboardBase + components: + - type: Damageable + damageContainer: Inorganic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 5 + behaviors: +# - !type:PlaySoundBehavior TODO +# sound: + - !type:SpillBehavior { } + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: PhysicalComposition + materialComposition: + Cardboard: 25 + +# Weak metal +- type: entity + abstract: true + id: DrinkMetalBase + components: + - type: Damageable + damageContainer: Inorganic + damageModifierSet: FlimsyMetallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 10 + behaviors: +# - !type:PlaySoundBehavior TODO +# sound: + - !type:SpillBehavior { } + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: PhysicalComposition + materialComposition: + Steel: 25 + +# strong metal +- type: entity + abstract: true + id: DrinkStrongMetalBase + components: + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Metallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 25 + behaviors: +# - !type:PlaySoundBehavior TODO +# sound: + - !type:SpillBehavior { } + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: PhysicalComposition + materialComposition: + Steel: 300 + +# Weak gold +- type: entity + abstract: true + id: DrinkGoldBase + components: + - type: Damageable + damageContainer: Inorganic + damageModifierSet: FlimsyMetallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 10 + behaviors: +# - !type:PlaySoundBehavior TODO +# sound: + - !type:SpillBehavior { } + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: PhysicalComposition + materialComposition: + Gold: 25 diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles_glass.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles_glass.yml index 61d97558a4..c5bbe7e190 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles_glass.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles_glass.yml @@ -1,12 +1,13 @@ # 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: [ DrinkGlassBase, BaseDrinkOpenable ] - id: DrinkBottleGlassSmallBaseFull + parent: [ DrinkBase, DrinkGlassBase, DrinkOpenableBase ] + id: DrinkBottleGlassBaseFull suffix: Full components: + - type: Item + size: Normal - type: Openable sound: collection: bottleOpenSounds @@ -16,9 +17,9 @@ - type: SolutionContainerManager solutions: drink: - maxVol: 50 + maxVol: 100 - type: Sprite - sprite: Objects/Consumable/Drinks/beer.rsi # fallback + sprite: Objects/Consumable/Drinks/alco-bottle.rsi # fallback - type: Tool qualities: - Rolling @@ -28,20 +29,24 @@ - type: Tag tags: - DrinkBottle + - type: ExaminableSolution + solution: drink - type: entity abstract: true - parent: DrinkBottleGlassSmallBaseFull - id: DrinkBottleGlassBaseFull + parent: DrinkBottleGlassBaseFull + id: DrinkBottleGlassSmallBaseFull components: - type: SolutionContainerManager solutions: drink: - maxVol: 100 - - type: Sprite - sprite: Objects/Consumable/Drinks/alco-bottle.rsi # fallback + maxVol: 50 - type: Item - size: Normal + size: Small + - type: Sprite + sprite: Objects/Consumable/Drinks/beer.rsi # fallback + - type: FitsInDispenser + solution: drink # Large Glass Bottles diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles_plastic.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles_plastic.yml index 5e526831d7..9a7402c8b3 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles_plastic.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles_plastic.yml @@ -1,47 +1,49 @@ - type: entity abstract: true - parent: [ DrinkPlasticBase, BaseDrinkOpenable ] - id: DrinkBottlePlasticSmallBaseFull + parent: [ DrinkBase, DrinkPlasticBase, DrinkOpenableBase ] + id: DrinkBottlePlasticBaseFull suffix: Full components: + - type: Item + size: Normal - type: Openable sound: collection: bottleOpenSounds closeable: true closeSound: collection: bottleCloseSounds - - type: Tag - tags: - - DrinkCup - type: SolutionContainerManager solutions: drink: - maxVol: 30 - - type: FitsInDispenser - solution: drink + maxVol: 100 - type: Sprite state: icon - sprite: Objects/Consumable/Drinks/waterbottle.rsi # fallback + sprite: Objects/Consumable/Drinks/generic_jug.rsi # fallback to generic plastic jug - type: TrashOnSolutionEmpty solution: drink + - type: Tag + tags: + - DrinkCup - type: entity abstract: true - parent: DrinkBottlePlasticSmallBaseFull - id: DrinkBottlePlasticBaseFull + parent: DrinkBottlePlasticBaseFull + id: DrinkBottlePlasticSmallBaseFull components: - - type: Tag - tags: - - DrinkBottle + - type: Item + size: Small - type: SolutionContainerManager solutions: drink: - maxVol: 100 + maxVol: 30 - type: Sprite state: icon - sprite: Objects/Consumable/Drinks/generic_jug.rsi # fallback to generic plastic jug - - type: Item - size: Normal + sprite: Objects/Consumable/Drinks/waterbottle.rsi # fallback + - type: Tag + tags: + - DrinkBottle + - type: FitsInDispenser + solution: drink # Empty @@ -182,6 +184,7 @@ # TODO new sprite # Xtra large +# TODO these have too much volume - type: entity parent: [DrinkVisualsOpenable, DrinkBottlePlasticBaseFull] diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cans.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cans.yml index 55902897ba..82c998a2ea 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cans.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cans.yml @@ -1,8 +1,9 @@ # When adding new drinks also add to random spawner located in Resources\Prototypes\Entities\Markers\Spawners\Random\Food_Drinks\drinks_soda.yml - type: entity abstract: true - parent: [ DrinkMetalBase, BaseDrinkOpenable, DrinkVisualsOpenable ] + parent: [ DrinkBase, DrinkMetalBase, DrinkOpenableBase, DrinkVisualsOpenable ] id: DrinkCanBaseFull + suffix: Full components: - type: SolutionContainerManager solutions: @@ -67,7 +68,7 @@ # created when taking apart an ied - type: entity - parent: [ BaseDrinkOpenableOpen, DrinkColaCan ] + parent: [ DrinkOpenableOpenBase, DrinkColaCan ] id: DrinkColaCanEmpty suffix: Empty components: diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml index a74f61824a..0c0a15f14d 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml @@ -1,5 +1,4 @@ -# 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 abstract: true parent: DrinkBase @@ -20,10 +19,13 @@ - type: Tag tags: - DrinkCup + - type: StaticPrice + price: 10 +# A mug is a type of cup.[2] - type: entity abstract: true - parent: DrinkBaseCup + parent: [DrinkBaseCup, DrinkGlassBase] id: DrinkBaseMug name: mug description: A mug. @@ -39,13 +41,13 @@ - type: SolutionContainerVisuals maxFillLevels: 3 fillBaseName: icon- - - type: PhysicalComposition - materialComposition: - Glass: 25 + - type: StaticPrice + price: 10 + +## Misc Cups -# Misc Cups - type: entity - parent: DrinkBaseCup + parent: [DrinkBaseCup, DrinkGoldBase] id: DrinkGoldenCup name: golden cup description: A golden cup. @@ -54,12 +56,9 @@ sprite: Objects/Consumable/Drinks/golden_cup.rsi - type: StaticPrice price: 125 - - type: PhysicalComposition - materialComposition: - Gold: 100 - type: entity - parent: DrinkBaseCup + parent: [DrinkBaseCup, DrinkGlassBase] id: DrinkTeacupEmpty name: teacup description: A plain white porcelain teacup. @@ -79,11 +78,15 @@ fillBaseName: icon- - type: entity - parent: DrinkGlassBase + parent: [ DrinkBase, DrinkGlassBase ] id: DrinkGlassCoupeShaped name: coupe glass description: A classic thin neck coupe glass, the icon of fragile labels on crates around the galaxy. components: + - type: SolutionContainerManager + solutions: + drink: + maxVol: 30 - type: Sprite sprite: Objects/Consumable/Drinks/glass_coupe_shape.rsi layers: @@ -95,22 +98,31 @@ - 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: ExaminableSolution + solution: drink + - type: FitsInDispenser + solution: drink + - type: Tag + tags: + - DrinkGlass - type: entity - parent: DrinkBaseCup + parent: [DrinkBase, DrinkCardboardBase] 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: FitsInDispenser + solution: drink - type: Sprite sprite: Objects/Consumable/Drinks/water_cup.rsi layers: @@ -237,6 +249,7 @@ sprite: Objects/Consumable/Drinks/mug_red.rsi ## Filled +# TODO these a material for destruction - type: entity parent: DrinkBaseCup @@ -370,3 +383,6 @@ sprite: Objects/Consumable/Drinks/lean.rsi - type: TrashOnSolutionEmpty solution: drink + +#[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 ed623f15ca..b0c4247f4d 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_flasks.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_flasks.yml @@ -1,6 +1,6 @@ - type: entity abstract: true - parent: DrinkBase + parent: [DrinkBase, DrinkOpenableBase, DrinkStrongMetalBase] id: FlaskBase components: - type: SolutionContainerManager @@ -10,9 +10,6 @@ - type: Sprite state: icon sprite: Objects/Consumable/Drinks/flask.rsi - - type: PhysicalComposition - materialComposition: - Steel: 300 - type: FitsInDispenser solution: drink - type: Openable diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_fun.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_fun.yml index e4817febf2..747e079c53 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_fun.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_fun.yml @@ -1,5 +1,5 @@ - type: entity - parent: [DrinkVisualsOpenable, DrinkBase] + parent: [DrinkBase, DrinkPlasticBase, DrinkVisualsOpenable ] id: DrinkSpaceGlue name: space glue tube description: High performance glue intended for maintenance of extremely complex mechanical equipment. DON'T DRINK! @@ -35,7 +35,7 @@ solution: drink - type: entity - parent: [DrinkVisualsOpenable, DrinkBase] + parent: [DrinkBase, DrinkPlasticBase, DrinkVisualsOpenable ] id: DrinkSpaceLube name: space lube tube description: High performance lubricant intended for maintenance of extremely complex mechanical equipment. @@ -90,14 +90,20 @@ Quantity: 200 - type: entity - parent: DrinkGlassBase + parent: [DrinkBase, 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: ExaminableSolution + solution: drink + - type: FitsInDispenser + solution: drink + - type: Tag + tags: + - DrinkGlass # Mopwata - type: weightedRandomFillSolution diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml index 6912b2cfa2..7f2b5eb674 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml @@ -4,10 +4,10 @@ # Transformable container - normal glass - type: entity + parent: [DrinkBase, DrinkGlassBase] + 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 @@ -31,10 +31,17 @@ metamorphicDefaultSprite: sprite: Objects/Consumable/Drinks/glass_clear.rsi state: icon + - type: ExaminableSolution + solution: drink + - type: FitsInDispenser + solution: drink + - type: Tag + tags: + - DrinkGlass - type: TransformableContainer - type: entity - parent: DrinkGlassBase + parent: [DrinkBase, DrinkGlassBase] id: DrinkJar name: jar description: The hipster's cup. @@ -61,9 +68,17 @@ metamorphicDefaultSprite: sprite: Objects/Consumable/Drinks/jar.rsi state: icon + - type: ExaminableSolution + solution: drink + - type: FitsInDispenser + solution: drink + - type: Tag + tags: + - DrinkGlass - type: TransformableContainer ## Filled +# TODO entities without IconComponent need a metamorphic sprite on the reagent - type: entity parent: DrinkGlass @@ -205,6 +220,9 @@ reagents: - ReagentId: Antifreeze Quantity: 30 + - type: Icon + sprite: Objects/Consumable/Drinks/antifreeze.rsi + state: icon - type: entity parent: DrinkGlass @@ -554,6 +572,7 @@ reagents: - ReagentId: CoconutWater Quantity: 30 +#TODO - type: Icon - type: entity parent: DrinkGlass @@ -949,7 +968,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 @@ -1046,7 +1065,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 @@ -1317,6 +1336,7 @@ reagents: - ReagentId: JuiceLime Quantity: 30 +#TODO Icon - type: entity parent: DrinkGlass @@ -2254,7 +2274,7 @@ state: icon - type: entity - parent: DrinkGlassBase + parent: DrinkGlass id: DrinkWaterJug name: water jug description: Stay hydrated. @@ -2266,9 +2286,9 @@ reagents: - ReagentId: Water Quantity: 30 - - type: Drink - - type: Sprite + - type: Icon sprite: Objects/Consumable/Drinks/water.rsi + state: icon - type: entity parent: DrinkGlass @@ -2282,6 +2302,9 @@ reagents: - ReagentId: JuiceWatermelon Quantity: 30 + - type: Icon + sprite: Objects/Consumable/Drinks/watermelonglass.rsi + state: icon - type: entity parent: DrinkGlass diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_special.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_special.yml index 12e3422e34..16cc64c1bd 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_special.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_special.yml @@ -1,5 +1,5 @@ - type: entity - parent: DrinkGlassBase + parent: [DrinkBase, DrinkGlassBase] id: DrinkShotGlass name: shot glass description: Perfect for slamming down onto the table angrily. @@ -24,6 +24,13 @@ fillBaseName: fill inHandsMaxFillLevels: 1 inHandsFillBaseName: -fill- + - type: ExaminableSolution + solution: drink + - type: FitsInDispenser + solution: drink + - type: Tag + tags: + - DrinkGlass - type: entity parent: DrinkBase @@ -45,7 +52,7 @@ Steel: 75 - type: entity - parent: DrinkGlassBase + parent: [DrinkBase, DrinkGlassBase] id: DrinkTeapot name: teapot # short and stout description: An elegant teapot. It simply oozes class. @@ -59,6 +66,11 @@ Quantity: 100 - type: Sprite sprite: Objects/Consumable/Drinks/teapot.rsi + - type: FitsInDispenser + solution: drink + - type: Tag + tags: + - DrinkGlass - type: entity id: DrinkCanPack @@ -197,51 +209,55 @@ # Weird empty shakes - type: entity - parent: DrinkGlassBase + abstract: true + parent: [DrinkBase, DrinkGlassBase] + 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 - description: '' components: - - type: Drink - type: Sprite sprite: Objects/Consumable/Drinks/shake-blue.rsi - type: entity - parent: DrinkGlassBase + parent: DrinkShakeBase id: DrinkShakeEmpty name: shakeempty - description: '' components: - - type: Drink - type: Sprite sprite: Objects/Consumable/Drinks/shake-empty.rsi - type: entity - parent: DrinkGlassBase + parent: DrinkShakeBase id: DrinkShakeMeat name: meat shake - description: '' components: - - type: Drink - type: Sprite sprite: Objects/Consumable/Drinks/shake-meat.rsi - type: entity - parent: DrinkGlassBase + parent: DrinkShakeBase id: DrinkShakeRobo name: robo shake - description: '' components: - - type: Drink - type: Sprite sprite: Objects/Consumable/Drinks/shake-robo.rsi - type: entity - parent: DrinkGlassBase + parent: DrinkShakeBase id: DrinkShakeWhite name: white shake - description: '' components: - - type: Drink - 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 4f7aeeb992..aebe9cf7e0 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/trash_drinks.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/trash_drinks.yml @@ -1,8 +1,9 @@ # File for containers like bottles or milk jugs that are empty +# When used as the first parent, this empties a bottle's reagent and spawns it opened - type: entity abstract: true - parent: [ BaseDrinkOpenableOpen, BaseDrinkEmptyTrash ] + parent: [ DrinkOpenableOpenBase, DrinkEmptyTrashBase ] id: DrinkBottleBaseEmpty components: - type: SolutionContainerManager @@ -16,7 +17,7 @@ - type: entity abstract: true - parent: [ BaseDrinkOpenableOpen, BaseDrinkEmptyTrash ] + parent: [ DrinkOpenableOpenBase, DrinkEmptyTrashBase ] id: DrinkBottleBaseSmallEmpty components: - type: SolutionContainerManager @@ -30,7 +31,7 @@ - type: entity abstract: true - parent: [ BaseDrinkOpenableOpen, BaseDrinkEmptyTrash ] + parent: [ DrinkOpenableOpenBase, DrinkEmptyTrashBase ] id: DrinkCartonBaseEmpty components: - type: SolutionContainerManager @@ -40,7 +41,7 @@ - type: entity abstract: true - parent: [ BaseDrinkOpenableOpen, BaseDrinkEmptyTrash ] + parent: [ DrinkOpenableOpenBase, DrinkEmptyTrashBase ] id: DrinkCartonBaseLargeEmpty components: - type: SolutionContainerManager diff --git a/Resources/Textures/Objects/Consumable/Drinks/cafe_latte.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/cafe_latte.rsi/meta.json index c92d6f1b0e..066f70507d 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/cafe_latte.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/cafe_latte.rsi/meta.json @@ -6,7 +6,7 @@ "y": 32 }, "license": "CC-BY-SA-3.0", - "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks. Fill levels by Tayrtahn on GitHub.", "states": [ {