]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Another quality pass. More descriptive name for base types and give everything a...
authoriaada <iaada@users.noreply.github.com>
Mon, 28 Jul 2025 00:03:30 +0000 (19:03 -0500)
committeriaada <iaada@users.noreply.github.com>
Mon, 28 Jul 2025 00:03:30 +0000 (19:03 -0500)
13 files changed:
Resources/Prototypes/Catalog/Fills/Lockers/service.yml
Resources/Prototypes/Entities/Debugging/drugs.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks-cartons.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_base.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_base_materials.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles_glass.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles_plastic.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cans.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_flasks.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_fun.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_special.yml

index 85bd52e13d514f9e27074d23481a223995f0ba0f..e486545ce373802ff140f6b589372d9e158a5b0b 100644 (file)
@@ -17,7 +17,7 @@
     - id: DrinkShaker
     - id: ClothingEyesHudBeer
     - id: HandLabeler
-    - id: DrinkBottleBeer
+    - id: DrinkBeerBottleFull
       amount: !type:BinomialNumberSelector
         trials: 3
     - !type:AllSelector
index c9e072a14dd9d1e9d50345c4b8b26d3382708bd4..473e370625cb6bc077081b28730fd0ca7b75fac8 100644 (file)
@@ -1,5 +1,5 @@
 - type: entity
-  parent: [DrinkBase, DrinkBaseGlass]
+  parent: [DrinkBase, DrinkBaseMaterialGlass]
   id: DrinkMeth
   name: meth  # beer it is. coffee. beer? coff-ee? be-er? c-o... b-e
   description: Just a whole glass of meth.
index ee2f4411df48897333012d037c8281d022a05383..ab7d0c1e30bfc21e46dba92cb37f8a5ffb745126 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   abstract: true
-  parent: [ DrinkBase, DrinkBaseCardboard, DrinkBaseOpenable ]
+  parent: [ DrinkBase, DrinkBaseMaterialCardboard, DrinkBaseOpenable ]
   id: DrinkCartonBaseLargeFull
   suffix: Full
   components:
index b79346321cd6460220c7f16ad9ce05d2f8aaa04e..65befafd08d95afbca3e163ff55cd2826f2aa1ff 100644 (file)
@@ -1,6 +1,6 @@
-# When adding new drinks also add to random spawner located in Resources\Prototypes\Entities\Markers\Spawners\Random\Food_Drinks\drinks_soda.yml
+# When adding new drinks also add to random spawner located in Resources\Prototypes\Entities\Markers\Spawners\Random\Food_Drinks\
 
-# A drink is a freely accessible solution like cups, teapots, cans, flasks, bottles, or beakers.
+# A drink is an easily and freely accessible solution like cups, teapots, cans, flasks, bottles, or beakers.
 - type: entity
   abstract: true
   parent: BaseItem
           True: {state: "icon_open"}
           False: {state: "icon_empty"}
   - type: Sprite
-    sprite: Objects/Consumable/Drinks/alco-bottle.rsi
     layers:
     - state: icon
       map: ["enum.OpenableVisuals.Layer"]
     fillBaseName: fill-
     inHandsMaxFillLevels: 3
     inHandsFillBaseName: -fill-
+
+# Visualizer for an openable entity with fill levels, already filled
+- type: entity
+  abstract: true
+  parent: DrinkVisualsAll
+  id: DrinkVisualsAllFilled
+  components:
+  - type: Sprite
+    layers:
+    - state: icon
+      map: ["enum.OpenableVisuals.Layer"]
+    - state: fill-5 # this will need to be different with a different maxFillLevels
+      map: ["enum.SolutionContainerLayers.Fill"]
index 14153453123fa86b2c766c513d7b159f16bc10eb..d09df66b4cb1a877816d066e4d1b3cb56e987c9d 100644 (file)
@@ -1,10 +1,10 @@
 # Material costs to apply to a drink
-# Adding one of these entities as the first parent will override a previous inherited material
+# Adding one of these bases as the first parent will override a previous inherited material
 
 # Fragile glass
 - type: entity
   abstract: true
