Chemistry revamp and bartending features

-Ability to mix drinks to create cocktails with shiny icons
-New Chemistry System which can relay chemistry events to corresponding components
-moved some solution logic from Shared to Server
-fixed some weird stuff with DrinkComponent
This commit is contained in:
Injazz
2020-04-08 15:53:15 +05:00
parent 45e9be43ef
commit d400f77129
24 changed files with 822 additions and 1270 deletions

View File

@@ -18,3 +18,7 @@
- chem.Ale
- chem.Wine
- chem.Ice
- chem.Beer
- chem.Vodka
- chem.Cognac
- chem.Kahlua

View File

@@ -37,3 +37,4 @@
- chem.K
- chem.Ra
- chem.Na
- chem.U

View File

@@ -19,3 +19,4 @@
- chem.Tea
- chem.Ice
- chem.H2O
- chem.Cream

File diff suppressed because it is too large Load Diff

View File

@@ -5,12 +5,6 @@
description: One sip of this and you just know you're gonna have a good time.
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottleAbsinthe
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- type: Sprite
sprite: Objects/Drinks/absinthebottle.rsi
- type: Icon
@@ -23,12 +17,6 @@
description: A bottle of 46 proof Emeraldine Melon Liquor. Sweet and light.
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottleAlcoClear
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- type: Sprite
sprite: Objects/Drinks/alco-green.rsi
- type: Icon
@@ -40,13 +28,12 @@
name: Magm-Ale
description: A true dorf's drink of choice.
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottleAle
- type: Solution
maxVol: 80
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- ReagentId: chem.Ale
Quantity: 80
- type: Sprite
sprite: Objects/Drinks/alebottle.rsi
- type: Icon
@@ -59,12 +46,6 @@
description: A bottle filled with nothing
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottleAlcoClear
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- type: Sprite
sprite: Objects/Drinks/bottleofnothing.rsi
- type: Icon
@@ -76,13 +57,12 @@
name: Cognac bottle
description: A sweet and strongly alchoholic drink, made after numerous distillations and years of maturing. You might as well not scream 'SHITCURITY' this time.
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottleCognac
- type: Solution
maxVol: 80
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- ReagentId: chem.Cognac
Quantity: 80
- type: Sprite
sprite: Objects/Drinks/cognacbottle.rsi
- type: Icon
@@ -95,12 +75,6 @@
description: A bottle of high quality gin, produced in the New London Space Station.
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottleGin
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- type: Sprite
sprite: Objects/Drinks/ginbottle.rsi
- type: Icon
@@ -113,12 +87,6 @@
description: 100 proof cinnamon schnapps, made for alcoholic teen girls on spring break.
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottleGoldschlager
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- type: Sprite
sprite: Objects/Drinks/goldschlagerbottle.rsi
- type: Icon
@@ -130,13 +98,12 @@
name: Kahlua bottle
description: A widely known, Mexican coffee-flavoured liqueur. In production since 1936, HONK
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottleKahlua
- type: Solution
maxVol: 80
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
Quantity: 80
- type: Sprite
sprite: Objects/Drinks/kahluabottle.rsi
- type: Icon
@@ -149,12 +116,6 @@
description: Silver laced tequilla, served in space night clubs across the galaxy.
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottlePatron
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- type: Sprite
sprite: Objects/Drinks/patronbottle.rsi
- type: Icon
@@ -167,12 +128,6 @@
description: What a delightful packaging for a surely high quality wine! The vintage must be amazing!
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottlePoisonWine
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- type: Sprite
sprite: Objects/Drinks/pwinebottle.rsi
- type: Icon
@@ -185,12 +140,6 @@
description: This isn't just rum, oh no. It's practically GRIFF in a bottle.
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottleRum
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- type: Sprite
sprite: Objects/Drinks/rumbottle.rsi
- type: Icon
@@ -203,12 +152,6 @@
description: Made from premium petroleum distillates, pure thalidomide and other fine quality ingredients!
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottleTequila
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- type: Sprite
sprite: Objects/Drinks/tequillabottle.rsi
- type: Icon
@@ -221,12 +164,6 @@
description: Sweet, sweet dryness~
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottleVermouth
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- type: Sprite
sprite: Objects/Drinks/vermouthbottle.rsi
- type: Icon
@@ -238,13 +175,12 @@
name: Vodka bottle
description: Aah, vodka. Prime choice of drink AND fuel by Russians worldwide.
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottleVodka
- type: Solution
maxVol: 80
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- ReagentId: chem.Vodka
Quantity: 80
- type: Sprite
sprite: Objects/Drinks/vodkabottle.rsi
- type: Icon
@@ -256,13 +192,12 @@
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: Drink
max_volume: 10
spawn_on_finish: DrinkBottleWhiskey
- type: Solution
maxVol: 80
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- ReagentId: chem.Whiskey
Quantity: 80
- type: Sprite
sprite: Objects/Drinks/whiskeybottle.rsi
- type: Icon
@@ -274,13 +209,12 @@
name: Doublebearded bearded special wine bottle
description: A faint aura of unease and asspainery surrounds the bottle.
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottleWine
- type: Solution
maxVol: 80
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- ReagentId: chem.Wine
Quantity: 80
- type: Sprite
sprite: Objects/Drinks/winebottle.rsi
- type: Icon

