@@ -39,6 +39,14 @@ datum/reagent/carpet
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220

/datum/reagent/carpet/reaction_turf(var/turf/simulated/T, var/volume)
if(istype(T, /turf/simulated/floor/))
var/turf/simulated/floor/F = T
F.visible_message("[T] gets a layer of carpeting applied!")
F.ChangeTurf(/turf/simulated/floor/fancy/carpet)
..()
return

datum/reagent/bromine
name = "Bromine"
id = "bromine"
@@ -81,6 +89,7 @@ datum/reagent/acetone
required_reagents = list("space_drugs" = 1, "blood" = 1)
result_amount = 2


/datum/chemical_reaction/oil
name = "Oil"
id = "oil"
@@ -148,3 +157,53 @@ datum/reagent/triple_citrus
result = "triple_citrus"
required_reagents = list("lemonjuice" = 1, "limejuice" = 1, "orangejuice" = 1)
result_amount = 5

datum/reagent/corn_starch
name = "Corn Starch"
id = "corn_starch"
description = "A slippery solution."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220

/datum/chemical_reaction/corn_syrup
name = "corn_syrup"
id = "corn_syrup"
result = "corn_syrup"
required_reagents = list("corn_starch" = 1, "sacid" = 1)
result_amount = 5
required_temp = 374

datum/reagent/corn_syrup
name = "Corn Syrup"
id = "corn_syrup"
description = "Decays into sugar."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220

datum/reagent/corn_syrup/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.reagents.add_reagent("sugar", 3)
M.reagents.remove_reagent("corn_syrup", 1)
..()
return

/datum/chemical_reaction/corgium
name = "corgium"
id = "corgium"
result = "corgium"
required_reagents = list("nutriment" = 1, "colorful_reagent" = 1, "strange_reagent" = 1, "blood" = 1)
result_amount = 3
required_temp = 374

datum/reagent/corgium
name = "Corgium"
id = "corgium"
description = "Creates a corgi at the reaction location."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220

/datum/chemical_reaction/corgium/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
new /mob/living/simple_animal/corgi(location)
..()
return
@@ -205,4 +205,49 @@ datum/reagent/itching_powder/on_mob_life(var/mob/living/M as mob)
result = "facid"
required_reagents = list("sacid" = 1, "fluorine" = 1, "hydrogen" = 1, "potassium" = 1)
result_amount = 4
required_temp = 380
required_temp = 380

datum/reagent/cholesterol
name = "Cholesterol"
id = "cholesterol"
description = "Minor stamina penalty."
reagent_state = LIQUID
color = "#CF3600" // rgb: 207, 54, 0]
overdose_threshold = 25

datum/reagent/cholesterol/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjustStaminaLoss(0.5)
..()
return

datum/reagent/cholesterol/overdose_process(var/mob/living/M as mob)
if(prob(rand(1,100)))
M.adjustToxLoss(1)
if(prob(rand(1,100)))
var/obj/item/I = M.get_active_hand()
if(I)
M.drop_item()
M.show_message("You fumble and drop [I]!")
if(prob(rand(1,100)))
M.Stun(1)
..()
return

datum/reagent/porktonium
name = "Porktonium"
id = "porktonium"
description = "OVERDOSE - An 8% chance of metabolizing to 10 cyanide, 15 radium and 2 cholesterol for every 0.2 units above 125."
reagent_state = LIQUID
color = "#CF3600" // rgb: 207, 54, 0]
overdose_threshold = 125
metabolization_rate = 0.2

datum/reagent/porktonium/overdose_process(var/mob/living/M as mob)
if(prob(8) && volume > 125)
M.reagents.add_reagent("cyanide", 10)
M.reagents.add_reagent("radium", 15)
M.reagents.add_reagent("cholesterol", 2)
M.reagents.remove_reagent("corn_syrup", 0.2)
..()
return
@@ -211,6 +211,7 @@ datum/reagents/proc/metabolize(var/mob/M)
if(R.volume >= R.overdose_threshold && !R.overdosed && R.overdose_threshold > 0)
R.overdosed = 1
M << "<span class = 'userdanger'>You feel like you took too much of [R.name]!</span>"
R.overdose_start(M)
if(R.volume >= R.addiction_threshold && !is_type_in_list(R, addiction_list) && R.addiction_threshold > 0)
var/datum/reagent/new_reagent = new R.type()
addiction_list.Add(new_reagent)
@@ -900,6 +900,7 @@ obj/machinery/computer/pandemic/proc/replicator_cooldown(var/waittime)
var/list/juice_items = list (

//Juicer Stuff
/obj/item/weapon/reagent_containers/food/snacks/grown/corn = list("corn_starch" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato = list("tomatojuice" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/carrot = list("carrotjuice" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/berries = list("berryjuice" = 0),
@@ -96,6 +96,9 @@ datum/reagent/proc/on_update(var/atom/A)
datum/reagent/proc/overdose_process(var/mob/living/M as mob)
return

datum/reagent/proc/overdose_start(var/mob/living/M as mob)
return

datum/reagent/proc/addiction_act_stage1(var/mob/living/M as mob)
if(prob(30))
M << "<span class = 'notice'>You feel like some [name] right about now.</span>"
@@ -53,13 +53,25 @@ datum/reagent/consumable/sugar
color = "#FFFFFF" // rgb: 255, 255, 255
nutriment_factor = 15 * REAGENTS_METABOLISM
metabolization_rate = 2 * REAGENTS_METABOLISM
overdose_threshold = 200 // Hyperglycaemic shock

datum/reagent/consumable/sugar/on_mob_life(var/mob/living/M as mob)
if(M.satiety > -200)
M.satiety -= 20 //eating sugar makes you more hungry over time by making your hunger drop faster.
M.nutrition += max(((NUTRITION_LEVEL_FED + 50) - M.nutrition )/100, 0) * nutriment_factor // sugar doesn't help your hunger if your stomach is nearly full
holder.remove_reagent(src.id, metabolization_rate)

datum/reagent/consumable/sugar/overdose_start(var/mob/living/M as mob)
M << "<span class = 'userdanger'>You go into hyperglycaemic shock! Lay off the twinkies!</span>"
M.sleeping += 30
..()
return

datum/reagent/consumable/sugar/overdose_process(var/mob/living/M as mob)
M.sleeping += 3
..()
return

datum/reagent/consumable/virus_food
name = "Virus Food"
id = "virusfood"
@@ -130,3 +130,9 @@
desc = "Used to dull pain."
icon_state = "pill5"
list_reagents = list("sal_acid" = 50)

/obj/item/weapon/reagent_containers/pill/insulin
name = "insulin pill"
desc = "Handles hyperglycaemic coma."
icon_state = "pill5"
list_reagents = list("insulin" = 50)
BIN +374 Bytes (100%) icons/obj/food.dmi
Binary file not shown.