]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
break up drinks_bottles
authoriaada <iaada@users.noreply.github.com>
Sat, 26 Jul 2025 00:18:43 +0000 (19:18 -0500)
committeriaada <iaada@users.noreply.github.com>
Sat, 26 Jul 2025 00:18:43 +0000 (19:18 -0500)
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks-cartons.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles.yml [deleted file]
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles_glass.yml [new file with mode: 0644]
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles_plastic.yml [new file with mode: 0644]
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_fun.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_special.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/trash_drinks.yml

index 70a86e6d986995c356e059f45e24b28b6cbfc911..27bb1dcdb8c99eba4816e6ed26d2948d2c97a84e 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   abstract: true
-  parent: [ DrinkBase, BaseDrinkOpenable ]
+  parent: [ DrinkCardboardBase, BaseDrinkOpenable ]
   id: DrinkCartonBaseFull
   suffix: Full
   components:
     solutions:
       drink:
         maxVol: 50
-  - 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: PhysicalComposition
-    materialComposition:
-      Cardboard: 20
 
 - type: entity
   abstract: true
 
 - type: entity
   abstract: true
-  id: DrinkCartonVisualsOpenable
-  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"]
+  parent: DrinkCartonBaseFull
+  id: DrinkCartonBaseXtraLargeFull
+  components:
+  - type: SolutionContainerManager
+    solutions:
+      drink:
+        maxVol: 150
+  - type: Item
+    size: Normal
 
-##
+# Small carton
 
 - type: entity
-  parent: [DrinkCartonVisualsOpenable, DrinkCartonBaseFull]
+  parent: [DrinkVisualsOpenable, DrinkCartonBaseFull]
   id: DrinkJuiceLimeCarton
   name: lime juice
   description: Sweet-sour goodness.
         - ReagentId: JuiceLime
           Quantity: 50
   - type: Sprite
-    sprite: Objects/Consumable/Drinks/limejuice.rsi
+    sprite: Objects/Consumable/Drinks/limejuice.rsi # Looks more like plastic than cardboard
 
 - type: entity
-  parent: [DrinkCartonVisualsOpenable, DrinkCartonBaseFull]
+  parent: [DrinkVisualsOpenable, DrinkCartonBaseFull]
   id: DrinkJuiceOrangeCarton
   name: orange juice
   description: Full of vitamins and deliciousness!
     sprite: Objects/Consumable/Drinks/orangejuice.rsi
 
 - type: entity
-  parent: [DrinkCartonVisualsOpenable, DrinkCartonBaseFull]
+  parent: [DrinkVisualsOpenable, DrinkCartonBaseFull]
   id: DrinkJuiceTomatoCarton
   name: tomato juice
   description: Well, at least it LOOKS like tomato juice. You can't tell with all that redness.
     sprite: Objects/Consumable/Drinks/tomatojuice.rsi
 
 - type: entity
-  parent: [DrinkBottleVisualsOpenable, DrinkBottlePlasticBaseFull]
+  parent: [DrinkVisualsOpenable, DrinkCartonBaseFull]
   id: DrinkCoconutWaterCarton
   name: coconut water
   description: It's the inside of the coconut that counts.
         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: [DrinkVisualsOpenable, DrinkCartonBaseFull]
   id: DrinkCreamCarton
   name: milk cream
   description: It's cream. Made from milk. What else did you think you'd find in there?
     sprite: Objects/Consumable/Drinks/cream.rsi
 
 - type: entity