View File

@@ -30,11 +30,12 @@
name: Space cola
description: A refreshing beverage.
components:
- type: Drink
- type: Solution
maxVol: 20
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 4
- ReagentId: chem.Cola
Quantity: 20
- type: Sprite
sprite: Objects/Drinks/cola.rsi
- type: Icon
@@ -62,10 +63,6 @@
description: ''
components:
- type: Drink
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 4
- type: Sprite
sprite: Objects/Drinks/ice_tea_can.rsi
- type: Icon
@@ -93,10 +90,6 @@
description: You wanted ORANGE. It gave you Lemon Lime.
components:
- type: Drink
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 4
- type: Sprite
sprite: Objects/Drinks/lemon-lime.rsi
- type: Icon
@@ -124,10 +117,6 @@
description: ''
components:
- type: Drink
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 4
- type: Sprite
sprite: Objects/Drinks/purple_can.rsi
- type: Icon
@@ -155,10 +144,6 @@
description: Blows right through you like a space wind.
components:
- type: Drink
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 4
- type: Sprite
sprite: Objects/Drinks/space_mountain_wind.rsi
- type: Icon
@@ -186,10 +171,6 @@
description: Tastes like a hull breach in your mouth.
components:
- type: Drink
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 4
- type: Sprite
sprite: Objects/Drinks/space-up.rsi
- type: Icon
@@ -217,10 +198,6 @@
description: The taste of a star in liquid form. And, a bit of tuna...?
components:
- type: Drink
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 4
- type: Sprite
sprite: Objects/Drinks/starkist.rsi
- type: Icon
@@ -248,10 +225,6 @@
description: The MBO has advised crew members that consumption of Thirteen Loko may result in seizures, blindness, drunkeness, or even death. Please Drink Responsibly.
components:
- type: Drink
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 4
- type: Sprite
sprite: Objects/Drinks/thirteen_loko.rsi
- type: Icon

View File