-  id: DrinkBaseGlass
+  id: DrinkBaseMaterialGlass
   components:
   - type: Damageable
     damageContainer: Inorganic
         transferForensics: true
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
-  # so fragile it smashes when thrown
   - type: DamageOnLand
     ignoreResistances: true
     damage:
       types:
-        Blunt: 5
+        Blunt: 5 # so fragile it smashes when thrown
   - type: DamageOtherOnHit
     damage:
       types:
@@ -50,7 +49,7 @@
 # Porcelain (like glass but no shard)
 - type: entity
   abstract: true
-  id: DrinkBasePorcelain
+  id: DrinkBaseMaterialPorcelain
   components:
   - type: Damageable
     damageContainer: Inorganic
       - !type:SpillBehavior { }
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
-  # so fragile it smashes when thrown
   - type: DamageOnLand
     ignoreResistances: true
     damage:
       types:
-        Blunt: 5
+        Blunt: 5 # so fragile it smashes when thrown
   - type: DamageOtherOnHit
     damage:
       types:
         Blunt: 5
-  - type: Tag
-    tags:
-    - Recyclable
+  - type: PhysicalComposition
+    materialComposition:
+      Glass: 10 # Trace amounts of glass I guess. Important for overriding inheritance
 
 # Fragile plastic
 - type: entity
   abstract: true
-  id: DrinkBasePlastic
+  id: DrinkBaseMaterialPlastic
   components:
   - type: Damageable
     damageContainer: Inorganic
       - !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: DrinkBaseCardboard
+  id: DrinkBaseMaterialCardboard
   components:
   - type: Damageable
     damageContainer: Inorganic
       - !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: DrinkBaseMetal
+  id: DrinkBaseMaterialMetal
   components:
   - type: Damageable
     damageContainer: Inorganic
       - !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
-  id: DrinkBaseStrongMetal
+  id: DrinkBaseMaterialStrongMetal
   components:
   - type: Damageable
     damageContainer: Inorganic
       - !type:SpillBehavior { }
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
+  - type: DamageOnLand
+    ignoreResistances: true
+    damage:
+      types:
+        Blunt: 1
+  - type: DamageOtherOnHit
+    damage:
+      types:
+        Blunt: 5
   - type: PhysicalComposition
     materialComposition:
       Steel: 300
 # Weak gold
 - type: entity
   abstract: true
-  id: DrinkBaseGold
+  id: DrinkBaseMaterialGold
   components:
   - type: Damageable
     damageContainer: Inorganic
         acts: [ "Destruction" ]
     - trigger:
         !type:DamageTrigger
-        damage: 10
+        damage: 10 # 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
index 7545827275c08846674640e58bf3668c733e4a36..fa0cd1692c26c71c8492de4c77bb7285a298bfe6 100644 (file)
@@ -2,7 +2,7 @@
 
 - type: entity
   abstract: true
-  parent: [ DrinkBase, DrinkBaseGlass, DrinkBaseOpenable ]
+  parent: [ DrinkBase, DrinkBaseMaterialGlass, DrinkBaseOpenable ]
   id: DrinkBottleGlassBaseFull
   suffix: Full
   components:
@@ -51,7 +51,7 @@
 # Large Glass Bottles
 
 - type: entity
-  parent: [DrinkVisualsAll, DrinkBottleGlassBaseFull]
+  parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
   id: DrinkAbsintheBottleFull
   name: Jailbreaker Verte
   description: One sip of this and you just know you're gonna have a good time.
@@ -68,7 +68,7 @@
     sprite: Objects/Consumable/Drinks/absinthebottle.rsi
 
 - type: entity
-  parent: [DrinkVisualsAll, DrinkBottleGlassBaseFull]
+  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.
@@ -86,9 +86,8 @@
     layers:
       - state: icon_blue
         map: ["enum.OpenableVisuals.Layer"]
-      - state: fill-1
+      - state: fill-6
         map: ["enum.SolutionContainerLayers.Fill"]
-        visible: false
   - type: SolutionContainerVisuals
     maxFillLevels: 6
     fillBaseName: fill-
     examineTextUnsealed: drink-component-on-examine-is-unsealed-no-cork # tell the player why it can't close
 
 - type: entity
