From a4619fbd38c5ede7d6cc46b09334c52dcdb7a4b1 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Sat, 16 Jul 2016 23:11:32 -0400 Subject: [PATCH] clean up --- code/game/machinery/rechargestation.dm | 5 - code/modules/reagents/Chemistry-Holder.dm | 40 +-- code/modules/reagents/Chemistry-Machinery.dm | 64 ++-- .../modules/reagents/newchem/Blob-Reagents.dm | 8 +- code/modules/reagents/newchem/disease.dm | 20 +- code/modules/reagents/newchem/drinks.dm | 11 +- code/modules/reagents/newchem/drugs.dm | 62 ++-- code/modules/reagents/newchem/food.dm | 104 +++--- code/modules/reagents/newchem/medicine.dm | 159 ++++----- .../modules/reagents/newchem/newchem_procs.dm | 24 +- code/modules/reagents/newchem/other.dm | 81 ++--- code/modules/reagents/newchem/pyro.dm | 102 +++--- code/modules/reagents/newchem/toxins.dm | 113 +++---- .../_chemical_reaction_base.dm | 2 +- .../chemical_reaction_food.dm | 24 +- .../chemical_reaction_harm.dm | 10 +- .../chemical_reaction_misc.dm | 8 +- .../oldchem/reagents/_reagent_base.dm | 3 +- .../reagents/drink/reagents_alcohol.dm | 2 +- .../oldchem/reagents/reagents_food.dm | 5 +- .../oldchem/reagents/reagents_toxin.dm | 2 +- .../oldchem/reagents/reagents_water.dm | 47 ++- code/modules/reagents/reagent_containers.dm | 4 +- .../reagents/reagent_containers/blood_pack.dm | 29 +- .../reagents/reagent_containers/borghydro.dm | 6 +- .../reagents/reagent_containers/dropper.dm | 205 ++++++------ .../reagents/reagent_containers/drugs.dm | 197 ++++++------ .../reagents/reagent_containers/food.dm | 6 +- .../food/drinks/bottle/robot.dm | 0 .../reagent_containers/glass/bottle.dm | 190 ++++------- .../reagent_containers/glass/bottle/robot.dm | 32 -- .../reagent_containers/glass_containers.dm | 72 +---- .../reagents/reagent_containers/hypospray.dm | 77 ++--- .../reagents/reagent_containers/pill.dm | 63 ++-- .../reagents/reagent_containers/spray.dm | 34 +- .../reagents/reagent_containers/syringes.dm | 301 ++++++------------ code/modules/reagents/reagent_dispenser.dm | 4 +- icons/obj/hypo.dmi | Bin 3846 -> 3845 bytes paradise.dme | 2 - 39 files changed, 824 insertions(+), 1294 deletions(-) delete mode 100644 code/modules/reagents/reagent_containers/food/drinks/bottle/robot.dm delete mode 100644 code/modules/reagents/reagent_containers/glass/bottle/robot.dm diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index aa16f852f11..342b24fa055 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -216,11 +216,6 @@ if(istype(O,/obj/item/weapon/reagent_containers/food/condiment/enzyme)) if(O.reagents.get_reagent_amount("enzyme") < 50) O.reagents.add_reagent("enzyme", 2 * coeff) - //Medical - if(istype(O,/obj/item/weapon/reagent_containers/glass/bottle/robot)) - var/obj/item/weapon/reagent_containers/glass/bottle/robot/B = O - if(B.reagent && (B.reagents.get_reagent_amount(B.reagent) < B.volume)) - B.reagents.add_reagent(B.reagent, 2 * coeff) //Janitor if(istype(O, /obj/item/device/lightreplacer)) var/obj/item/device/lightreplacer/LR = O diff --git a/code/modules/reagents/Chemistry-Holder.dm b/code/modules/reagents/Chemistry-Holder.dm index 88a7e1518a2..92dc474ca7e 100644 --- a/code/modules/reagents/Chemistry-Holder.dm +++ b/code/modules/reagents/Chemistry-Holder.dm @@ -49,7 +49,7 @@ var/const/INGEST = 2 chemical_reactions_list[id] += D break // Don't bother adding ourselves to other reagent ids, it is redundant. -/datum/reagents/proc/remove_any(var/amount=1) +/datum/reagents/proc/remove_any(amount=1) var/total_transfered = 0 var/current_list_element = 1 @@ -91,7 +91,7 @@ var/const/INGEST = 2 return the_id -/datum/reagents/proc/trans_to(var/target, var/amount=1, var/multiplier=1, var/preserve_data=1)//if preserve_data=0, the reagents data will be lost. Usefull if you use data for some strange stuff and don't want it to be transferred. +/datum/reagents/proc/trans_to(target, amount=1, multiplier=1, preserve_data=1)//if preserve_data=0, the reagents data will be lost. Usefull if you use data for some strange stuff and don't want it to be transferred. if(!target) return if(src.total_volume <= 0) @@ -135,7 +135,7 @@ var/const/INGEST = 2 src.handle_reactions() return amount -/datum/reagents/proc/copy_to(var/obj/target, var/amount=1, var/multiplier=1, var/preserve_data=1, var/safety = 0) +/datum/reagents/proc/copy_to(obj/target, amount=1, multiplier=1, preserve_data=1, safety = 0) if(!target) return if(!target.reagents || src.total_volume<=0) @@ -156,7 +156,7 @@ var/const/INGEST = 2 src.handle_reactions() return amount -/datum/reagents/proc/trans_id_to(var/obj/target, var/reagent, var/amount=1, var/preserve_data=1)//Not sure why this proc didn't exist before. It does now! /N +/datum/reagents/proc/trans_id_to(obj/target, reagent, amount=1, preserve_data=1)//Not sure why this proc didn't exist before. It does now! /N if(!target) return if(!target.reagents || src.total_volume<=0 || !src.get_reagent_amount(reagent)) @@ -214,12 +214,12 @@ var/const/INGEST = 2 */ -/datum/reagents/proc/conditional_update_move(var/atom/A, var/Running = 0) +/datum/reagents/proc/conditional_update_move(atom/A, Running = 0) for(var/datum/reagent/R in reagent_list) R.on_move (A, Running) update_total() -/datum/reagents/proc/conditional_update(var/atom/A, ) +/datum/reagents/proc/conditional_update(atom/A, ) for(var/datum/reagent/R in reagent_list) R.on_update (A) update_total() @@ -323,14 +323,14 @@ var/const/INGEST = 2 update_total() return 0 -/datum/reagents/proc/isolate_reagent(var/reagent) +/datum/reagents/proc/isolate_reagent(reagent) for(var/A in reagent_list) var/datum/reagent/R = A if(R.id != reagent) del_reagent(R.id) update_total() -/datum/reagents/proc/del_reagent(var/reagent) +/datum/reagents/proc/del_reagent(reagent) for(var/A in reagent_list) var/datum/reagent/R = A if(R.id == reagent) @@ -363,7 +363,7 @@ var/const/INGEST = 2 del_reagent(R.id) return 0 -/datum/reagents/proc/reaction_check(var/mob/M, var/datum/reagent/R) +/datum/reagents/proc/reaction_check(mob/M, datum/reagent/R) var/can_process = 0 if(!istype(M, /mob/living)) //Non-living mobs can't metabolize reagents, so don't bother trying (runtime safety check) return can_process @@ -436,7 +436,7 @@ var/const/INGEST = 2 var/amt = list_reagents[r_id] add_reagent(r_id, amt, data) -/datum/reagents/proc/add_reagent(var/reagent, var/amount, var/list/data=null, var/reagtemp = 300) +/datum/reagents/proc/add_reagent(reagent, amount, list/data=null, reagtemp = 300) if(!isnum(amount)) return 1 update_total() if(total_volume + amount > maximum_volume) amount = (maximum_volume - total_volume) //Doesnt fit in. Make it disappear. Shouldnt happen. Will happen. @@ -476,7 +476,7 @@ var/const/INGEST = 2 return 1 -/datum/reagents/proc/remove_reagent(var/reagent, var/amount, var/safety)//Added a safety check for the trans_id_to +/datum/reagents/proc/remove_reagent(reagent, amount, safety)//Added a safety check for the trans_id_to if(!isnum(amount)) return 1 @@ -492,7 +492,7 @@ var/const/INGEST = 2 return 1 -/datum/reagents/proc/has_reagent(var/reagent, var/amount = -1) +/datum/reagents/proc/has_reagent(reagent, amount = -1) for(var/A in reagent_list) var/datum/reagent/R = A @@ -504,7 +504,7 @@ var/const/INGEST = 2 return 0 -/datum/reagents/proc/get_reagent_amount(var/reagent) +/datum/reagents/proc/get_reagent_amount(reagent) for(var/A in reagent_list) var/datum/reagent/R = A if(R.id == reagent) @@ -520,7 +520,7 @@ var/const/INGEST = 2 return res -/datum/reagents/proc/remove_all_type(var/reagent_type, var/amount, var/strict = 0, var/safety = 1) // Removes all reagent of X type. @strict set to 1 determines whether the childs of the type are included. +/datum/reagents/proc/remove_all_type(reagent_type, amount, strict = 0, safety = 1) // Removes all reagent of X type. @strict set to 1 determines whether the childs of the type are included. if(!isnum(amount)) return 1 var/has_removed_reagent = 0 @@ -542,7 +542,7 @@ var/const/INGEST = 2 return has_removed_reagent // Admin logging. -/datum/reagents/proc/get_reagent_ids(var/and_amount=0) +/datum/reagents/proc/get_reagent_ids(and_amount=0) var/list/stuff = list() for(var/datum/reagent/A in reagent_list) if(and_amount) @@ -552,19 +552,19 @@ var/const/INGEST = 2 return english_list(stuff) //two helper functions to preserve data across reactions (needed for xenoarch) -/datum/reagents/proc/get_data(var/reagent_id) +/datum/reagents/proc/get_data(reagent_id) for(var/datum/reagent/D in reagent_list) if(D.id == reagent_id) // to_chat(world, "proffering a data-carrying reagent ([reagent_id])") return D.data -/datum/reagents/proc/set_data(var/reagent_id, var/new_data) +/datum/reagents/proc/set_data(reagent_id, new_data) for(var/datum/reagent/D in reagent_list) if(D.id == reagent_id) // to_chat(world, "reagent data set ([reagent_id])") D.data = new_data -/datum/reagents/proc/copy_data(var/datum/reagent/current_reagent) +/datum/reagents/proc/copy_data(datum/reagent/current_reagent) if(!current_reagent || !current_reagent.data) return null if(!istype(current_reagent.data, /list)) return current_reagent.data @@ -588,11 +588,11 @@ var/const/INGEST = 2 // Convenience proc to create a reagents holder for an atom // Max vol is maximum volume of holder -atom/proc/create_reagents(var/max_vol) +atom/proc/create_reagents(max_vol) reagents = new/datum/reagents(max_vol) reagents.my_atom = src -/datum/reagents/proc/get_reagent_from_id(var/id) +/datum/reagents/proc/get_reagent_from_id(id) var/datum/reagent/result = null for(var/datum/reagent/R in reagent_list) if(R.id == id) diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index fae10a20d01..cda3f6fdfa3 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -108,7 +108,7 @@ * @return nothing */ -/obj/machinery/chem_dispenser/ui_interact(mob/user, ui_key = "main",var/datum/nanoui/ui = null, var/force_open = 1) +/obj/machinery/chem_dispenser/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 1) if(broken_requirements.len) to_chat(user, "[src] is broken. [broken_requirements[broken_requirements[1]]]") return @@ -197,7 +197,7 @@ add_fingerprint(usr) return 1 // update UIs attached to this object -/obj/machinery/chem_dispenser/attackby(var/obj/item/weapon/reagent_containers/B as obj, var/mob/user as mob, params) +/obj/machinery/chem_dispenser/attackby(obj/item/weapon/reagent_containers/B, mob/user, params) if(isrobot(user)) return @@ -232,7 +232,7 @@ overlays += icon_beaker return -/obj/machinery/chem_dispenser/attackby(var/obj/item/weapon/B as obj, var/mob/user as mob, params) +/obj/machinery/chem_dispenser/attackby(obj/item/weapon/B, mob/user, params) ..() if(istype(B, /obj/item/device/multitool)) if(hackedcheck == 0) @@ -247,13 +247,13 @@ hackedcheck = 0 return -/obj/machinery/chem_dispenser/attack_ai(mob/user as mob) +/obj/machinery/chem_dispenser/attack_ai(mob/user) return src.attack_hand(user) -/obj/machinery/chem_dispenser/attack_ghost(mob/user as mob) +/obj/machinery/chem_dispenser/attack_ghost(mob/user) return src.attack_hand(user) -/obj/machinery/chem_dispenser/attack_hand(mob/user as mob) +/obj/machinery/chem_dispenser/attack_hand(mob/user) if(stat & BROKEN) return @@ -343,7 +343,7 @@ for(i=1, i<=M.rating, i++) dispensable_reagents = sortList(dispensable_reagents | special_reagents[i]) -/obj/machinery/chem_dispenser/constructable/attackby(var/obj/item/I, var/mob/user, params) +/obj/machinery/chem_dispenser/constructable/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/weapon/reagent_containers/glass)) if(panel_open) to_chat(user, "Close the maintenance panel first.") @@ -426,7 +426,7 @@ spawn(rand(0, 15)) stat |= NOPOWER -/obj/machinery/chem_master/attackby(var/obj/item/weapon/B as obj, var/mob/user as mob, params) +/obj/machinery/chem_master/attackby(obj/item/weapon/B, mob/user, params) if(istype(B, /obj/item/weapon/reagent_containers/glass) || istype(B, /obj/item/weapon/reagent_containers/food/drinks/drinkingglass)) @@ -692,31 +692,31 @@ nanomanager.update_uis(src) return -/obj/machinery/chem_master/attack_ai(mob/user as mob) +/obj/machinery/chem_master/attack_ai(mob/user) return src.attack_hand(user) -/obj/machinery/chem_master/attack_ghost(mob/user as mob) +/obj/machinery/chem_master/attack_ghost(mob/user) return src.attack_hand(user) -/obj/machinery/chem_master/attack_hand(mob/user as mob) +/obj/machinery/chem_master/attack_hand(mob/user) if(..()) return 1 ui_interact(user) return -/obj/machinery/chem_master/ui_interact(mob/user, ui_key="main", var/datum/nanoui/ui = null, var/force_open = 1) - +/obj/machinery/chem_master/ui_interact(mob/user, ui_key="main", datum/nanoui/ui = null, force_open = 1) + var/datum/asset/chem_master/assets = get_asset_datum(/datum/asset/chem_master) assets.send(user) - + var/data = list() - + data["condi"] = condi data["loaded_pill_bottle"] = (loaded_pill_bottle ? 1 : 0) if(loaded_pill_bottle) data["loaded_pill_bottle_contents_len"] = loaded_pill_bottle.contents.len data["loaded_pill_bottle_storage_slots"] = loaded_pill_bottle.storage_slots - + data["beaker"] = (beaker ? 1 : 0) if(beaker) var/list/beaker_reagents_list = list() @@ -727,17 +727,17 @@ data["buffer_reagents"] = buffer_reagents_list for(var/datum/reagent/R in reagents.reagent_list) buffer_reagents_list[++buffer_reagents_list.len] = list("name" = R.name, "volume" = R.volume, "id" = R.id, "description" = R.description) - + data["pillsprite"] = pillsprite data["mode"] = mode - + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) ui = new(user, src, ui_key, "chem_master.tmpl", src.name, 575, 400) ui.set_initial_data(data) ui.open() -/obj/machinery/chem_master/proc/isgoodnumber(var/num) +/obj/machinery/chem_master/proc/isgoodnumber(num) if(isnum(num)) if(num > 200) num = 200 @@ -874,7 +874,7 @@ icon_state = "juicer"+num2text(!isnull(beaker)) return -/obj/machinery/reagentgrinder/attackby(var/obj/item/O as obj, var/mob/user as mob, params) +/obj/machinery/reagentgrinder/attackby(obj/item/O, mob/user, params) if(istype(O,/obj/item/weapon/reagent_containers/glass) || \ istype(O,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass) || \ @@ -924,14 +924,14 @@ src.updateUsrDialog() return 0 -/obj/machinery/reagentgrinder/attack_ai(mob/user as mob) +/obj/machinery/reagentgrinder/attack_ai(mob/user) return 0 -/obj/machinery/reagentgrinder/attack_hand(mob/user as mob) +/obj/machinery/reagentgrinder/attack_hand(mob/user) user.set_machine(src) interact(user) -/obj/machinery/reagentgrinder/interact(mob/user as mob) // The microwave Menu +/obj/machinery/reagentgrinder/interact(mob/user) // The microwave Menu var/is_chamber_empty = 0 var/is_beaker_ready = 0 var/processing_chamber = "" @@ -1014,38 +1014,38 @@ holdingitems -= O holdingitems = list() -/obj/machinery/reagentgrinder/proc/is_allowed(var/obj/item/weapon/reagent_containers/O) +/obj/machinery/reagentgrinder/proc/is_allowed(obj/item/weapon/reagent_containers/O) for(var/i in blend_items) if(istype(O, i)) return 1 return 0 -/obj/machinery/reagentgrinder/proc/get_allowed_by_id(var/obj/item/weapon/grown/O) +/obj/machinery/reagentgrinder/proc/get_allowed_by_id(obj/item/weapon/grown/O) for(var/i in blend_items) if(istype(O, i)) return blend_items[i] -/obj/machinery/reagentgrinder/proc/get_allowed_snack_by_id(var/obj/item/weapon/reagent_containers/food/snacks/O) +/obj/machinery/reagentgrinder/proc/get_allowed_snack_by_id(obj/item/weapon/reagent_containers/food/snacks/O) for(var/i in blend_items) if(istype(O, i)) return blend_items[i] -/obj/machinery/reagentgrinder/proc/get_allowed_juice_by_id(var/obj/item/weapon/reagent_containers/food/snacks/O) +/obj/machinery/reagentgrinder/proc/get_allowed_juice_by_id(obj/item/weapon/reagent_containers/food/snacks/O) for(var/i in juice_items) if(istype(O, i)) return juice_items[i] -/obj/machinery/reagentgrinder/proc/get_allowed_snack_by_tag(var/obj/item/weapon/reagent_containers/food/snacks/grown/O) +/obj/machinery/reagentgrinder/proc/get_allowed_snack_by_tag(obj/item/weapon/reagent_containers/food/snacks/grown/O) for(var/i in blend_tags) if(O.seed.kitchen_tag == i) return blend_tags[i] -/obj/machinery/reagentgrinder/proc/get_allowed_juice_by_tag(var/obj/item/weapon/reagent_containers/food/snacks/grown/O) +/obj/machinery/reagentgrinder/proc/get_allowed_juice_by_tag(obj/item/weapon/reagent_containers/food/snacks/grown/O) for(var/i in juice_tags) if(O.seed.kitchen_tag == i) return juice_tags[i] -/obj/machinery/reagentgrinder/proc/get_grownweapon_amount(var/obj/item/weapon/grown/O) +/obj/machinery/reagentgrinder/proc/get_grownweapon_amount(obj/item/weapon/grown/O) if(!istype(O)) return 5 else if(O.potency == -1) @@ -1053,7 +1053,7 @@ else return round(O.potency) -/obj/machinery/reagentgrinder/proc/get_juice_amount(var/obj/item/weapon/reagent_containers/food/snacks/grown/O) +/obj/machinery/reagentgrinder/proc/get_juice_amount(obj/item/weapon/reagent_containers/food/snacks/grown/O) if(!istype(O)) return 5 else if(O.potency == -1) @@ -1061,7 +1061,7 @@ else return round(5*sqrt(O.potency)) -/obj/machinery/reagentgrinder/proc/remove_object(var/obj/item/O) +/obj/machinery/reagentgrinder/proc/remove_object(obj/item/O) holdingitems -= O qdel(O) diff --git a/code/modules/reagents/newchem/Blob-Reagents.dm b/code/modules/reagents/newchem/Blob-Reagents.dm index f4fcdf9a2b1..3d1ec96501b 100644 --- a/code/modules/reagents/newchem/Blob-Reagents.dm +++ b/code/modules/reagents/newchem/Blob-Reagents.dm @@ -29,7 +29,7 @@ message = "The blob splashes you with burning oil" message_living = ", and you feel your skin char and melt" -/datum/reagent/blob/boiling_oil/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume) +/datum/reagent/blob/boiling_oil/reaction_mob(mob/living/M, method=TOUCH, volume) if(method == TOUCH) M.adjust_fire_stacks(round(volume/12)) volume = ..() @@ -97,7 +97,7 @@ color = "#61407E" message = "You feel a thrum as the blob strikes you, and everything flies at you" -/datum/reagent/blob/dark_matter/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume) +/datum/reagent/blob/dark_matter/reaction_mob(mob/living/M, method=TOUCH, volume) if(method == TOUCH) reagent_vortex(M, 0, volume) volume = ..() @@ -110,7 +110,7 @@ color = "#808000" message = "The blob slams into you, and sends you flying" -/datum/reagent/blob/b_sorium/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume) +/datum/reagent/blob/b_sorium/reaction_mob(mob/living/M, method=TOUCH, volume) if(method == TOUCH) reagent_vortex(M, 1, volume) volume = ..() @@ -145,7 +145,7 @@ if(!step_towards(X, pull)) break -/datum/reagent/blob/proc/send_message(var/mob/living/M as mob) +/datum/reagent/blob/proc/send_message(mob/living/M) var/totalmessage = message if(message_living && !issilicon(M)) totalmessage += message_living diff --git a/code/modules/reagents/newchem/disease.dm b/code/modules/reagents/newchem/disease.dm index aa0a2db6ae0..3a6fdf704a8 100644 --- a/code/modules/reagents/newchem/disease.dm +++ b/code/modules/reagents/newchem/disease.dm @@ -19,7 +19,7 @@ description = "Microscopic construction robots." color = "#535E66" // rgb: 83, 94, 102 -/datum/reagent/nanomachines/on_mob_life(var/mob/living/carbon/M as mob) +/datum/reagent/nanomachines/on_mob_life(mob/living/carbon/M) if(!M) M = holder.my_atom if(volume > 1.5) M.ForceContractDisease(new /datum/disease/transformation/robot(0)) @@ -32,7 +32,7 @@ description = "Microbes with an entirely alien cellular structure." color = "#535E66" // rgb: 83, 94, 102 -/datum/reagent/xenomicrobes/on_mob_life(var/mob/living/carbon/M as mob) +/datum/reagent/xenomicrobes/on_mob_life(mob/living/carbon/M) if(!M) M = holder.my_atom if(volume > 1.5) M.ContractDisease(new /datum/disease/transformation/xeno(0)) @@ -44,7 +44,7 @@ description = "Active fungal spores." color = "#92D17D" // rgb: 146, 209, 125 -/datum/reagent/fungalspores/on_mob_life(var/mob/living/carbon/M as mob) +/datum/reagent/fungalspores/on_mob_life(mob/living/carbon/M) if(!M) M = holder.my_atom if(volume > 2.5) M.ForceContractDisease(new /datum/disease/tuberculosis(0)) @@ -57,7 +57,7 @@ reagent_state = SOLID color = "#FA0000" // rgb: 250, 0, 0 -/datum/reagent/jagged_crystals/on_mob_life(var/mob/living/carbon/M as mob) +/datum/reagent/jagged_crystals/on_mob_life(mob/living/carbon/M) if(!M) M = holder.my_atom M.ForceContractDisease(new /datum/disease/berserker(0)) ..() @@ -69,7 +69,7 @@ reagent_state = LIQUID color = "#1E4600" -/datum/reagent/salmonella/on_mob_life(var/mob/living/carbon/M as mob) +/datum/reagent/salmonella/on_mob_life(mob/living/carbon/M) if(!M) M = holder.my_atom M.ForceContractDisease(new /datum/disease/food_poisoning(0)) ..() @@ -81,7 +81,7 @@ reagent_state = LIQUID color = "#FF0000" -/datum/reagent/gibbis/on_mob_life(var/mob/living/carbon/M as mob) +/datum/reagent/gibbis/on_mob_life(mob/living/carbon/M) if(!M) M = holder.my_atom if(volume > 2.5) M.ForceContractDisease(new /datum/disease/gbs/curable(0)) @@ -94,7 +94,7 @@ reagent_state = LIQUID color = "#FFFFFF" -/datum/reagent/prions/on_mob_life(var/mob/living/carbon/M as mob) +/datum/reagent/prions/on_mob_life(mob/living/carbon/M) if(!M) M = holder.my_atom if(volume > 4.5) M.ForceContractDisease(new /datum/disease/kuru(0)) @@ -107,7 +107,7 @@ reagent_state = LIQUID color = "#465046" -/datum/reagent/grave_dust/on_mob_life(var/mob/living/carbon/M as mob) +/datum/reagent/grave_dust/on_mob_life(mob/living/carbon/M) if(!M) M = holder.my_atom if(volume > 4.5) M.ForceContractDisease(new /datum/disease/vampire(0)) @@ -120,7 +120,7 @@ reagent_state = SOLID color = "#925D6C" -/datum/reagent/heartworms/on_mob_life(var/mob/living/carbon/M as mob) +/datum/reagent/heartworms/on_mob_life(mob/living/carbon/M) if(!M) M = holder.my_atom if(volume > 4.5) if(ishuman(M)) @@ -140,7 +140,7 @@ var/client/blob_client = null var/blob_point_rate = 3 -/datum/reagent/spore/on_mob_life(var/mob/living/M) +/datum/reagent/spore/on_mob_life(mob/living/M) if(!M) M = holder.my_atom if(holder.has_reagent("atrazine",45)) holder.del_reagent("spore") //apparently this never metabolizes and stays in forever unless you have 45 units of atrazine in you or some stupid thing like that. diff --git a/code/modules/reagents/newchem/drinks.dm b/code/modules/reagents/newchem/drinks.dm index a9912f8722b..3b0487ec9a8 100644 --- a/code/modules/reagents/newchem/drinks.dm +++ b/code/modules/reagents/newchem/drinks.dm @@ -14,7 +14,7 @@ mix_message = "The drink turns electric blue and starts quivering violently." mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' -/datum/reagent/ginsonic/on_mob_life(var/mob/living/M as mob) +/datum/reagent/ginsonic/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.drowsyness = max(0, M.drowsyness-5) if(prob(25)) @@ -29,7 +29,6 @@ else to_chat(M, "[sonic_message ]") ..() - return /datum/reagent/ethanol/applejack name = "Applejack" @@ -72,12 +71,12 @@ color = "#DC0000" alcohol_perc = 1 -/datum/reagent/ethanol/dragons_breath/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume) +/datum/reagent/ethanol/dragons_breath/reaction_mob(mob/living/M, method=TOUCH, volume) if(method == INGEST && prob(20)) if(M.on_fire) M.adjust_fire_stacks(3) -/datum/reagent/ethanol/dragons_breath/on_mob_life(var/mob/living/M as mob) +/datum/reagent/ethanol/dragons_breath/on_mob_life(mob/living/M) if(!M) M = holder.my_atom if(M.reagents.has_reagent("milk")) to_chat(M, "The milk stops the burning. Ahhh.") @@ -128,7 +127,7 @@ mix_message = "The chemicals mix to create shiny, blue substance." mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' -/datum/reagent/ethanol/synthanol/on_mob_life(var/mob/living/M as mob, var/alien) +/datum/reagent/ethanol/synthanol/on_mob_life(mob/living/M, alien) if(!M.isSynthetic()) holder.remove_reagent(id, 3.6) //gets removed from organics very fast if(prob(25)) @@ -136,7 +135,7 @@ M.fakevomit() ..() -datum/reagent/ethanol/synthanol/reaction_mob(var/mob/M, var/method=TOUCH, var/volume) +/datum/reagent/ethanol/synthanol/reaction_mob(mob/M, method=TOUCH, volume) if(!istype(M, /mob/living)) return if(M.isSynthetic()) diff --git a/code/modules/reagents/newchem/drugs.dm b/code/modules/reagents/newchem/drugs.dm index 937ebff0397..3f60ff53495 100644 --- a/code/modules/reagents/newchem/drugs.dm +++ b/code/modules/reagents/newchem/drugs.dm @@ -13,7 +13,7 @@ overdose_threshold = 35 addiction_chance = 70 -/datum/reagent/nicotine/on_mob_life(var/mob/living/M as mob) +/datum/reagent/nicotine/on_mob_life(mob/living/M) if(!M) M = holder.my_atom var/smoke_message = pick("You feel relaxed.", "You feel calmed.", "You feel less stressed.", "You feel more placid.", "You feel more undivided.") if(prob(5)) @@ -24,9 +24,8 @@ M.AdjustWeakened(-1) M.adjustStaminaLoss(-1*REM) ..() - return -/datum/reagent/nicotine/overdose_process(var/mob/living/M as mob, severity) +/datum/reagent/nicotine/overdose_process(mob/living/M, severity) var/effect = ..() if(severity == 1) if(effect <= 2) @@ -75,7 +74,7 @@ overdose_threshold = 20 addiction_chance = 50 -/datum/reagent/crank/on_mob_life(var/mob/living/M as mob) +/datum/reagent/crank/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.AdjustParalysis(-2) M.AdjustStunned(-2) @@ -95,9 +94,8 @@ M.jitteriness += 30 M.emote(pick("groan", "moan")) ..() - return -/datum/reagent/crank/overdose_process(var/mob/living/M as mob, severity) +/datum/reagent/crank/overdose_process(mob/living/M, severity) var/effect = ..() if(severity == 1) if(effect <= 2) @@ -146,12 +144,11 @@ mix_sound = 'sound/goonstation/effects/crystalshatter.ogg' min_temp = 390 -/datum/chemical_reaction/crank/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/crank/on_reaction(datum/reagents/holder, created_volume) var/turf/T = get_turf(holder.my_atom) for(var/turf/turf in range(1,T)) new /obj/effect/hotspot(turf) explosion(T,0,0,2) - return /datum/reagent/krokodil name = "Krokodil" @@ -163,7 +160,7 @@ addiction_chance = 50 -/datum/reagent/krokodil/on_mob_life(var/mob/living/M as mob) +/datum/reagent/krokodil/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.jitteriness -= 40 if(prob(25)) @@ -185,9 +182,8 @@ to_chat(M, "Your skin feels all rough and dry.") M.adjustBruteLoss(2) ..() - return -/datum/reagent/krokodil/overdose_process(var/mob/living/M as mob, severity) +/datum/reagent/krokodil/overdose_process(mob/living/M, severity) var/effect = ..() if(severity == 1) if(effect <= 2) @@ -242,7 +238,7 @@ addiction_chance = 60 metabolization_rate = 0.6 -/datum/reagent/methamphetamine/on_mob_life(var/mob/living/M as mob) +/datum/reagent/methamphetamine/on_mob_life(mob/living/M) if(!M) M = holder.my_atom if(prob(5)) M.emote(pick("twitch_s","blink_r","shiver")) @@ -258,9 +254,8 @@ if(prob(50)) M.adjustBrainLoss(1.0) ..() - return -/datum/reagent/methamphetamine/overdose_process(var/mob/living/M as mob, severity) +/datum/reagent/methamphetamine/overdose_process(mob/living/M, severity) var/effect = ..() if(severity == 1) if(effect <= 2) @@ -293,7 +288,7 @@ result_amount = 4 min_temp = 374 -/datum/chemical_reaction/methamphetamine/on_reaction(var/datum/reagents/holder) +/datum/chemical_reaction/methamphetamine/on_reaction(datum/reagents/holder) var/turf/T = get_turf(holder.my_atom) T.visible_message("The solution generates a strong vapor!") for(var/mob/living/carbon/C in range(T, 1)) @@ -328,7 +323,7 @@ addiction_chance = 80 metabolization_rate = 0.6 -/datum/reagent/bath_salts/on_mob_life(var/mob/living/M as mob) +/datum/reagent/bath_salts/on_mob_life(mob/living/M) if(!M) M = holder.my_atom var/check = rand(0,100) if(ishuman(M)) @@ -361,7 +356,7 @@ to_chat(M, "THEY'RE GONNA GET YOU!") ..() -/datum/reagent/bath_salts/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume) +/datum/reagent/bath_salts/reaction_mob(mob/living/M, method=TOUCH, volume) if(method == INGEST) to_chat(M, "You feel FUCKED UP!!!!!!") M << 'sound/effects/singlebeat.ogg' @@ -372,7 +367,7 @@ else to_chat(M, "You feel a bit more salty than usual.") -/datum/reagent/bath_salts/overdose_process(var/mob/living/M as mob, severity) +/datum/reagent/bath_salts/overdose_process(mob/living/M, severity) var/effect = ..() if(severity == 1) if(effect <= 2) @@ -434,7 +429,7 @@ mix_message = "The mixture ferments into a filthy morass." mix_sound = 'sound/effects/blobattack.ogg' -/datum/chemical_reaction/jenkem/on_reaction(var/datum/reagents/holder) +/datum/chemical_reaction/jenkem/on_reaction(datum/reagents/holder) var/turf/T = get_turf(holder.my_atom) T.visible_message("The solution generates a strong vapor!") for(var/mob/living/carbon/C in range(T, 1)) @@ -449,7 +444,7 @@ color = "#644600" addiction_chance = 30 -/datum/reagent/jenkem/on_mob_life(var/mob/living/M as mob) +/datum/reagent/jenkem/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.Dizzy(5) if(prob(10)) @@ -471,7 +466,7 @@ reagent_state = LIQUID color = "#60A584" // rgb: 96, 165, 132 -/datum/reagent/aranesp/on_mob_life(var/mob/living/M as mob) +/datum/reagent/aranesp/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.adjustStaminaLoss(-40) if(prob(90)) @@ -487,7 +482,6 @@ M.Stun(1) M.losebreath++ ..() - return /datum/reagent/thc name = "Tetrahydrocannabinol" @@ -497,7 +491,7 @@ color = "#0FBE0F" -/datum/reagent/thc/on_mob_life(var/mob/living/M as mob) +/datum/reagent/thc/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.stuttering += rand(0,2) if(prob(5)) @@ -510,7 +504,6 @@ if(prob(10)) M.drowsyness = max(M.drowsyness, 10) ..() - return /datum/reagent/fliptonium name = "Fliptonium" @@ -531,14 +524,14 @@ result_amount = 4 mix_message = "The mixture swirls around excitedly!" -/datum/reagent/fliptonium/reaction_mob(var/mob/M, var/method=TOUCH, var/volume) +/datum/reagent/fliptonium/reaction_mob(mob/M, method=TOUCH, 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) +/datum/reagent/fliptonium/on_mob_life(mob/living/M) if(!M) M = holder.my_atom if(current_cycle == 5) M.SpinAnimation(speed = 11, loops = -1) @@ -564,12 +557,11 @@ M.adjustStaminaLoss(-1.5) M.SetSleeping(0) ..() - return -/datum/reagent/fliptonium/reagent_deleted(var/mob/living/M as mob) +/datum/reagent/fliptonium/reagent_deleted(mob/living/M) M.SpinAnimation(speed = 12, loops = -1) -/datum/reagent/fliptonium/overdose_process(var/mob/living/M as mob, severity) +/datum/reagent/fliptonium/overdose_process(mob/living/M, severity) var/effect = ..() if(severity == 1) if(effect <= 2) @@ -619,7 +611,7 @@ result_amount = 2 mix_message = "The mixture darkens and appears to partially vaporize into a chilling aerosol." -/datum/reagent/lube/ultra/on_mob_life(var/mob/living/M as mob) +/datum/reagent/lube/ultra/on_mob_life(mob/living/M) if(!M) M = holder.my_atom var/high_message = pick("You feel your servos whir!", "You feel like you need to go faster.", "You feel like you were just overclocked!") if(prob(1)) @@ -637,9 +629,8 @@ if(prob(5)) M.emote(pick("twitch", "shiver")) ..() - return -/datum/reagent/lube/ultra/overdose_process(var/mob/living/M as mob, severity) +/datum/reagent/lube/ultra/overdose_process(mob/living/M, severity) if(prob(20)) M.emote("ping") if(prob(33)) @@ -647,10 +638,10 @@ var/obj/item/I = M.get_active_hand() if(I) M.drop_item() - ..() if(prob(50)) M.adjustFireLoss(10) M.adjustBrainLoss(pick(0.5, 0.6, 0.7, 0.8, 0.9, 1)) + ..() //Surge: Krokodil /datum/reagent/surge @@ -665,7 +656,7 @@ addiction_chance = 50 -/datum/reagent/surge/on_mob_life(var/mob/living/M as mob) +/datum/reagent/surge/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.druggy = max(M.druggy, 15) var/high_message = pick("You feel calm.", "You feel collected.", "You feel like you need to relax.") @@ -675,9 +666,8 @@ if(prob(5)) to_chat(M, "[high_message]") ..() - return -/datum/reagent/surge/overdose_process(var/mob/living/M as mob, severity) +/datum/reagent/surge/overdose_process(mob/living/M, severity) //Hit them with the same effects as an electrode! M.Stun(5) M.Weaken(5) diff --git a/code/modules/reagents/newchem/food.dm b/code/modules/reagents/newchem/food.dm index 97643169e6f..206e3dafd91 100644 --- a/code/modules/reagents/newchem/food.dm +++ b/code/modules/reagents/newchem/food.dm @@ -6,7 +6,7 @@ color = "#63DE63" metabolization_rate = 0.4 -datum/reagent/questionmark/reaction_mob(var/mob/M, var/method=TOUCH, var/volume) +/datum/reagent/questionmark/reaction_mob(mob/M, method=TOUCH, volume) if(!istype(M, /mob/living)) return if(method == INGEST) @@ -15,23 +15,22 @@ datum/reagent/questionmark/reaction_mob(var/mob/M, var/method=TOUCH, var/volume) to_chat(M, "Ugh! Eating that was a terrible idea!") M.ForceContractDisease(new /datum/disease/food_poisoning(0)) -datum/reagent/egg +/datum/reagent/egg name = "Egg" id = "egg" description = "A runny and viscous mixture of clear and yellow fluids." reagent_state = LIQUID color = "#F0C814" -datum/reagent/egg/on_mob_life(var/mob/living/M as mob) +/datum/reagent/egg/on_mob_life(mob/living/M) if(!M) M = holder.my_atom if(prob(8)) M.emote("fart") if(prob(3)) M.reagents.add_reagent("cholesterol", rand(1,2)) ..() - return -datum/reagent/triple_citrus +/datum/reagent/triple_citrus name = "Triple Citrus" id = "triple_citrus" description = "A refreshing mixed drink of orange, lemon and lime juice." @@ -47,13 +46,13 @@ datum/reagent/triple_citrus mix_message = "The citrus juices begin to blend together." mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' -datum/reagent/triple_citrus/reaction_mob(var/mob/living/carbon/M as mob, var/method=TOUCH, var/volume) +/datum/reagent/triple_citrus/reaction_mob(mob/living/carbon/M, method=TOUCH, volume) if(!istype(M, /mob/living/carbon)) return if(method == INGEST) M.adjustToxLoss(-rand(1,2)) -datum/reagent/corn_starch +/datum/reagent/corn_starch name = "Corn Starch" id = "corn_starch" description = "The powdered starch of maize, derived from the kernel's endosperm. Used as a thickener for gravies and puddings." @@ -69,18 +68,17 @@ datum/reagent/corn_starch min_temp = 374 mix_message = "The mixture forms a viscous, clear fluid!" -datum/reagent/corn_syrup +/datum/reagent/corn_syrup name = "Corn Syrup" id = "corn_syrup" description = "A sweet syrup derived from corn starch that has had its starches converted into maltose and other sugars." reagent_state = LIQUID color = "#C8A5DC" -datum/reagent/corn_syrup/on_mob_life(var/mob/living/M as mob) +/datum/reagent/corn_syrup/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.reagents.add_reagent("sugar", 1.2) ..() - return /datum/chemical_reaction/vhfcs name = "vhfcs" @@ -91,18 +89,17 @@ datum/reagent/corn_syrup/on_mob_life(var/mob/living/M as mob) result_amount = 1 mix_message = "The mixture emits a sickly-sweet smell." -datum/reagent/vhfcs +/datum/reagent/vhfcs name = "Very-high-fructose corn syrup" id = "vhfcs" description = "An incredibly sweet syrup, created from corn syrup treated with enzymes to convert its sugars into fructose." reagent_state = LIQUID color = "#C8A5DC" -datum/reagent/vhfcs/on_mob_life(var/mob/living/M as mob) +/datum/reagent/vhfcs/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.reagents.add_reagent("sugar", 2.4) ..() - return /datum/chemical_reaction/cola name = "cola" @@ -120,14 +117,13 @@ datum/reagent/vhfcs/on_mob_life(var/mob/living/M as mob) reagent_state = LIQUID color = "#d3a308" -datum/reagent/honey/on_mob_life(var/mob/living/M as mob) +/datum/reagent/honey/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.reagents.add_reagent("sugar", 0.4) if(prob(20)) M.heal_organ_damage(3,1) ..() - return /datum/reagent/chocolate name = "Chocolate" @@ -137,18 +133,16 @@ datum/reagent/honey/on_mob_life(var/mob/living/M as mob) nutriment_factor = 5 * REAGENTS_METABOLISM //same as pure cocoa powder, because it makes no sense that chocolate won't fill you up and make you fat color = "#2E2418" -/datum/reagent/chocolate/on_mob_life(var/mob/living/M as mob) +/datum/reagent/chocolate/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.nutrition += nutriment_factor M.reagents.add_reagent("sugar", 0.8) ..() - return -/datum/reagent/chocolate/reaction_turf(var/turf/T, var/volume) +/datum/reagent/chocolate/reaction_turf(turf/T, volume) src = null if(volume >= 5) new /obj/item/weapon/reagent_containers/food/snacks/choc_pile(T) - return /datum/reagent/mugwort name = "Mugwort" @@ -157,7 +151,7 @@ datum/reagent/honey/on_mob_life(var/mob/living/M as mob) reagent_state = LIQUID color = "#21170E" -datum/reagent/mugwort/on_mob_life(var/mob/living/M as mob) +/datum/reagent/mugwort/on_mob_life(mob/living/M) if(!M) M = holder.my_atom if(istype(M, /mob/living/carbon/human) && M.mind) if(M.mind.special_role == "Wizard") @@ -166,7 +160,6 @@ datum/reagent/mugwort/on_mob_life(var/mob/living/M as mob) M.adjustBruteLoss(-1*REM) M.adjustFireLoss(-1*REM) ..() - return /datum/reagent/porktonium name = "Porktonium" @@ -177,7 +170,7 @@ datum/reagent/mugwort/on_mob_life(var/mob/living/M as mob) metabolization_rate = 0.2 overdose_threshold = 133 -/datum/reagent/porktonium/overdose_process(var/mob/living/M as mob, severity) +/datum/reagent/porktonium/overdose_process(mob/living/M, severity) if(prob(15)) M.reagents.add_reagent("cholesterol", rand(1,3)) if(prob(8)) @@ -191,7 +184,7 @@ datum/reagent/mugwort/on_mob_life(var/mob/living/M as mob) reagent_state = LIQUID color = "#C87D28" -datum/reagent/fungus/reaction_mob(var/mob/M, var/method=TOUCH, var/volume) +/datum/reagent/fungus/reaction_mob(mob/M, method=TOUCH, volume) if(!istype(M, /mob/living)) return if(method == INGEST) @@ -213,10 +206,9 @@ datum/reagent/fungus/reaction_mob(var/mob/M, var/method=TOUCH, var/volume) color = "#B4B400" metabolization_rate = 0.2 -/datum/reagent/chicken_soup/on_mob_life(var/mob/living/M as mob) +/datum/reagent/chicken_soup/on_mob_life(mob/living/M) M.nutrition += 2 ..() - return /datum/reagent/msg name = "Monosodium glutamate" @@ -226,14 +218,14 @@ datum/reagent/fungus/reaction_mob(var/mob/M, var/method=TOUCH, var/volume) color = "#F5F5F5" metabolization_rate = 0.2 -datum/reagent/msg/reaction_mob(var/mob/M, var/method=TOUCH, var/volume) +/datum/reagent/msg/reaction_mob(mob/M, method=TOUCH, volume) if(!istype(M, /mob/living)) return if(method == INGEST) to_chat(M, "That tasted amazing!") -/datum/reagent/msg/on_mob_life(var/mob/living/M as mob) +/datum/reagent/msg/on_mob_life(mob/living/M) if(prob(5)) if(prob(10)) M.adjustToxLoss(rand(2.4)) @@ -241,7 +233,6 @@ datum/reagent/msg/reaction_mob(var/mob/M, var/method=TOUCH, var/volume) to_chat(M, "A horrible migraine overpowers you.") M.Stun(rand(2,5)) ..() - return /datum/reagent/cheese name = "Cheese" @@ -252,16 +243,15 @@ datum/reagent/msg/reaction_mob(var/mob/M, var/method=TOUCH, var/volume) metabolization_rate = 0 //heheheh -/datum/reagent/cheese/on_mob_life(var/mob/living/M as mob) +/datum/reagent/cheese/on_mob_life(mob/living/M) if(prob(3)) M.reagents.add_reagent("cholesterol", rand(1,2)) ..() -datum/reagent/cheese/reaction_turf(var/turf/T, var/volume) +/datum/reagent/cheese/reaction_turf(turf/T, volume) src = null if(volume >= 5) new /obj/item/weapon/reagent_containers/food/snacks/cheesewedge(T) - return /datum/chemical_reaction/cheese name = "cheese" @@ -271,7 +261,7 @@ datum/reagent/cheese/reaction_turf(var/turf/T, var/volume) result_amount = 1 mix_message = "The mixture curdles up." -/datum/chemical_reaction/cheese/on_reaction(var/datum/reagents/holder) +/datum/chemical_reaction/cheese/on_reaction(datum/reagents/holder) var/turf/T = get_turf(holder.my_atom) T.visible_message("A faint cheesy smell drifts through the air...") @@ -283,7 +273,7 @@ datum/reagent/cheese/reaction_turf(var/turf/T, var/volume) color = "#B2B139" overdose_threshold = 50 -/datum/reagent/fake_cheese/overdose_process(var/mob/living/M as mob, severity) +/datum/reagent/fake_cheese/overdose_process(mob/living/M, severity) if(prob(8)) to_chat(M, "You feel something squirming in your stomach. Your thoughts turn to cheese and you begin to sweat.") M.adjustToxLoss(rand(1,2)) @@ -297,16 +287,15 @@ datum/reagent/cheese/reaction_turf(var/turf/T, var/volume) metabolization_rate = 0 //heheheh addiction_chance = 5 -/datum/reagent/weird_cheese/on_mob_life(var/mob/living/M as mob) +/datum/reagent/weird_cheese/on_mob_life(mob/living/M) if(prob(5)) M.reagents.add_reagent("cholesterol", rand(1,3)) ..() -datum/reagent/weird_cheese/reaction_turf(var/turf/T, var/volume) +/datum/reagent/weird_cheese/reaction_turf(turf/T, volume) src = null if(volume >= 5) new /obj/item/weapon/reagent_containers/food/snacks/weirdcheesewedge(T) - return /datum/chemical_reaction/weird_cheese name = "Weird cheese" @@ -317,23 +306,22 @@ datum/reagent/weird_cheese/reaction_turf(var/turf/T, var/volume) mix_message = "The disgusting mixture sloughs together horribly, emitting a foul stench." mix_sound = 'sound/goonstation/misc/gurggle.ogg' -/datum/chemical_reaction/weird_cheese/on_reaction(var/datum/reagents/holder) +/datum/chemical_reaction/weird_cheese/on_reaction(datum/reagents/holder) var/turf/T = get_turf(holder.my_atom) T.visible_message("A horrible smell assaults your nose! What in space is it?") -datum/reagent/beans +/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) +/datum/reagent/beans/on_mob_life(mob/living/M) if(!M) M = holder.my_atom if(prob(10)) M.emote("fart") ..() - return /datum/reagent/bread name = "Bread" @@ -342,11 +330,10 @@ datum/reagent/beans/on_mob_life(var/mob/living/M as mob) reagent_state = SOLID color = "#9C5013" -datum/reagent/bread/reaction_turf(var/turf/T, var/volume) +/datum/reagent/bread/reaction_turf(turf/T, volume) src = null if(volume >= 5) new /obj/item/weapon/reagent_containers/food/snacks/breadslice(T) - return /datum/reagent/vomit name = "Vomit" @@ -355,12 +342,11 @@ datum/reagent/bread/reaction_turf(var/turf/T, var/volume) reagent_state = LIQUID color = "#FFFF00" -datum/reagent/vomit/reaction_turf(var/turf/T, var/volume) +/datum/reagent/vomit/reaction_turf(turf/T, volume) src = null if(volume >= 5) new /obj/effect/decal/cleanable/vomit(T) playsound(T, 'sound/effects/splat.ogg', 50, 1, -3) - return /datum/reagent/greenvomit name = "Green vomit" @@ -369,12 +355,11 @@ datum/reagent/vomit/reaction_turf(var/turf/T, var/volume) reagent_state = LIQUID color = "#78FF74" -datum/reagent/greenvomit/reaction_turf(var/turf/T, var/volume) +/datum/reagent/greenvomit/reaction_turf(turf/T, volume) src = null if(volume >= 5) new /obj/effect/decal/cleanable/vomit/green(T) playsound(T, 'sound/effects/splat.ogg', 50, 1, -3) - return /datum/reagent/ectoplasm @@ -385,25 +370,23 @@ datum/reagent/greenvomit/reaction_turf(var/turf/T, var/volume) color = "#8EAE7B" process_flags = ORGANIC | SYNTHETIC //Because apparently ghosts in the shell -datum/reagent/ectoplasm/reaction_mob(var/mob/M, var/method=TOUCH, var/volume) +/datum/reagent/ectoplasm/reaction_mob(mob/M, method=TOUCH, volume) if(!istype(M, /mob/living)) return if(method == INGEST) var/spooky_eat = pick("Ugh, why did you eat that? Your mouth feels haunted. Haunted with bad flavors.", "Ugh, why did you eat that? It has the texture of ham aspic. From the 1950s. Left out in the sun.", "Ugh, why did you eat that? It tastes like a ghost fart.", "Ugh, why did you eat that? It tastes like flavor died.") to_chat(M, "[spooky_eat]") -/datum/reagent/ectoplasm/on_mob_life(var/mob/living/M as mob) +/datum/reagent/ectoplasm/on_mob_life(mob/living/M) var/spooky_message = pick("You notice something moving out of the corner of your eye, but nothing is there...", "Your eyes twitch, you feel like something you can't see is here...", "You've got the heebie-jeebies.", "You feel uneasy.", "You shudder as if cold...", "You feel something gliding across your back...") if(prob(8)) to_chat(M, "[spooky_message]") ..() - return -datum/reagent/ectoplasm/reaction_turf(var/turf/T, var/volume) +/datum/reagent/ectoplasm/reaction_turf(turf/T, volume) src = null if(volume >= 10) new /obj/item/weapon/reagent_containers/food/snacks/ectoplasm(T) - return /datum/reagent/soybeanoil name = "Space-soybean oil" @@ -412,13 +395,12 @@ datum/reagent/ectoplasm/reaction_turf(var/turf/T, var/volume) reagent_state = LIQUID color = "#B1B0B0" -/datum/reagent/soybeanoil/on_mob_life(var/mob/living/M as mob) +/datum/reagent/soybeanoil/on_mob_life(mob/living/M) if(prob(10)) M.reagents.add_reagent("cholesterol", rand(1,3)) if(prob(8)) M.reagents.add_reagent("porktonium", 5) ..() - return /datum/reagent/hydrogenated_soybeanoil name = "Partially hydrogenated space-soybean oil" @@ -429,7 +411,7 @@ datum/reagent/ectoplasm/reaction_turf(var/turf/T, var/volume) metabolization_rate = 0.2 overdose_threshold = 75 -/datum/reagent/hydrogenated_soybeanoil/on_mob_life(var/mob/living/M as mob) +/datum/reagent/hydrogenated_soybeanoil/on_mob_life(mob/living/M) if(prob(15)) M.reagents.add_reagent("cholesterol", rand(1,3)) if(prob(8)) @@ -439,9 +421,8 @@ datum/reagent/ectoplasm/reaction_turf(var/turf/T, var/volume) else metabolization_rate = 0.2 ..() - return -/datum/reagent/hydrogenated_soybeanoil/overdose_process(var/mob/living/M as mob, severity) +/datum/reagent/hydrogenated_soybeanoil/overdose_process(mob/living/M, severity) if(prob(33)) to_chat(M, "You feel horribly weak.") if(prob(10)) @@ -469,12 +450,12 @@ datum/reagent/ectoplasm/reaction_turf(var/turf/T, var/volume) reagent_state = LIQUID color = "#EBD7D7" -/datum/reagent/meatslurry/on_mob_life(var/mob/living/M as mob) +/datum/reagent/meatslurry/on_mob_life(mob/living/M) if(prob(4)) M.reagents.add_reagent("cholesterol", rand(1,3)) ..() -/datum/reagent/meatslurry/reaction_turf(var/turf/T, var/volume) +/datum/reagent/meatslurry/reaction_turf(turf/T, volume) src = null if(volume >= 5 && prob(10)) new /obj/effect/decal/cleanable/blood/gibs/cleangibs(T) @@ -519,7 +500,7 @@ datum/reagent/ectoplasm/reaction_turf(var/turf/T, var/volume) reagent_state = SOLID color = "#AC7E67" -/datum/reagent/beff/on_mob_life(var/mob/living/M as mob) +/datum/reagent/beff/on_mob_life(mob/living/M) if(prob(5)) M.reagents.add_reagent("cholesterol", rand(1,3)) if(prob(8)) @@ -528,7 +509,6 @@ datum/reagent/ectoplasm/reaction_turf(var/turf/T, var/volume) to_chat(M, "[pick("You feel ill.","Your stomach churns.","You feel queasy.","You feel sick.")]") M.emote(pick("groan","moan")) ..() - return /datum/chemical_reaction/beff name = "Beff" @@ -546,7 +526,7 @@ datum/reagent/ectoplasm/reaction_turf(var/turf/T, var/volume) reagent_state = SOLID color = "#AC7E67" -datum/reagent/pepperoni/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume) +/datum/reagent/pepperoni/reaction_mob(mob/living/M, method=TOUCH, volume) if(method == TOUCH) if(ishuman(M)) var/mob/living/carbon/human/H = M @@ -584,7 +564,7 @@ datum/reagent/pepperoni/reaction_mob(var/mob/living/M, var/method=TOUCH, var/vol reagent_state = LIQUID color = "#FFFAC8" -/datum/reagent/cholesterol/on_mob_life(var/mob/living/M as mob) +/datum/reagent/cholesterol/on_mob_life(mob/living/M) if(volume >= 25 && prob(volume*0.15)) to_chat(M, "Your chest feels [pick("weird","uncomfortable","nasty","gross","odd","unusual","warm")]!") M.adjustToxLoss(rand(1,2)) diff --git a/code/modules/reagents/newchem/medicine.dm b/code/modules/reagents/newchem/medicine.dm index 426904efeab..7c4273693d2 100644 --- a/code/modules/reagents/newchem/medicine.dm +++ b/code/modules/reagents/newchem/medicine.dm @@ -4,7 +4,7 @@ #define REM REAGENTS_EFFECT_MULTIPLIER -datum/reagent/silver_sulfadiazine +/datum/reagent/silver_sulfadiazine name = "Silver Sulfadiazine" id = "silver_sulfadiazine" description = "This antibacterial compound is used to treat burn victims." @@ -12,7 +12,7 @@ datum/reagent/silver_sulfadiazine color = "#F0C814" metabolization_rate = 3 -datum/reagent/silver_sulfadiazine/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume, var/show_message = 1) +/datum/reagent/silver_sulfadiazine/reaction_mob(mob/living/M, method=TOUCH, volume, show_message = 1) if(iscarbon(M)) if(method == TOUCH) M.adjustFireLoss(-volume) @@ -23,15 +23,13 @@ datum/reagent/silver_sulfadiazine/reaction_mob(var/mob/living/M as mob, var/meth if(show_message) to_chat(M, "You feel sick...") ..() - return -datum/reagent/silver_sulfadiazine/on_mob_life(var/mob/living/M as mob) +/datum/reagent/silver_sulfadiazine/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.adjustFireLoss(-2*REM) ..() - return -datum/reagent/styptic_powder +/datum/reagent/styptic_powder name = "Styptic Powder" id = "styptic_powder" description = "Styptic (aluminium sulfate) powder helps control bleeding and heal physical wounds." @@ -39,7 +37,7 @@ datum/reagent/styptic_powder color = "#C8A5DC" metabolization_rate = 3 -datum/reagent/styptic_powder/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume, var/show_message = 1) +/datum/reagent/styptic_powder/reaction_mob(mob/living/M, method=TOUCH, volume, show_message = 1) if(iscarbon(M)) if(method == TOUCH) M.adjustBruteLoss(-volume) @@ -51,13 +49,11 @@ datum/reagent/styptic_powder/reaction_mob(var/mob/living/M as mob, var/method=TO if(show_message) to_chat(M, "You feel gross!") ..() - return -datum/reagent/styptic_powder/on_mob_life(var/mob/living/M as mob) +/datum/reagent/styptic_powder/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.adjustBruteLoss(-2*REM) ..() - return /datum/reagent/salglu_solution name = "Saline-Glucose Solution" @@ -80,14 +76,14 @@ datum/reagent/styptic_powder/on_mob_life(var/mob/living/M as mob) H.vessel.add_reagent("blood", 1) ..() -datum/reagent/synthflesh +/datum/reagent/synthflesh name = "Synthflesh" id = "synthflesh" description = "A resorbable microfibrillar collagen and protein mixture that can rapidly heal injuries when applied topically." reagent_state = LIQUID color = "#FFEBEB" -datum/reagent/synthflesh/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume,var/show_message = 1) +/datum/reagent/synthflesh/reaction_mob(mob/living/M, method=TOUCH, volume, show_message = 1) if(!M) M = holder.my_atom if(iscarbon(M)) if(method == TOUCH) @@ -96,23 +92,21 @@ datum/reagent/synthflesh/reaction_mob(var/mob/living/M, var/method=TOUCH, var/vo if(show_message) to_chat(M, "The synthetic flesh integrates itself into your wounds, healing you.") ..() - return -datum/reagent/synthflesh/reaction_turf(var/turf/T, var/volume) //let's make a mess! +/datum/reagent/synthflesh/reaction_turf(turf/T, volume) //let's make a mess! src = null if(volume >= 5) new /obj/effect/decal/cleanable/blood/gibs/cleangibs(T) playsound(T, 'sound/effects/splat.ogg', 50, 1, -3) - return -datum/reagent/charcoal +/datum/reagent/charcoal name = "Charcoal" id = "charcoal" description = "Activated charcoal helps to absorb toxins." reagent_state = LIQUID color = "#000000" -datum/reagent/charcoal/on_mob_life(var/mob/living/M as mob) +/datum/reagent/charcoal/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.adjustToxLoss(-1.5*REM) if(prob(50)) @@ -120,7 +114,6 @@ datum/reagent/charcoal/on_mob_life(var/mob/living/M as mob) if(R != src) M.reagents.remove_reagent(R.id,1) ..() - return /datum/chemical_reaction/charcoal name = "Charcoal" @@ -165,7 +158,7 @@ datum/reagent/charcoal/on_mob_life(var/mob/living/M as mob) result_amount = 4 mix_message = "The solution yields an astringent powder." -datum/reagent/omnizine +/datum/reagent/omnizine name = "Omnizine" id = "omnizine" description = "Omnizine is a highly potent healing medication that can be used to treat a wide range of injuries." @@ -175,7 +168,7 @@ datum/reagent/omnizine overdose_threshold = 30 addiction_chance = 5 -/datum/reagent/omnizine/on_mob_life(var/mob/living/M as mob) +/datum/reagent/omnizine/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.adjustToxLoss(-1*REM) M.adjustOxyLoss(-1*REM) @@ -184,9 +177,8 @@ datum/reagent/omnizine if(prob(50)) M.losebreath -= 1 ..() - return -/datum/reagent/omnizine/overdose_process(var/mob/living/M as mob, severity) +/datum/reagent/omnizine/overdose_process(mob/living/M, severity) var/effect = ..() if(severity == 1) //lesser M.stuttering += 1 @@ -220,7 +212,7 @@ datum/reagent/omnizine M.Dizzy(5) M.Weaken(3) -datum/reagent/calomel +/datum/reagent/calomel name = "Calomel" id = "calomel" description = "This potent purgative rids the body of impurities. It is highly toxic however and close supervision is required." @@ -228,7 +220,7 @@ datum/reagent/calomel color = "#22AB35" metabolization_rate = 0.8 -datum/reagent/calomel/on_mob_life(var/mob/living/M as mob) +/datum/reagent/calomel/on_mob_life(mob/living/M) if(!M) M = holder.my_atom for(var/datum/reagent/R in M.reagents.reagent_list) if(R != src) @@ -238,7 +230,6 @@ datum/reagent/calomel/on_mob_life(var/mob/living/M as mob) if(prob(6)) M.fakevomit() ..() - return /datum/chemical_reaction/calomel name = "Calomel" @@ -249,19 +240,18 @@ datum/reagent/calomel/on_mob_life(var/mob/living/M as mob) min_temp = 374 mix_message = "Stinging vapors rise from the solution." -datum/reagent/potass_iodide +/datum/reagent/potass_iodide name = "Potassium Iodide" id = "potass_iodide" description = "Potassium Iodide is a medicinal drug used to counter the effects of radiation poisoning." reagent_state = LIQUID color = "#B4DCBE" -datum/reagent/potass_iodide/on_mob_life(var/mob/living/M as mob) +/datum/reagent/potass_iodide/on_mob_life(mob/living/M) if(!M) M = holder.my_atom if(prob(80)) M.radiation = max(0, M.radiation-1) ..() - return /datum/chemical_reaction/potass_iodide name = "Potassium Iodide" @@ -271,14 +261,14 @@ datum/reagent/potass_iodide/on_mob_life(var/mob/living/M as mob) result_amount = 2 mix_message = "The solution settles calmly and emits gentle fumes." -datum/reagent/pen_acid +/datum/reagent/pen_acid name = "Pentetic Acid" id = "pen_acid" description = "Pentetic Acid is an aggressive chelation agent. May cause tissue damage. Use with caution." reagent_state = LIQUID color = "#C8A5DC" -datum/reagent/pen_acid/on_mob_life(var/mob/living/M as mob) +/datum/reagent/pen_acid/on_mob_life(mob/living/M) if(!M) M = holder.my_atom for(var/datum/reagent/R in M.reagents.reagent_list) if(R != src) @@ -300,7 +290,7 @@ datum/reagent/pen_acid/on_mob_life(var/mob/living/M as mob) result_amount = 6 mix_message = "The substance becomes very still, emitting a curious haze." -datum/reagent/sal_acid +/datum/reagent/sal_acid name = "Salicylic Acid" id = "sal_acid" description = "This is a is a standard salicylate pain reliever and fever reducer." @@ -310,7 +300,7 @@ datum/reagent/sal_acid shock_reduction = 25 overdose_threshold = 25 -datum/reagent/sal_acid/on_mob_life(var/mob/living/M as mob) +/datum/reagent/sal_acid/on_mob_life(mob/living/M) if(!M) M = holder.my_atom if(prob(55)) M.adjustBruteLoss(-2*REM) @@ -319,7 +309,6 @@ datum/reagent/sal_acid/on_mob_life(var/mob/living/M as mob) if(H.traumatic_shock < 100) H.shock_stage = 0 ..() - return /datum/chemical_reaction/sal_acid name = "Salicyclic Acid" @@ -330,7 +319,7 @@ datum/reagent/sal_acid/on_mob_life(var/mob/living/M as mob) mix_message = "The mixture crystallizes." mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' -datum/reagent/salbutamol +/datum/reagent/salbutamol name = "Salbutamol" id = "salbutamol" description = "Salbutamol is a common bronchodilation medication for asthmatics. It may help with other breathing problems as well." @@ -338,12 +327,11 @@ datum/reagent/salbutamol color = "#00FFFF" metabolization_rate = 0.2 -datum/reagent/salbutamol/on_mob_life(var/mob/living/M as mob) +/datum/reagent/salbutamol/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.adjustOxyLoss(-6*REM) M.losebreath = max(0, M.losebreath-4) ..() - return /datum/chemical_reaction/salbutamol name = "Salbutamol" @@ -354,7 +342,7 @@ datum/reagent/salbutamol/on_mob_life(var/mob/living/M as mob) mix_message = "The solution bubbles freely, creating a head of bluish foam." mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' -datum/reagent/perfluorodecalin +/datum/reagent/perfluorodecalin name = "Perfluorodecalin" id = "perfluorodecalin" description = "This experimental perfluoronated solvent has applications in liquid breathing and tissue oxygenation. Use with caution." @@ -363,7 +351,7 @@ datum/reagent/perfluorodecalin metabolization_rate = 0.2 addiction_chance = 20 -datum/reagent/perfluorodecalin/on_mob_life(var/mob/living/carbon/human/M as mob) +/datum/reagent/perfluorodecalin/on_mob_life(mob/living/carbon/human/M) if(!M) M = holder.my_atom M.adjustOxyLoss(-25*REM) if(volume >= 4) @@ -373,7 +361,6 @@ datum/reagent/perfluorodecalin/on_mob_life(var/mob/living/carbon/human/M as mob) M.adjustBruteLoss(-1*REM) M.adjustFireLoss(-1*REM) ..() - return /datum/chemical_reaction/perfluorodecalin name = "Perfluorodecalin" @@ -395,7 +382,7 @@ datum/reagent/perfluorodecalin/on_mob_life(var/mob/living/carbon/human/M as mob) overdose_threshold = 35 addiction_chance = 25 -/datum/reagent/ephedrine/on_mob_life(var/mob/living/M as mob) +/datum/reagent/ephedrine/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.drowsyness = max(0, M.drowsyness-5) M.AdjustParalysis(-1) @@ -411,9 +398,8 @@ datum/reagent/perfluorodecalin/on_mob_life(var/mob/living/carbon/human/M as mob) M.adjustBruteLoss(-1) M.adjustFireLoss(-1) ..() - return -/datum/reagent/ephedrine/overdose_process(var/mob/living/M as mob, severity) +/datum/reagent/ephedrine/overdose_process(mob/living/M, severity) var/effect = ..() if(severity == 1) if(effect <= 1) @@ -442,7 +428,7 @@ datum/reagent/perfluorodecalin/on_mob_life(var/mob/living/carbon/human/M as mob) result_amount = 4 mix_message = "The solution fizzes and gives off toxic fumes." -datum/reagent/diphenhydramine +/datum/reagent/diphenhydramine name = "Diphenhydramine" id = "diphenhydramine" description = "Anti-allergy medication. May cause drowsiness, do not operate heavy machinery while using this." @@ -450,7 +436,7 @@ datum/reagent/diphenhydramine color = "#5BCBE1" addiction_chance = 10 -datum/reagent/diphenhydramine/on_mob_life(var/mob/living/M as mob) +/datum/reagent/diphenhydramine/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.jitteriness = max(0, M.jitteriness-20) M.reagents.remove_reagent("histamine",3) @@ -462,7 +448,6 @@ datum/reagent/diphenhydramine/on_mob_life(var/mob/living/M as mob) M.drowsyness += 1 M.visible_message("[M] looks a bit dazed.") ..() - return /datum/chemical_reaction/diphenhydramine name = "Diphenhydramine" @@ -473,7 +458,7 @@ datum/reagent/diphenhydramine/on_mob_life(var/mob/living/M as mob) mix_message = "The mixture fizzes gently." mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' -datum/reagent/morphine +/datum/reagent/morphine name = "Morphine" id = "morphine" description = "A strong but highly addictive opiate painkiller with sedative side effects." @@ -483,7 +468,7 @@ datum/reagent/morphine addiction_chance = 50 shock_reduction = 50 -datum/reagent/morphine/on_mob_life(var/mob/living/M as mob) +/datum/reagent/morphine/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.jitteriness = max(0, M.jitteriness-25) switch(current_cycle) @@ -500,9 +485,8 @@ datum/reagent/morphine/on_mob_life(var/mob/living/M as mob) if(H.traumatic_shock < 100) H.shock_stage = 0 ..() - return -datum/reagent/oculine/on_mob_life(var/mob/living/M as mob) +/datum/reagent/oculine/on_mob_life(mob/living/M) if(!M) M = holder.my_atom if(prob(80)) if(ishuman(M)) @@ -521,7 +505,6 @@ datum/reagent/oculine/on_mob_life(var/mob/living/M as mob) if(prob(30)) M.ear_deaf = 0 ..() - return /datum/chemical_reaction/oculine name = "Oculine" @@ -531,7 +514,7 @@ datum/reagent/oculine/on_mob_life(var/mob/living/M as mob) result_amount = 3 mix_message = "The mixture settles, becoming a milky white." -datum/reagent/oculine +/datum/reagent/oculine name = "Oculine" id = "oculine" description = "Oculine is a saline eye medication with mydriatic and antibiotic effects." @@ -540,7 +523,7 @@ datum/reagent/oculine metabolization_rate = 0.4 var/cycle_amount = 0 -datum/reagent/atropine +/datum/reagent/atropine name = "Atropine" id = "atropine" description = "Atropine is a potent cardiac resuscitant but it can causes confusion, dizzyness and hyperthermia." @@ -549,7 +532,7 @@ datum/reagent/atropine metabolization_rate = 0.2 overdose_threshold = 25 -datum/reagent/atropine/on_mob_life(var/mob/living/M as mob) +/datum/reagent/atropine/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.dizziness += 1 M.confused = max(M.confused, 5) @@ -567,7 +550,6 @@ datum/reagent/atropine/on_mob_life(var/mob/living/M as mob) M.adjustToxLoss(1) M.reagents.remove_reagent("sarin", 20) ..() - return /datum/chemical_reaction/atropine name = "Atropine" @@ -577,7 +559,7 @@ datum/reagent/atropine/on_mob_life(var/mob/living/M as mob) result_amount = 5 mix_message = "A horrid smell like something died drifts from the mixture." -datum/reagent/epinephrine +/datum/reagent/epinephrine name = "Epinephrine" id = "epinephrine" description = "Epinephrine is a potent neurotransmitter, used in medical emergencies to halt anaphylactic shock and prevent cardiac arrest." @@ -586,7 +568,7 @@ datum/reagent/epinephrine metabolization_rate = 0.2 overdose_threshold = 20 -datum/reagent/epinephrine/on_mob_life(var/mob/living/M as mob) +/datum/reagent/epinephrine/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.drowsyness = max(0, M.drowsyness-5) if(prob(20)) @@ -609,9 +591,8 @@ datum/reagent/epinephrine/on_mob_life(var/mob/living/M as mob) M.adjustBruteLoss(-1*REM) M.adjustFireLoss(-1*REM) ..() - return -/datum/reagent/epinephrine/overdose_process(var/mob/living/M as mob, severity) +/datum/reagent/epinephrine/overdose_process(mob/living/M, severity) var/effect = ..() if(severity == 1) if(effect <= 1) @@ -641,7 +622,7 @@ datum/reagent/epinephrine/on_mob_life(var/mob/living/M as mob) mix_message = "Tiny white crystals precipitate out of the solution." mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' -datum/reagent/strange_reagent +/datum/reagent/strange_reagent name = "Strange Reagent" id = "strange_reagent" description = "A glowing green fluid highly reminiscent of nuclear waste." @@ -649,7 +630,7 @@ datum/reagent/strange_reagent color = "#A0E85E" metabolization_rate = 0.2 -datum/reagent/strange_reagent/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume) +/datum/reagent/strange_reagent/reaction_mob(mob/living/M, method=TOUCH, volume) if(isanimal(M)) if(method == TOUCH) var/mob/living/simple_animal/SM = M @@ -680,15 +661,13 @@ datum/reagent/strange_reagent/reaction_mob(var/mob/living/M as mob, var/method=T M.stat = UNCONSCIOUS add_logs(M, M, "revived", object="strange reagent") ..() - return -datum/reagent/strange_reagent/on_mob_life(var/mob/living/M as mob) +/datum/reagent/strange_reagent/on_mob_life(mob/living/M) if(!M) M = holder.my_atom if(prob(10)) M.adjustBruteLoss(2*REM) M.adjustToxLoss(2*REM) ..() - return /datum/chemical_reaction/strange_reagent name = "Strange Reagent" @@ -698,7 +677,7 @@ datum/reagent/strange_reagent/on_mob_life(var/mob/living/M as mob) result_amount = 3 mix_message = "The substance begins moving on its own somehow." -datum/reagent/life +/datum/reagent/life name = "Life" id = "life" description = "Can create a life form, however it is not guaranteed to be friendly. May want to have Security on hot standby." @@ -714,13 +693,12 @@ datum/reagent/life result_amount = 3 min_temp = 374 -/datum/chemical_reaction/life/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/life/on_reaction(datum/reagents/holder, created_volume) chemical_mob_spawn(holder, 1, "Life") -/datum/reagent/mannitol/on_mob_life(mob/living/M as mob) +/datum/reagent/mannitol/on_mob_life(mob/living/M) M.adjustBrainLoss(-3) ..() - return /datum/chemical_reaction/mannitol name = "Mannitol" @@ -736,7 +714,7 @@ datum/reagent/life description = "Mannitol is a sugar alcohol that can help alleviate cranial swelling." color = "#D1D1F1" -/datum/reagent/mutadone/on_mob_life(var/mob/living/carbon/human/M as mob) +/datum/reagent/mutadone/on_mob_life(mob/living/carbon/human/M) M.jitteriness = 0 var/needs_update = M.mutations.len > 0 || M.disabilities > 0 || M.sdisabilities > 0 @@ -753,7 +731,6 @@ datum/reagent/life var/mob/living/carbon/human/H = M H.update_mutations() ..() - return /datum/chemical_reaction/mutadone name = "Mutadone" @@ -770,13 +747,13 @@ datum/reagent/life description = "Mutadone is an experimental bromide that can cure genetic abnomalities." color = "#5096C8" -datum/reagent/antihol +/datum/reagent/antihol name = "Antihol" id = "antihol" description = "A medicine which quickly eliminates alcohol in the body." color = "#009CA8" -datum/reagent/antihol/on_mob_life(var/mob/living/M as mob) +/datum/reagent/antihol/on_mob_life(mob/living/M) M.slurring = 0 M.AdjustDrunk(-4) M.reagents.remove_all_type(/datum/reagent/ethanol, 8, 0, 1) @@ -800,7 +777,7 @@ datum/reagent/antihol/on_mob_life(var/mob/living/M as mob) color = "#C8A5DC" metabolization_rate = 0.4 -datum/reagent/stimulants/on_mob_life(var/mob/living/M as mob) +/datum/reagent/stimulants/on_mob_life(mob/living/M) if(!M) M = holder.my_atom if(volume > 5) M.adjustOxyLoss(-5*REM) @@ -823,11 +800,10 @@ datum/reagent/stimulants/on_mob_life(var/mob/living/M as mob) M.Stun(3) ..() -datum/reagent/stimulants/reagent_deleted(var/mob/living/M as mob) +/datum/reagent/stimulants/reagent_deleted(mob/living/M) if(!M) M = holder.my_atom M.status_flags |= CANSTUN | CANWEAKEN | CANPARALYSE ..() - return /datum/reagent/medicine/stimulative_agent name = "Stimulative Agent" @@ -856,18 +832,17 @@ datum/reagent/stimulants/reagent_deleted(var/mob/living/M as mob) M.adjustToxLoss(1*REM) M.losebreath++ -datum/reagent/insulin +/datum/reagent/insulin name = "Insulin" id = "insulin" description = "A hormone generated by the pancreas responsible for metabolizing carbohydrates and fat in the bloodstream." reagent_state = LIQUID color = "#C8A5DC" -datum/reagent/insulin/on_mob_life(var/mob/living/M as mob) +/datum/reagent/insulin/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.reagents.remove_reagent("sugar", 5) ..() - return /datum/reagent/simethicone @@ -884,7 +859,7 @@ datum/reagent/insulin/on_mob_life(var/mob/living/M as mob) result_amount = 4 -datum/reagent/teporone +/datum/reagent/teporone name = "Teporone" id = "teporone" description = "This experimental plasma-based compound seems to regulate body temperature." @@ -893,7 +868,7 @@ datum/reagent/teporone addiction_chance = 20 overdose_threshold = 50 -datum/reagent/teporone/on_mob_life(mob/living/M) +/datum/reagent/teporone/on_mob_life(mob/living/M) if(!M) M = holder.my_atom if(M.bodytemperature > 310) M.bodytemperature = max(310, M.bodytemperature - (40 * TEMPERATURE_DAMAGE_COEFFICIENT)) @@ -910,14 +885,14 @@ datum/reagent/teporone/on_mob_life(mob/living/M) mix_message = "The mixture turns an odd lavender color." mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' -datum/reagent/haloperidol +/datum/reagent/haloperidol name = "Haloperidol" id = "haloperidol" description = "Haloperidol is a powerful antipsychotic and sedative. Will help control psychiatric problems, but may cause brain damage." reagent_state = LIQUID color = "#FFDCFF" -datum/reagent/haloperidol/on_mob_life(var/mob/living/M as mob) +/datum/reagent/haloperidol/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.reagents.remove_reagent("crank", 5) M.reagents.remove_reagent("methamphetamine", 5) @@ -939,7 +914,6 @@ datum/reagent/haloperidol/on_mob_life(var/mob/living/M as mob) if(prob(20)) M.adjustBrainLoss(1) ..() - return /datum/chemical_reaction/haloperidol name = "Haloperidol" @@ -957,7 +931,7 @@ datum/reagent/haloperidol/on_mob_life(var/mob/living/M as mob) reagent_state = LIQUID color = "#96DEDE" -/datum/reagent/ether/on_mob_life(var/mob/living/M as mob) +/datum/reagent/ether/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.jitteriness = max(M.jitteriness-25,0) switch(current_cycle) @@ -970,7 +944,6 @@ datum/reagent/haloperidol/on_mob_life(var/mob/living/M as mob) M.Paralyse(15) M.drowsyness = max(M.drowsyness, 20) ..() - return /datum/chemical_reaction/ether name = "Ether" @@ -1000,14 +973,15 @@ datum/reagent/haloperidol/on_mob_life(var/mob/living/M as mob) required_reagents = list("oil" = 1, "sterilizine" = 1) result_amount = 2 -/datum/reagent/degreaser/reaction_turf(var/turf/simulated/T, var/volume) - if(!istype(T)) return +/datum/reagent/degreaser/reaction_turf(turf/simulated/T, volume) + if(!istype(T)) + return src = null if(volume >= 1) if(istype(T) && T.wet) T.MakeDry(TURF_WET_LUBE) -/datum/reagent/degreaser/on_mob_life(var/mob/living/M as mob) +/datum/reagent/degreaser/on_mob_life(mob/living/M) if(!M) M = holder.my_atom if(prob(50)) //Same effects as coffee, to help purge ill effects like paralysis M.AdjustParalysis(-1) @@ -1022,7 +996,6 @@ datum/reagent/haloperidol/on_mob_life(var/mob/living/M as mob) else M.reagents.remove_reagent(R.id,1) ..() - return //Liquid Solder: Mannitol /datum/reagent/liquid_solder @@ -1033,10 +1006,9 @@ datum/reagent/haloperidol/on_mob_life(var/mob/living/M as mob) color = "#D7B395" process_flags = SYNTHETIC -/datum/reagent/liquid_solder/on_mob_life(mob/living/M as mob) +/datum/reagent/liquid_solder/on_mob_life(mob/living/M) M.adjustBrainLoss(-3) ..() - return /datum/chemical_reaction/liquid_solder name = "Liquid Solder" @@ -1048,19 +1020,18 @@ datum/reagent/haloperidol/on_mob_life(var/mob/living/M as mob) mix_message = "The solution gently swirls with a metallic sheen." -datum/reagent/medicine/syndicate_nanites //Used exclusively by Syndicate medical cyborgs +/datum/reagent/medicine/syndicate_nanites //Used exclusively by Syndicate medical cyborgs name = "Restorative Nanites" id = "syndicate_nanites" description = "Miniature medical robots that swiftly restore bodily damage. May begin to attack their host's cells in high amounts." reagent_state = SOLID color = "#555555" -datum/reagent/medicine/syndicate_nanites/on_mob_life(mob/living/M) +/datum/reagent/medicine/syndicate_nanites/on_mob_life(mob/living/M) M.adjustBruteLoss(-5*REM) //A ton of healing - this is a 50 telecrystal investment. M.adjustFireLoss(-5*REM) M.adjustOxyLoss(-15*REM) M.adjustToxLoss(-5*REM) M.adjustBrainLoss(-15*REM) M.adjustCloneLoss(-3*REM) - ..() - return + ..() \ No newline at end of file diff --git a/code/modules/reagents/newchem/newchem_procs.dm b/code/modules/reagents/newchem/newchem_procs.dm index 7ec43e6a028..53801ba30ba 100644 --- a/code/modules/reagents/newchem/newchem_procs.dm +++ b/code/modules/reagents/newchem/newchem_procs.dm @@ -12,7 +12,7 @@ var/chem_temp = 300 var/list/datum/reagent/addiction_list = new/list() -/datum/reagents/proc/metabolize(var/mob/M) +/datum/reagents/proc/metabolize(mob/M) if(M) if(!istype(M, /mob/living)) //Non-living mobs can't metabolize reagents, so don't bother trying (runtime safety check) return @@ -95,14 +95,14 @@ R.on_tick() return -/datum/reagents/proc/check_gofast(var/mob/M) +/datum/reagents/proc/check_gofast(mob/M) if(istype(M, /mob)) if(M.reagents.has_reagent("unholywater")||M.reagents.has_reagent("nuka_cola")||M.reagents.has_reagent("stimulative_agent")) return 1 else M.status_flags &= ~GOTTAGOFAST -/datum/reagents/proc/check_goreallyfast(var/mob/M) +/datum/reagents/proc/check_goreallyfast(mob/M) if(istype(M, /mob)) if(M.reagents.has_reagent("methamphetamine")) return 1 @@ -110,27 +110,27 @@ M.status_flags &= ~GOTTAGOREALLYFAST // Called every time reagent containers process. -/datum/reagent/proc/on_tick(var/data) +/datum/reagent/proc/on_tick(data) return // Called when the reagent container is hit by an explosion -/datum/reagent/proc/on_ex_act(var/severity) +/datum/reagent/proc/on_ex_act(severity) return // Called if the reagent has passed the overdose threshold and is set to be triggering overdose effects -/datum/reagent/proc/overdose_process(var/mob/living/M as mob, severity) +/datum/reagent/proc/overdose_process(mob/living/M, severity) var/effect = rand(1, 100) - severity if(effect <= 8) M.adjustToxLoss(severity) return effect -/datum/reagent/proc/overdose_start(var/mob/living/M as mob) +/datum/reagent/proc/overdose_start(mob/living/M) return -/datum/reagent/proc/addiction_act_stage1(var/mob/living/M as mob) +/datum/reagent/proc/addiction_act_stage1(mob/living/M) return -/datum/reagent/proc/addiction_act_stage2(var/mob/living/M as mob) +/datum/reagent/proc/addiction_act_stage2(mob/living/M) if(prob(8)) M.emote("shiver") if(prob(8)) @@ -138,7 +138,7 @@ if(prob(4)) to_chat(M, "You feel a dull headache.") -/datum/reagent/proc/addiction_act_stage3(var/mob/living/M as mob) +/datum/reagent/proc/addiction_act_stage3(mob/living/M) if(prob(8)) M.emote("twitch_s") if(prob(8)) @@ -146,7 +146,7 @@ if(prob(4)) to_chat(M, "You begin craving [name]!") -/datum/reagent/proc/addiction_act_stage4(var/mob/living/M as mob) +/datum/reagent/proc/addiction_act_stage4(mob/living/M) if(prob(8)) M.emote("twitch") if(prob(4)) @@ -154,7 +154,7 @@ if(prob(4)) to_chat(M, "You REALLY crave some [name]!") -/datum/reagent/proc/addiction_act_stage5(var/mob/living/M as mob) +/datum/reagent/proc/addiction_act_stage5(mob/living/M) if(prob(8)) M.emote("twitch") if(prob(6)) diff --git a/code/modules/reagents/newchem/other.dm b/code/modules/reagents/newchem/other.dm index 1e31ba5b506..11413b5beb5 100644 --- a/code/modules/reagents/newchem/other.dm +++ b/code/modules/reagents/newchem/other.dm @@ -5,67 +5,65 @@ var/list/random_color_list = list("#00aedb","#a200ff","#f47835","#d41243","#d11141","#00b159","#00aedb","#f37735","#ffc425","#008744","#0057e7","#d62d20","#ffa700") -datum/reagent/oil +/datum/reagent/oil name = "Oil" id = "oil" description = "A decent lubricant for machines. High in benzene, naptha and other hydrocarbons." reagent_state = LIQUID color = "#3C3C3C" -datum/reagent/iodine +/datum/reagent/iodine name = "Iodine" id = "iodine" description = "A purple gaseous element." reagent_state = GAS color = "#493062" -datum/reagent/carpet +/datum/reagent/carpet name = "Carpet" id = "carpet" description = "A covering of thick fabric used on floors. This type looks particularly gross." reagent_state = LIQUID color = "#701345" -/datum/reagent/carpet/reaction_turf(var/turf/simulated/T, var/volume) +/datum/reagent/carpet/reaction_turf(turf/simulated/T, volume) if(istype(T, /turf/simulated/floor/plating) || istype(T, /turf/simulated/floor/plasteel)) var/turf/simulated/floor/F = T F.ChangeTurf(/turf/simulated/floor/carpet) ..() - return -datum/reagent/bromine +/datum/reagent/bromine name = "Bromine" id = "bromine" description = "A red-brown liquid element." reagent_state = LIQUID color = "#4E3A3A" -datum/reagent/phenol +/datum/reagent/phenol name = "Phenol" id = "phenol" description = "Also known as carbolic acid, this is a useful building block in organic chemistry." reagent_state = LIQUID color = "#525050" -datum/reagent/ash +/datum/reagent/ash name = "Ash" id = "ash" description = "Ashes to ashes, dust to dust." reagent_state = LIQUID color = "#191919" -datum/reagent/acetone +/datum/reagent/acetone name = "Acetone" id = "acetone" description = "Pure 100% nail polish remover, also works as an industrial solvent." reagent_state = LIQUID color = "#474747" -/datum/reagent/acetone/on_mob_life(var/mob/living/M as mob) +/datum/reagent/acetone/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.adjustToxLoss(1.5) ..() - return /datum/chemical_reaction/acetone name = "acetone" @@ -111,7 +109,7 @@ datum/reagent/acetone mix_sound = null no_message = 1 -datum/reagent/colorful_reagent +/datum/reagent/colorful_reagent name = "Colorful Reagent" id = "colorful_reagent" description = "It's pure liquid colors. That's a thing now." @@ -126,22 +124,20 @@ datum/reagent/colorful_reagent result_amount = 6 mix_message = "The substance flashes multiple colors and emits the smell of a pocket protector." -datum/reagent/colorful_reagent/reaction_mob(var/mob/living/simple_animal/M, var/method=TOUCH, var/volume) +/datum/reagent/colorful_reagent/reaction_mob(mob/living/simple_animal/M, method=TOUCH, volume) if(M && istype(M)) M.color = pick(random_color_list) ..() - return -datum/reagent/colorful_reagent/reaction_obj(var/obj/O, var/volume) +/datum/reagent/colorful_reagent/reaction_obj(obj/O, volume) if(O) O.color = pick(random_color_list) ..() - return -datum/reagent/colorful_reagent/reaction_turf(var/turf/T, var/volume) + +/datum/reagent/colorful_reagent/reaction_turf(turf/T, volume) if(T) T.color = pick(random_color_list) ..() - return /datum/chemical_reaction/corgium name = "corgium" @@ -151,19 +147,17 @@ datum/reagent/colorful_reagent/reaction_turf(var/turf/T, var/volume) result_amount = 3 min_temp = 374 -datum/reagent/corgium +/datum/reagent/corgium name = "Corgium" id = "corgium" description = "Corgi in liquid form. Don't ask." reagent_state = LIQUID color = "#F9A635" -/datum/chemical_reaction/corgium/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/corgium/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) new /mob/living/simple_animal/pet/corgi(location) ..() - return - /datum/chemical_reaction/flaptonium name = "Flaptonium" @@ -174,14 +168,12 @@ datum/reagent/corgium min_temp = 374 mix_message = "The substance turns an airy sky-blue and foams up into a new shape." -/datum/chemical_reaction/flaptonium/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/flaptonium/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) new /mob/living/simple_animal/parrot(location) ..() - return - -datum/reagent/hair_dye +/datum/reagent/hair_dye name = "Quantum Hair Dye" id = "hair_dye" description = "A rather tubular and gnarly way of coloring totally bodacious hair. Duuuudddeee." @@ -195,7 +187,7 @@ datum/reagent/hair_dye required_reagents = list("colorful_reagent" = 1, "hairgrownium" = 1) result_amount = 2 -datum/reagent/hair_dye/reaction_mob(var/mob/living/M, var/volume) +/datum/reagent/hair_dye/reaction_mob(mob/living/M, volume) if(M && ishuman(M)) var/mob/living/carbon/human/H = M var/obj/item/organ/external/head/head_organ = H.get_organ("head") @@ -208,9 +200,8 @@ datum/reagent/hair_dye/reaction_mob(var/mob/living/M, var/volume) H.update_hair() H.update_fhair() ..() - return -datum/reagent/hairgrownium +/datum/reagent/hairgrownium name = "Hairgrownium" id = "hairgrownium" description = "A mysterious chemical purported to help grow hair. Often found on late-night TV infomercials." @@ -226,7 +217,7 @@ datum/reagent/hairgrownium result_amount = 3 mix_message = "The liquid becomes slightly hairy." -datum/reagent/hairgrownium/reaction_mob(var/mob/living/M, var/volume) +/datum/reagent/hairgrownium/reaction_mob(mob/living/M, volume) if(M && ishuman(M)) var/mob/living/carbon/human/H = M var/obj/item/organ/external/head/head_organ = H.get_organ("head") @@ -235,9 +226,8 @@ datum/reagent/hairgrownium/reaction_mob(var/mob/living/M, var/volume) H.update_hair() H.update_fhair() ..() - return -datum/reagent/super_hairgrownium +/datum/reagent/super_hairgrownium name = "Super Hairgrownium" id = "super_hairgrownium" description = "A mysterious and powerful chemical purported to cause rapid hair growth." @@ -254,7 +244,7 @@ datum/reagent/super_hairgrownium result_amount = 3 mix_message = "The liquid becomes amazingly furry and smells peculiar." -datum/reagent/super_hairgrownium/reaction_mob(var/mob/living/M, var/volume) +/datum/reagent/super_hairgrownium/reaction_mob(mob/living/M, volume) if(M && ishuman(M)) var/mob/living/carbon/human/H = M var/obj/item/organ/external/head/head_organ = H.get_organ("head") @@ -278,9 +268,8 @@ datum/reagent/super_hairgrownium/reaction_mob(var/mob/living/M, var/volume) H.equip_to_slot(fakemoustache, slot_wear_mask) to_chat(H, "Hair bursts forth from your every follicle!") ..() - return -datum/reagent/fartonium +/datum/reagent/fartonium name = "Fartonium" id = "fartonium" description = "Oh god it never ends, IT NEVER STOPS!" @@ -295,7 +284,7 @@ datum/reagent/fartonium 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) +/datum/reagent/fartonium/on_mob_life(mob/living/M) if(!M) M = holder.my_atom if(prob(66)) @@ -312,8 +301,6 @@ datum/reagent/fartonium/on_mob_life(var/mob/living/M as mob) M.emote("scream") M.adjustBruteLoss(4) ..() - return - /datum/chemical_reaction/soapification name = "Soapification" @@ -327,7 +314,6 @@ datum/reagent/fartonium/on_mob_life(var/mob/living/M as mob) /datum/chemical_reaction/soapification/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) new /obj/item/weapon/soap/homemade(location) - return /datum/chemical_reaction/candlefication name = "Candlefication" @@ -340,8 +326,6 @@ datum/reagent/fartonium/on_mob_life(var/mob/living/M as mob) /datum/chemical_reaction/candlefication/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) new /obj/item/candle(location) - return - /datum/chemical_reaction/meatification name = "Meatification" @@ -353,7 +337,6 @@ datum/reagent/fartonium/on_mob_life(var/mob/living/M as mob) /datum/chemical_reaction/meatification/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) new /obj/item/weapon/reagent_containers/food/snacks/meat/slab/meatproduct(location) - return /datum/chemical_reaction/lye name = "lye" @@ -376,10 +359,10 @@ datum/reagent/fartonium/on_mob_life(var/mob/living/M as mob) reagent_state = LIQUID color = "#FF83A5" -/datum/reagent/love/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume) +/datum/reagent/love/reaction_mob(mob/living/M, method=TOUCH, volume) to_chat(M, "You feel loved!") -/datum/reagent/love/on_mob_life(var/mob/living/M as mob) +/datum/reagent/love/on_mob_life(mob/living/M) if(!M) M = holder.my_atom if(M.a_intent == I_HARM) @@ -410,35 +393,35 @@ datum/reagent/fartonium/on_mob_life(var/mob/living/M as mob) ///Alchemical Reagents -datum/reagent/eyenewt +/datum/reagent/eyenewt name = "Eye of newt" id = "eyenewt" description = "A potent alchemic ingredient." reagent_state = LIQUID color = "#050519" -datum/reagent/toefrog +/datum/reagent/toefrog name = "Toe of frog" id = "toefrog" description = "A potent alchemic ingredient." reagent_state = LIQUID color = "#092D09" -datum/reagent/woolbat +/datum/reagent/woolbat name = "Wool of bat" id = "woolbat" description = "A potent alchemic ingredient." reagent_state = LIQUID color = "#080808" -datum/reagent/tonguedog +/datum/reagent/tonguedog name = "Tongue of dog" id = "tonguedog" description = "A potent alchemic ingredient." reagent_state = LIQUID color = "#2D0909" -datum/reagent/triplepiss +/datum/reagent/triplepiss name = "Triplepiss" id = "triplepiss" description = "Ewwwwwwwww." diff --git a/code/modules/reagents/newchem/pyro.dm b/code/modules/reagents/newchem/pyro.dm index bd7f488c449..437ff9b1e12 100644 --- a/code/modules/reagents/newchem/pyro.dm +++ b/code/modules/reagents/newchem/pyro.dm @@ -36,20 +36,18 @@ result_amount = 2 min_temp = 424 -/datum/reagent/clf3/on_mob_life(var/mob/living/M as mob) +/datum/reagent/clf3/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.adjust_fire_stacks(4) M.adjustFireLoss(0.35*M.fire_stacks) ..() - return -/datum/chemical_reaction/clf3/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/clf3/on_reaction(datum/reagents/holder, created_volume) var/turf/T = get_turf(holder.my_atom) for(var/turf/turf in range(1,T)) new /obj/effect/hotspot(turf) - return -/datum/reagent/clf3/reaction_turf(var/turf/simulated/T, var/volume) +/datum/reagent/clf3/reaction_turf(turf/simulated/T, volume) if(istype(T, /turf/simulated/floor/plating)) var/turf/simulated/floor/plating/F = T if(prob(1)) @@ -66,14 +64,12 @@ W.ChangeTurf(/turf/simulated/floor) if(istype(T, /turf/simulated/shuttle/)) new /obj/effect/hotspot(T) - return -/datum/reagent/clf3/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume) +/datum/reagent/clf3/reaction_mob(mob/living/M, method=TOUCH, volume) if(method == TOUCH && isliving(M)) M.adjust_fire_stacks(5) M.IgniteMob() M.bodytemperature += 30 - return /datum/reagent/sorium name = "Sorium" @@ -96,11 +92,11 @@ required_reagents = list("sorium" = 1) min_temp = 474 -/datum/chemical_reaction/sorium_vortex/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/sorium_vortex/on_reaction(datum/reagents/holder, created_volume) var/turf/simulated/T = get_turf(holder.my_atom) goonchem_vortex(T, 1, 5, 6) -/datum/chemical_reaction/sorium/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/sorium/on_reaction(datum/reagents/holder, created_volume) if(holder.has_reagent("stabilizing_agent")) return holder.remove_reagent("sorium", created_volume) @@ -128,19 +124,18 @@ required_reagents = list("liquid_dark_matter" = 1) min_temp = 474 -/datum/chemical_reaction/ldm_vortex/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/ldm_vortex/on_reaction(datum/reagents/holder, created_volume) var/turf/simulated/T = get_turf(holder.my_atom) goonchem_vortex(T, 0, 5, 6) - return -/datum/chemical_reaction/liquid_dark_matter/on_reaction(var/datum/reagents/holder, var/created_volume) + +/datum/chemical_reaction/liquid_dark_matter/on_reaction(datum/reagents/holder, created_volume) if(holder.has_reagent("stabilizing_agent")) return holder.remove_reagent("liquid_dark_matter", created_volume) var/turf/simulated/T = get_turf(holder.my_atom) goonchem_vortex(T, 0, 5, 6) - return -/proc/goonchem_vortex(var/turf/simulated/T, var/setting_type, var/range, var/pull_times) +/proc/goonchem_vortex(turf/simulated/T, setting_type, range, pull_times) for(var/atom/movable/X in orange(range, T)) if(istype(X, /obj/effect)) continue //stop pulling smoke and hotspots please @@ -182,21 +177,19 @@ no_message = 1 mix_sound = null -datum/reagent/blackpowder/reaction_turf(var/turf/T, var/volume) //oh shit +/datum/reagent/blackpowder/reaction_turf(turf/T, volume) //oh shit src = null if(volume >= 5) if(!locate(/obj/effect/decal/cleanable/dirt/blackpowder) in get_turf(T)) //let's not have hundreds of decals of black powder on the same turf new /obj/effect/decal/cleanable/dirt/blackpowder(T) - return -/datum/chemical_reaction/blackpowder_explosion/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/blackpowder_explosion/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread s.set_up(2, 1, location) s.start() sleep(rand(20,30)) blackpowder_detonate(holder, created_volume) - return /* /datum/reagent/blackpowder/on_ex_act() @@ -209,7 +202,7 @@ datum/reagent/blackpowder/reaction_turf(var/turf/T, var/volume) //oh shit holder.remove_reagent("blackpowder", volume) return */ -/proc/blackpowder_detonate(var/datum/reagents/holder, var/created_volume) +/proc/blackpowder_detonate(datum/reagents/holder, created_volume) var/turf/simulated/T = get_turf(holder.my_atom) var/ex_severe = round(created_volume / 100) var/ex_heavy = round(created_volume / 42) @@ -220,7 +213,6 @@ datum/reagent/blackpowder/reaction_turf(var/turf/T, var/volume) //oh shit if(istype(holder.my_atom, /obj/effect/decal/cleanable/dirt/blackpowder)) spawn(0) qdel(holder.my_atom) - return /datum/reagent/flash_powder name = "Flash Powder" @@ -243,7 +235,7 @@ datum/reagent/blackpowder/reaction_turf(var/turf/T, var/volume) //oh shit required_reagents = list("flash_powder" = 1) min_temp = 374 -/datum/chemical_reaction/flash_powder_flash/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/flash_powder_flash/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread s.set_up(2, 1, location) @@ -256,7 +248,7 @@ datum/reagent/blackpowder/reaction_turf(var/turf/T, var/volume) //oh shit C.Stun(5) -/datum/chemical_reaction/flash_powder/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/flash_powder/on_reaction(datum/reagents/holder, created_volume) if(holder.has_reagent("stabilizing_agent")) return var/location = get_turf(holder.my_atom) @@ -295,7 +287,7 @@ datum/reagent/blackpowder/reaction_turf(var/turf/T, var/volume) //oh shit mix_message = "The mixture quickly turns into a pall of smoke!" var/forbidden_reagents = list("sugar", "phosphorus", "potassium", "stimulants") //Do not transfer this stuff through smoke. -/datum/chemical_reaction/smoke/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/smoke/on_reaction(datum/reagents/holder, created_volume) for(var/f_reagent in forbidden_reagents) if(holder.has_reagent(f_reagent)) holder.remove_reagent(f_reagent, holder.get_reagent_amount(f_reagent)) @@ -316,7 +308,6 @@ datum/reagent/blackpowder/reaction_turf(var/turf/T, var/volume) //oh shit S.start(4) if(holder && holder.my_atom) holder.clear_reagents() - return /datum/chemical_reaction/smoke/smoke_powder name = "smoke_powder_smoke" @@ -350,7 +341,7 @@ datum/reagent/blackpowder/reaction_turf(var/turf/T, var/volume) //oh shit required_reagents = list("sonic_powder" = 1) min_temp = 374 -/datum/chemical_reaction/sonic_powder_deafen/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/sonic_powder_deafen/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) playsound(location, 'sound/effects/bang.ogg', 25, 1) for(var/mob/living/M in hearers(5, location)) @@ -377,7 +368,7 @@ datum/reagent/blackpowder/reaction_turf(var/turf/T, var/volume) //oh shit if(M.ear_damage >= 5) to_chat(M, "Your ears start to ring!") -/datum/chemical_reaction/sonic_powder/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/sonic_powder/on_reaction(datum/reagents/holder, created_volume) if(holder.has_reagent("stabilizing_agent")) return var/location = get_turf(holder.my_atom) @@ -422,21 +413,19 @@ datum/reagent/blackpowder/reaction_turf(var/turf/T, var/volume) //oh shit required_reagents = list("phosphorus" = 1, "sacid" = 1, "plasma" = 1) result_amount = 3 -/datum/chemical_reaction/phlogiston/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/phlogiston/on_reaction(datum/reagents/holder, created_volume) if(holder.has_reagent("stabilizing_agent")) return var/turf/simulated/T = get_turf(holder.my_atom) for(var/turf/simulated/turf in range(min(created_volume/10,4),T)) new /obj/effect/hotspot(turf) - return -/datum/reagent/phlogiston/on_mob_life(var/mob/living/M as mob) +/datum/reagent/phlogiston/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.adjust_fire_stacks(1) M.IgniteMob() M.adjustFireLoss(0.2*M.fire_stacks) ..() - return /datum/reagent/napalm name = "Napalm" @@ -446,16 +435,14 @@ datum/reagent/blackpowder/reaction_turf(var/turf/T, var/volume) //oh shit color = "#FF9999" process_flags = ORGANIC | SYNTHETIC -/datum/reagent/napalm/on_mob_life(var/mob/living/M as mob) +/datum/reagent/napalm/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.adjust_fire_stacks(1) ..() - return -/datum/reagent/napalm/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume) +/datum/reagent/napalm/reaction_mob(mob/living/M, method=TOUCH, volume) if(method == TOUCH && isliving(M)) M.adjust_fire_stacks(7) - return /datum/chemical_reaction/napalm name = "Napalm" @@ -464,7 +451,7 @@ datum/reagent/blackpowder/reaction_turf(var/turf/T, var/volume) //oh shit required_reagents = list("sugar" = 1, "fuel" = 1, "ethanol" = 1 ) result_amount = 1 -datum/reagent/cryostylane +/datum/reagent/cryostylane name = "Cryostylane" id = "cryostylane" description = "Comes into existence at 20K. As long as there is sufficient oxygen for it to react with, Cryostylane slowly cools all other reagents in the mob down to 0K." @@ -479,27 +466,25 @@ datum/reagent/cryostylane result_amount = 3 mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' -datum/reagent/cryostylane/on_mob_life(var/mob/living/M as mob) //TODO: code freezing into an ice cube +/datum/reagent/cryostylane/on_mob_life(mob/living/M) //TODO: code freezing into an ice cube if(M.reagents.has_reagent("oxygen")) M.reagents.remove_reagent("oxygen", 1) M.bodytemperature -= 30 ..() - return -datum/reagent/cryostylane/on_tick() +/datum/reagent/cryostylane/on_tick() if(holder.has_reagent("oxygen")) holder.remove_reagent("oxygen", 1) holder.chem_temp -= 10 holder.handle_reactions() ..() - return -datum/reagent/cryostylane/reaction_turf(var/turf/simulated/T, var/volume) +/datum/reagent/cryostylane/reaction_turf(turf/simulated/T, volume) if(volume >= 5) for(var/mob/living/carbon/slime/M in T) M.adjustToxLoss(rand(15,30)) -datum/reagent/pyrosium +/datum/reagent/pyrosium name = "Pyrosium" id = "pyrosium" description = "Comes into existence at 20K. As long as there is sufficient oxygen for it to react with, Pyrosium slowly cools all other reagents in the mob down to 0K." @@ -513,20 +498,18 @@ datum/reagent/pyrosium required_reagents = list("plasma" = 1, "radium" = 1, "phosphorus" = 1) result_amount = 3 -datum/reagent/pyrosium/on_mob_life(var/mob/living/M as mob) +/datum/reagent/pyrosium/on_mob_life(mob/living/M) if(M.reagents.has_reagent("oxygen")) M.reagents.remove_reagent("oxygen", 1) M.bodytemperature += 30 ..() - return -datum/reagent/pyrosium/on_tick() +/datum/reagent/pyrosium/on_tick() if(holder.has_reagent("oxygen")) holder.remove_reagent("oxygen", 1) holder.chem_temp += 10 holder.handle_reactions() ..() - return /datum/chemical_reaction/azide name = "azide" @@ -537,12 +520,11 @@ datum/reagent/pyrosium/on_tick() mix_message = "The substance violently detonates!" mix_sound = 'sound/effects/bang.ogg' -/datum/chemical_reaction/azide/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/azide/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) - explosion(location,0,1,4) - return + explosion(location, 0, 1, 4) -datum/reagent/firefighting_foam +/datum/reagent/firefighting_foam name = "Firefighting foam" id = "firefighting_foam" description = "Carbon Tetrachloride is a foam used for fire suppression." @@ -559,7 +541,7 @@ datum/reagent/firefighting_foam mix_message = "The mixture bubbles gently." mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' -datum/reagent/firefighting_foam/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume) +/datum/reagent/firefighting_foam/reaction_mob(mob/living/M, method=TOUCH, volume) if(!istype(M, /mob/living)) return @@ -568,10 +550,10 @@ datum/reagent/firefighting_foam/reaction_mob(var/mob/living/M, var/method=TOUCH, M.adjust_fire_stacks(-(volume / 5)) // more effective than water if(M.fire_stacks <= 0) M.ExtinguishMob() - return -datum/reagent/firefighting_foam/reaction_turf(var/turf/simulated/T, var/volume) - if(!istype(T)) return +/datum/reagent/firefighting_foam/reaction_turf(turf/simulated/T, volume) + if(!istype(T)) + return var/CT = cooling_temperature src = null if(!istype(T, /turf/space)) @@ -583,9 +565,8 @@ datum/reagent/firefighting_foam/reaction_turf(var/turf/simulated/T, var/volume) lowertemp.react() T.assume_air(lowertemp) qdel(hotspot) - return -datum/reagent/firefighting_foam/reaction_obj(var/obj/O, var/volume) +/datum/reagent/firefighting_foam/reaction_obj(obj/O, volume) src = null var/turf/T = get_turf(O) var/hotspot = (locate(/obj/effect/hotspot) in T) @@ -595,7 +576,6 @@ datum/reagent/firefighting_foam/reaction_obj(var/obj/O, var/volume) lowertemp.react() T.assume_air(lowertemp) qdel(hotspot) - return /datum/chemical_reaction/clf3_firefighting name = "clf3_firefighting" @@ -606,10 +586,9 @@ datum/reagent/firefighting_foam/reaction_obj(var/obj/O, var/volume) mix_message = "The substance violently detonates!" mix_sound = 'sound/effects/bang.ogg' -/datum/chemical_reaction/clf3_firefighting/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/clf3_firefighting/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) - explosion(location,-1,0,2) - return + explosion(location, -1, 0, 2) /datum/chemical_reaction/shock_explosion name = "shock_explosion" @@ -620,14 +599,13 @@ datum/reagent/firefighting_foam/reaction_obj(var/obj/O, var/volume) mix_message = "The reaction releases an electrical blast!" mix_sound = 'sound/magic/lightningbolt.ogg' -/datum/chemical_reaction/shock_explosion/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/shock_explosion/on_reaction(datum/reagents/holder, created_volume) var/turf/T = get_turf(holder.my_atom) for(var/mob/living/carbon/C in view(6, T)) C.Beam(T,icon_state="lightning[rand(1,12)]",icon='icons/effects/effects.dmi',time=5) //What? Why are we beaming from the mob to the turf? Turf to mob generates really odd results. C.electrocute_act(3.5, "electrical blast") holder.del_reagent("teslium") //Clear all remaining Teslium and Uranium, but leave all other reagents untouched. holder.del_reagent("uranium") - return /datum/reagent/plasma_dust name = "Plasma Dust" diff --git a/code/modules/reagents/newchem/toxins.dm b/code/modules/reagents/newchem/toxins.dm index ae8b80ac1cd..d8f150114f2 100644 --- a/code/modules/reagents/newchem/toxins.dm +++ b/code/modules/reagents/newchem/toxins.dm @@ -13,11 +13,10 @@ metabolization_rate = 0.1 penetrates_skin = 1 -/datum/reagent/polonium/on_mob_life(var/mob/living/M as mob) +/datum/reagent/polonium/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.apply_effect(8, IRRADIATE, negate_armor = 1) ..() - return /datum/reagent/histamine @@ -29,7 +28,7 @@ metabolization_rate = 0.2 overdose_threshold = 40 -/datum/reagent/histamine/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume) //dumping histamine on someone is VERY mean. +/datum/reagent/histamine/reaction_mob(mob/living/M, method=TOUCH, volume) //dumping histamine on someone is VERY mean. if(iscarbon(M)) if(method == TOUCH) M.reagents.add_reagent("histamine",10) @@ -37,7 +36,7 @@ to_chat(M, "You feel a burning sensation in your throat...") M.emote("drool") -/datum/reagent/histamine/on_mob_life(var/mob/living/M as mob) +/datum/reagent/histamine/on_mob_life(mob/living/M) if(!M) M = holder.my_atom if(prob(20)) M.emote(pick("twitch", "grumble", "sneeze", "cough")) @@ -53,9 +52,8 @@ to_chat(M, "You're getting a rash!") M.adjustBruteLoss(2) ..() - return -/datum/reagent/histamine/overdose_process(var/mob/living/M as mob, severity) +/datum/reagent/histamine/overdose_process(mob/living/M, severity) var/effect = ..() if(severity == 1) if(effect <= 2) @@ -103,13 +101,12 @@ color = "#DED6D0" penetrates_skin = 1 -/datum/reagent/formaldehyde/on_mob_life(var/mob/living/M as mob) +/datum/reagent/formaldehyde/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.adjustToxLoss(1*REM) if(prob(10)) M.reagents.add_reagent("histamine",rand(5,15)) ..() - return /datum/chemical_reaction/formaldehyde name = "formaldehyde" @@ -129,7 +126,7 @@ metabolization_rate = 0.2 overdose_threshold = 40 -/datum/reagent/venom/on_mob_life(var/mob/living/M as mob) +/datum/reagent/venom/on_mob_life(mob/living/M) if(!M) M = holder.my_atom if(prob(25)) M.reagents.add_reagent("histamine",rand(5,10)) @@ -142,9 +139,8 @@ M.adjustToxLoss(2) M.adjustBruteLoss(2) ..() - return -/datum/reagent/venom/overdose_process(var/mob/living/M as mob) +/datum/reagent/venom/overdose_process(mob/living/M) if(volume >= 40) if(prob(4)) M.visible_message("[M] starts convulsing violently!", "You feel as if your body is tearing itself apart!") @@ -161,7 +157,7 @@ color = "#60A584" metabolization_rate = 1 -/datum/reagent/neurotoxin2/on_mob_life(var/mob/living/M as mob) +/datum/reagent/neurotoxin2/on_mob_life(mob/living/M) switch(current_cycle) if(1 to 4) current_cycle++ @@ -189,7 +185,6 @@ M.emote("drool") M.adjustToxLoss(1) ..() - return /datum/chemical_reaction/neurotoxin2 name = "neurotoxin2" @@ -210,7 +205,7 @@ metabolization_rate = 0.1 penetrates_skin = 1 -/datum/reagent/cyanide/on_mob_life(var/mob/living/M as mob) +/datum/reagent/cyanide/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.adjustToxLoss(1.5*REM) if(prob(5)) @@ -224,7 +219,6 @@ M.Stun(2) M.adjustToxLoss(2) ..() - return /datum/chemical_reaction/cyanide name = "Cyanide" @@ -236,7 +230,7 @@ mix_message = "The mixture gives off a faint scent of almonds." mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' -/datum/chemical_reaction/cyanide/on_reaction(var/datum/reagents/holder) +/datum/chemical_reaction/cyanide/on_reaction(datum/reagents/holder) var/turf/T = get_turf(holder.my_atom) T.visible_message("The solution generates a strong vapor!") for(var/mob/living/carbon/C in range(T, 1)) @@ -252,7 +246,7 @@ metabolization_rate = 0.3 penetrates_skin = 1 -/datum/reagent/itching_powder/on_mob_life(var/mob/living/M as mob) +/datum/reagent/itching_powder/on_mob_life(mob/living/M) if(!M) M = holder.my_atom if(prob(25)) M.emote(pick("twitch", "laugh", "sneeze", "cry")) @@ -277,7 +271,6 @@ M.visible_message("[M] falls to the floor, scratching themselves violently!") M.emote("scream") ..() - return /datum/chemical_reaction/itching_powder name = "Itching Powder" @@ -288,12 +281,11 @@ mix_message = "The mixture congeals and dries up, leaving behind an abrasive powder." mix_sound = 'sound/effects/blobattack.ogg' -/datum/reagent/facid/on_mob_life(var/mob/living/M as mob) +/datum/reagent/facid/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.adjustToxLoss(1*REM) M.adjustFireLoss(1) ..() - return /datum/reagent/facid name = "Fluorosulfuric Acid" @@ -303,7 +295,7 @@ color = "#4141D2" process_flags = ORGANIC | SYNTHETIC -/datum/reagent/facid/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume) +/datum/reagent/facid/reaction_mob(mob/living/M, method=TOUCH, volume) if(!istype(M, /mob/living)) return //wooo more runtime fixin if(method == TOUCH || method == INGEST) @@ -347,7 +339,7 @@ H.emote("scream") H.status_flags |= DISFIGURED -/datum/reagent/facid/reaction_obj(var/obj/O, var/volume) +/datum/reagent/facid/reaction_obj(obj/O, volume) if((istype(O,/obj/item) || istype(O,/obj/effect/glowshroom))) if(!O.unacidable) var/obj/effect/decal/cleanable/molten_item/I = new/obj/effect/decal/cleanable/molten_item(O.loc) @@ -373,7 +365,7 @@ color = "#7F10C0" metabolization_rate = 0.4 -/datum/reagent/initropidril/on_mob_life(var/mob/living/M as mob) +/datum/reagent/initropidril/on_mob_life(mob/living/M) if(!M) M = holder.my_atom if(prob(33)) M.adjustToxLoss(rand(5,25)) @@ -395,7 +387,6 @@ if(!H.heart_attack) H.heart_attack = 1 // rip in pepperoni ..() - return /datum/chemical_reaction/initropidril name = "Initropidril" @@ -414,7 +405,7 @@ color = "#AB1CCF" metabolization_rate = 0.4 -/datum/reagent/concentrated_initro/on_mob_life(var/mob/living/M as mob) +/datum/reagent/concentrated_initro/on_mob_life(mob/living/M) if(!M) M = holder.my_atom if(volume >=5) if(ishuman(M)) @@ -430,7 +421,7 @@ color = "#1E4664" metabolization_rate = 0.2 -/datum/reagent/pancuronium/on_mob_life(var/mob/living/M as mob) +/datum/reagent/pancuronium/on_mob_life(mob/living/M) if(!M) M = holder.my_atom switch(current_cycle) if(1 to 5) @@ -454,7 +445,6 @@ to_chat(M, "You can't breathe!") M.losebreath += 3 ..() - return /datum/reagent/sodium_thiopental name = "Sodium Thiopental" @@ -464,7 +454,7 @@ color = "#5F8BE1" metabolization_rate = 0.7 -/datum/reagent/sodium_thiopental/on_mob_life(var/mob/living/M as mob) +/datum/reagent/sodium_thiopental/on_mob_life(mob/living/M) if(!M) M = holder.my_atom switch(current_cycle) if(1) @@ -482,7 +472,6 @@ M.emote("drool") M.adjustBrainLoss(1) ..() - return /datum/reagent/ketamine name = "Ketamine" @@ -493,7 +482,7 @@ metabolization_rate = 0.8 penetrates_skin = 1 -/datum/reagent/ketamine/on_mob_life(var/mob/living/M as mob) +/datum/reagent/ketamine/on_mob_life(mob/living/M) if(!M) M = holder.my_atom switch(current_cycle) if(1 to 5) @@ -509,7 +498,6 @@ if(11 to INFINITY) M.Paralyse(25) ..() - return /datum/reagent/sulfonal name = "Sulfonal" @@ -528,7 +516,7 @@ mix_message = "The mixture gives off quite a stench." mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' -/datum/reagent/sulfonal/on_mob_life(var/mob/living/M as mob) +/datum/reagent/sulfonal/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.jitteriness = max(0, M.jitteriness-30) switch(current_cycle) @@ -546,7 +534,6 @@ M.drowsyness = max(M.drowsyness, 20) M.adjustToxLoss(1) ..() - return /datum/reagent/amanitin name = "Amanitin" @@ -555,16 +542,10 @@ reagent_state = LIQUID color = "#D9D9D9" -/datum/reagent/amanitin/on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - ..() - return - -/datum/reagent/amanitin/reagent_deleted(var/mob/living/M as mob) +/datum/reagent/amanitin/reagent_deleted(mob/living/M) if(!M) M = holder.my_atom M.adjustToxLoss(current_cycle*rand(2,4)) ..() - return /datum/reagent/lipolicide name = "Lipolicide" @@ -581,7 +562,7 @@ required_reagents = list("mercury" = 1, "diethylamine" = 1, "ephedrine" = 1) result_amount = 3 -/datum/reagent/lipolicide/on_mob_life(var/mob/living/M as mob) +/datum/reagent/lipolicide/on_mob_life(mob/living/M) if(!M) M = holder.my_atom if(!M.nutrition) switch(rand(1,3)) @@ -596,7 +577,6 @@ M.nutrition = max(0, M.nutrition-fat_to_burn) M.overeatduration = 0 ..() - return /datum/reagent/coniine name = "Coniine" @@ -606,12 +586,11 @@ color = "#C2D8CD" metabolization_rate = 0.05 -/datum/reagent/coniine/on_mob_life(var/mob/living/M as mob) +/datum/reagent/coniine/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.adjustToxLoss(2) M.losebreath += 5 ..() - return /datum/reagent/curare name = "Curare" @@ -622,7 +601,7 @@ metabolization_rate = 0.1 penetrates_skin = 1 -/datum/reagent/curare/on_mob_life(var/mob/living/M as mob) +/datum/reagent/curare/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.adjustToxLoss(1) M.adjustOxyLoss(1) @@ -646,7 +625,6 @@ to_chat(M, "You can't [pick("breathe", "move", "feel your legs", "feel your face", "feel anything")]!") M.losebreath++ ..() - return /datum/reagent/sarin name = "Sarin" @@ -668,14 +646,14 @@ min_temp = 374 mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' -/datum/chemical_reaction/sarin/on_reaction(var/datum/reagents/holder) +/datum/chemical_reaction/sarin/on_reaction(datum/reagents/holder) var/turf/T = get_turf(holder.my_atom) T.visible_message("The solution generates a strong vapor!") for(var/mob/living/carbon/C in range(T, 2)) if(!(C.wear_mask && (C.internals != null || C.wear_mask.flags & BLOCK_GAS_SMOKE_EFFECT))) C.reagents.add_reagent("sarin",4) -/datum/reagent/sarin/on_mob_life(var/mob/living/M as mob) +/datum/reagent/sarin/on_mob_life(mob/living/M) if(!M) M = holder.my_atom switch(current_cycle) if(1 to 15) @@ -721,7 +699,6 @@ M.adjustBrainLoss(1) M.adjustFireLoss(1) ..() - return /datum/reagent/atrazine name = "Atrazine" @@ -730,14 +707,13 @@ reagent_state = LIQUID color = "#17002D" -/datum/reagent/atrazine/on_mob_life(var/mob/living/M as mob) +/datum/reagent/atrazine/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.adjustToxLoss(2) ..() - return // Clear off wallrot fungi -/datum/reagent/atrazine/reaction_turf(var/turf/T, var/volume) +/datum/reagent/atrazine/reaction_turf(turf/T, volume) if(istype(T, /turf/simulated/wall)) var/turf/simulated/wall/W = T if(W.rotting) @@ -749,7 +725,7 @@ for(var/mob/O in viewers(W, null)) O.show_message(text("\blue The fungi are completely dissolved by the solution!"), 1) -/datum/reagent/atrazine/reaction_obj(var/obj/O, var/volume) +/datum/reagent/atrazine/reaction_obj(obj/O, volume) if(istype(O,/obj/structure/alien/weeds/)) var/obj/structure/alien/weeds/alien_weeds = O alien_weeds.health -= rand(15,35) // Kills alien weeds pretty fast @@ -760,7 +736,7 @@ if(prob(50)) qdel(O) //Kills kudzu too. // Damage that is done to growing plants is separately at code/game/machinery/hydroponics at obj/item/hydroponics -/datum/reagent/atrazine/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume) +/datum/reagent/atrazine/reaction_mob(mob/living/M, method=TOUCH, volume) src = null if(iscarbon(M)) var/mob/living/carbon/C = M @@ -772,12 +748,10 @@ if(H.species.flags & IS_PLANT) //plantmen take a LOT of damage H.adjustToxLoss(50) ..() - return else if(istype(M,/mob/living/simple_animal/diona)) //plantmen monkeys (diona) take EVEN MORE damage var/mob/living/simple_animal/diona/D = M - D.adjustToxLoss(100) + D.adjustHealth(100) ..() - return /datum/chemical_reaction/atrazine name = "atrazine" @@ -802,7 +776,7 @@ result_amount = 1 mix_message = "The smell of death wafts up from the solution." -/datum/reagent/capulettium/on_mob_life(var/mob/living/M as mob) +/datum/reagent/capulettium/on_mob_life(mob/living/M) if(!M) M = holder.my_atom switch(current_cycle) if(1 to 5) @@ -817,7 +791,6 @@ if(61 to INFINITY) M.eye_blurry += 10 ..() - return /datum/reagent/capulettium_plus name = "Capulettium Plus" @@ -834,11 +807,10 @@ result_amount = 3 mix_message = "The solution begins to slosh about violently by itself." -/datum/reagent/capulettium_plus/on_mob_life(var/mob/living/M as mob) +/datum/reagent/capulettium_plus/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.silent = max(M.silent, 2) ..() - return /datum/reagent/toxic_slurry name = "Toxic Slurry" @@ -847,7 +819,7 @@ reagent_state = LIQUID color = "#00C81E" -/datum/reagent/toxic_slurry/on_mob_life(var/mob/living/M as mob) +/datum/reagent/toxic_slurry/on_mob_life(mob/living/M) if(!M) M = holder.my_atom if(prob(10)) M.adjustToxLoss(rand(2.4)) @@ -857,7 +829,6 @@ if(prob(7)) M.fakevomit(1) ..() - return /datum/reagent/glowing_slurry name = "Glowing Slurry" @@ -866,7 +837,7 @@ reagent_state = LIQUID color = "#00FD00" -/datum/reagent/glowing_slurry/reaction_mob(var/mob/M, var/method=TOUCH, var/volume) //same as mutagen +/datum/reagent/glowing_slurry/reaction_mob(mob/M, method=TOUCH, volume) //same as mutagen if(!..()) return if(!M.dna) return //No robots, AIs, aliens, Ians or other mobs should be affected by this. src = null @@ -874,9 +845,8 @@ randmutb(M) domutcheck(M, null) M.UpdateAppearance() - return -/datum/reagent/glowing_slurry/on_mob_life(var/mob/living/M as mob) +/datum/reagent/glowing_slurry/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.apply_effect(2, IRRADIATE, 0, negate_armor = 1) if(prob(15)) @@ -886,7 +856,6 @@ domutcheck(M, null) M.UpdateAppearance() ..() - return /datum/reagent/ants name = "Ants" @@ -896,7 +865,7 @@ color = "#993333" process_flags = ORGANIC | SYNTHETIC -/datum/reagent/ants/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume) //NOT THE ANTS +/datum/reagent/ants/reaction_mob(mob/living/M, method=TOUCH, volume) //NOT THE ANTS if(iscarbon(M)) if(method == TOUCH || method==INGEST) to_chat(M, "OH SHIT ANTS!!!!") @@ -904,11 +873,10 @@ M.adjustBruteLoss(4) -/datum/reagent/ants/on_mob_life(var/mob/living/M as mob) +/datum/reagent/ants/on_mob_life(mob/living/M) if(!M) M = holder.my_atom M.adjustBruteLoss(2) ..() - return /datum/reagent/teslium //Teslium. Causes periodic shocks, and makes shocks against the target much more effective. name = "Teslium" @@ -938,9 +906,8 @@ min_temp = 400 mix_sound = null -/datum/chemical_reaction/teslium/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/teslium/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread s.set_up(6, 1, location) - s.start() - return \ No newline at end of file + s.start() \ No newline at end of file diff --git a/code/modules/reagents/oldchem/chemical_reaction/_chemical_reaction_base.dm b/code/modules/reagents/oldchem/chemical_reaction/_chemical_reaction_base.dm index 6b5656c8dc5..3b4cc507415 100644 --- a/code/modules/reagents/oldchem/chemical_reaction/_chemical_reaction_base.dm +++ b/code/modules/reagents/oldchem/chemical_reaction/_chemical_reaction_base.dm @@ -19,5 +19,5 @@ var/mix_sound = 'sound/effects/bubbles.ogg' var/no_message = 0 -/datum/chemical_reaction/proc/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/proc/on_reaction(datum/reagents/holder, created_volume) return \ No newline at end of file diff --git a/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_food.dm b/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_food.dm index 5f96f794b34..b43c9b344f1 100644 --- a/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_food.dm +++ b/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_food.dm @@ -7,11 +7,10 @@ required_catalysts = list("enzyme" = 5) result_amount = 1 -/datum/chemical_reaction/tofu/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/tofu/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) for(var/i = 1, i <= created_volume, i++) new /obj/item/weapon/reagent_containers/food/snacks/tofu(location) - return /datum/chemical_reaction/chocolate_bar name = "Chocolate Bar" @@ -20,11 +19,10 @@ required_reagents = list("soymilk" = 2, "cocoa" = 2, "sugar" = 2) result_amount = 1 -/datum/chemical_reaction/chocolate_bar/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/chocolate_bar/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) for(var/i = 1, i <= created_volume, i++) new /obj/item/weapon/reagent_containers/food/snacks/chocolatebar(location) - return /datum/chemical_reaction/chocolate_bar2 name = "Chocolate Bar" @@ -33,11 +31,10 @@ required_reagents = list("milk" = 2, "cocoa" = 2, "sugar" = 2) result_amount = 1 -/datum/chemical_reaction/chocolate_bar2/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/chocolate_bar2/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) for(var/i = 1, i <= created_volume, i++) new /obj/item/weapon/reagent_containers/food/snacks/chocolatebar(location) - return /datum/chemical_reaction/soysauce name = "Soy Sauce" @@ -54,10 +51,10 @@ required_catalysts = list("enzyme" = 5) result_amount = 1 -/datum/chemical_reaction/cheesewheel/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/cheesewheel/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) - new /obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesewheel(location) - return + for(var/i = 1, i <= created_volume, i++) + new /obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesewheel(location) /datum/chemical_reaction/syntiflesh name = "Syntiflesh" @@ -66,10 +63,10 @@ required_reagents = list("blood" = 5, "cryoxadone" = 1) result_amount = 1 -/datum/chemical_reaction/syntiflesh/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/syntiflesh/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) - new /obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh(location) - return + for(var/i = 1, i <= created_volume, i++) + new /obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh(location) /datum/chemical_reaction/hot_ramen name = "Hot Ramen" @@ -131,5 +128,4 @@ /datum/chemical_reaction/dough/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) for(var/i = 1, i <= created_volume, i++) - new /obj/item/weapon/reagent_containers/food/snacks/dough(location) - return + new /obj/item/weapon/reagent_containers/food/snacks/dough(location) \ No newline at end of file diff --git a/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_harm.dm b/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_harm.dm index 3a5cf0e73dd..afcd0d398ce 100644 --- a/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_harm.dm +++ b/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_harm.dm @@ -7,12 +7,11 @@ result_amount = 2 mix_message = "The mixture explodes!" -/datum/chemical_reaction/explosion_potassium/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/explosion_potassium/on_reaction(datum/reagents/holder, created_volume) var/datum/effect/system/reagents_explosion/e = new() e.set_up(round (created_volume/10, 1), holder.my_atom, 0, 0) e.start() holder.clear_reagents() - return /datum/chemical_reaction/emp_pulse name = "EMP Pulse" @@ -21,13 +20,12 @@ required_reagents = list("uranium" = 1, "iron" = 1) // Yes, laugh, it's the best recipe I could think of that makes a little bit of sense result_amount = 2 -/datum/chemical_reaction/emp_pulse/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/emp_pulse/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) // 100 created volume = 4 heavy range & 7 light range. A few tiles smaller than traitor EMP grandes. // 200 created volume = 8 heavy range & 14 light range. 4 tiles larger than traitor EMP grenades. empulse(location, round(created_volume / 24), round(created_volume / 14), 1) holder.clear_reagents() - return /datum/chemical_reaction/mutagen name = "Unstable mutagen" @@ -58,13 +56,11 @@ required_reagents = list("glycerol" = 1, "facid" = 1, "sacid" = 1) result_amount = 2 -/datum/chemical_reaction/nitroglycerin/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/nitroglycerin/on_reaction(datum/reagents/holder, created_volume) var/datum/effect/system/reagents_explosion/e = new() e.set_up(round(created_volume/2, 1), holder.my_atom, 0, 0) e.start() - holder.clear_reagents() - return /datum/chemical_reaction/condensedcapsaicin name = "Condensed Capsaicin" diff --git a/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_misc.dm b/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_misc.dm index 6d89c5a8e9c..8a5dedf218b 100644 --- a/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_misc.dm +++ b/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_misc.dm @@ -15,7 +15,7 @@ required_reagents = list("fluorosurfactant" = 1, "water" = 1) result_amount = 2 -/datum/chemical_reaction/foam/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/foam/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) holder.my_atom.visible_message("The solution spews out foam!") @@ -32,7 +32,7 @@ required_reagents = list("aluminum" = 3, "fluorosurfactant" = 1, "sacid" = 1) result_amount = 5 -/datum/chemical_reaction/metalfoam/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/metalfoam/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) holder.my_atom.visible_message("The solution spews out a metalic foam!") @@ -49,7 +49,7 @@ required_reagents = list("iron" = 3, "fluorosurfactant" = 1, "sacid" = 1) result_amount = 5 -/datum/chemical_reaction/ironfoam/on_reaction(var/datum/reagents/holder, var/created_volume) +/datum/chemical_reaction/ironfoam/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) holder.my_atom.visible_message("=55) M.druggy = max(M.druggy, 55) if(current_cycle >=200) diff --git a/code/modules/reagents/oldchem/reagents/reagents_food.dm b/code/modules/reagents/oldchem/reagents/reagents_food.dm index ccf4f84a6e2..1ff6b95fb9c 100644 --- a/code/modules/reagents/oldchem/reagents/reagents_food.dm +++ b/code/modules/reagents/oldchem/reagents/reagents_food.dm @@ -37,7 +37,7 @@ nutriment_factor = 15 * REAGENTS_METABOLISM color = "#664330" // rgb: 102, 67, 48 -/datum/reagent/protein/on_mob_life(var/mob/living/M as mob) +/datum/reagent/protein/on_mob_life(mob/living/M) if(!M) M = holder.my_atom if(!(M.mind in ticker.mode.vampires)) if(ishuman(M)) @@ -176,7 +176,6 @@ M.adjustBrainLoss(1) ..() - /datum/reagent/blackpepper name = "Black Pepper" id = "blackpepper" @@ -375,7 +374,6 @@ M.nutrition += nutriment_factor ..() - /datum/reagent/toxin/coffeepowder name = "Coffee Grounds" id = "coffeepowder" @@ -396,7 +394,6 @@ id = "fertilizer" description = "A chemical mix good for growing plants with." reagent_state = LIQUID -// toxpwr = 0.2 //It's not THAT poisonous. color = "#664330" // rgb: 102, 67, 48 /datum/reagent/toxin/fertilizer/eznutrient diff --git a/code/modules/reagents/oldchem/reagents/reagents_toxin.dm b/code/modules/reagents/oldchem/reagents/reagents_toxin.dm index 583dfc9c9d5..f7b443ae867 100644 --- a/code/modules/reagents/oldchem/reagents/reagents_toxin.dm +++ b/code/modules/reagents/oldchem/reagents/reagents_toxin.dm @@ -89,7 +89,7 @@ reagent_state = LIQUID color = "#13BC5E" // rgb: 19, 188, 94 -/datum/reagent/aslimetoxin/reaction_mob(mob/M, method=TOUCH, reac_volume) +/datum/reagent/aslimetoxin/reaction_mob(mob/M, method=TOUCH, volume) if(method != TOUCH) M.ForceContractDisease(new /datum/disease/transformation/slime(0)) diff --git a/code/modules/reagents/oldchem/reagents/reagents_water.dm b/code/modules/reagents/oldchem/reagents/reagents_water.dm index beb0892067a..72d09f5d23a 100644 --- a/code/modules/reagents/oldchem/reagents/reagents_water.dm +++ b/code/modules/reagents/oldchem/reagents/reagents_water.dm @@ -16,7 +16,7 @@ var/cooling_temperature = 2 process_flags = ORGANIC | SYNTHETIC -/datum/reagent/water/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume) +/datum/reagent/water/reaction_mob(mob/living/M, method=TOUCH, volume) if(!istype(M, /mob/living)) return @@ -27,8 +27,9 @@ M.ExtinguishMob() return -/datum/reagent/water/reaction_turf(var/turf/simulated/T, var/volume) - if(!istype(T)) return +/datum/reagent/water/reaction_turf(turf/simulated/T, volume) + if(!istype(T)) + return src = null if(volume >= 3) T.MakeSlippery() @@ -43,9 +44,8 @@ lowertemp.react() T.assume_air(lowertemp) qdel(hotspot) - return -/datum/reagent/water/reaction_obj(var/obj/O, var/volume) +/datum/reagent/water/reaction_obj(obj/O, volume) src = null var/turf/T = get_turf(O) var/hotspot = (locate(/obj/effect/hotspot) in T) @@ -73,7 +73,7 @@ reagent_state = LIQUID color = "#1BB1AB" -/datum/reagent/lube/reaction_turf(var/turf/simulated/T, var/volume) +/datum/reagent/lube/reaction_turf(turf/simulated/T, volume) if(!istype(T)) return src = null if(volume >= 1) @@ -87,7 +87,7 @@ reagent_state = LIQUID color = "#61C2C2" -/datum/reagent/space_cleaner/reaction_obj(var/obj/O, var/volume) +/datum/reagent/space_cleaner/reaction_obj(obj/O, volume) if(O && !istype(O, /atom/movable/lighting_overlay)) O.color = initial(O.color) if(istype(O,/obj/effect/decal/cleanable)) @@ -96,7 +96,7 @@ if(O) O.clean_blood() -/datum/reagent/space_cleaner/reaction_turf(var/turf/T, var/volume) +/datum/reagent/space_cleaner/reaction_turf(turf/T, volume) if(volume >= 1) if(T) T.color = initial(T.color) @@ -110,7 +110,7 @@ var/turf/simulated/S = T S.dirt = 0 -/datum/reagent/space_cleaner/reaction_mob(var/mob/M, var/method=TOUCH, var/volume) +/datum/reagent/space_cleaner/reaction_mob(mob/M, method=TOUCH, volume) if(iscarbon(M)) var/mob/living/carbon/C = M if(istype(M,/mob/living/carbon/human)) @@ -151,7 +151,7 @@ reagent_state = LIQUID color = "#C80000" // rgb: 200, 0, 0 -/datum/reagent/blood/reaction_mob(mob/M, method=TOUCH, reac_volume) +/datum/reagent/blood/reaction_mob(mob/M, method=TOUCH, volume) if(data && data["viruses"]) for(var/datum/disease/D in data["viruses"]) @@ -194,15 +194,15 @@ color = mix_data["blood_colour"] return 1 -/datum/reagent/blood/on_update(var/atom/A) +/datum/reagent/blood/on_update(atom/A) if(data["blood_colour"]) color = data["blood_colour"] return ..() -/datum/reagent/blood/reaction_turf(turf/simulated/T, reac_volume)//splash the blood all over the place +/datum/reagent/blood/reaction_turf(turf/simulated/T, volume)//splash the blood all over the place if(!istype(T)) return - if(reac_volume < 3) + if(volume < 3) return if(!data["donor"] || istype(data["donor"], /mob/living/carbon/human)) var/obj/effect/decal/cleanable/blood/blood_prop = locate() in T //find some blood here @@ -232,7 +232,7 @@ id = "vaccine" color = "#C81040" // rgb: 200, 16, 64 -/datum/reagent/vaccine/reaction_mob(mob/M, method=TOUCH, reac_volume) +/datum/reagent/vaccine/reaction_mob(mob/M, method=TOUCH, volume) if(islist(data) && (method == INGEST)) for(var/datum/disease/D in M.viruses) if(D.GetDiseaseID() in data) @@ -250,13 +250,13 @@ reagent_state = LIQUID color = "#757547" -/datum/reagent/fishwater/reaction_mob(var/mob/M, var/method=TOUCH, var/volume) +/datum/reagent/fishwater/reaction_mob(mob/M, method=TOUCH, volume) if(!istype(M, /mob/living)) return if(method == INGEST) to_chat(M, "Oh god, why did you drink that?") -/datum/reagent/fishwater/on_mob_life(var/mob/living/M as mob) +/datum/reagent/fishwater/on_mob_life(mob/living/M) if(!M) M = holder.my_atom if(prob(30)) // Nasty, you drank this stuff? 30% chance of the fakevomit (non-stunning version) if(prob(50)) // 50/50 chance of green vomit vs normal vomit @@ -264,7 +264,6 @@ else M.fakevomit(0) ..() - return /datum/reagent/fishwater/toiletwater name = "Toilet Water" @@ -273,7 +272,7 @@ reagent_state = LIQUID color = "#757547" -/datum/reagent/fishwater/toiletwater/reaction_mob(var/mob/M, var/method=TOUCH, var/volume) //For shennanigans +/datum/reagent/fishwater/toiletwater/reaction_mob(mob/M, method=TOUCH, volume) //For shennanigans return /datum/reagent/holywater @@ -284,7 +283,7 @@ color = "#0064C8" // rgb: 0, 100, 200 process_flags = ORGANIC | SYNTHETIC -/datum/reagent/holywater/on_mob_life(var/mob/living/M as mob) +/datum/reagent/holywater/on_mob_life(mob/living/M) if(!data) data = 1 data++ M.jitteriness = max(M.jitteriness-5,0) @@ -331,7 +330,7 @@ ..() -/datum/reagent/holywater/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume) +/datum/reagent/holywater/reaction_mob(mob/living/M, method=TOUCH, volume) // Vampires have their powers weakened by holy water applied to the skin. if(ishuman(M) && M.mind && M.mind.vampire && !M.mind.vampire.get_ability(/datum/vampire_passive/full)) var/mob/living/carbon/human/H=M @@ -347,7 +346,7 @@ M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2) -/datum/reagent/holywater/reaction_turf(var/turf/simulated/T, var/volume) +/datum/reagent/holywater/reaction_turf(turf/simulated/T, volume) ..() if(!istype(T)) return if(volume>=10) @@ -363,7 +362,7 @@ description = "You don't even want to think about what's in here." reagent_state = LIQUID -/datum/reagent/liquidgibs/reaction_turf(var/turf/T, var/volume) //yes i took it from synthflesh... +/datum/reagent/liquidgibs/reaction_turf(turf/T, volume) //yes i took it from synthflesh... src = null if(volume >= 5) new /obj/effect/decal/cleanable/blood/gibs/cleangibs(T) @@ -386,11 +385,11 @@ reagent_state = LIQUID color = "#A70FFF" -/datum/reagent/drying_agent/reaction_turf(turf/simulated/T, reac_volume) +/datum/reagent/drying_agent/reaction_turf(turf/simulated/T, volume) if(istype(T) && T.wet) T.MakeDry(TURF_WET_WATER) -/datum/reagent/drying_agent/reaction_obj(obj/O, reac_volume) +/datum/reagent/drying_agent/reaction_obj(obj/O, volume) if(istype(O, /obj/item/clothing/shoes/galoshes)) var/t_loc = get_turf(O) qdel(O) diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index 7a3ec304296..f977047d700 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -56,7 +56,7 @@ reagents.handle_reactions() ..() -/obj/item/weapon/reagent_containers/attack_self(mob/user as mob) +/obj/item/weapon/reagent_containers/attack_self(mob/user) return // this prevented pills, food, and other things from being picked up by bags. @@ -69,7 +69,7 @@ /obj/item/weapon/reagent_containers/afterattack(obj/target, mob/user , flag) return -/obj/item/weapon/reagent_containers/proc/reagentlist(var/obj/item/weapon/reagent_containers/snack) //Attack logs for regents in pills +/obj/item/weapon/reagent_containers/proc/reagentlist(obj/item/weapon/reagent_containers/snack) //Attack logs for regents in pills var/data if(snack && snack.reagents && snack.reagents.reagent_list && snack.reagents.reagent_list.len) //find a reagent list if there is and check if it has entries for(var/datum/reagent/R in snack.reagents.reagent_list) //no reagents will be left behind diff --git a/code/modules/reagents/reagent_containers/blood_pack.dm b/code/modules/reagents/reagent_containers/blood_pack.dm index 3312ec09af8..a04087603ad 100644 --- a/code/modules/reagents/reagent_containers/blood_pack.dm +++ b/code/modules/reagents/reagent_containers/blood_pack.dm @@ -7,22 +7,25 @@ var/blood_type = null - New() - ..() - if(blood_type != null) - name = "BloodPack [blood_type]" - reagents.add_reagent("blood", 200, list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"=blood_type,"resistances"=null,"trace_chem"=null)) - update_icon() - - on_reagent_change() +/obj/item/weapon/reagent_containers/blood/New() + ..() + if(blood_type != null) + name = "BloodPack [blood_type]" + reagents.add_reagent("blood", 200, list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"=blood_type,"resistances"=null,"trace_chem"=null)) update_icon() +/obj/item/weapon/reagent_containers/blood/on_reagent_change() update_icon() - var/percent = round((reagents.total_volume / volume) * 100) - switch(percent) - if(0 to 9) icon_state = "empty" - if(10 to 50) icon_state = "half" - if(51 to INFINITY) icon_state = "full" + +/obj/item/weapon/reagent_containers/blood/update_icon() + var/percent = round((reagents.total_volume / volume) * 100) + switch(percent) + if(0 to 9) + icon_state = "empty" + if(10 to 50) + icon_state = "half" + if(51 to INFINITY) + icon_state = "full" /obj/item/weapon/reagent_containers/blood/random/New() blood_type = pick("A+", "A-", "B+", "B-", "O+", "O-") diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm index 0d97be00a17..6f53f4c423b 100644 --- a/code/modules/reagents/reagent_containers/borghydro.dm +++ b/code/modules/reagents/reagent_containers/borghydro.dm @@ -60,7 +60,7 @@ return 1 // Use this to add more chemicals for the borghypo to produce. -/obj/item/weapon/reagent_containers/borghypo/proc/add_reagent(var/reagent) +/obj/item/weapon/reagent_containers/borghypo/proc/add_reagent(reagent) reagent_ids |= reagent var/datum/reagents/RG = new(30) RG.my_atom = src @@ -69,7 +69,7 @@ var/datum/reagents/R = reagent_list[reagent_list.len] R.add_reagent(reagent, 30) -/obj/item/weapon/reagent_containers/borghypo/attack(mob/living/M as mob, mob/user as mob) +/obj/item/weapon/reagent_containers/borghypo/attack(mob/living/M, mob/user) var/datum/reagents/R = reagent_list[mode] if(!R.total_volume) to_chat(user, "The injector is empty.") @@ -94,7 +94,7 @@ to_chat(user, "[trans] units injected. [R.total_volume] units remaining.") return -/obj/item/weapon/reagent_containers/borghypo/attack_self(mob/user as mob) +/obj/item/weapon/reagent_containers/borghypo/attack_self(mob/user) playsound(src.loc, 'sound/effects/pop.ogg', 50, 0) //Change the mode mode++ if(mode > reagent_list.len) diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm index d37f607608b..12334c2941d 100644 --- a/code/modules/reagents/reagent_containers/dropper.dm +++ b/code/modules/reagents/reagent_containers/dropper.dm @@ -11,111 +11,110 @@ volume = 5 var/filled = 0 - afterattack(obj/target, mob/user , flag) - if(!target.reagents) return - - if(filled) - - if(target.reagents.total_volume >= target.reagents.maximum_volume) - to_chat(user, "\red [target] is full.") - return - - if(!target.is_open_container() && !ismob(target) && !istype(target,/obj/item/weapon/reagent_containers/food) && !istype(target, /obj/item/clothing/mask/cigarette)) //You can inject humans and food but you cant remove the shit. - to_chat(user, "\red You cannot directly fill this object.") - return - - var/trans = 0 - - if(ismob(target)) - if(istype(target , /mob/living/carbon/human)) - var/mob/living/carbon/human/victim = target - - var/obj/item/safe_thing = null - if( victim.wear_mask ) - if( victim.wear_mask.flags & MASKCOVERSEYES ) - safe_thing = victim.wear_mask - if( victim.head ) - if( victim.head.flags & MASKCOVERSEYES ) - safe_thing = victim.head - if(victim.glasses) - if( !safe_thing ) - safe_thing = victim.glasses - - if(safe_thing) - if(!safe_thing.reagents) - safe_thing.create_reagents(100) - trans = src.reagents.trans_to(safe_thing, amount_per_transfer_from_this) - - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [] tries to squirt something into []'s eyes, but fails!", user, target), 1) - spawn(5) - src.reagents.reaction(safe_thing, TOUCH) - - - - to_chat(user, "\blue You transfer [trans] units of the solution.") - if(src.reagents.total_volume<=0) - filled = 0 - icon_state = "[initial(icon_state)]" - return - - - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [] squirts something into []'s eyes!", user, target), 1) - src.reagents.reaction(target, TOUCH) - - var/mob/living/M = target - - var/list/injected = list() - for(var/datum/reagent/R in src.reagents.reagent_list) - injected += R.name - var/contained = english_list(injected) - M.attack_log += text("\[[time_stamp()]\] Has been squirted with [src.name] by [key_name(user)]. Reagents: [contained]") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to squirt [key_name(M)]. Reagents: [contained]") - if(M.ckey) - msg_admin_attack("[key_name_admin(user)] squirted [key_name_admin(M)] with [src.name]. Reagents: [contained] (INTENT: [uppertext(user.a_intent)])") - if(!iscarbon(user)) - M.LAssailant = null - else - M.LAssailant = user - - // /vg/: Logging transfers of bad things - if(isobj(target)) - if(target.reagents_to_log.len) - var/list/badshit=list() - for(var/bad_reagent in target.reagents_to_log) - if(reagents.has_reagent(bad_reagent)) - badshit += reagents_to_log[bad_reagent] - if(badshit.len) - var/hl = "([english_list(badshit)])" - message_admins("[key_name_admin(user)] added [reagents.get_reagent_ids(1)] to \a [target] with [src].[hl]") - log_game("[key_name(user)] added [reagents.get_reagent_ids(1)] to \a [target] with [src].") - - trans = src.reagents.trans_to(target, amount_per_transfer_from_this) - to_chat(user, "\blue You transfer [trans] units of the solution.") - if(src.reagents.total_volume<=0) - filled = 0 - icon_state = "[initial(icon_state)]" - - else - - if(!target.is_open_container() && !istype(target,/obj/structure/reagent_dispensers)) - to_chat(user, "\red You cannot directly remove reagents from [target].") - return - - if(!target.reagents.total_volume) - to_chat(user, "\red [target] is empty.") - return - - var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this) - - to_chat(user, "\blue You fill the [src] with [trans] units of the solution.") - - filled = 1 - icon_state = "[initial(icon_state)][filled]" - +/obj/item/weapon/reagent_containers/dropper/afterattack(obj/target, mob/user , flag) + if(!target.reagents) return + if(filled) + + if(target.reagents.total_volume >= target.reagents.maximum_volume) + to_chat(user, "\red [target] is full.") + return + + if(!target.is_open_container() && !ismob(target) && !istype(target,/obj/item/weapon/reagent_containers/food) && !istype(target, /obj/item/clothing/mask/cigarette)) //You can inject humans and food but you cant remove the shit. + to_chat(user, "\red You cannot directly fill this object.") + return + + var/trans = 0 + + if(ismob(target)) + if(istype(target , /mob/living/carbon/human)) + var/mob/living/carbon/human/victim = target + + var/obj/item/safe_thing = null + if( victim.wear_mask ) + if( victim.wear_mask.flags & MASKCOVERSEYES ) + safe_thing = victim.wear_mask + if( victim.head ) + if( victim.head.flags & MASKCOVERSEYES ) + safe_thing = victim.head + if(victim.glasses) + if( !safe_thing ) + safe_thing = victim.glasses + + if(safe_thing) + if(!safe_thing.reagents) + safe_thing.create_reagents(100) + trans = src.reagents.trans_to(safe_thing, amount_per_transfer_from_this) + + for(var/mob/O in viewers(world.view, user)) + O.show_message(text("\red [] tries to squirt something into []'s eyes, but fails!", user, target), 1) + spawn(5) + src.reagents.reaction(safe_thing, TOUCH) + + + + to_chat(user, "\blue You transfer [trans] units of the solution.") + if(src.reagents.total_volume<=0) + filled = 0 + icon_state = "[initial(icon_state)]" + return + + + for(var/mob/O in viewers(world.view, user)) + O.show_message(text("\red [] squirts something into []'s eyes!", user, target), 1) + src.reagents.reaction(target, TOUCH) + + var/mob/living/M = target + + var/list/injected = list() + for(var/datum/reagent/R in src.reagents.reagent_list) + injected += R.name + var/contained = english_list(injected) + M.attack_log += text("\[[time_stamp()]\] Has been squirted with [src.name] by [key_name(user)]. Reagents: [contained]") + user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to squirt [key_name(M)]. Reagents: [contained]") + if(M.ckey) + msg_admin_attack("[key_name_admin(user)] squirted [key_name_admin(M)] with [src.name]. Reagents: [contained] (INTENT: [uppertext(user.a_intent)])") + if(!iscarbon(user)) + M.LAssailant = null + else + M.LAssailant = user + + // /vg/: Logging transfers of bad things + if(isobj(target)) + if(target.reagents_to_log.len) + var/list/badshit=list() + for(var/bad_reagent in target.reagents_to_log) + if(reagents.has_reagent(bad_reagent)) + badshit += reagents_to_log[bad_reagent] + if(badshit.len) + var/hl = "([english_list(badshit)])" + message_admins("[key_name_admin(user)] added [reagents.get_reagent_ids(1)] to \a [target] with [src].[hl]") + log_game("[key_name(user)] added [reagents.get_reagent_ids(1)] to \a [target] with [src].") + + trans = src.reagents.trans_to(target, amount_per_transfer_from_this) + to_chat(user, "\blue You transfer [trans] units of the solution.") + if(src.reagents.total_volume<=0) + filled = 0 + icon_state = "[initial(icon_state)]" + + else + + if(!target.is_open_container() && !istype(target,/obj/structure/reagent_dispensers)) + to_chat(user, "\red You cannot directly remove reagents from [target].") + return + + if(!target.reagents.total_volume) + to_chat(user, "\red [target] is empty.") + return + + var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this) + + to_chat(user, "\blue You fill the [src] with [trans] units of the solution.") + + filled = 1 + icon_state = "[initial(icon_state)][filled]" + /obj/item/weapon/reagent_containers/dropper/cyborg name = "Industrial Dropper" desc = "A larger dropper. Transfers 10 units." diff --git a/code/modules/reagents/reagent_containers/drugs.dm b/code/modules/reagents/reagent_containers/drugs.dm index 54c14f714ee..0a06f4d75e4 100644 --- a/code/modules/reagents/reagent_containers/drugs.dm +++ b/code/modules/reagents/reagent_containers/drugs.dm @@ -12,80 +12,81 @@ var/label_text = "" - New() - ..() - src.pixel_x = rand(-10.0, 10) //Randomizes postion - src.pixel_y = rand(-10.0, 10) - base_name = name +/obj/item/weapon/reagent_containers/drugs/New() + ..() + src.pixel_x = rand(-10.0, 10) //Randomizes postion + src.pixel_y = rand(-10.0, 10) + base_name = name - afterattack(obj/target, mob/user, proximity) - if(!proximity) return +/obj/item/weapon/reagent_containers/drugs/afterattack(obj/target, mob/user, proximity) + if(!proximity) + return - if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us. + if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us. - if(!target.reagents.total_volume && target.reagents) - to_chat(user, "\red [target] is empty.") - return - - if(reagents.total_volume >= reagents.maximum_volume) - to_chat(user, "\red [src] is full.") - return - - for(var/datum/reagent/A in target.reagents.reagent_list) - if(A.reagent_state != 1) - to_chat(user, "\red You can only put powders in [src].") - return - - var/trans = target.reagents.trans_to(src, target:amount_per_transfer_from_this) - to_chat(user, "\blue You fill [src] with [trans] units of the contents of [target].") - - else if(target.is_open_container() && target.reagents) //Something like a glass. Player probably wants to transfer TO it. - if(!reagents.total_volume) - to_chat(user, "\red [src] is empty.") - return - - if(target.reagents.total_volume >= target.reagents.maximum_volume) - to_chat(user, "\red [target] is full.") - return - - // /vg/: Logging transfers of bad things - if(target.reagents_to_log.len) - var/list/badshit=list() - for(var/bad_reagent in target.reagents_to_log) - if(reagents.has_reagent(bad_reagent)) - badshit += reagents_to_log[bad_reagent] - if(badshit.len) - var/hl = "([english_list(badshit)])" - message_admins("[key_name_admin(user)] added [reagents.get_reagent_ids(1)] to \a [target] with [src].[hl]") - log_game("[key_name(user)] added [reagents.get_reagent_ids(1)] to \a [target] with [src].") - - var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this) - to_chat(user, "\blue You transfer [trans] units of the solution to [target].") - - //Safety for dumping stuff into a ninja suit. It handles everything through attackby() and this is unnecessary. - - /*else if(istype(target, /obj/machinery/bunsen_burner)) + if(!target.reagents.total_volume && target.reagents) + to_chat(user, "\red [target] is empty.") return - else if(istype(target, /obj/machinery/radiocarbon_spectrometer)) - return*/ + if(reagents.total_volume >= reagents.maximum_volume) + to_chat(user, "\red [src] is full.") + return + + for(var/datum/reagent/A in target.reagents.reagent_list) + if(A.reagent_state != 1) + to_chat(user, "\red You can only put powders in [src].") + return + + var/trans = target.reagents.trans_to(src, target:amount_per_transfer_from_this) + to_chat(user, "\blue You fill [src] with [trans] units of the contents of [target].") + + else if(target.is_open_container() && target.reagents) //Something like a glass. Player probably wants to transfer TO it. + if(!reagents.total_volume) + to_chat(user, "\red [src] is empty.") + return + + if(target.reagents.total_volume >= target.reagents.maximum_volume) + to_chat(user, "\red [target] is full.") + return + + // /vg/: Logging transfers of bad things + if(target.reagents_to_log.len) + var/list/badshit=list() + for(var/bad_reagent in target.reagents_to_log) + if(reagents.has_reagent(bad_reagent)) + badshit += reagents_to_log[bad_reagent] + if(badshit.len) + var/hl = "([english_list(badshit)])" + message_admins("[key_name_admin(user)] added [reagents.get_reagent_ids(1)] to \a [target] with [src].[hl]") + log_game("[key_name(user)] added [reagents.get_reagent_ids(1)] to \a [target] with [src].") + + var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this) + to_chat(user, "\blue You transfer [trans] units of the solution to [target].") + + //Safety for dumping stuff into a ninja suit. It handles everything through attackby() and this is unnecessary. + + /*else if(istype(target, /obj/machinery/bunsen_burner)) + return + + else if(istype(target, /obj/machinery/radiocarbon_spectrometer)) + return*/ - attackby(obj/item/weapon/W as obj, mob/user as mob, params) - if(istype(W, /obj/item/weapon/pen) || istype(W, /obj/item/device/flashlight/pen)) - var/tmp_label = sanitize(input(user, "Enter a label for [src.name]","Label",src.label_text)) - if(length(tmp_label) > 10) - to_chat(user, "\red The label can be at most 10 characters long.") - else - to_chat(user, "\blue You set the label to \"[tmp_label]\".") - src.label_text = tmp_label - src.update_name_label() - - proc/update_name_label() - if(src.label_text == "") - src.name = src.base_name +/obj/item/weapon/reagent_containers/drugs/attackby(obj/item/weapon/W, mob/user, params) + if(istype(W, /obj/item/weapon/pen) || istype(W, /obj/item/device/flashlight/pen)) + var/tmp_label = sanitize(input(user, "Enter a label for [src.name]","Label",src.label_text)) + if(length(tmp_label) > 10) + to_chat(user, "\red The label can be at most 10 characters long.") else - src.name = "[src.base_name] ([src.label_text])" + to_chat(user, "\blue You set the label to \"[tmp_label]\".") + src.label_text = tmp_label + src.update_name_label() + +/obj/item/weapon/reagent_containers/drugs/proc/update_name_label() + if(src.label_text == "") + src.name = src.base_name + else + src.name = "[src.base_name] ([src.label_text])" /obj/item/weapon/reagent_containers/drugs/baggie name = "baggie" @@ -94,39 +95,45 @@ icon_state = "baggie" item_state = "beaker" - on_reagent_change() - update_icon() - - pickup(mob/user) - ..() - update_icon() - - dropped(mob/user) - ..() - update_icon() - - attack_hand() - ..() - update_icon() - +/obj/item/weapon/reagent_containers/drugs/on_reagent_change() update_icon() - overlays.Cut() - if(reagents.total_volume) - var/image/filling = image('icons/obj/reagentfillings.dmi', src, "[icon_state]2") +/obj/item/weapon/reagent_containers/drugs/pickup(mob/user) + ..() + update_icon() - switch(reagents.total_volume) - if(0 to 2) filling.icon_state = "[icon_state]2" - if(3 to 4) filling.icon_state = "[icon_state]4" - if(5 to 6) filling.icon_state = "[icon_state]6" - if(7 to 8) filling.icon_state = "[icon_state]8" - if(9 to 10) filling.icon_state = "[icon_state]10" +/obj/item/weapon/reagent_containers/drugs/dropped(mob/user) + ..() + update_icon() + +/obj/item/weapon/reagent_containers/drugs/attack_hand() + ..() + update_icon() + +/obj/item/weapon/reagent_containers/drugs/update_icon() + overlays.Cut() + + if(reagents.total_volume) + var/image/filling = image('icons/obj/reagentfillings.dmi', src, "[icon_state]2") + + switch(reagents.total_volume) + if(0 to 2) + filling.icon_state = "[icon_state]2" + if(3 to 4) + filling.icon_state = "[icon_state]4" + if(5 to 6) + filling.icon_state = "[icon_state]6" + if(7 to 8) + filling.icon_state = "[icon_state]8" + if(9 to 10) + filling.icon_state = "[icon_state]10" - filling.icon += mix_color_from_reagents(reagents.reagent_list) - overlays += filling + filling.icon += mix_color_from_reagents(reagents.reagent_list) + overlays += filling /obj/item/weapon/reagent_containers/drugs/baggie/meth - New() - ..() - reagents.add_reagent("methamphetamine", 10) \ No newline at end of file + +/obj/item/weapon/reagent_containers/drugs/New() + ..() + reagents.add_reagent("methamphetamine", 10) \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/food.dm b/code/modules/reagents/reagent_containers/food.dm index 50a3ecd1a1d..6bf920f5e64 100644 --- a/code/modules/reagents/reagent_containers/food.dm +++ b/code/modules/reagents/reagent_containers/food.dm @@ -13,6 +13,6 @@ var/instant_application = 0 //if we want to bypass the forcedfeed delay /obj/item/weapon/reagent_containers/food/New() - ..() - src.pixel_x = rand(-10.0, 10) //Randomizes postion - src.pixel_y = rand(-10.0, 10) \ No newline at end of file + ..() + pixel_x = rand(-10, 10) //Randomizes postion + pixel_y = rand(-10, 10) \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/food/drinks/bottle/robot.dm b/code/modules/reagents/reagent_containers/food/drinks/bottle/robot.dm deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/code/modules/reagents/reagent_containers/glass/bottle.dm b/code/modules/reagents/reagent_containers/glass/bottle.dm index ce0d298839e..56f0cb226b5 100644 --- a/code/modules/reagents/reagent_containers/glass/bottle.dm +++ b/code/modules/reagents/reagent_containers/glass/bottle.dm @@ -12,190 +12,158 @@ flags = OPENCONTAINER volume = 30 - New() - ..() - if(!icon_state) - icon_state = "bottle[rand(1,20)]" +/obj/item/weapon/reagent_containers/glass/bottle/New() + ..() + if(!icon_state) + icon_state = "bottle[rand(1,20)]" //Copypasta from /obj/item/weapon/reagent_containers/glass/beaker - on_reagent_change() - update_icon() - - pickup(mob/user) - ..() - update_icon() - - dropped(mob/user) - ..() - update_icon() - - attack_hand() - ..() - update_icon() - +/obj/item/weapon/reagent_containers/glass/bottle/on_reagent_change() update_icon() - overlays.Cut() - if(reagents.total_volume) - var/image/filling = image('icons/obj/reagentfillings.dmi', src, "[icon_state]10") +/obj/item/weapon/reagent_containers/glass/bottle/pickup(mob/user) + ..() + update_icon() - var/percent = round((reagents.total_volume / volume) * 100) - switch(percent) - if(0 to 24) filling.icon_state = "[icon_state]10" - if(25 to 49) filling.icon_state = "[icon_state]25" - if(50 to 74) filling.icon_state = "[icon_state]50" - if(75 to 90) filling.icon_state = "[icon_state]75" - if(91 to INFINITY) filling.icon_state = "[icon_state]100" +/obj/item/weapon/reagent_containers/glass/bottle/dropped(mob/user) + ..() + update_icon() - filling.icon += mix_color_from_reagents(reagents.reagent_list) - overlays += filling +/obj/item/weapon/reagent_containers/glass/bottle/attack_hand() + ..() + update_icon() - if(!is_open_container()) - var/image/lid = image(icon, src, "lid_bottle") - overlays += lid +/obj/item/weapon/reagent_containers/glass/bottle/update_icon() + overlays.Cut() + + if(reagents.total_volume) + var/image/filling = image('icons/obj/reagentfillings.dmi', src, "[icon_state]10") + + var/percent = round((reagents.total_volume / volume) * 100) + switch(percent) + if(0 to 24) + filling.icon_state = "[icon_state]10" + if(25 to 49) + filling.icon_state = "[icon_state]25" + if(50 to 74) + filling.icon_state = "[icon_state]50" + if(75 to 90) + filling.icon_state = "[icon_state]75" + if(91 to INFINITY) + filling.icon_state = "[icon_state]100" + + filling.icon += mix_color_from_reagents(reagents.reagent_list) + overlays += filling + + if(!is_open_container()) + var/image/lid = image(icon, src, "lid_bottle") + overlays += lid /obj/item/weapon/reagent_containers/glass/bottle/toxin name = "toxin bottle" desc = "A small bottle of toxins. Do not drink, it is poisonous." icon = 'icons/obj/chemical.dmi' icon_state = "bottle12" - - New() - ..() - reagents.add_reagent("toxin", 30) + list_reagents = list("toxin" = 30) /obj/item/weapon/reagent_containers/glass/bottle/cyanide name = "cyanide bottle" desc = "A small bottle of cyanide. Bitter almonds?" icon = 'icons/obj/chemical.dmi' icon_state = "bottle12" - - New() - ..() - reagents.add_reagent("cyanide", 30) + list_reagents = list("cyanide" = 30) /obj/item/weapon/reagent_containers/glass/bottle/mutagen name = "unstable mutagen bottle" desc = "A small bottle of unstable mutagen. Randomly changes the DNA structure of whoever comes in contact." icon = 'icons/obj/chemical.dmi' icon_state = "bottle20" - - New() - ..() - reagents.add_reagent("mutagen", 30) + list_reagents = list("mutagen" = 30) /obj/item/weapon/reagent_containers/glass/bottle/ammonia name = "ammonia bottle" desc = "A small bottle." icon = 'icons/obj/chemical.dmi' icon_state = "bottle20" - - New() - ..() - reagents.add_reagent("ammonia", 30) + list_reagents = list("ammonia" = 30) /obj/item/weapon/reagent_containers/glass/bottle/diethylamine name = "diethylamine bottle" desc = "A small bottle." icon = 'icons/obj/chemical.dmi' icon_state = "bottle17" - - New() - ..() - reagents.add_reagent("diethylamine", 30) + list_reagents = list("diethylamine" = 30) /obj/item/weapon/reagent_containers/glass/bottle/facid name = "Fluorosulfuric Acid Bottle" desc = "A small bottle. Contains a small amount of Fluorosulfuric Acid" icon = 'icons/obj/chemical.dmi' icon_state = "bottle17" - New() - ..() - reagents.add_reagent("facid", 30) + list_reagents = list("facid" = 30) /obj/item/weapon/reagent_containers/glass/bottle/adminordrazine name = "Adminordrazine Bottle" desc = "A small bottle. Contains the liquid essence of the gods." icon = 'icons/obj/drinks.dmi' icon_state = "holyflask" - New() - ..() - reagents.add_reagent("adminordrazine", 30) + list_reagents = list("adminordrazine" = 30) /obj/item/weapon/reagent_containers/glass/bottle/capsaicin name = "Capsaicin Bottle" desc = "A small bottle. Contains hot sauce." icon = 'icons/obj/chemical.dmi' icon_state = "bottle3" - New() - ..() - reagents.add_reagent("capsaicin", 30) + list_reagents = list("capsaicin" = 30) /obj/item/weapon/reagent_containers/glass/bottle/frostoil name = "Frost Oil Bottle" desc = "A small bottle. Contains cold sauce." icon = 'icons/obj/chemical.dmi' icon_state = "bottle17" - New() - ..() - reagents.add_reagent("frostoil", 30) + list_reagents = list("frostoil" = 30) /obj/item/weapon/reagent_containers/glass/bottle/morphine name = "Morphine Bottle" desc = "A small bottle. Contains morphine." icon = 'icons/obj/chemical.dmi' icon_state = "bottle17" - New() - ..() - reagents.add_reagent("morphine", 30) + list_reagents = list("morphine" = 30) /obj/item/weapon/reagent_containers/glass/bottle/ether name = "Ether Bottle" desc = "A small bottle. Contains ether." icon = 'icons/obj/chemical.dmi' icon_state = "bottle17" - New() - ..() - reagents.add_reagent("ether", 30) + list_reagents = list("ether" = 30) /obj/item/weapon/reagent_containers/glass/bottle/charcoal name = "Charcoal Bottle" desc = "A small bottle. Contains charcoal." icon = 'icons/obj/chemical.dmi' icon_state = "bottle17" - New() - ..() - reagents.add_reagent("charcoal", 30) + list_reagents = list("charcoal" = 30) /obj/item/weapon/reagent_containers/glass/bottle/epinephrine name = "Epinephrine Bottle" desc = "A small bottle. Contains epinephrine." icon = 'icons/obj/chemical.dmi' icon_state = "bottle17" - New() - ..() - reagents.add_reagent("epinephrine", 30) + list_reagents = list("epinephrine" = 30) /obj/item/weapon/reagent_containers/glass/bottle/pancuronium name = "Pancuronium Bottle" desc = "A small bottle of pancuronium." icon = 'icons/obj/chemical.dmi' icon_state = "bottle14" - - New() - ..() - reagents.add_reagent("pancuronium", 30) + list_reagents = list("pancuronium" = 30) /obj/item/weapon/reagent_containers/glass/bottle/sulfonal name = "Sulfonal Bottle" desc = "A small bottle of Sulfonal." icon = 'icons/obj/chemical.dmi' icon_state = "bottle19" - - New() - ..() - reagents.add_reagent("sulfonal", 30) + list_reagents = list("sulfonal" = 30) //Reagent bottles @@ -209,86 +177,64 @@ name = "Oil Bottle" desc = "A reagent bottle. Contains oil." icon_state = "rbottle1" - New() - ..() - reagents.add_reagent("oil", 50) + list_reagents = list("oil" = 50) /obj/item/weapon/reagent_containers/glass/bottle/reagent/phenol name = "Phenol Bottle" desc = "A reagent bottle. Contains phenol." icon_state = "rbottle2" - New() - ..() - reagents.add_reagent("phenol", 50) + list_reagents = list("phenol" = 50) /obj/item/weapon/reagent_containers/glass/bottle/reagent/acetone name = "Acetone Bottle" desc = "A reagent bottle. Contains acetone." icon_state = "rbottle3" - New() - ..() - reagents.add_reagent("acetone", 50) + list_reagents = list("acetone" = 50) /obj/item/weapon/reagent_containers/glass/bottle/reagent/ammonia name = "Ammonia Bottle" desc = "A reagent bottle. Contains ammonia." icon_state = "rbottle4" - New() - ..() - reagents.add_reagent("ammonia", 50) + list_reagents = list("ammonia" = 50) /obj/item/weapon/reagent_containers/glass/bottle/reagent/diethylamine name = "Diethylamine Bottle" desc = "A reagent bottle. Contains diethylamine." icon_state = "rbottle5" - New() - ..() - reagents.add_reagent("diethylamine", 50) + list_reagents = list("diethylamine" = 50) /obj/item/weapon/reagent_containers/glass/bottle/reagent/acid name = "Acid Bottle" desc = "A reagent bottle. Contains sulfuric acid." icon_state = "rbottle6" - New() - ..() - reagents.add_reagent("sacid", 50) + list_reagents = list("diethylamine" = 50) /obj/item/weapon/reagent_containers/glass/bottle/reagent/formaldehyde name = "Formaldehyde Bottle" desc = "A reagent bottle. Contains formaldehyde." icon_state = "rbottle" - New() - ..() - reagents.add_reagent("formaldehyde", 50) + list_reagents = list("formaldehyde" = 50) /obj/item/weapon/reagent_containers/glass/bottle/reagent/morphine name = "Morphine Bottle" desc = "A reagent bottle. Contains morphine." - New() - ..() - reagents.add_reagent("morphine", 50) + list_reagents = list("morphine" = 50) /obj/item/weapon/reagent_containers/glass/bottle/reagent/insulin name = "Insulin Bottle" desc = "A reagent bottle. Contains insulin." - New() - ..() - reagents.add_reagent("insulin", 50) + list_reagents = list("insulin" = 50) /obj/item/weapon/reagent_containers/glass/bottle/reagent/hairgrownium name = "Hair Grow Gel" desc = "A bottle full of a stimulative hair growth formula" - New() - ..() - reagents.add_reagent("hairgrownium", 50) + list_reagents = list("hairgrownium" = 50) /obj/item/weapon/reagent_containers/glass/bottle/reagent/hair_dye name = "Quantum Hair Dye Bottle" desc = "A bottle of the ever-changing quantum hair dye." - New() - ..() - reagents.add_reagent("hair_dye", 50) + list_reagents = list("hair_dye" = 50) ////////////////////Traitor Poison Bottle////////////////////////////// @@ -297,9 +243,9 @@ possible_transfer_amounts = list(5,10,15,25,30,40) volume = 40 - New() - ..() - reagents.add_reagent(pick_list("chemistry_tools.json", "traitor_poison_bottle"), 40) +/obj/item/weapon/reagent_containers/glass/bottle/traitor/New() + ..() + reagents.add_reagent(pick_list("chemistry_tools.json", "traitor_poison_bottle"), 40) /obj/item/weapon/reagent_containers/glass/bottle/plasma name = "plasma dust bottle" diff --git a/code/modules/reagents/reagent_containers/glass/bottle/robot.dm b/code/modules/reagents/reagent_containers/glass/bottle/robot.dm deleted file mode 100644 index 6a8eb261bb4..00000000000 --- a/code/modules/reagents/reagent_containers/glass/bottle/robot.dm +++ /dev/null @@ -1,32 +0,0 @@ - -/obj/item/weapon/reagent_containers/glass/bottle/robot - amount_per_transfer_from_this = 10 - possible_transfer_amounts = list(5,10,15,25,30,50,100) - flags = OPENCONTAINER - volume = 60 - var/reagent = "" - - -/obj/item/weapon/reagent_containers/glass/bottle/robot/epinephrine - name = "internal epinephrine bottle" - desc = "A small bottle. Contains epinephrine - used to stabilize patients." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle16" - reagent = "epinephrine" - -/obj/item/weapon/reagent_containers/glass/bottle/robot/epinephrine/New() - ..() - reagents.add_reagent("epinephrine", 60) - return - -/obj/item/weapon/reagent_containers/glass/bottle/robot/charcoal - name = "internal charcoal bottle" - desc = "A small bottle of charcoal. Counters poisons and repairs damage." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle17" - reagent = "charcoal" - -/obj/item/weapon/reagent_containers/glass/bottle/robot/charcoal/New() - ..() - reagents.add_reagent("charcoal", 60) - return \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/glass_containers.dm b/code/modules/reagents/reagent_containers/glass_containers.dm index 686c4234bc2..cf0b9132b57 100644 --- a/code/modules/reagents/reagent_containers/glass_containers.dm +++ b/code/modules/reagents/reagent_containers/glass_containers.dm @@ -268,7 +268,7 @@ if(assembly) assembly.Crossed(AM) -/obj/item/weapon/reagent_containers/glass/beaker/on_found(mob/finder as mob) //for mousetraps +/obj/item/weapon/reagent_containers/glass/beaker/on_found(mob/finder) //for mousetraps if(assembly) assembly.on_found(finder) @@ -319,20 +319,14 @@ possible_transfer_amounts = list(5,10,15,25,30,50,100,300) flags = OPENCONTAINER -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone/New() - ..() - reagents.add_reagent("cryoxadone", 30) - update_icon() +/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone + list_reagents = list("cryoxadone" = 30) -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric/New() - ..() - reagents.add_reagent("sacid", 50) - update_icon() +/obj/item/weapon/reagent_containers/glass/beaker/sulphuric + list_reagents = list("sacid" = 50) -/obj/item/weapon/reagent_containers/glass/beaker/slime/New() - ..() - reagents.add_reagent("slimejelly", 50) - update_icon() +/obj/item/weapon/reagent_containers/glass/beaker/slime + list_reagents = list("slimejelly" = 50) /obj/item/weapon/reagent_containers/glass/bucket desc = "It's a bucket." @@ -347,7 +341,7 @@ volume = 120 flags = OPENCONTAINER -/obj/item/weapon/reagent_containers/glass/bucket/attackby(var/obj/D, mob/user as mob, params) +/obj/item/weapon/reagent_containers/glass/bucket/attackby(obj/D, mob/user, params) if(isprox(D)) to_chat(user, "You add [D] to [src].") qdel(D) @@ -365,52 +359,4 @@ volume = 15 amount_per_transfer_from_this = 5 possible_transfer_amounts = list(1,5,15) - flags = OPENCONTAINER - -/* -/obj/item/weapon/reagent_containers/glass/blender_jug - name = "Blender Jug" - desc = "A blender jug, part of a blender." - icon = 'icons/obj/kitchen.dmi' - icon_state = "blender_jug_e" - volume = 100 - - on_reagent_change() - switch(src.reagents.total_volume) - if(0) - icon_state = "blender_jug_e" - if(1 to 75) - icon_state = "blender_jug_h" - if(76 to 100) - icon_state = "blender_jug_f" - -/obj/item/weapon/reagent_containers/glass/canister //not used apparantly - desc = "It's a canister. Mainly used for transporting fuel." - name = "canister" - icon = 'icons/obj/tank.dmi' - icon_state = "canister" - item_state = "canister" - materials = list(MAT_METAL=300) - w_class = 4 - - amount_per_transfer_from_this = 20 - possible_transfer_amounts = list(10,20,30,60) - volume = 120 - -/obj/item/weapon/reagent_containers/glass/dispenser - name = "reagent glass" - desc = "A reagent glass." - icon = 'icons/obj/chemical.dmi' - icon_state = "beaker0" - amount_per_transfer_from_this = 10 - flags = OPENCONTAINER - -/obj/item/weapon/reagent_containers/glass/dispenser/surfactant - name = "reagent glass (surfactant)" - icon_state = "liquid" - - New() - ..() - reagents.add_reagent("fluorosurfactant", 20) - -*/ + flags = OPENCONTAINER \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index a9181138a85..73f0afc9a61 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -43,11 +43,8 @@ var/trans = reagents.trans_to(M, amount_per_transfer_from_this) to_chat(user, "\blue [trans] units injected. [reagents.total_volume] units remaining in [src].") - return - -/obj/item/weapon/reagent_containers/hypospray/CMO/New() - ..() - reagents.add_reagent("omnizine", 30) +/obj/item/weapon/reagent_containers/hypospray/CMO + list_reagents = list("omnizine" = 30) /obj/item/weapon/reagent_containers/hypospray/combat name = "combat stimulant injector" @@ -55,21 +52,14 @@ amount_per_transfer_from_this = 10 possible_transfer_amounts = list(10) icon_state = "combat_hypo" - volume = 60 + volume = 75 ignore_flags = 1 // So they can heal their comrades. - -/obj/item/weapon/reagent_containers/hypospray/combat/New() - ..() - reagents.add_reagent("synaptizine", 30) + list_reagents = list("epinephrine" = 30, "omnizine" = 30, "teporone" = 15) /obj/item/weapon/reagent_containers/hypospray/combat/nanites - name = "combat stimulant injector" - desc = "A modified air-needle autoinjector filled with expensive regeneration nanites." + desc = "A modified air-needle autoinjector for use in combat situations. Prefilled with expensive medical nanites for rapid healing." volume = 100 - -/obj/item/weapon/reagent_containers/hypospray/combat/nanites/New() - ..() - reagents.add_reagent("nanites", 70) + list_reagents = list("nanites" = 100) /obj/item/weapon/reagent_containers/hypospray/autoinjector name = "emergency autoinjector" @@ -81,56 +71,41 @@ volume = 10 ignore_flags = 1 //so you can medipen through hardsuits flags = null + list_reagents = list("epinephrine" = 10) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/New() - ..() - reagents.add_reagent("epinephrine", 10) - update_icon() - return - -/obj/item/weapon/reagent_containers/hypospray/autoinjector/attack(mob/M as mob, mob/user as mob) +/obj/item/weapon/reagent_containers/hypospray/autoinjector/attack(mob/M, mob/user) + if(!reagents.total_volume) + to_chat(user, "[src] is empty!") + return ..() update_icon() - return /obj/item/weapon/reagent_containers/hypospray/autoinjector/update_icon() if(reagents.total_volume > 0) - icon_state = "[initial(icon_state)]1" + icon_state = initial(icon_state) else icon_state = "[initial(icon_state)]0" -/obj/item/weapon/reagent_containers/hypospray/autoinjector/examine(mob/user) - ..(user) +/obj/item/weapon/reagent_containers/hypospray/autoinjector/examine() + ..() if(reagents && reagents.reagent_list.len) - to_chat(user, "\blue It is currently loaded.") + to_chat(usr, "It is currently loaded.") else - to_chat(user, "\blue It is spent.") + to_chat(usr, "It is spent.") /obj/item/weapon/reagent_containers/hypospray/autoinjector/teporone //basilisks name = "teporone autoinjector" - desc = "A rapid way to regulate your body's temperature in the event of a hardsuit malfunction at the cost of some shortness of breath." + desc = "A rapid way to regulate your body's temperature in the event of a hardsuit malfunction." icon_state = "lepopen" - -/obj/item/weapon/reagent_containers/hypospray/autoinjector/teporone/New() - ..() - reagents.remove_reagent("epinephrine", 10) - reagents.add_reagent("teporone", 9) - reagents.add_reagent("lexorin", 1) - update_icon() - return + list_reagents = list("teporone" = 10) /obj/item/weapon/reagent_containers/hypospray/autoinjector/stimpack //goliath kiting name = "stimpack autoinjector" - desc = "A rapid way to stimulate your body's adrenaline, allowing for freer movement in restrictive armor at the cost of some shortness of breath." + desc = "A rapid way to stimulate your body's adrenaline, allowing for freer movement in restrictive armor." icon_state = "stimpen" - -/obj/item/weapon/reagent_containers/hypospray/autoinjector/stimpack/New() - ..() - reagents.remove_reagent("epinephrine", 10) - reagents.add_reagent("methamphetamine", 9) - reagents.add_reagent("lexorin", 1) - update_icon() - return + volume = 20 + amount_per_transfer_from_this = 20 + list_reagents = list("methamphetamine" = 10, "coffee" = 10) /obj/item/weapon/reagent_containers/hypospray/autoinjector/stimulants name = "Stimulants autoinjector" @@ -139,10 +114,4 @@ amount_per_transfer_from_this = 50 possible_transfer_amounts = list(50) volume = 50 - -/obj/item/weapon/reagent_containers/hypospray/autoinjector/stimulants/New() - ..() - reagents.remove_reagent("epinephrine", 10) - reagents.add_reagent("stimulants", 50) - update_icon() - return \ No newline at end of file + list_reagents = list("stimulants" = 50) \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 37c73ca760f..7f027fc8a97 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -11,14 +11,15 @@ volume = 50 consume_sound = null - New() - ..() - if(!icon_state) - icon_state = "pill[rand(1,20)]" +/obj/item/weapon/reagent_containers/food/pill/New() + ..() + if(!icon_state) + icon_state = "pill[rand(1,20)]" -/obj/item/weapon/reagent_containers/food/pill/attack_self(mob/user as mob) +/obj/item/weapon/reagent_containers/food/pill/attack_self(mob/user) return -/obj/item/weapon/reagent_containers/food/pill/attack(var/mob/living/carbon/M, mob/user as mob, def_zone) + +/obj/item/weapon/reagent_containers/food/pill/attack(mob/living/carbon/M, mob/user, def_zone) if(!istype(M)) return 0 bitesize = reagents.total_volume @@ -29,7 +30,8 @@ return 0 /obj/item/weapon/reagent_containers/food/pill/afterattack(obj/target, mob/user, proximity) - if(!proximity) return + if(!proximity) + return if(target.is_open_container() != 0 && target.reagents) if(!target.reagents.total_volume) @@ -65,89 +67,64 @@ name = "Toxins pill" desc = "Highly toxic." icon_state = "pill5" - New() - ..() - reagents.add_reagent("toxin", 50) + list_reagents = list("toxin" = 50) /obj/item/weapon/reagent_containers/food/pill/initropidril name = "initropidril pill" desc = "Don't swallow this." icon_state = "pill5" - New() - ..() - reagents.add_reagent("initropidril", 50) + list_reagents = list("initropidril" = 50) /obj/item/weapon/reagent_containers/food/pill/adminordrazine name = "Adminordrazine pill" desc = "It's magic. We don't have to explain it." icon_state = "pill16" - New() - ..() - reagents.add_reagent("adminordrazine", 50) + list_reagents = list("adminordrazine" = 50) /obj/item/weapon/reagent_containers/food/pill/methamphetamine name = "Methamphetamine pill" desc = "Helps improve the ability to concentrate." icon_state = "pill8" - New() - ..() - reagents.add_reagent("methamphetamine", 5) + list_reagents = list("methamphetamine" = 5) /obj/item/weapon/reagent_containers/food/pill/haloperidol name = "Haloperidol pill" desc = "Haloperidol is an anti-psychotic use to treat psychiatric problems." icon_state = "pill8" - New() - ..() - reagents.add_reagent("haloperidol", 15) + list_reagents = list("haloperidol" = 15) /obj/item/weapon/reagent_containers/food/pill/paroxetine name = "Paroxetine pill" desc = "Heavy anti-depressant." icon_state = "pill8" - New() - ..() - reagents.add_reagent("paroxetine", 15) - + list_reagents = list("paroxetine" = 15) /obj/item/weapon/reagent_containers/food/pill/happy name = "Happy pill" desc = "Happy happy joy joy!" icon_state = "pill18" - New() - ..() - reagents.add_reagent("space_drugs", 15) - reagents.add_reagent("sugar", 15) + list_reagents = list("space_drugs" = 15, "sugar" = 15) /obj/item/weapon/reagent_containers/food/pill/zoom name = "Zoom pill" desc = "Zoooom!" icon_state = "pill18" - New() - ..() - reagents.add_reagent("synaptizine", 5) - reagents.add_reagent("methamphetamine", 5) + list_reagents = list("synaptizine" = 5, "methamphetamine" = 5) /obj/item/weapon/reagent_containers/food/pill/charcoal name = "Charcoal pill" desc = "Neutralizes many common toxins." icon_state = "pill17" - New() - ..() - reagents.add_reagent("charcoal", 25) + list_reagents = list("charcoal" = 25) /obj/item/weapon/reagent_containers/food/pill/salicylic name = "Salicylic Acid pill" desc = "Commonly used to treat moderate pain and fevers." icon_state = "pill4" - New() - ..() - reagents.add_reagent("sal_acid", 20) + list_reagents = list("sal_acid" = 20) /obj/item/weapon/reagent_containers/food/pill/salbutamol name = "Salbutamol pill" desc = "Used to treat respiratory distress." icon_state = "pill8" - New() - ..() - reagents.add_reagent("salbutamol", 20) \ No newline at end of file + list_reagents = list("salbutamol" = 20) \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index a55a3c6319c..b42d9af08bf 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -17,7 +17,7 @@ possible_transfer_amounts = null -/obj/item/weapon/reagent_containers/spray/afterattack(atom/A as mob|obj, mob/user as mob) +/obj/item/weapon/reagent_containers/spray/afterattack(atom/A, mob/user) if(istype(A, /obj/item/weapon/storage) || istype(A, /obj/structure/table) || istype(A, /obj/structure/rack) || istype(A, /obj/structure/closet) \ || istype(A, /obj/item/weapon/reagent_containers) || istype(A, /obj/structure/sink) || istype(A, /obj/structure/janitorialcart) || istype(A, /obj/machinery/portable_atmospherics/hydroponics)) return @@ -103,20 +103,13 @@ /obj/item/weapon/reagent_containers/spray/cleaner name = "space cleaner" desc = "BLAM!-brand non-foaming space cleaner!" - - -/obj/item/weapon/reagent_containers/spray/cleaner/New() - ..() - reagents.add_reagent("cleaner", 250) + list_reagents = list("cleaner" = 250) /obj/item/weapon/reagent_containers/spray/cleaner/drone name = "space cleaner" desc = "BLAM!-brand non-foaming space cleaner!" volume = 50 - -/obj/item/weapon/reagent_containers/spray/cleaner/New() - ..() - reagents.add_reagent("cleaner", src.volume) + list_reagents = list("cleaner" = 50) //pepperspray /obj/item/weapon/reagent_containers/spray/pepper @@ -128,11 +121,7 @@ volume = 40 spray_maxrange = 4 amount_per_transfer_from_this = 5 - - -/obj/item/weapon/reagent_containers/spray/pepper/New() - ..() - reagents.add_reagent("condensedcapsaicin", 40) + list_reagents = list("condensedcapsaicin" = 50) //water flower /obj/item/weapon/reagent_containers/spray/waterflower @@ -143,12 +132,9 @@ item_state = "sunflower" amount_per_transfer_from_this = 1 volume = 10 + list_reagents = list("water" = 10) -/obj/item/weapon/reagent_containers/spray/waterflower/New() - ..() - reagents.add_reagent("water", 10) - -/obj/item/weapon/reagent_containers/spray/waterflower/attack_self(var/mob/user) //Don't allow changing how much the flower sprays +/obj/item/weapon/reagent_containers/spray/waterflower/attack_self(mob/user) //Don't allow changing how much the flower sprays return //chemsprayer @@ -218,14 +204,10 @@ icon_state = "plantbgone" item_state = "plantbgone" volume = 100 + list_reagents = list("atrazine" = 100) -/obj/item/weapon/reagent_containers/spray/plantbgone/New() - ..() - reagents.add_reagent("atrazine", 100) - - -/obj/item/weapon/reagent_containers/spray/plantbgone/afterattack(atom/A as mob|obj, mob/user as mob, proximity) +/obj/item/weapon/reagent_containers/spray/plantbgone/afterattack(atom/A, mob/user, proximity) if(!proximity) return if(istype(A, /obj/machinery/portable_atmospherics/hydroponics)) // We are targeting hydrotray diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 81dd637a855..b268b6aa883 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -19,6 +19,12 @@ var/mode = SYRINGE_DRAW var/projectile_type = /obj/item/projectile/bullet/dart/syringe +/obj/item/weapon/reagent_containers/syringe/New() + ..() + if(list_reagents) //syringe starts in inject mode if its already got something inside + mode = SYRINGE_INJECT + update_icon() + /obj/item/weapon/reagent_containers/syringe/on_reagent_change() update_icon() @@ -30,8 +36,7 @@ ..() update_icon() -/obj/item/weapon/reagent_containers/syringe/attack_self(mob/user as mob) - +/obj/item/weapon/reagent_containers/syringe/attack_self(mob/user) switch(mode) if(SYRINGE_DRAW) mode = SYRINGE_INJECT @@ -45,10 +50,10 @@ ..() update_icon() -/obj/item/weapon/reagent_containers/syringe/attack(mob/living/M as mob, mob/living/user as mob, def_zone) +/obj/item/weapon/reagent_containers/syringe/attack(mob/living/M, mob/living/user, def_zone) return -/obj/item/weapon/reagent_containers/syringe/attackby(obj/item/I as obj, mob/user as mob, params) +/obj/item/weapon/reagent_containers/syringe/attackby(obj/item/I, mob/user, params) if(istype(I,/obj/item/weapon/storage/bag)) ..() return @@ -66,13 +71,6 @@ to_chat(user, "\red This syringe is broken!") return -/* if(user.a_intent == I_HARM && ismob(target)) - if((CLUMSY in user.mutations) && prob(50)) - target = user - syringestab(target, user) - return */ - - switch(mode) if(SYRINGE_DRAW) @@ -286,60 +284,6 @@ filling.icon += mix_color_from_reagents(reagents.reagent_list) overlays += filling - -/obj/item/weapon/reagent_containers/syringe/proc/syringestab(mob/living/carbon/target as mob, mob/living/carbon/user as mob) - - user.attack_log += "\[[time_stamp()]\] Attacked [target.name] ([target.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])" - target.attack_log += "\[[time_stamp()]\] Attacked by [user.name] ([user.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])" - if(target.ckey) - msg_admin_attack("[key_name_admin(user)] attacked [key_name_admin(target)] with [src.name] (INTENT: [uppertext(user.a_intent)])") - if(!iscarbon(user)) - target.LAssailant = null - else - target.LAssailant = user - - if(istype(target, /mob/living/carbon/human)) - - var/target_zone = ran_zone(check_zone(user.zone_sel.selecting, target)) - var/obj/item/organ/external/affecting = target:get_organ(target_zone) - - if(!affecting || (affecting.status & ORGAN_DESTROYED) || affecting.is_stump()) - to_chat(user, "They are missing that limb!") - return - var/hit_area = affecting.name - - var/mob/living/carbon/human/H = target - if((user != target) && H.check_shields(7, "the [src.name]")) - return - - if(target != user && target.getarmor(target_zone, "melee") > 5 && prob(50)) - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [user] tries to stab [target] in \the [hit_area] with [src.name], but the attack is deflected by armor!"), 1) - user.unEquip(src) - qdel(src) - return - - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [user] stabs [target] in \the [hit_area] with [src.name]!"), 1) - - if(affecting.take_damage(3)) - target:UpdateDamageIcon() - - else - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [user] stabs [target] with [src.name]!"), 1) - target.take_organ_damage(3)// 7 is the same as crowbar punch - - src.reagents.reaction(target, INGEST) - var/syringestab_amount_transferred = rand(0, (reagents.total_volume - 5)) //nerfed by popular demand - src.reagents.trans_to(target, syringestab_amount_transferred) - src.desc += " It is broken." - src.mode = SYRINGE_BROKEN - src.add_blood(target) - src.add_fingerprint(usr) - src.update_icon() - - /obj/item/weapon/reagent_containers/ld50_syringe name = "Lethal Injection Syringe" desc = "A syringe used for lethal injections." @@ -351,104 +295,101 @@ volume = 50 var/mode = SYRINGE_DRAW - on_reagent_change() - update_icon() +/obj/item/weapon/reagent_containers/ld50_syringe/on_reagent_change() + update_icon() - pickup(mob/user) - ..() - update_icon() +/obj/item/weapon/reagent_containers/ld50_syringe/pickup(mob/user) + ..() + update_icon() - dropped(mob/user) - ..() - update_icon() +/obj/item/weapon/reagent_containers/ld50_syringe/dropped(mob/user) + ..() + update_icon() - attack_self(mob/user as mob) - mode = !mode - update_icon() +/obj/item/weapon/reagent_containers/ld50_syringe/attack_self(mob/user) + mode = !mode + update_icon() - attack_hand() - ..() - update_icon() +/obj/item/weapon/reagent_containers/ld50_syringe/attack_hand() + ..() + update_icon() +/obj/item/weapon/reagent_containers/ld50_syringe/attackby(obj/item/I, mob/user) + return - attackby(obj/item/I as obj, mob/user as mob) - +/obj/item/weapon/reagent_containers/ld50_syringe/afterattack(obj/target, mob/user , flag) + if(!target.reagents) return - afterattack(obj/target, mob/user , flag) - if(!target.reagents) return + switch(mode) + if(SYRINGE_DRAW) - switch(mode) - if(SYRINGE_DRAW) + if(reagents.total_volume >= reagents.maximum_volume) + to_chat(user, "\red The syringe is full.") + return - if(reagents.total_volume >= reagents.maximum_volume) - to_chat(user, "\red The syringe is full.") + if(ismob(target)) + if(istype(target, /mob/living/carbon))//I Do not want it to suck 50 units out of people + to_chat(usr, "This needle isn't designed for drawing blood.") + return + else //if not mob + if(!target.reagents.total_volume) + to_chat(user, "\red [target] is empty.") return - if(ismob(target)) - if(istype(target, /mob/living/carbon))//I Do not want it to suck 50 units out of people - to_chat(usr, "This needle isn't designed for drawing blood.") - return - else //if not mob - if(!target.reagents.total_volume) - to_chat(user, "\red [target] is empty.") - return + if(!target.is_open_container() && !istype(target,/obj/structure/reagent_dispensers)) + to_chat(user, "\red You cannot directly remove reagents from this object.") + return - if(!target.is_open_container() && !istype(target,/obj/structure/reagent_dispensers)) - to_chat(user, "\red You cannot directly remove reagents from this object.") - return + var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this) // transfer from, transfer to - who cares? - var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this) // transfer from, transfer to - who cares? + to_chat(user, "\blue You fill the syringe with [trans] units of the solution.") + if(reagents.total_volume >= reagents.maximum_volume) + mode=!mode + update_icon() - to_chat(user, "\blue You fill the syringe with [trans] units of the solution.") - if(reagents.total_volume >= reagents.maximum_volume) - mode=!mode + if(SYRINGE_INJECT) + if(!reagents.total_volume) + to_chat(user, "\red The Syringe is empty.") + return + if(istype(target, /obj/item/weapon/implantcase/chem)) + return + if(!target.is_open_container() && !ismob(target) && !istype(target, /obj/item/weapon/reagent_containers/food)) + to_chat(user, "\red You cannot directly fill this object.") + return + if(target.reagents.total_volume >= target.reagents.maximum_volume) + to_chat(user, "\red [target] is full.") + return + + if(ismob(target) && target != user) + for(var/mob/O in viewers(world.view, user)) + O.show_message(text("\red [] is trying to inject [] with a giant syringe!", user, target), 1) + if(!do_mob(user, target, 300)) return + for(var/mob/O in viewers(world.view, user)) + O.show_message(text("\red [] injects [] with a giant syringe!", user, target), 1) + src.reagents.reaction(target, INGEST) + if(ismob(target) && target == user) + src.reagents.reaction(target, INGEST) + spawn(5) + var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this) + to_chat(user, "\blue You inject [trans] units of the solution. The syringe now contains [src.reagents.total_volume] units.") + if(reagents.total_volume >= reagents.maximum_volume && mode==SYRINGE_INJECT) + mode = SYRINGE_DRAW update_icon() +/obj/item/weapon/reagent_containers/ld50_syringe/update_icon() + var/rounded_vol = round(reagents.total_volume,50) + if(ismob(loc)) + var/mode_t + switch(mode) + if(SYRINGE_DRAW) + mode_t = "d" if(SYRINGE_INJECT) - if(!reagents.total_volume) - to_chat(user, "\red The Syringe is empty.") - return - if(istype(target, /obj/item/weapon/implantcase/chem)) - return - if(!target.is_open_container() && !ismob(target) && !istype(target, /obj/item/weapon/reagent_containers/food)) - to_chat(user, "\red You cannot directly fill this object.") - return - if(target.reagents.total_volume >= target.reagents.maximum_volume) - to_chat(user, "\red [target] is full.") - return - - if(ismob(target) && target != user) - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [] is trying to inject [] with a giant syringe!", user, target), 1) - if(!do_mob(user, target, 300)) return - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [] injects [] with a giant syringe!", user, target), 1) - src.reagents.reaction(target, INGEST) - if(ismob(target) && target == user) - src.reagents.reaction(target, INGEST) - spawn(5) - var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this) - to_chat(user, "\blue You inject [trans] units of the solution. The syringe now contains [src.reagents.total_volume] units.") - if(reagents.total_volume >= reagents.maximum_volume && mode==SYRINGE_INJECT) - mode = SYRINGE_DRAW - update_icon() - return - - - update_icon() - var/rounded_vol = round(reagents.total_volume,50) - if(ismob(loc)) - var/mode_t - switch(mode) - if(SYRINGE_DRAW) - mode_t = "d" - if(SYRINGE_INJECT) - mode_t = "i" - icon_state = "[mode_t][rounded_vol]" - else - icon_state = "[rounded_vol]" - item_state = "syringe_[rounded_vol]" + mode_t = "i" + icon_state = "[mode_t][rounded_vol]" + else + icon_state = "[rounded_vol]" + item_state = "syringe_[rounded_vol]" //////////////////////////////////////////////////////////////////////////////// @@ -459,85 +400,27 @@ /obj/item/weapon/reagent_containers/syringe/antiviral name = "Syringe (spaceacillin)" desc = "Contains antiviral agents." - New() - ..() - reagents.add_reagent("spaceacillin", 15) - mode = SYRINGE_INJECT - update_icon() + list_reagents = list("spaceacillin" = 15) /obj/item/weapon/reagent_containers/ld50_syringe/lethal - New() - ..() - reagents.add_reagent("cyanide", 10) - reagents.add_reagent("neurotoxin2", 40) - mode = SYRINGE_INJECT - update_icon() - - -//Robot syringes -//Not special in any way, code wise. They don't have added variables or procs. -/obj/item/weapon/reagent_containers/syringe/robot/charcoal - name = "Syringe (charcoal)" - desc = "Contains charcoal." - New() - ..() - reagents.add_reagent("charcoal", 15) - mode = SYRINGE_INJECT - update_icon() - -/obj/item/weapon/reagent_containers/syringe/robot/epinephrine - name = "Syringe (Epinephrine)" - desc = "Contains epinephrine - used to stabilize patients." - New() - ..() - reagents.add_reagent("epinephrine", 15) - mode = SYRINGE_INJECT - update_icon() - -/obj/item/weapon/reagent_containers/syringe/robot/mixed - name = "Syringe (mixed)" - desc = "Contains epinephrine & charcoal." - New() - ..() - reagents.add_reagent("epinephrine", 7) - reagents.add_reagent("charcoal", 8) - mode = SYRINGE_INJECT - update_icon() + list_reagents = list("cyanide" = 10, "neurotoxin2" = 40) /obj/item/weapon/reagent_containers/syringe/charcoal name = "Syringe (charcoal)" desc = "Contains charcoal - used to treat toxins and damage from toxins." - New() - ..() - reagents.add_reagent("charcoal", 15) - mode = SYRINGE_INJECT - update_icon() + list_reagents = list("charcoal" = 15) /obj/item/weapon/reagent_containers/syringe/epinephrine name = "Syringe (Epinephrine)" desc = "Contains epinephrine - used to stabilize patients." - New() - ..() - reagents.add_reagent("epinephrine", 15) - mode = SYRINGE_INJECT - update_icon() + list_reagents = list("epinephrine" = 15) /obj/item/weapon/reagent_containers/syringe/insulin name = "Syringe (insulin)" desc = "Contains insulin - used to treat diabetes." - New() - ..() - reagents.add_reagent("insulin", 15) - mode = SYRINGE_INJECT - update_icon() + list_reagents = list("insulin" = 15) /obj/item/weapon/reagent_containers/syringe/bioterror name = "bioterror syringe" desc = "Contains several paralyzing reagents." - New() - ..() - reagents.add_reagent("neurotoxin", 5) - reagents.add_reagent("capulettium_plus", 5) - reagents.add_reagent("sodium_thiopental", 5) - mode = SYRINGE_INJECT - update_icon() + list_reagents = list("neurotoxin" = 5, "capulettium_plus" = 5, "sodium_thiopental" = 5) \ No newline at end of file diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm index 3d8cc4af060..5d2323b9b6e 100644 --- a/code/modules/reagents/reagent_dispenser.dm +++ b/code/modules/reagents/reagent_dispenser.dm @@ -12,7 +12,7 @@ var/amount_per_transfer_from_this = 10 var/possible_transfer_amounts = list(10,25,50,100) -/obj/structure/reagent_dispensers/attackby(obj/item/weapon/W as obj, mob/user as mob, params) +/obj/structure/reagent_dispensers/attackby(obj/item/weapon/W, mob/user, params) return /obj/structure/reagent_dispensers/New() @@ -139,7 +139,7 @@ rig = null overlays = new/list() -/obj/structure/reagent_dispensers/fueltank/attackby(obj/item/weapon/W as obj, mob/user as mob, params) +/obj/structure/reagent_dispensers/fueltank/attackby(obj/item/weapon/W, mob/user, params) if(istype(W,/obj/item/device/assembly_holder) && accepts_rig) if(rig) to_chat(user, "\red There is another device in the way.") diff --git a/icons/obj/hypo.dmi b/icons/obj/hypo.dmi index fe42acbe4d298c83c13e96b81dd378ca7cacfb73..6baa7869c75ed60c96b4f8b040b7a3e0e16cd785 100644 GIT binary patch delta 200 zcmV;(05|`J9)%u|B!9DdR9JLGWpiV4X>fFDZ*Bkpc$|&Uy$*sf6b0b9eTo~{4gRcM z48$Q=WZ6JTL~lyK|m%KvU+~tK-L!-XQTE31ROcLduedXKXnxM);&*Zbv6nIYkEmtl1)NS z`H_AJ9U4b#vQC>uXC2P*t9BT5fwV~)++p(VUHC_HsM-?BrsiLDT&5)uVvMV?;Ux}T Cj8>)q delta 201 zcmV;)05<=H9)=!}B!9GeR9JLGWpiV4X>fFDZ*Bkpc$|&Uu?~VT5XSMjeTob02Gq5S z!59X31ybOoHI_E*p~0tjfKk(KcgZi`@Xz6Lz11yLP0e5EgSImWI3Ehm-g+bj0!~NH z6zWOQ_5_lIARvLLp+n