@@ -5,8 +5,11 @@
name: Base cup
abstract: true
components:
- type: Solution
maxVol: 20
- type: Pourable
transferAmount: 5
- type: Drink
max_volume: 4
despawn_empty: false
- type: Sound
- type: Sprite
@@ -20,8 +23,8 @@
name: Golden cup
description: A golden cup
components:
- type: Drink
max_volume: 10
- type: Solution
maxVol: 10
- type: Sprite
sprite: Objects/Drinks/golden_cup.rsi
- type: Icon
@@ -33,8 +36,8 @@
name: Insulated pitcher
description: A stainless steel insulated pitcher. Everyone's best friend in the morning.
components:
- type: Drink
max_volume: 15
- type: Solution
maxVol: 15
- type: Sprite
sprite: Objects/Drinks/pitcher.rsi
state: icon-6
@@ -52,8 +55,8 @@
name: Mug
description: A plain white mug.
components:
- type: Drink
max_volume: 4
- type: Solution
maxVol: 10
- type: Sprite
sprite: Objects/Drinks/mug.rsi
state: icon-3
@@ -71,8 +74,8 @@
name: Mug Black
description: A sleek black mug.
components:
- type: Drink
max_volume: 4
- type: Solution
maxVol: 10
- type: Sprite
sprite: Objects/Drinks/mug_black.rsi
state: icon-3
@@ -90,8 +93,8 @@
name: Mug Blue
description: A blue and black mug.
components:
- type: Drink
max_volume: 4
- type: Solution
maxVol: 10
- type: Sprite
sprite: Objects/Drinks/mug_blue.rsi
state: icon-3
@@ -109,8 +112,8 @@
name: Mug Green
description: A pale green and pink mug.
components:
- type: Drink
max_volume: 4
- type: Solution
maxVol: 10
- type: Sprite
sprite: Objects/Drinks/mug_green.rsi
state: icon-3
@@ -128,8 +131,8 @@
name: Mug Heart
description: A white mug, it prominently features a red heart.
components:
- type: Drink
max_volume: 4
- type: Solution
maxVol: 10
- type: Sprite
sprite: Objects/Drinks/mug_heart.rsi
state: icon-3
@@ -147,8 +150,8 @@
name: Mug Metal
description: A metal mug. You're not sure which metal.
components:
- type: Drink
max_volume: 4
- type: Solution
maxVol: 10
- type: Sprite
sprite: Objects/Drinks/mug_metal.rsi
state: icon-3
@@ -166,8 +169,8 @@
name: Mug Moebius
description: A mug with a Moebius Laboratories logo on it. Not even your morning coffee is safe from corporate advertising.
components:
- type: Drink
max_volume: 4
- type: Solution
maxVol: 10
- type: Sprite
sprite: Objects/Drinks/mug_moebius.rsi
state: icon-3
@@ -185,8 +188,8 @@
name: "#1 mug"
description: "A white mug, it prominently features a #1."
components:
- type: Drink
max_volume: 4
- type: Solution
maxVol: 10
- type: Sprite
sprite: Objects/Drinks/mug_one.rsi
state: icon-3
@@ -204,8 +207,8 @@
name: Mug Rainbow
description: A rainbow mug. The colors are almost as blinding as a welder.
components:
- type: Drink
max_volume: 4
- type: Solution
maxVol: 10
- type: Sprite
sprite: Objects/Drinks/mug_rainbow.rsi
state: icon-3
@@ -223,8 +226,8 @@
name: Mug Red
description: A red and black mug.
components:
- type: Drink
max_volume: 4
- type: Solution
maxVol: 10
- type: Sprite
sprite: Objects/Drinks/mug_red.rsi
state: icon-3

View File

@@ -10,13 +10,12 @@
state: icon
- type: Icon
state: icon
- type: Solution
maxVol: 10
- type: Pourable
transferAmount: 5
- type: Drink
despawn_empty: false
max_volume: 10
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 0
# Containers
- type: entity
@@ -89,19 +88,6 @@
- type: Icon
sprite: Objects/TrashDrinks/ginbottle_empty.rsi
# Couldn't think of a nice place to put this
- type: entity
name: Empty glass
parent: DrinkBottleBase
id: DrinkEmptyGlass
components:
- type: Sprite
sprite: Objects/TrashDrinks/alebottle_empty.rsi
- type: Icon
sprite: Objects/TrashDrinks/alebottle_empty.rsi
- type: Solution
max_volume: 4
- type: entity
name: Goldschlager bottle
parent: DrinkBottleBase

View File

@@ -14,11 +14,14 @@
- type: Hunger
- type: Thirst
# Organs
- type: Stomach
maxVolume: 100
digestionDelay: 20
- type: Solution
maxVol: 250
- type: Bloodstream
maxVolume: 250
max_volume: 100
- type: Stomach
max_volume: 250
digestionDelay: 20
- type: Inventory
- type: Constructor

View File

@@ -0,0 +1,103 @@
- type: reaction
id: react.ManlyDorf
reactants:
chem.Beer:
amount: 1
chem.Ale:
amount: 2
products:
chem.ManlyDorf: 3
- type: reaction
id: react.CubaLibre
reactants:
chem.Cola:
amount: 1
chem.Rum:
amount: 2
products:
chem.CubaLibre: 3
- type: reaction
id: react.IrishCream
reactants:
chem.Cream:
amount: 1
chem.Whiskey:
amount: 2
products:
chem.IrishCream: 3
- type: reaction
id: react.IrishCoffee
reactants:
chem.IrishCream:
amount: 2
chem.Coffee:
amount: 2
products:
chem.IrishCoffee: 4
- type: reaction
id: react.IrishCarBomb
reactants:
chem.IrishCream:
amount: 1
chem.Ale:
amount: 1
products:
chem.IrishCarBomb: 2
- type: reaction
id: react.B52
reactants:
chem.IrishCarBomb:
amount: 1
chem.Kahlua:
amount: 1
chem.Cognac:
amount: 1
products:
chem.B52: 3
- type: reaction
id: react.AtomicBomb
reactants:
chem.B52:
amount: 10
chem.U:
amount: 1
products:
chem.AtomicBomb: 11
- type: reaction
id: react.WhiskeyCola
reactants:
chem.Whiskey:
amount: 2
chem.Cola:
amount: 1
products:
chem.WhiskeyCola: 3
- type: reaction
id: react.SyndicateBomb
reactants:
chem.WhiskeyCola:
amount: 1
chem.Beer:
amount: 1
products:
chem.SyndicateBomb: 2
- type: reaction
id: react.Antifreeze
reactants:
chem.Vodka:
amount: 2
chem.Cream:
amount: 1
chem.Ice:
amount: 1
products:
chem.Antifreeze: 4