-  parent: [DrinkVisualsAll, DrinkBottleGlassBaseFull]
+  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.
     sprite: Objects/Consumable/Drinks/cognacbottle.rsi
 
 - type: entity
-  parent: [DrinkVisualsAll, DrinkBottleGlassBaseFull]
+  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.
     currentLabel: reagent-name-grenadine
   - type: Sprite
     sprite: Objects/Consumable/Drinks/grenadinebottle.rsi
+    layers:
+    - state: icon
+      map: ["enum.OpenableVisuals.Layer"]
+    - state: fill-6
+      map: ["enum.SolutionContainerLayers.Fill"]
   - type: SolutionContainerVisuals
     maxFillLevels: 6
 
 - type: entity
-  parent: [DrinkVisualsAll, DrinkBottleGlassBaseFull]
+  parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
   id: DrinkGinBottleFull
   name: Griffeater gin
   description: A bottle of high quality gin, produced in the New London Space Station.
     sprite: Objects/Consumable/Drinks/ginbottle.rsi
 
 - type: entity
-  parent: [DrinkVisualsAll, DrinkBottleGlassBaseFull]
+  parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
   id: DrinkGildlagerBottleFull
   name: Gildlager bottle
   description: 100 proof cinnamon schnapps, made for alcoholic teen girls on spring break.
     sprite: Objects/Consumable/Drinks/coffeeliqueurbottle.rsi
 
 - type: entity
-  parent: [DrinkVisualsAll, DrinkBottleGlassBaseFull]
+  parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
   id: DrinkMelonLiquorBottleFull
   name: Emeraldine melon liquor
   description: A bottle of 46 proof Emeraldine melon liquor. Sweet and light.
     layers:
       - state: icon_green
         map: ["enum.OpenableVisuals.Layer"]
-      - state: fill-1
+      - state: fill-6
         map: ["enum.SolutionContainerLayers.Fill"]
-        visible: false
   - type: SolutionContainerVisuals
     maxFillLevels: 6
     fillBaseName: fill-
 
 - type: entity
-  parent: [DrinkVisualsAll, DrinkBottleGlassBaseFull]
+  parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
   id: DrinkPatronBottleFull
   name: Wrapp Artiste Patrón bottle
   description: Silver laced tequila, served in space night clubs across the galaxy.
     - DrinkBottle
 
 - type: entity
-  parent: [DrinkVisualsAll, DrinkBottleGlassBaseFull]
+  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.
     sprite: Objects/Consumable/Drinks/rumbottle.rsi
 
 - type: entity
-  parent: [DrinkVisualsAll, DrinkBottleGlassBaseFull]
+  parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
   id: DrinkTequilaBottleFull
   name: Caccavo Guaranteed Quality tequila bottle
   description: Made from premium petroleum distillates, pure thalidomide and other fine quality ingredients!
     currentLabel: reagent-name-tequila
   - type: Sprite
     sprite: Objects/Consumable/Drinks/tequillabottle.rsi
-  - type: Sealable
 
 - type: entity
-  parent: [DrinkVisualsAll, DrinkBottleGlassBaseFull]
+  parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
   id: DrinkVermouthBottleFull
   name: Goldeneye vermouth bottle
   description: Sweet, sweet dryness!
     currentLabel: reagent-name-vermouth
   - type: Sprite
     sprite: Objects/Consumable/Drinks/vermouthbottle.rsi
-  - type: Sealable
 
 - type: entity
-  parent: [DrinkVisualsAll, DrinkBottleGlassBaseFull]
+  parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
   id: DrinkVodkaBottleFull
   name: vodka bottle
   description: Aah, vodka. Prime choice of drink AND fuel by Russians worldwide.
     currentLabel: reagent-name-vodka
   - type: Sprite
     sprite: Objects/Consumable/Drinks/vodkabottle.rsi
-  - type: Sealable
 
 - type: entity