-  parent: [DrinkCartonVisualsOpenable, DrinkCartonBaseLargeFull]
+  parent: [DrinkVisualsOpenable, DrinkCartonBaseFull]
+  id: DrinkJuiceLemonCarton
+  name: lemon juice
+  description: First it's sour, then it's still sour.
+  components:
+  - type: SolutionContainerManager
+    solutions:
+      drink:
+        reagents:
+        - ReagentId: JuiceLemon
+          Quantity: 50
+  - type: Sprite
+    sprite: Objects/Consumable/Drinks/lemonjuice.rsi # Looks more like plastic than cardboard
+
+- type: entity
+  parent: [DrinkVisualsOpenable, DrinkCartonBaseFull]
+  id: DrinkJuicePineappleCarton
+  name: pineapple juice
+  description: Tastes like a tropical vacation far from space.
+  components:
+  - type: SolutionContainerManager
+    solutions:
+      drink:
+        reagents:
+        - ReagentId: JuicePineapple
+          Quantity: 50
+  - type: Sprite
+    sprite: Objects/Consumable/Drinks/pineapplejuice.rsi
+
+# Large carton
+
+- type: entity
+  parent: [DrinkVisualsOpenable, DrinkCartonBaseLargeFull]
   id: DrinkMilkCarton
   name: milk
   description: An opaque white liquid produced by the mammary glands of mammals.
     sprite: Objects/Consumable/Drinks/milk.rsi
 
 - type: entity
-  parent: [DrinkCartonVisualsOpenable, DrinkCartonBaseLargeFull]
+  parent: [DrinkVisualsOpenable, DrinkCartonBaseLargeFull]
   id: DrinkSoyMilkCarton
   name: soy milk
   description: White and nutritious soy goodness!
     sprite: Objects/Consumable/Drinks/soymilk.rsi
 
 - type: entity
-  parent: [DrinkCartonVisualsOpenable, DrinkCartonBaseLargeFull]
+  parent: [DrinkVisualsOpenable, DrinkCartonBaseLargeFull]
   id: DrinkOatMilkCarton
   name: oat milk
   description: It's oat milk. Tan and nutritious goodness!
   - type: Sprite
     sprite: Objects/Consumable/Drinks/oatmilk.rsi
 
+# Xtra large
+
 - type: entity
-  parent: [DrinkCartonVisualsOpenable, DrinkCartonBaseFull]
-  id: DrinkJuiceLemonCarton
-  name: lemon juice
-  description: First it's sour, then it's still sour.
+  parent: [DrinkVisualsOpenable, DrinkCartonBaseXtraLargeFull]
+  id: DrinkJuiceLimeCartonXL
+  name: lime juice XL
+  description: Sweet-sour goodness.
   components:
   - type: SolutionContainerManager
     solutions:
       drink:
+        maxVol: 150
         reagents:
-        - ReagentId: JuiceLemon
-          Quantity: 50
+        - ReagentId: JuiceLime
+          Quantity: 150
+  - type: Label
+    currentLabel: reagent-name-juice-lime
   - type: Sprite
-    sprite: Objects/Consumable/Drinks/lemonjuice.rsi
+    sprite: Objects/Consumable/Drinks/limejuice.rsi # Doesn't really look like cardboard...
 
 - type: entity
-  parent: [DrinkCartonVisualsOpenable, DrinkCartonBaseFull]
-  id: DrinkJuicePineappleCarton
-  name: pineapple juice
-  description: Tastes like a tropical vacation far from space.
+  parent: [DrinkVisualsOpenable, DrinkCartonBaseXtraLargeFull]
+  id: DrinkJuiceOrangeCartonXL
+  name: orange juice XL
+  description: Full of vitamins and deliciousness!
   components:
   - type: SolutionContainerManager
     solutions:
       drink:
+        maxVol: 150
         reagents:
-        - ReagentId: JuicePineapple
-          Quantity: 50
+        - ReagentId: JuiceOrange
+          Quantity: 150
+  - type: Label
+    currentLabel: reagent-name-juice-orange
   - type: Sprite