View File

@@ -2,16 +2,103 @@
id: chem.Whiskey
name: Whiskey
desc: An alcoholic beverage made from fermented grain mash
spritePath: whiskeyglass.rsi
- type: reagent
id: chem.Ale
name: Ale
desc: A type of beer brewed using a warm fermentation method, resulting in a sweet, full-bodied and fruity taste.
spritePath: aleglass.rsi
- type: reagent
id: chem.Wine
name: Wine
desc: An alcoholic drink made from fermented grapes
spritePath: wineglass.rsi
- type: reagent
id: chem.Beer
name: Beer
desc: A cold pint of pale lager.
spritePath: beerglass.rsi
- type: reagent
id: chem.Vodka
name: Vodka
desc: The glass contain wodka. Xynta.
- type: reagent
id: chem.Kahlua
name: Kahlua
desc: A widely known, Mexican coffee-flavoured liqueur. In production since 1936!
spritePath: kahluaglass.rsi
- type: reagent
id: chem.Cognac
name: Cognac
desc: A sweet and strongly alcoholic drink, twice distilled and left to mature for several years. Classy as fornication.
spritePath: cognacglass.rsi
- type: reagent
id: chem.ManlyDorf
name: Manly Dorf
desc: A dwarfy concoction made from ale and beer. Intended for stout dwarves only.
spritePath: manlydorfglass.rsi
- type: reagent
id: chem.CubaLibre
name: Cuba Libre
desc: A classic mix of rum and cola.
spritePath: cubalibreglass.rsi
- type: reagent
id: chem.IrishCarBomb
name: Irish Car Bomb
desc: A troubling mixture of irish cream and ale.
spritePath: irishcarbomb.rsi
- type: reagent
id: chem.IrishCoffee
name: Irish Coffee
desc: Coffee served with irish cream. Regular cream just isn't the same!
spritePath: irishcoffeeglass.rsi
- type: reagent
id: chem.IrishCream
name: Irish Cream
desc: Whiskey-imbued cream. What else could you expect from the Irish.
spritePath: irishcreamglass.rsi
- type: reagent
id: chem.B52
name: B-52
desc: Coffee, irish cream, and cognac. You will get bombed.
spritePath: b52glass.rsi
- type: reagent
id: chem.AtomicBomb
name: Atomic Bomb
desc: Nuclear proliferation never tasted so good.
spritePath: atomicbombglass.rsi
- type: reagent
id: chem.WhiskeyCola
name: Whiskey Cola
desc: An innocent-looking mixture of cola and whiskey. Delicious.
spritePath: whiskeycolaglass.rsi
- type: reagent
id: chem.SyndicateBomb
name: Syndicate Bomb
desc: Somebody set us up the bomb!
spritePath: syndicatebomb.rsi
- type: reagent
id: chem.Antifreeze
name: Antifreeze
desc: The ultimate refreshment.
spritePath: antifreeze.rsi
- type: reagent
id: chem.Cola
@@ -36,3 +123,19 @@
metabolism:
- !type:DefaultDrink
rate: 1
- type: reagent
id: chem.Cream
name: Cream
desc: The fatty, still liquid part of milk. Why don't you mix this with sum scotch, eh?
metabolism:
- !type:DefaultDrink
rate: 1
- type: reagent
id: chem.Milk
name: Milk
desc: An opaque white liquid produced by the mammary glands of mammals.
metabolism:
- !type:DefaultDrink
rate: 1

View File

@@ -95,3 +95,9 @@
name: Sodium
desc: A silvery-white alkali metal. Highly reactive in it's pure form.
color: "#c6c8cc"
- type: reagent
id: chem.U
name: Uranium
desc: A silvery-white metallic chemical element in the actinide series, weakly radioactive.
color: "#00ff06"