-  parent: [DrinkVisualsAll, DrinkBottleGlassBaseFull]
+  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.
     currentLabel: reagent-name-whiskey
   - type: Sprite
     sprite: Objects/Consumable/Drinks/whiskeybottle.rsi
-  - type: Sealable
 
 - type: entity
   parent: [DrinkVisualsOpenable, DrinkBottleGlassBaseFull]
 # Extra large bottles
 
 - type: entity
-  parent: [DrinkVisualsAll, DrinkBottleGlassBaseFull]
+  parent: [DrinkVisualsAllFilled, 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.
     sprite: Objects/Consumable/Drinks/beer.rsi
   - type: Openable
     closeable: false
+  - type: Sealable
+    examineTextUnsealed: drink-component-on-examine-is-unsealed-no-cork # tell the player why it can't close
   - type: Tag
     tags:
     - Beer
     - DrinkBottle
 
 - type: entity
-  parent: [DrinkVisualsAll, DrinkBottleGlassBaseFull]
+  parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
   id: DrinkAleBottleFullGrowler
   name: Magm-Ale growler
   description: A true dorf's drink of choice. XL growler bottle.
     sprite: Objects/Consumable/Drinks/alebottle.rsi
   - type: Openable
     closeable: false
+  - type: Sealable
+    examineTextUnsealed: drink-component-on-examine-is-unsealed-no-cork # tell the player why it can't close
+
 
 # Small glass bottles
 
 - type: entity
-  parent: [DrinkVisualsAll, DrinkBottleGlassSmallBaseFull]
+  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.
     - Beer
 
 - type: entity
-  parent: [DrinkVisualsAll, DrinkBottleGlassSmallBaseFull]
+  parent: [DrinkVisualsAllFilled, DrinkBottleGlassSmallBaseFull]
   id: DrinkAleBottleFull
   name: Magm-Ale bottle
   description: A true dorf's drink of choice.
index 7ec62371d92c26218ab3d242ac9b133287d257ae..b875c03df367bd8345a66e7038c325bfe09c05c8 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   abstract: true
-  parent: [ DrinkBase, DrinkBasePlastic, DrinkBaseOpenable ]
+  parent: [ DrinkBase, DrinkBaseMaterialPlastic, DrinkBaseOpenable ]
   id: DrinkBottlePlasticBaseFull
   suffix: Full
   components:
@@ -61,7 +61,7 @@
 # Small Plastic Bottles
 
 - type: entity
-  parent: [DrinkVisualsAll, DrinkBottlePlasticSmallBaseFull]
+  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.
@@ -80,7 +80,7 @@
 # Large Plastic Bottles
 
 - type: entity
-  parent: [DrinkVisualsAll, DrinkBottlePlasticBaseFull]
+  parent: [DrinkVisualsAllFilled, DrinkBottlePlasticBaseFull]
   id: DrinkColaBottleFull
   name: Space Cola bottle
   description: Cola. In spaaace!
@@ -97,7 +97,7 @@
     sprite: Objects/Consumable/Drinks/colabottle.rsi
 
 - type: entity
-  parent: [DrinkVisualsAll, DrinkBottlePlasticBaseFull]
+  parent: [DrinkVisualsAllFilled, DrinkBottlePlasticBaseFull]
   id: DrinkSpaceMountainWindBottleFull
   name: Space Solar Wind bottle
   description: Blows right through you like a solar wind.
     sprite: Objects/Consumable/Drinks/space_mountain_wind_bottle.rsi
 
 - type: entity
-  parent: [DrinkVisualsAll, DrinkBottlePlasticBaseFull]
+  parent: [DrinkVisualsAllFilled, DrinkBottlePlasticBaseFull]
   id: DrinkSpaceUpBottleFull
   name: Space-Up bottle
   description: Tastes like a hull breach in your mouth.
     sprite: Objects/Consumable/Drinks/space-up_bottle.rsi
 
 - type: entity
-  parent: [DrinkVisualsAll, DrinkBottlePlasticBaseFull]
+  parent: [DrinkVisualsAllFilled, DrinkBottlePlasticBaseFull]
   id: DrinkSodaWaterBottleFull
   name: soda water bottle
   description: Like water, but angry!
     currentLabel: reagent-name-soda-water
 
 - type: entity
-  parent: [DrinkVisualsAll, DrinkBottlePlasticBaseFull]
+  parent: [DrinkVisualsAllFilled, DrinkBottlePlasticBaseFull]
   id: DrinkTonicWaterBottleFull
   name: tonic water bottle
   description: Like soda water, but angrier maybe? Often sweeter.
index d63636b79e40d22671424777911b894ae21f1cdb..0318b05c5c9868c7c1dd11907e9aec56c7529088 100644 (file)
@@ -1,7 +1,7 @@
 # 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: [ DrinkBase, DrinkBaseMetal, DrinkBaseOpenable, DrinkVisualsOpenable ]
+  parent: [ DrinkBase, DrinkBaseMaterialMetal, DrinkBaseOpenable, DrinkVisualsOpenable ]
   id: DrinkCanBaseFull
   suffix: Full
   components:
index 923d8670a3953a3e745194ff74f6c6a037557e59..b1867d2600412a98604c73ffdc857dd408cf956d 100644 (file)
@@ -24,7 +24,7 @@
 # A mug is a type of cup.[2]
 - type: entity
   abstract: true
-  parent: [DrinkBaseCup, DrinkBasePorcelain]
+  parent: [DrinkBaseCup, DrinkBaseMaterialPorcelain]
   id: DrinkBaseMug
   name: mug
   description: A mug.
@@ -49,7 +49,7 @@
 ## Misc Cups
 
 - type: entity
-  parent: [DrinkBaseCup, DrinkBaseGold]
+  parent: [DrinkBaseCup, DrinkBaseMaterialGold]
   id: DrinkGoldenCup
   name: golden cup
   description: A golden cup.
     maxFillLevels: 4
 
 - type: entity
-  parent: [ DrinkBase, DrinkBaseGlass ]
+  parent: [ DrinkBaseCup, DrinkBaseMaterialGlass ]
   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:
     inHandsFillBaseName: -fill-
   - type: ExaminableSolution
     solution: drink
-  - type: FitsInDispenser
-    solution: drink
-  - type: Tag
-    tags:
-    - DrinkGlass
-    - Recyclable
 
 - type: entity
-  parent: [DrinkBase, DrinkBaseCardboard]
+  parent: [DrinkBaseCup, DrinkBaseMaterialCardboard]
   id: DrinkWaterCup
   name: water cup
   description: A paper water cup.
     solutions:
       drink:
         maxVol: 5 # One sip at a time. No rushing at the water cooler
-  - type: FitsInDispenser
-    solution: drink
+  - type: Item
+    size: Tiny
   - type: Sprite
     sprite: Objects/Consumable/Drinks/water_cup.rsi
     layers:
     - state: icon-0
-    - map: ["enum.SolutionContainerLayers.Fill"]
-      state: icon-1
-  - type: Appearance
-  - type: SolutionContainerVisuals
+    - state: icon-1
+      map: ["enum.SolutionContainerLayers.Fill"]
+      visible: false
+  - type: SolutionContainerVisuals # TODO this doesn't work
     maxFillLevels: 1
     fillBaseName: icon-
   - type: Tag
     tags:
     - Trash
+    - DrinkCup
     - WhitelistChameleon
   - type: TrashOnSolutionEmpty
     solution: drink
     sprite: Objects/Consumable/Drinks/mug_heart.rsi
 
 - type: entity
-  parent: [DrinkBaseMetal, DrinkBaseMug]
+  parent: [DrinkBaseMaterialMetal, DrinkBaseMug]
   id: DrinkMugMetal
   name: metal mug
   description: A metal mug. You're not sure which metal.
     sprite: Objects/Consumable/Drinks/mug_red.rsi
 
 ## Filled
-# TODO these need a material for destruction, maybe a better parent
 
 - type: entity
   parent: DrinkBaseMug
   id: DrinkHotCoco
   name: hot chocolate
+  suffix: Full
   description: A heated drink consisting melted chocolate and heated milk.
   components:
   - type: SolutionContainerManager
   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
     solution: drink
 
 - type: entity
-  parent: [DrinkBaseCup, DrinkBaseCardboard]
+  parent: DrinkBaseMug
   id: DrinkCafeLatte
   name: cafe latte
+  suffix: Full
   description: A nice, strong and tasty beverage while you are reading.
   components:
   - type: SolutionContainerManager
 - type: entity
   parent: DrinkTeacupEmpty
   id: DrinkTeacup
+  name: tea
   components:
   - type: SolutionContainerManager
     solutions:
   parent: DrinkTeacupEmpty
   id: DrinkGreenTea
   name: green tea
-  description: A plain white porcelain teacup.
   components:
   - type: SolutionContainerManager
     solutions:
     solution: drink
 
 - type: entity
-  parent: [DrinkBaseCup, DrinkBasePlastic]
+  parent: [DrinkBaseCup, DrinkBaseMaterialPlastic]
   id: DrinkLean
   name: grape juice
   description: Damn, no fun allowed.
index b15a56747a172a9a429853f23c6d2729def8230d..a41d67fac32d18c0cefebfee04de78e73bf3e29a 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   abstract: true
-  parent: [DrinkBase, DrinkBaseStrongMetal, DrinkBaseOpenable]
+  parent: [DrinkBase, DrinkBaseMaterialStrongMetal, DrinkBaseOpenable]
   id: FlaskBase
   components:
   - type: SolutionContainerManager
@@ -92,6 +92,9 @@
   components:
   - type: Sprite
     sprite: Objects/Consumable/Drinks/flask_old.rsi
+  - type: Openable # annoying hack
+    opened: true
+    closeable: false
 
 - type: entity
   parent: [FlaskBase, DrinkVisualsOpenable]
index 5be5b615f8fe9d8e43e2cd29a0c97d9d2953a881..bdd83966c66980f68f47d6ffb218980f5d8e924f 100644 (file)
@@ -1,5 +1,5 @@
 - type: entity
-  parent: [DrinkBase, DrinkBasePlastic, DrinkBaseOpenable, DrinkVisualsOpenable ]
+  parent: [DrinkBase, DrinkBaseMaterialPlastic, DrinkBaseOpenable, DrinkVisualsOpenable ]
   id: DrinkSpaceGlue
   name: space glue tube
   description: High performance glue intended for maintenance of extremely complex mechanical equipment. DON'T DRINK!
@@ -12,9 +12,8 @@
     layers:
       - state: icon
         map: ["enum.OpenableVisuals.Layer"]
-      - state: fill1
-        map: [ "enum.SolutionContainerLayers.Fill" ]
-        visible: false
+      - state: fill6
+        map: [ "enum.SolutionContainerLayers.Fill" ] # already has liquid, so no visible: false
       - state: icon-front
         map: [ "enum.SolutionContainerLayers.Overlay" ]
   - type: Glue
@@ -35,7 +34,7 @@
     solution: drink
 
 - type: entity
-  parent: [DrinkBase, DrinkBasePlastic, DrinkBaseOpenable, DrinkVisualsOpenable ]
+  parent: [DrinkBase, DrinkBaseMaterialPlastic, DrinkBaseOpenable, DrinkVisualsOpenable ]
   id: DrinkSpaceLube
   name: space lube tube
   description: High performance lubricant intended for maintenance of extremely complex mechanical equipment.
@@ -48,9 +47,8 @@
     layers:
       - state: icon
         map: ["enum.OpenableVisuals.Layer"]
-      - state: fill1
-        map: [ "enum.SolutionContainerLayers.Fill" ]
-        visible: false
+      - state: fill6
+        map: [ "enum.SolutionContainerLayers.Fill" ] # already has liquid, so no visible: false
       - state: icon-front
         map: [ "enum.SolutionContainerLayers.Overlay" ]
   - type: SolutionContainerManager
@@ -90,7 +88,7 @@
         Quantity: 200
 
 - type: entity
-  parent: [DrinkBase, DrinkBaseGlass]
+  parent: [DrinkBase, DrinkBaseMaterialGlass]
   id: DrinkJarWhat
   name: jar of something
   description: You can't really tell what this is.
     - FourteenLoko
 
 - type: entity
-  parent: [DrinkVisualsAll, DrinkBottleGlassSmallBaseFull]
+  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.
index e0ab21e40ee9bf0f7e5e6d19a866c0ac628425ee..adadea50f40e94ada81febff1da9861579ef68f6 100644 (file)
@@ -4,7 +4,7 @@
 
 # Transformable container - normal glass
 - type: entity
-  parent: [DrinkBase, DrinkBaseGlass]
+  parent: [DrinkBaseCup, DrinkBaseMaterialGlass]
   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.
       state: icon
   - type: ExaminableSolution
     solution: drink
-  - type: FitsInDispenser
-    solution: drink
   - type: Tag
     tags:
-    - DrinkGlass
+    - DrinkCup # Do these tags
+    - DrinkGlass # even do anything?
   - type: TransformableContainer
 
 - type: entity
-  parent: [DrinkBase, DrinkBaseGlass]
+  parent: DrinkGlass
   id: DrinkJar
   name: jar
   description: The hipster's cup.
       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: 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
+# TODO IconComponent doesn't seem to work in spawn panel
 
 - type: entity
   parent: DrinkGlass
index ceea30947467c3a66206ccfd3b204c2f5f0252c3..3ac01c12583a5e0b45e9ebd29574b13daa96b462 100644 (file)
@@ -1,5 +1,5 @@
 - type: entity
-  parent: [DrinkBase, DrinkBaseGlass]
+  parent: [DrinkBase, DrinkBaseMaterialGlass]
   id: DrinkShotGlass
   name: shot glass
   description: Perfect for slamming down onto the table angrily.
@@ -8,6 +8,8 @@
     solutions:
       drink:
         maxVol: 5
+  - type: Item
+    size: Tiny
   - type: Sprite
     sprite: Objects/Consumable/Drinks/shotglass.rsi
     layers:
@@ -33,7 +35,7 @@
     - DrinkGlass
 
 - type: entity
-  parent: DrinkBase
+  parent: [DrinkBase, DrinkBaseMaterialMetal]
   id: DrinkIceBucket
   name: ice bucket
   description: A special bucket of refreshy ice. Prohibited use for challenge with the same name!
@@ -52,7 +54,7 @@
       Steel: 75
 
 - type: entity
-  parent: [DrinkBase, DrinkBasePorcelain]
+  parent: [DrinkBase, DrinkBaseMaterialPorcelain]
   id: DrinkTeapot
   name: teapot  # short and stout
   description: An elegant teapot. It simply oozes class.
 # Bartender tools
 
 - type: entity
-  parent: DrinkBase
+  parent: [DrinkBase, DrinkBaseMaterialStrongMetal]
   id: DrinkShaker
   name: shaker
   description: The trusty mixing buddy of the bartender.
     - Shake
 
 - type: entity
-  parent: DrinkBase
+  parent: [DrinkBase, DrinkBaseMaterialMetal]
   id: DrinkJigger
   name: jigger
   description: Like a shaker, but smaller. Used to control the amount of ingredients.
     solutions:
       drink:
         maxVol: 20
+  - type: Item
+    size: Tiny
   - type: SolutionTransfer
     canChangeTransferAmount: true
     minTransferAmount: 1
       Steel: 20
 
 - type: entity
-  parent: DrinkBase
+  parent: [DrinkBase, DrinkBaseMaterialStrongMetal]
   id: Pitcher
   name: metal pitcher
   description: A stainless steel insulated pitcher. Everyone's best friend in the morning.
     fillBaseName: fill-
     inHandsMaxFillLevels: 2
     inHandsFillBaseName: -fill-
-  - type: PhysicalComposition
-    materialComposition:
-      Steel: 300
   - type: FitsInDispenser
     solution: drink
 
 
 - type: entity
   abstract: true
-  parent: [DrinkBase, DrinkBaseGlass]
+  parent: [DrinkBase, DrinkBaseMaterialGlass]
   id: DrinkShakeBase
   description: ''
   components: