whole lotta stuff

This commit is contained in:
Metis
2024-09-12 23:53:35 -04:00
parent f268e5655f
commit 8fd779ef02
232 changed files with 8793 additions and 0 deletions
@@ -0,0 +1,149 @@
//we'll put funky non-toxic chems here
//fattening chem
/datum/reagent/consumable/lipoifier
name = "Lipoifier"
description = "A very potent chemical that causes those that ingest it to build up fat cells quickly."
taste_description = "lard"
reagent_state = LIQUID
color = "#e2e1b1"
metabolization_rate = 0.5 * REAGENTS_METABOLISM
/datum/reagent/consumable/lipoifier/on_mob_life(mob/living/carbon/M)
M.adjust_fatness(15, FATTENING_TYPE_CHEM)
return ..()
//BURPY CHEM
/datum/reagent/consumable/fizulphite
name = "Fizulphite"
description = "A strange chemical that produces large amounts of gas when in contact with organic, typically fleshy environments."
color = "#4cffed" // rgb: 102, 99, 0
reagent_state = LIQUID
taste_description = "fizziness"
metabolization_rate = 2 * REAGENTS_METABOLISM
/datum/reagent/consumable/fizulphite/on_mob_life(mob/living/carbon/M)
if(M && M?.client?.prefs.weight_gain_chems)
M.burpslurring = max(M.burpslurring,50)
M.burpslurring += 2
else
M.burpslurring += 0
..()
//ANTI-BURPY CHEM
/datum/reagent/consumable/extilphite
name = "Extilphite"
description = "A very useful chemical that helps soothe bloated stomachs."
color = "#2aed96"
reagent_state = LIQUID
taste_description = "smoothness"
metabolization_rate = 0.8 * REAGENTS_METABOLISM
/datum/reagent/consumable/extilphite/on_mob_life(mob/living/carbon/M)
if(M && M?.client?.prefs.weight_gain_chems)
M.burpslurring -= 3
else
M.burpslurring -= 0
if(M.fullness>10)
M.fullness -= 6
else
M.fullness -= 0
..()
//FARTY CHEM
/datum/reagent/consumable/flatulose
name = "Flatulose"
description = "A sugar largely indigestible to most known organic organisms. Causes frequent flatulence."
color = "#634500"
reagent_state = LIQUID
taste_description = "sulfury sweetness"
metabolization_rate = 0.5 * REAGENTS_METABOLISM //Done by Zestyspy, Jan 2023
/datum/reagent/consumable/flatulose/on_mob_life(mob/living/carbon/M)
if(M && M?.client?.prefs.weight_gain_chems)
if(M.reagents.get_reagent_amount(/datum/reagent/consumable/flatulose) < 1)
to_chat(M,"<span class='notice'>You feel substantially bloated...</span>")
if(M.reagents.get_reagent_amount(/datum/reagent/consumable/flatulose) > 3)
to_chat(M,"<span class='notice'>You feel pretty gassy...</span>")
M.emote(pick("brap","fart")) // we gotta categorize this into "slob" category or something later! - GDLW2
..()
else
return ..()
// calorite blessing chem, used in the golem ability
/datum/reagent/consumable/caloriteblessing
name = "Calorite blessing"
description = "A strange, viscous liquid derived from calorite. It is said to have physically enhancing properties surprisingly unrelated to weight gain when consumed"
color = "#eb6e00"
reagent_state = LIQUID
taste_description = "sweet salvation"
metabolization_rate = 0.5 * REAGENTS_METABOLISM
/datum/reagent/consumable/caloriteblessing/on_mob_metabolize(mob/living/L)
..()
ADD_TRAIT(L, TRAIT_GOTTAGOFAST, type)
/datum/reagent/consumable/caloriteblessing/on_mob_end_metabolize(mob/living/L)
REMOVE_TRAIT(L, TRAIT_GOTTAGOFAST, type)
..()
//BLUEBERRY CHEM - ONLY CHANGES PLAYER'S COLOR AND NOTHING MORE
/datum/reagent/blueberry_juice
name = "Blueberry Juice"
description = "Totally infectious."
reagent_state = LIQUID
metabolization_rate = 0.25 * REAGENTS_METABOLISM
color = "#0004ff"
var/picked_color
var/list/random_color_list = list("#0058db","#5d00c7","#0004ff","#0057e7")
taste_description = "blueberry pie"
var/no_mob_color = FALSE
value = 10 //it sells. Make that berry factory
/datum/reagent/blueberry_juice/on_mob_life(mob/living/carbon/M)
if(M?.client)
if(!(M?.client?.prefs?.blueberry_inflation))
M.reagents.remove_reagent(/datum/reagent/blueberry_juice, volume)
return
if(!no_mob_color)
M.add_atom_colour(picked_color, WASHABLE_COLOUR_PRIORITY)
M.adjust_fatness(1, FATTENING_TYPE_CHEM)
..()
/datum/reagent/blueberry_juice/on_mob_add(mob/living/L, amount)
if(iscarbon(L))
var/mob/living/carbon/affected_mob = L
if(!affected_mob?.client || !(affected_mob?.client?.prefs?.blueberry_inflation))
affected_mob.reagents.remove_reagent(/datum/reagent/blueberry_juice, volume)
return
picked_color = pick(random_color_list)
affected_mob.hider_add(src)
else
L.reagents.remove_reagent(/datum/reagent/blueberry_juice, volume)
..()
/datum/reagent/blueberry_juice/on_mob_delete(mob/living/L)
if(!iscarbon(L))
return
var/mob/living/carbon/C = L
C.hider_remove(src)
/datum/reagent/blueberry_juice/proc/fat_hide()
return (124 * (volume * volume))/1000 //123'840 600% size, about 56'000 400% size, calc was: (3 * (volume * volume))/50
// /obj/item/reagent_containers/food/snacks/meat/steak/troll
// name = "Troll steak"
// desc = "In its sliced state it remains dormant, but once the troll meat comes in contact with stomach acids, it begins a perpetual cycle of constant regrowth and digestion. You probably shouldn't eat this."
// var/hunger_threshold = NUTRITION_LEVEL_FULL
// var/nutrition_amount = 20 // somewhere around 5 pounds
// var/fullness_to_add = 10
// var/message = "<span class='notice'>You feel fuller...</span>" // GS13
@@ -0,0 +1,28 @@
///GS13 drinks!
/datum/reagent/consumable/ethanol/oily_oafs
name = "Oily oafs"
description = "The oily oaf. while it isn't as strong as some of the other drinks on station, Its buttery aftertaste and affordability make it a staple of any good miner's diet."
color = "#ffc75f"
boozepwr = 30
taste_description = "rich butter and red sugar"
//quality = DRINK_NICE we need to get drink quality implemented in our drink files -Eye
glass_icon_state = "oily_oafs"
glass_name = "oily oafs"
glass_desc = "The oily oaf. A dwarvern classic beloved by miners around the cosmos."
shot_glass_icon_state = "shotglassbrown"
pH = 4.5
value = 0.1
/datum/reagent/consumable/ethanol/glyphid_slammer
name = "Glyphid slammer"
description = "A mixture of strong beer and energy drink. How it manages to be as strong as it is baffles scientists to this day"
color = "#FF8A33"
boozepwr = 60
taste_description = "Cheap booze and adventure"
glass_icon_state = "glyphid_slammer"
glass_name = "Glyphid slammer"
glass_desc = "A bold mixture of cheap energy drink, and even cheaper ale. Beloved by partygoers and daredevils across the galaxy. Beloathed by bugpeople"
shot_glass_icon_state = "shotglassbrown"
pH = 4.5
value = 0.1
@@ -0,0 +1,159 @@
//GS13 weight gain drinks
/datum/reagent/consumable/ethanol/belly_bloats
name = "Belly Bloats"
description = "A classic of this sector that bloats the waistline. Hard to stop chugging once you start."
color = "#FF3333"
boozepwr = 25
taste_description = "a heavy mix of cherry and beer"
quality = DRINK_GOOD
glass_icon_state = "belly_bloats"
glass_name = "belly bloats"
glass_desc = "The perfect mix to be big and merry with."
shot_glass_icon_state = "shotglassbrown"
hydration = 3
/datum/reagent/consumable/ethanol/belly_bloats/on_mob_life(mob/living/carbon/M)
if(M && M?.client?.prefs.weight_gain_food) // GS13
M.nutrition += 15 * REAGENTS_METABOLISM
else
M.nutrition += 1
..()
/datum/reagent/consumable/ethanol/blobby_mary
name = "Blobby Mary"
description = "A bloody mary that may make you immobile. Still wondering if it's blood or tomato juice?"
color = "#C2707E"
boozepwr = 55
taste_description = "tomateos and an anvil on your stomach"
quality = DRINK_FANTASTIC
glass_icon_state = "blobby_mary"
glass_name = "blobby mary"
glass_desc = "For the morbidly obese ladies and gentlemen."
shot_glass_icon_state = "shotglassred"
hydration = 4
/datum/reagent/consumable/ethanol/blobby_mary/on_mob_life(mob/living/carbon/M)
if(M && M?.client?.prefs.weight_gain_food) // GS13
M.nutrition += 25 * REAGENTS_METABOLISM
else
M.nutrition += 1
..()
/datum/reagent/consumable/ethanol/beltbuster_mead
name = "Beltbuster Mead"
description = "Kiss sobriety and clothes goodbye."
color = "#664300"
boozepwr = 85
taste_description = "honey, alcohol and immobility"
quality = DRINK_FANTASTIC
glass_icon_state = "beltbuster_mead"
glass_name = "beltbuster mead"
glass_desc = "The ambrosia of the blubbery gods."
shot_glass_icon_state = "shotglassgold"
hydration = 4
/datum/reagent/consumable/ethanol/beltbuster_mead/on_mob_life(mob/living/carbon/M)
if(M && M?.client?.prefs.weight_gain_food) // GS13
M.nutrition += 30 * REAGENTS_METABOLISM
else
M.nutrition += 1
..()
/datum/reagent/consumable/heavy_cafe
name = "Heavy Cafe"
description = "Coffee, milk, sugar and cream. For the days when you really don't want to work."
color = "#663300"
taste_description = "coffee, milk and sugar"
quality = DRINK_GOOD
glass_icon_state = "heavy_cafe"
glass_name = "heavy cafe"
glass_desc = "To enjoy slow mornings with."
shot_glass_icon_state = "shotglassbrown"
hydration = 3
/datum/reagent/consumable/heavy_cafe/on_mob_life(mob/living/carbon/M)
M.dizziness = max(0,M.dizziness-5)
M.drowsyness = max(0,M.drowsyness-3)
M.SetSleeping(0, FALSE)
M.adjust_bodytemperature(5 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, BODYTEMP_NORMAL)
M.Jitter(5)
if(M.getBruteLoss() && prob(20))
M.heal_bodypart_damage(1,0, 0)
if(M && M?.client?.prefs.weight_gain_food) // GS13
M.nutrition += 15 * REAGENTS_METABOLISM
else
M.nutrition += 1
..()
/datum/reagent/consumable/fruits_tea
name = "Fruits Tea"
description = "Somehow this mix of fruits and tea can cause considerable bulking."
color = "#FFCC33"
taste_description = "a sweet and sour mix"
quality = DRINK_NICE
glass_icon_state = "fruits_tea"
glass_name = "fruits tea"
glass_desc = "Goes down really easy and stays there for a long time."
shot_glass_icon_state = "shotglassgold"
hydration = 4
/datum/reagent/consumable/fruits_tea/on_mob_life(mob/living/carbon/M)
M.dizziness = max(0,M.dizziness-2)
M.drowsyness = max(0,M.drowsyness-1)
M.jitteriness = max(0,M.jitteriness-3)
M.AdjustSleeping(-20, FALSE)
if(M.getToxLoss() && prob(20))
M.adjustToxLoss(-1, 0)
M.adjust_bodytemperature(20 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, BODYTEMP_NORMAL)
if(M && M?.client?.prefs.weight_gain_food) // GS13
M.nutrition += 15 * REAGENTS_METABOLISM
else
M.nutrition += 1
..()
. = 1
/datum/reagent/consumable/snakebite
name = "Snakebite"
description = "Guaranteed to stop 100% of all moving."
color = "#00CC33"
taste_description = "bitter immobility"
quality = DRINK_VERYGOOD
glass_icon_state = "snakebite"
glass_name = "snakebite"
glass_desc = "Won't hurt like a real bite, but you'll still regert drinking this."
shot_glass_icon_state = "shotglassgreen"
hydration = 4
/datum/reagent/consumable/snakebite/on_mob_life(mob/living/carbon/M)
if(M && M?.client?.prefs.weight_gain_food) // GS13
M.nutrition += 25 * REAGENTS_METABOLISM
else
M.nutrition += 1
..()
/datum/reagent/consumable/milkshake_vanilla
name = "Vanilla Milkshake"
description = "A plain vanilla milkshake. A classic."
color = "#DFDFDF"
taste_description = "creamy vanilla"
quality = DRINK_VERYGOOD
nutriment_factor = 6 * REAGENTS_METABOLISM
glass_icon_state = "milkshake_vanilla"
glass_name = "vanilla milkshake"
glass_desc = "Guess they fixed the milkshake machine after all, huh?"
shot_glass_icon_state = "shotglasscream"
hydration = 3
/datum/reagent/consumable/milkshake_chocolate
name = "Chocolate Milkshake"
description = "It's like chocolate milk, but for even cooler kids."
color = "#7D4E29"
taste_description = "creamy chocolate"
quality = DRINK_VERYGOOD
nutriment_factor = 8 * REAGENTS_METABOLISM
glass_icon_state = "milkshake_chocolate"
glass_name = "chocolate milkshake"
glass_desc = "Nothing better than cream AND cocoa!"
shot_glass_icon_state = "shotglassbrown"
hydration = 3
@@ -0,0 +1,196 @@
//Reagent
/datum/reagent/fermi_fat
name = "Galbanic Compound"
description = "A chemical compound derived from lipoifier. Massively increases adipose mass and parts of it become impossible to shed through normal means."
color = "#E70C0C"
taste_description = "hunger"
pH = 7
overdose_threshold = 50
metabolization_rate = REAGENTS_METABOLISM / 4
can_synth = FALSE //DO NOT MAKE THIS SNYTHESIZABLE, THESE CHEMS ARE SUPPOSED TO NOT BE USED COMMONLY
overdose_threshold = 50
addiction_threshold = 100
addiction_stage1_end = 10
addiction_stage2_end = 30
addiction_stage3_end = 60
addiction_stage4_end = 100
var/addiction_mults = 0
//Reaction
/datum/chemical_reaction/fermi_fat
name = "FermiFat"
id = /datum/reagent/fermi_fat
mix_message = "the reaction appears to swell!"
required_reagents = list(/datum/reagent/consumable/lipoifier = 0.1, /datum/reagent/medicine/pen_acid = 0.1, /datum/reagent/iron = 0.1)
results = list(/datum/reagent/fermi_fat = 0.2)
required_temp = 1
OptimalTempMin = 700 // Lower area of bell curve for determining heat based rate reactions
OptimalTempMax = 740 // Upper end for above
ExplodeTemp = 755 // Temperature at which reaction explodes
OptimalpHMin = 2 // Lowest value of pH determining pH a 1 value for pH based rate reactions (Plateu phase)
OptimalpHMax = 3.5 // Higest value for above
ReactpHLim = 1 // How far out pH wil react, giving impurity place (Exponential phase)
CatalystFact = 0 // How much the catalyst affects the reaction (0 = no catalyst)
CurveSharpT = 4 // How sharp the temperature exponential curve is (to the power of value)
CurveSharppH = 4 // How sharp the pH exponential curve is (to the power of value)
ThermicConstant = -10 // Temperature change per 1u produced
HIonRelease = 0.02 // pH change per 1u reaction (inverse for some reason)
RateUpLim = 2 // Optimal/max rate possible if all conditions are perfect
FermiChem = TRUE // If the chemical uses the Fermichem reaction mechanics
FermiExplode = FALSE // If the chemical explodes in a special way
PurityMin = 0.1
//When added
/datum/reagent/fermi_fat/on_mob_add(mob/living/carbon/M)
. = ..()
if(iscarbon(M))
log_game("[M] ckey: [M.key] has ingested fermifat.")
//Effects
/datum/reagent/fermi_fat/on_mob_life(mob/living/carbon/M)
if(!iscarbon(M))
return..()
M.adjust_fatness(30, FATTENING_TYPE_CHEM)
M.adjust_perma(1, FATTENING_TYPE_CHEM)
..()
. = 1
//While overdosed
/datum/reagent/fermi_fat/overdose_process(mob/living/M)
if(!iscarbon(M))
return..()
var/mob/living/carbon/C = M
C.adjust_fatness(20, FATTENING_TYPE_CHEM)
C.adjust_perma(1, FATTENING_TYPE_CHEM)
..()
/datum/reagent/fermi_fat/overdose_start(mob/living/M)
to_chat(M, "<span class='userdanger'>You took too much [name]! Your body is growing out of control!</span>")
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[type]_overdose", /datum/mood_event/overdose, name)
return
/datum/reagent/fermi_fat/addiction_act_stage1(mob/living/M)
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[type]_overdose", /datum/mood_event/withdrawal_light, name)
if(prob(30))
var/add_text = pick("You feel pretty hungry.", "You think of [name].", "Your look around for food.", "[name] wasn't so bad.")
to_chat(M, "<span class='notice'>[add_text]</span>")
if(iscarbon(M))
var/mob/living/carbon/C = M
C.adjust_fatness(1, FATTENING_TYPE_CHEM)
C.fullness = max(0, C.fullness-1)
C.nutrition = max(0, C.nutrition-1)
if(addiction_mults < 1)
C.nutri_mult += 0.5
C.weight_gain_rate += 0.25
addiction_mults = 1
return
/datum/reagent/fermi_fat/addiction_act_stage2(mob/living/M)
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[type]_overdose", /datum/mood_event/withdrawal_medium, name)
if(prob(30))
var/add_text = pick("You are very hungry.", "You could go for some [name].", "Your mouth waters.", "Is there any [name] around?")
to_chat(M, "<span class='notice'>[add_text]</span>")
if(iscarbon(M))
var/mob/living/carbon/C = M
C.adjust_fatness(2, FATTENING_TYPE_CHEM)
C.fullness = max(0, C.fullness-2)
C.nutrition = max(0, C.nutrition-2)
if(addiction_mults < 2)
C.nutri_mult += 0.5
C.weight_gain_rate += 0.25
addiction_mults = 2
return
/datum/reagent/fermi_fat/addiction_act_stage3(mob/living/M)
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[type]_overdose", /datum/mood_event/withdrawal_severe, name)
if(prob(30))
var/add_text = pick("You are starving!", "You need some [name]!", "Your stomach growls loudly!.", "You can't stop thinking about [name]")
to_chat(M, "<span class='danger'>[add_text]</span>")
if(iscarbon(M))
var/mob/living/carbon/C = M
C.adjust_fatness(3, FATTENING_TYPE_CHEM)
C.fullness = max(0, C.fullness-3)
C.nutrition = max(0, C.nutrition-3)
if(addiction_mults < 3)
C.nutri_mult += 0.5
C.weight_gain_rate += 0.25
addiction_mults = 3
return
/datum/reagent/fermi_fat/addiction_act_stage4(mob/living/M)
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[type]_overdose", /datum/mood_event/withdrawal_critical, name)
if(prob(30))
var/add_text = pick("You are ravenous!!", "You need [name] NOW!!", "You'd eat ANYTHING!!", "Where is the [name]?!", "Hungry, hungry, so HUNGRY!!", "More, you need more!!")
to_chat(M, "<span class='boldannounce'>[add_text]</span>")
if(iscarbon(M))
var/mob/living/carbon/C = M
C.adjust_fatness(4, FATTENING_TYPE_CHEM)
C.fullness = max(0, C.fullness-4)
C.nutrition = max(0, C.nutrition-4)
if(addiction_mults < 4)
C.nutri_mult += 0.5
C.weight_gain_rate += 0.25
addiction_mults = 4
return
/datum/reagent/fermi_fat/proc/addiction_remove(mob/living/carbon/C)
if(addiction_mults > 0)
C.nutri_mult = max(1, 0.5 * addiction_mults)
C.weight_gain_rate = max(0,11, 0.25 * addiction_mults)
return
//Reagent
/datum/reagent/fermi_slim
name = "Macerinic Solution"
description = "A solution with unparalleled obesity-solving properties. One of the few things known to be capable of removing galbanic fat."
color = "#3b0ce7"
taste_description = "thinness"
pH = 7
metabolization_rate = REAGENTS_METABOLISM / 4
can_synth = FALSE
overdose_threshold = 50
//Reaction
/datum/chemical_reaction/fermi_slim
name = "FermiSlim"
id = /datum/reagent/fermi_slim
mix_message = "the reaction seems to become thinner!"
required_reagents = list(/datum/reagent/medicine/lipolicide = 0.1, /datum/reagent/ammonia = 0.1, /datum/reagent/oxygen = 0.1)
results = list(/datum/reagent/fermi_slim = 0.2)
required_temp = 1
OptimalTempMin = 600 // Lower area of bell curve for determining heat based rate reactions
OptimalTempMax = 650 // Upper end for above
ExplodeTemp = 700 // Temperature at which reaction explodes
OptimalpHMin = 10 // Lowest value of pH determining pH a 1 value for pH based rate reactions (Plateu phase)
OptimalpHMax = 11.5 // Higest value for above
ReactpHLim = 1 // How far out pH wil react, giving impurity place (Exponential phase)
CatalystFact = 0 // How much the catalyst affects the reaction (0 = no catalyst)
CurveSharpT = 4 // How sharp the temperature exponential curve is (to the power of value)
CurveSharppH = 4 // How sharp the pH exponential curve is (to the power of value)
ThermicConstant = -10 // Temperature change per 1u produced
HIonRelease = -0.02 // pH change per 1u reaction (inverse for some reason)
RateUpLim = 2 // Optimal/max rate possible if all conditions are perfect
FermiChem = TRUE // If the chemical uses the Fermichem reaction mechanics
FermiExplode = FALSE // If the chemical explodes in a special way
PurityMin = 0.1
//Effects
/datum/reagent/fermi_slim/on_mob_life(mob/living/carbon/M)
if(!iscarbon(M))
return..()
M.adjust_fatness(-50, FATTENING_TYPE_WEIGHT_LOSS)
M.adjust_perma(-5, FATTENING_TYPE_WEIGHT_LOSS)
..()
. = 1
/datum/reagent/fermi_slim/overdose_process(mob/living/M)
if(!iscarbon(M))
return..()
var/mob/living/carbon/C = M
C.fullness = max(0, C.fullness-5)
C.nutrition = max(0, C.nutrition-5)
C.weight_loss_rate = min(5, C.weight_loss_rate+0.01)
..()
@@ -0,0 +1,14 @@
//DRG drinks
/datum/chemical_reaction/oily_oafs
name = "Oily oafs"
id = /datum/reagent/consumable/ethanol/oily_oafs
results = list(/datum/reagent/consumable/ethanol/oily_oafs = 2)
required_reagents = list(/datum/reagent/consumable/ethanol/beer = 1, /datum/reagent/consumable/cream = 1)
/datum/chemical_reaction/glyphid_slammer
name = "Glyphid slammer"
id = /datum/reagent/consumable/ethanol/glyphid_slammer
results = list(/datum/reagent/consumable/ethanol/glyphid_slammer = 2)
required_reagents = list(/datum/reagent/consumable/pwr_game = 1, /datum/reagent/consumable/ethanol/beer = 1)
@@ -0,0 +1,29 @@
//GS13 - fat chems
//WG chem
/datum/chemical_reaction/lipoifier
name = "lipoifier"
id = /datum/reagent/consumable/lipoifier
results = list(/datum/reagent/consumable/lipoifier = 3)
required_reagents = list(/datum/reagent/consumable/sugar = 1, /datum/reagent/consumable/cornoil = 1, /datum/reagent/medicine/synthflesh = 1)
//BURP CHEM
/datum/chemical_reaction/fizulphite
name = "fizulphite"
id = /datum/reagent/consumable/fizulphite
results = list(/datum/reagent/consumable/fizulphite = 5)
required_reagents = list(/datum/reagent/consumable/sugar = 1, /datum/reagent/nitrogen = 1, /datum/reagent/oxygen = 3)
//ANTI-BURP / ANTI-FULLNESS CHEM
/datum/chemical_reaction/extilphite
name = "extilphite"
id = /datum/reagent/consumable/extilphite
results = list(/datum/reagent/consumable/extilphite = 5)
required_reagents = list(/datum/reagent/consumable/sugar = 1, /datum/reagent/hydrogen = 2, /datum/reagent/carbon = 2)
// brap chem
/datum/chemical_reaction/flatulose
name = "flatulose"
id = /datum/reagent/consumable/flatulose
results = list(/datum/reagent/consumable/flatulose = 3)
required_reagents = list(/datum/reagent/consumable/sugar = 1, /datum/reagent/toxin/bad_food = 1, /datum/reagent/consumable/cream = 1)
@@ -0,0 +1,55 @@
//GS13 drink recipes
/datum/chemical_reaction/belly_bloats
name = "Belly Bloats"
id = /datum/reagent/consumable/ethanol/belly_bloats
results = list(/datum/reagent/consumable/ethanol/belly_bloats = 2)
required_reagents = list(/datum/reagent/consumable/gibbfloats = 1, /datum/reagent/consumable/ethanol/beer = 1)
/datum/chemical_reaction/blobby_mary
name = "Blobby Mary"
id = /datum/reagent/consumable/ethanol/blobby_mary
results = list(/datum/reagent/consumable/ethanol/blobby_mary = 3)
required_reagents = list(/datum/reagent/consumable/tomatojuice = 1, /datum/reagent/consumable/ethanol/vodka = 1, /datum/reagent/consumable/lipoifier = 1)
/datum/chemical_reaction/beltbuster_mead
name = "Beltbuster Mead"
id = /datum/reagent/consumable/ethanol/beltbuster_mead
results = list(/datum/reagent/consumable/ethanol/beltbuster_mead = 4)
required_reagents = list(/datum/reagent/consumable/ethanol/mead = 1, /datum/reagent/consumable/ethanol = 1, /datum/reagent/consumable/cream = 1, /datum/reagent/consumable/lipoifier = 1)
/datum/chemical_reaction/heavy_cafe1
name = "Heavy Cafe"
id = /datum/reagent/consumable/heavy_cafe
results = list(/datum/reagent/consumable/heavy_cafe = 3)
required_reagents = list(/datum/reagent/consumable/cafe_latte = 1, /datum/reagent/consumable/sugar = 1, /datum/reagent/consumable/cream = 1)
/datum/chemical_reaction/heavy_cafe2
name = "Heavy Cafe"
id = /datum/reagent/consumable/heavy_cafe
results = list(/datum/reagent/consumable/heavy_cafe = 3)
required_reagents = list(/datum/reagent/consumable/soy_latte = 1, /datum/reagent/consumable/sugar = 1, /datum/reagent/consumable/cream = 1)
/datum/chemical_reaction/fruits_tea
name = "Fruits Tea"
id = /datum/reagent/consumable/fruits_tea
results = list(/datum/reagent/consumable/fruits_tea = 3)
required_reagents = list(/datum/reagent/consumable/berryjuice = 1, /datum/reagent/consumable/lemonjuice = 1, /datum/reagent/consumable/tea = 1)
/datum/chemical_reaction/snakebite
name = "Snakebite"
id = /datum/reagent/consumable/snakebite
results = list(/datum/reagent/consumable/snakebite = 3)
required_reagents = list(/datum/reagent/toxin = 1, /datum/reagent/consumable/limejuice = 1, /datum/reagent/consumable/lipoifier = 1)
/datum/chemical_reaction/milkshake_vanilla
name = "Vanilla Milkshake"
id = /datum/reagent/consumable/milkshake_vanilla
results = list(/datum/reagent/consumable/milkshake_vanilla = 3)
required_reagents = list(/datum/reagent/consumable/milk = 1, /datum/reagent/consumable/cream = 1, /datum/reagent/consumable/vanilla = 1)
/datum/chemical_reaction/milkshake_chocolate
name = "Chocolate Milkshake"
id = /datum/reagent/consumable/milkshake_chocolate
results = list(/datum/reagent/consumable/milkshake_chocolate = 3)
required_reagents = list(/datum/reagent/consumable/milk/chocolate_milk = 1, /datum/reagent/consumable/cream = 1, /datum/reagent/consumable/coco = 1)
@@ -0,0 +1,79 @@
//chug tank
/obj/item/reagent_containers/barrel_tank
name = "barrel tank"
desc = "A wooden barrely with straps and a tube attached. One can only wonder what it's for."
icon = 'GainStation13/icons/obj/barrel_tank.dmi'
icon_state = "barrel_tank"
item_state = "barrel_tank"
w_class = WEIGHT_CLASS_BULKY
slot_flags = ITEM_SLOT_BACK
reagent_flags = REFILLABLE | TRANSPARENT
actions_types = list(/datum/action/item_action/toggle_tube)
var/mob/living/carbon/U = null
var/transfer_amount = 1
amount_per_transfer_from_this = 0
possible_transfer_amounts = list(0)
volume = 500
spillable = FALSE
splashable = FALSE
/obj/item/reagent_containers/barrel_tank/ui_action_click(mob/user)
toggle_tube(user)
/obj/item/reagent_containers/barrel_tank/proc/toggle_tube(mob/living/user)
if(!istype(user))
return
if(user.get_item_by_slot(user.getBackSlot()) != src)
to_chat(user, "<span class='warning'>The barrel must be worn properly to use!</span>")
return
if(user.incapacitated())
return
if(!U)
to_chat(user, "<span class='notice'>You put the barrel's tube in your mouth.</span>")
U = user
START_PROCESSING(SSobj, src)
else
to_chat(user, "<span class='notice'>You remove the barrel's tube from your mouth.</span>")
U = null
/obj/item/reagent_containers/barrel_tank/verb/toggle_tube_verb()
set name = "Toggle Tube"
set category = "Object"
toggle_tube(usr)
/obj/item/reagent_containers/barrel_tank/equipped(mob/user, slot)
..()
if(slot != SLOT_BACK && U != null)
to_chat(user, "<span class='warning'>The barrel's tube slips out of your mouth!</span>")
U = null
/obj/item/reagent_containers/barrel_tank/dropped(mob/user)
..()
U = null
/obj/item/reagent_containers/barrel_tank/process()
if(U == null)
return PROCESS_KILL
if(reagents.total_volume)
var/fraction = min(1/reagents.total_volume, 1)
reagents.reaction(U, INGEST, fraction, FALSE)
reagents.trans_to(U, transfer_amount, 2)
else
to_chat(U, "<span class='warning'>The barrel is empty!</span>")
U = null
/obj/item/reagent_containers/barrel_tank/attack_self(mob/user)
if(reagents.total_volume > 0)
to_chat(user, "<span class='notice'>You empty [src] of all reagents.</span>")
reagents.clear_reagents()
/datum/crafting_recipe/barrel_tank
name = "Barrel tank"
result = /obj/item/reagent_containers/barrel_tank
tools = list(TOOL_CROWBAR)
reqs = list(/obj/item/stack/sheet/mineral/wood = 20)
category = CAT_CLOTHING