diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index f692cb8c893..35b8f9cef09 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -1143,6 +1143,7 @@ datum result = "gintonic" required_reagents = list("gin" = 2, "tonic" = 1) result_amount = 3 + mix_message = "The tonic water and gin mix together perfectly." cuba_libre name = "Cuba Libre" diff --git a/code/modules/reagents/newchem/drinks.dm b/code/modules/reagents/newchem/drinks.dm new file mode 100644 index 00000000000..b126d460184 --- /dev/null +++ b/code/modules/reagents/newchem/drinks.dm @@ -0,0 +1,32 @@ +datum/reagent/ginsonic + name = "Gin and sonic" + id = "ginsonic" + description = "GOTTA GET CRUNK FAST BUT LIQUOR TOO SLOW" + reagent_state = LIQUID + color = "#1111CF" + +/datum/chemical_reaction/ginsonic + name = "ginsonic" + id = "ginsonic" + result = "ginsonic" + required_reagents = list("gintonic" = 1, "methamphetamine" = 1) + result_amount = 2 + mix_message = "The drink turns electric blue and starts quivering violently." + +datum/reagent/ginsonic/on_mob_life(var/mob/living/M as mob) + if(!M) M = holder.my_atom + if(prob(10)) + M.reagents.add_reagent("methamphetamine",1.2) + M.reagents.add_reagent("ethanol",1.4) + if(prob(8)) + M.say(pick("Gotta go fast!", "Let's juice.", "I feel a need for speed!", "Way Past Cool!")) + if(prob(8)) + switch(pick(1, 2, 3)) + if(1) + M << "Time to speed, keed!" + if(2) + M << "Let's juice." + if(3) + M << "Way Past Cool!" + ..() + return diff --git a/code/modules/reagents/newchem/drugs.dm b/code/modules/reagents/newchem/drugs.dm index 83b68f7a69f..a7e29207591 100644 --- a/code/modules/reagents/newchem/drugs.dm +++ b/code/modules/reagents/newchem/drugs.dm @@ -387,4 +387,74 @@ datum/reagent/crank/addiction_act_stage4(var/mob/living/M as mob) if(prob(50)) M.stuttering += 2 ..() + return + +/datum/reagent/fliptonium + name = "Fliptonium" + id = "fliptonium" + description = "Do some flips!" + reagent_state = LIQUID + color = "#A42964" + metabolization_rate = 0.2 + overdose_threshold = 15 + +/datum/chemical_reaction/fliptonium + name = "fliptonium" + id = "fliptonium" + result = "fliptonium" + required_reagents = list("ephedrine" = 1, "liquid_dark_matter" = 1, "chocolate" = 1, "ginsonic" = 1) + result_amount = 4 + mix_message = "The mixture swirls around excitedly!" + +datum/reagent/fliptonium/reaction_mob(var/mob/M, var/method=TOUCH, var/volume) + if(!istype(M, /mob/living)) + return + if(method == INGEST || method == TOUCH) + M.SpinAnimation(speed = 12, loops = -1) + +/datum/reagent/fliptonium/on_mob_life(var/mob/living/M as mob) + if(!M) M = holder.my_atom + if(current_cycle == 5) + M.SpinAnimation(speed = 11, loops = -1) + if(current_cycle == 10) + M.SpinAnimation(speed = 10, loops = -1) + if(current_cycle == 15) + M.SpinAnimation(speed = 9, loops = -1) + if(current_cycle == 20) + M.SpinAnimation(speed = 8, loops = -1) + if(current_cycle == 25) + M.SpinAnimation(speed = 7, loops = -1) + if(current_cycle == 30) + M.SpinAnimation(speed = 6, loops = -1) + if(current_cycle == 40) + M.SpinAnimation(speed = 5, loops = -1) + if(current_cycle == 50) + M.SpinAnimation(speed = 4, loops = -1) + M.AdjustParalysis(-2) + M.AdjustStunned(-2) + M.AdjustWeakened(-2) + M.adjustStaminaLoss(-2) + ..() + return + +datum/reagent/fliptonium/reagent_deleted(var/mob/living/M as mob) + M.SpinAnimation(speed = 12, loops = -1) + +datum/reagent/fliptonium/overdose_process(var/mob/living/M as mob) + if(volume > 15) + if(prob(5)) + switch(pick(1, 2, 3)) + if(1) + M.emote("laugh") + M.adjustToxLoss(1) + if(2) + M << "[M] can't seem to control their legs!" + M.Weaken(8) + M.adjustToxLoss(1) + if(3) + M << "[M]'s hands flip out and flail everywhere!" + M.drop_l_hand() + M.drop_r_hand() + M.adjustToxLoss(1) + ..() return \ No newline at end of file diff --git a/code/modules/reagents/newchem/food.dm b/code/modules/reagents/newchem/food.dm index 5a8c8c520f6..8add8de4b76 100644 --- a/code/modules/reagents/newchem/food.dm +++ b/code/modules/reagents/newchem/food.dm @@ -218,4 +218,28 @@ datum/reagent/msg/reaction_mob(var/mob/M, var/method=TOUCH, var/volume) M.Stun(rand(4,10)) M << "A horrible migraine overpowers you." ..() - return \ No newline at end of file + return + +/datum/reagent/fake_cheese + name = "Cheese substitute" + id = "fake_cheese" + description = "A cheese-like substance derived loosely from actual cheese." + reagent_state = LIQUID + color = "#B2B139" + +datum/reagent/beans + name = "Refried beans" + id = "beans" + description = "A dish made of mashed beans cooked with lard." + reagent_state = LIQUID + color = "#684435" + +datum/reagent/beans/on_mob_life(var/mob/living/M as mob) + if(!M) M = holder.my_atom + if(prob(8)) + M.emote("fart") + ..() + return + + + diff --git a/code/modules/reagents/newchem/other.dm b/code/modules/reagents/newchem/other.dm index 40bde42fd87..d20416d2418 100644 --- a/code/modules/reagents/newchem/other.dm +++ b/code/modules/reagents/newchem/other.dm @@ -149,6 +149,22 @@ datum/reagent/corgium ..() return + +/datum/chemical_reaction/flaptonium + name = "Flaptonium" + id = "flaptonium" + result = null + required_reagents = list("egg" = 1, "colorful_reagent" = 1, "chicken_soup" = 1, "strange_reagent" = 1, "blood" = 1) + result_amount = 5 + required_temp = 374 + +/datum/chemical_reaction/flaptonium/on_reaction(var/datum/reagents/holder, var/created_volume) + var/location = get_turf(holder.my_atom) + new /mob/living/simple_animal/parrot(location) + ..() + return + + datum/reagent/hair_dye name = "Quantum Hair Dye" id = "hair_dye" @@ -232,4 +248,43 @@ datum/reagent/super_hairgrownium/on_mob_life(var/mob/living/M as mob) H.equip_to_slot(fakemoustache, slot_wear_mask) H << "Hair bursts forth from your every follicle!" ..() + return + +datum/reagent/fartonium + name = "Fartonium" + id = "fartonium" + description = "Oh god it never ends, IT NEVER STOPS!" + reagent_state = GAS + color = "#D06E27" + +/datum/chemical_reaction/fartonium + name = "Fartonium" + id = "fartonium" + result = "fartonium" + required_reagents = list("fake_cheese" = 1, "beans" = 1, "????" = 1, "egg" = 1) + result_amount = 2 + mix_message = "The substance makes a little 'toot' noise and starts to smell pretty bad." + +datum/reagent/fartonium/on_mob_life(var/mob/living/M as mob) + if(!M) M = holder.my_atom + M.emote("fart") + if(holder.has_reagent("simethicone")) + if(prob(30)) + switch(pick(1,2)) + if(1) + M << "Something isn't right!" + M.adjustBruteLoss(1) + if(2) + M.emote("me",1,"strains, but nothing happens.") + M.adjustBruteLoss(2) + if(3) + M.emote("scream") + M.adjustBruteLoss(2) + if(4) + M << "Oh gosh, the pain!" + M.adjustBruteLoss(1) + if(5) + M << "THE PAIN!" + M.adjustBruteLoss(1) + ..() return \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm b/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm index 3005e332548..f22c823dd32 100644 --- a/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm +++ b/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm @@ -208,6 +208,10 @@ icon_state = "gintonicglass" name = "Gin and Tonic" desc = "A mild but still great cocktail. Drink up, like a true Englishman." + if("ginsonic") + icon_state = "ginsonic" + name = "Gin and Sonic" + desc = "An extremely high amperage drink. Absolutely not for the true Englishman." if("whiskeycola") icon_state = "whiskeycolaglass" name = "Whiskey Cola" diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index 3885055c8d9..4b2c250b4ee 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -2566,6 +2566,7 @@ New() ..() reagents.add_reagent("nutriment", 20) + reagents.add_reagent("fake_cheese", 5) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/cheesewedge @@ -2976,6 +2977,7 @@ New() ..() reagents.add_reagent("nutriment", 10) + reagents.add_reagent("beans",10) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/benedict @@ -2985,6 +2987,7 @@ New() ..() reagents.add_reagent("nutriment", 3) + reagents.add_reagent("egg", 3) bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/hotdog diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi index 925db02fe58..fe5de5c04c8 100644 Binary files a/icons/obj/drinks.dmi and b/icons/obj/drinks.dmi differ diff --git a/paradise.dme b/paradise.dme index a41357ac689..d25034eea08 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1470,6 +1470,7 @@ #include "code\modules\reagents\reagent_dispenser.dm" #include "code\modules\reagents\syringe_gun.dm" #include "code\modules\reagents\newchem\chem_heater.dm" +#include "code\modules\reagents\newchem\drinks.dm" #include "code\modules\reagents\newchem\drugs.dm" #include "code\modules\reagents\newchem\food.dm" #include "code\modules\reagents\newchem\medicine.dm"