-    sprite: Objects/Consumable/Drinks/pineapplejuice.rsi
+    sprite: Objects/Consumable/Drinks/orangejuice.rsi
+
+- type: entity
+  parent: [DrinkVisualsOpenable, 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_bottles.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles.yml
deleted file mode 100644 (file)
index 8b4bfc1..0000000
+++ /dev/null
@@ -1,985 +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
-  abstract: true
-  parent: [ DrinkPlasticBase, BaseDrinkOpenable ]
-  id: DrinkBottlePlasticBaseFull # Large plastic
-  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: entity
-  abstract: true
-  parent: DrinkBottlePlasticBaseFull
-  id: DrinkBottlePlasticSmallBaseFull # small plastic
-  components:
-  - type: Item
-    size: Small
-  - type: Tag
-    tags:
-      - DrinkCup
-  - type: SolutionContainerManager
-    solutions:
-      drink:
-        maxVol: 30
-  - type: FitsInDispenser
-    solution: drink
-  - type: Sprite
-    state: icon
-    sprite: Objects/Consumable/Drinks/waterbottle.rsi # fallback
-  - type: TrashOnSolutionEmpty
-    solution: drink
-
-- type: entity
-  abstract: true
-  parent: [ DrinkGlassBase, BaseDrinkOpenable ]
-  id: DrinkBottleGlassSmallBaseFull # small glass
-  suffix: Full
-  components:
-  - type: Openable
-    sound:
-      collection: bottleOpenSounds
-    closeable: true
-    closeSound:
-      collection: bottleCloseSounds
-  - type: SolutionContainerManager
-    solutions:
-      drink:
-        maxVol: 50
-  - type: Sprite
-    sprite: Objects/Consumable/Drinks/beer.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: entity
-  abstract: true
-  parent: DrinkBottleGlassSmallBaseFull
-  id: DrinkBottleGlassBaseFull # large glass
-  components:
-  - type: SolutionContainerManager
-    solutions:
-      drink:
-        maxVol: 100
-  - type: Sprite
-    sprite: Objects/Consumable/Drinks/alco-bottle.rsi # fallback
-  - type: Item
-    size: Normal
-
-- type: entity
-  abstract: true
-  id: DrinkBottleVisualsOpenable
-  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: entity
-  abstract: true
-  id: DrinkBottleVisualsAll
-  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-
-
-# 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: 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: 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: Sealable
-    examineTextUnsealed: drink-component-on-examine-is-unsealed-no-cork # tell the player why it can't close
-
-- 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: 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: 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: 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: 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: 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: 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 (file)
index 0000000..b8e7b5c
--- /dev/null
@@ -0,0 +1,495 @@
+# 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
+  suffix: Full
+  components:
+  - type: Openable
+    sound:
+      collection: bottleOpenSounds
+    closeable: true
+    closeSound:
+      collection: bottleCloseSounds
+  - type: SolutionContainerManager
+    solutions:
+      drink:
+        maxVol: 50
+  - type: Sprite
+    sprite: Objects/Consumable/Drinks/beer.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: entity
+  abstract: true
+  parent: DrinkBottleGlassSmallBaseFull
+  id: DrinkBottleGlassBaseFull
+  components:
+  - type: SolutionContainerManager
+    solutions:
+      drink:
+        maxVol: 100
+  - type: Sprite
+    sprite: Objects/Consumable/Drinks/alco-bottle.rsi # fallback
+  - type: Item
+    size: Normal
+
+# Large Glass Bottles
+
+- type: entity
+  parent: [DrinkVisualsAll, 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: [DrinkVisualsAll, 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: [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: drink-component-on-examine-is-unsealed-no-cork # tell the player why it can't close
+
+- type: entity
+  parent: [DrinkVisualsAll, 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: [DrinkVisualsAll, 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: [DrinkVisualsAll, 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: [DrinkVisualsAll, 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: [DrinkVisualsAll, 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: [DrinkVisualsAll, 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: [DrinkVisualsAll, 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: [DrinkVisualsAll, 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: [DrinkVisualsAll, 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: [DrinkVisualsAll, 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: [DrinkVisualsAll, 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: [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: Sealable
+  - type: Tag
+    tags:
+    - Wine
+    - DrinkBottle
+
+- type: entity
+  parent: [DrinkVisualsAll, 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: [DrinkVisualsAll, 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
+
+# Small glass bottles
+
+- type: entity
+  parent: [DrinkVisualsAll, 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: drink-component-on-examine-is-unsealed-crown-cap # tell the player why it can't close
+  - type: Tag
+    tags:
+    - Beer
+
+- type: entity
+  parent: [DrinkVisualsAll, 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: drink-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 (file)
index 0000000..5e52683
--- /dev/null
@@ -0,0 +1,389 @@
+- type: entity
+  abstract: true
+  parent: [ DrinkPlasticBase, BaseDrinkOpenable ]
+  id: DrinkBottlePlasticSmallBaseFull
+  suffix: Full
+  components:
+  - type: Openable
+    sound:
+      collection: bottleOpenSounds
+    closeable: true
+    closeSound:
+      collection: bottleCloseSounds
+  - type: Tag
+    tags:
+    - DrinkCup
+  - type: SolutionContainerManager
+    solutions:
+      drink:
+        maxVol: 30
+  - type: FitsInDispenser
+    solution: drink
+  - type: Sprite
+    state: icon
+    sprite: Objects/Consumable/Drinks/waterbottle.rsi # fallback
+  - type: TrashOnSolutionEmpty
+    solution: drink
+
+- type: entity
+  abstract: true
+  parent: DrinkBottlePlasticSmallBaseFull
+  id: DrinkBottlePlasticBaseFull
+  components:
+  - type: Tag
+    tags:
+    - DrinkBottle
+  - 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
+
+# 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: [DrinkVisualsAll, 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: [DrinkVisualsAll, 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: [DrinkVisualsAll, 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: [DrinkVisualsAll, 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: [DrinkVisualsAll, 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: [DrinkVisualsAll, 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
+
+- 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
index 53ab1c6fee85a396dc2227b7bea6812aefd0ad01..a81f8a35c874280b4f25db03bf0bdf1cb75a40fc 100644 (file)
@@ -7,9 +7,6 @@
   - type: SolutionContainerManager
     solutions:
       drink:
-        reagents:
-        - ReagentId: Cola
-          Quantity: 30
         maxVol: 30
       grindable:
         reagents: # 5u -> 1/2 steel sheet (10u)
     maxTransferAmount: 15
   - type: Extractable
     grindableSolutionName: grindable
-  - type: Sprite
-    state: icon
-    layers:
-      - state: icon
-        map: ["enum.OpenableVisuals.Layer"]
   - type: FitsInDispenser
     solution: drink
-  - type: Appearance
-  - type: GenericVisualizer
-    visuals:
-      enum.OpenableVisuals.Opened:
-        enum.OpenableVisuals.Layer:
-          True: {state: "icon_open"}
-          False: {state: "icon"}
   - type: Tool
     qualities:
     - Rolling
index 844cb9fb62c1f6cdb4e64cf55c77b1b1469ef120..21902e4fd439559efe3d79057a2bf3613b947aa3 100644 (file)
@@ -43,8 +43,6 @@
     materialComposition:
       Glass: 25
 
-##
-
 # Misc Cups
 - type: entity
   parent: DrinkBaseCup
     materialComposition:
       Gold: 100
 
+- type: entity
+  parent: DrinkBaseCup
+  id: DrinkTeacupEmpty
+  name: teacup
+  description: A plain white porcelain teacup.
+  components:
+  - 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: 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
+  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: entity
   parent: DrinkBaseCup
   id: DrinkWaterCup
     solution: drink
 
 - type: entity
-  parent: DrinkBaseCup
+  parent: DrinkTeacupEmpty
   id: DrinkTeacup
-  name: teacup
-  description: A plain white porcelain teacup.
   components:
   - type: SolutionContainerManager
     solutions:
         reagents:
         - ReagentId: Tea
           Quantity: 20
-  - 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.
   - 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
 
index 0cd960bed12b5fc9468533378edb0f3497d609f8..e4817febf23a1f63dfd495371fa1271474c4737e 100644 (file)
@@ -1,5 +1,5 @@
 - type: entity
-  parent: DrinkBase
+  parent: [DrinkVisualsOpenable, DrinkBase]
   id: DrinkSpaceGlue
   name: space glue tube
   description: High performance glue intended for maintenance of extremely complex mechanical equipment. DON'T DRINK!
@@ -17,7 +17,6 @@
         visible: false
       - state: icon-front
         map: [ "enum.SolutionContainerLayers.Overlay" ]
-  - type: Appearance
   - type: Glue
   - type: SolutionContainerManager
     solutions:
   - type: SolutionContainerVisuals
     maxFillLevels: 6
     fillBaseName: fill
-  - type: GenericVisualizer
-    visuals:
-      enum.OpenableVisuals.Opened:
-        enum.OpenableVisuals.Layer:
-          True: {state: "icon_open"}
-          False: {state: "icon"}
   - type: Tag
     tags:
       - DrinkSpaceGlue
@@ -42,7 +35,7 @@
     solution: drink
 
 - type: entity
-  parent: DrinkBase
+  parent: [DrinkVisualsOpenable, DrinkBase]
   id: DrinkSpaceLube
   name: space lube tube
   description: High performance lubricant intended for maintenance of extremely complex mechanical equipment.
@@ -60,7 +53,6 @@
         visible: false
       - state: icon-front
         map: [ "enum.SolutionContainerLayers.Overlay" ]
-  - type: Appearance
   - type: SolutionContainerManager
     solutions:
       drink:
   - type: SolutionContainerVisuals
     maxFillLevels: 6
     fillBaseName: 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
       - ReagentId: SpaceLube
         Quantity: 200
 
+- 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
+
 # Mopwata
 - type: weightedRandomFillSolution
   id: RandomFillMopwata
     - FourteenLoko
 
 - type: entity
-  parent: DrinkBottleGlassBaseFull
+  parent: [DrinkVisualsAll, 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:
   - 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-
index f6fb5ab8ec796672765a781b8303e35200b79252..6dd0103914697f2ba15fdd960ecc107b92d65406 100644 (file)
@@ -1,29 +1,3 @@
-- type: entity
-  parent: 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: 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: DrinkGlassBase
   id: DrinkShotGlass
   - 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" ]
+    - state: icon
+      map: [ "enum.SolutionContainerLayers.Base" ]
+    - state: fill1
+      map: [ "enum.SolutionContainerLayers.Fill" ]
+      visible: false
+    - state: icon-front
+      map: [ "enum.SolutionContainerLayers.Overlay" ]
   - type: Appearance
   - type: SolutionContainerVisuals
     maxFillLevels: 2
     inHandsMaxFillLevels: 1
     inHandsFillBaseName: -fill-
 
+- type: entity
+  parent: DrinkBase
+  id: DrinkIceBucket
+  name: ice bucket
+  description: A special bucket of refreshy ice. Prohibited use for challenge with the same name!
+  components:
+  - type: SolutionContainerManager
+    solutions:
+      drink:
+        reagents:
+        - ReagentId: Ice
+          Quantity: 200
+  - type: Sprite
+    sprite: Objects/Consumable/Drinks/icebucket.rsi
+    state: icon
+  - type: PhysicalComposition
+    materialComposition:
+      Steel: 75
+
 - type: entity
   parent: DrinkGlassBase
-  id: DrinkJarWhat
-  name: jar of something
-  description: You can't really tell what this is.
+  id: DrinkTeapot
+  name: teapot  # short and stout
+  description: An elegant teapot. It simply oozes class.
   components:
-  - type: Drink
+  - type: SolutionContainerManager
+    solutions:
+      drink:
+        maxVol: 100
+        reagents:
+        - ReagentId: Tea
+          Quantity: 100
   - type: Sprite
-    sprite: Objects/Consumable/Drinks/jar_what.rsi
+    sprite: Objects/Consumable/Drinks/teapot.rsi
+
+# Bartender tools
 
 - type: entity
   parent: DrinkBase
-  id: DrinkJigger
-  name: jigger
-  description: Like a shaker, but smaller. Used to control the amount of ingredients.
+  id: DrinkShaker
+  name: shaker
+  description: The trusty mixing buddy of the bartender.
   components:
   - type: SolutionContainerManager
     solutions:
       drink:
-        maxVol: 20
-  - type: SolutionTransfer
-    canChangeTransferAmount: true
-    minTransferAmount: 1
-    maxTransferAmount: 20
+        maxVol: 100
   - type: FitsInDispenser
     solution: drink
   - type: Sprite
-    sprite: Objects/Consumable/Drinks/jigger.rsi
+    sprite: Objects/Consumable/Drinks/shaker.rsi
     state: icon
+  - type: Item
+    sprite: Objects/Consumable/Drinks/shaker.rsi
   - type: PhysicalComposition
     materialComposition:
-      Steel: 20
+      Steel: 50
+  - type: Shakeable
+  - type: ReactionMixer
+    mixOnInteract: false
+    reactionTypes:
+    - Shake
 
 - type: entity
   parent: DrinkBase
-  id: DrinkIceBucket
-  name: ice bucket
-  description: A special bucket of refreshy ice. Prohibited use for challenge with the same name!
+  id: DrinkJigger
+  name: jigger
+  description: Like a shaker, but smaller. Used to control the amount of ingredients.
   components:
   - type: SolutionContainerManager
     solutions:
       drink:
-        reagents:
-        - ReagentId: Ice
-          Quantity: 200
+        maxVol: 20
+  - type: SolutionTransfer
+    canChangeTransferAmount: true
+    minTransferAmount: 1
+    maxTransferAmount: 20
+  - type: FitsInDispenser
+    solution: drink
   - type: Sprite
-    sprite: Objects/Consumable/Drinks/icebucket.rsi
+    sprite: Objects/Consumable/Drinks/jigger.rsi
     state: icon
   - type: PhysicalComposition
     materialComposition:
-      Steel: 75
+      Steel: 20
 
 - type: entity
   parent: DrinkBase
       Steel: 300
   - type: FitsInDispenser
     solution: drink
+
+# Weird empty shakes
+
+- 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
index 134a0c27d23d626693f23205cedc871e3b2ac608..4f7aeeb99293b70b7083953cb24cb2ae8abeaeab 100644 (file)
@@ -1,4 +1,5 @@
-# These can still be used as containers
+# File for containers like bottles or milk jugs that are empty
+
 - type: entity
   abstract: true
   parent: [ BaseDrinkOpenableOpen, BaseDrinkEmptyTrash ]
 
 - type: entity
   abstract: true
-  parent: [ BaseDrinkOpenableOpen, BaseDrinkEmptyTrash, DrinkCartonBaseFull ]
+  parent: [ BaseDrinkOpenableOpen, BaseDrinkEmptyTrash ]
   id: DrinkCartonBaseEmpty
+  components:
+  - type: SolutionContainerManager
+    solutions:
+      drink:
+        maxVol: 50
 
 - type: entity
   abstract: true
-  parent: [ BaseDrinkOpenableOpen, BaseDrinkEmptyTrash, DrinkCartonBaseLargeFull ]
+  parent: [ BaseDrinkOpenableOpen, BaseDrinkEmptyTrash ]
   id: DrinkCartonBaseLargeEmpty
+  components:
+  - type: SolutionContainerManager
+    solutions:
+      drink:
+        maxVol: 100
 
 # Small bottles