whole lotta stuff
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user