diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm index 0b3ac65974d..cfe320a5d17 100644 --- a/code/modules/surgery/organs_internal.dm +++ b/code/modules/surgery/organs_internal.dm @@ -71,12 +71,14 @@ var/implements_extract = list(/obj/item/weapon/hemostat = 100, /obj/item/weapon/kitchen/utensil/fork = 70) var/implements_mend = list(/obj/item/stack/medical/bruise_pack = 20,/obj/item/stack/medical/bruise_pack/advanced = 100,/obj/item/stack/nanopaste = 100) var/implements_clean = list(/obj/item/weapon/reagent_containers/dropper = 100, + /obj/item/weapon/reagent_containers/syringe = 100, /obj/item/weapon/reagent_containers/glass/bottle = 90, /obj/item/weapon/reagent_containers/food/drinks/drinkingglass = 85, /obj/item/weapon/reagent_containers/food/drinks/bottle = 80, /obj/item/weapon/reagent_containers/glass/beaker = 75, /obj/item/weapon/reagent_containers/spray = 60, /obj/item/weapon/reagent_containers/glass/bucket = 50) + //Finish is just so you can close up after you do other things. var/implements_finsh = list(/obj/item/weapon/scalpel/laser/manager = 100,/obj/item/weapon/retractor = 100 ,/obj/item/weapon/crowbar = 90) var/current_type @@ -129,13 +131,16 @@ for(var/obj/item/organ/internal/I in affected.internal_organs) if(I) - if(C.reagents.total_volume < GHETTO_DISINFECT_AMOUNT) + if(C.reagents.total_volume <= 0) //end_step handles if there is not enough reagent user.visible_message("[user] notices [tool] is empty.", \ - "You notice [tool] is empty") + "You notice [tool] is empty.") return 0 var/msg = "[user] starts pouring some of [tool] over [target]'s [I.name]." var/self_msg = "You start pouring some of [tool] over [target]'s [I.name]." + if(istype(C,/obj/item/weapon/reagent_containers/syringe)) + msg = "[user] begins injecting [tool] into [target]'s [I.name]." + self_msg = "You begin injecting [tool] into [target]'s [I.name]." user.visible_message(msg, self_msg) if(H && affected) H.custom_pain("Something burns horribly in your [affected.name]!",1) @@ -300,23 +305,34 @@ var/obj/item/weapon/reagent_containers/C = tool var/datum/reagents/R = C.reagents var/ethanol = 0 //how much alcohol is in the thing + var/spaceacillin = 0 //how much actual antibiotic is in the thing if(R.reagent_list.len) for(var/datum/reagent/consumable/ethanol/alcohol in R.reagent_list) ethanol += alcohol.alcohol_perc * 300 ethanol /= R.reagent_list.len + spaceacillin = R.get_reagent_amount("spaceacillin") + + for(var/obj/item/organ/internal/I in affected.internal_organs) if(I) if(R.total_volume < GHETTO_DISINFECT_AMOUNT) - user.visible_message("[user] notices there is not enough of [tool].", \ - "You notice there is not enough of [tool].") + user.visible_message("[user] notices there is not enough in [tool].", \ + "You notice there is not enough in [tool].") return 0 if(I.germ_level < INFECTION_LEVEL_ONE / 2) to_chat(user, "[I] does not appear to be infected.") if(I.germ_level >= INFECTION_LEVEL_ONE / 2) - I.germ_level = max(I.germ_level-ethanol, 0) - user.visible_message(" [user] has poured some of [tool] over [target]'s [I.name].", + if(spaceacillin >= GHETTO_DISINFECT_AMOUNT) + I.germ_level = 0 + else + I.germ_level = max(I.germ_level-ethanol, 0) + if(istype(C,/obj/item/weapon/reagent_containers/syringe)) + user.visible_message(" [user] has injected [tool] into [target]'s [I.name].", + " You have injected [tool] into [target]'s [I.name].") + else + user.visible_message(" [user] has poured some of [tool] over [target]'s [I.name].", " You have poured some of [tool] over [target]'s [I.name].") R.trans_to(target, GHETTO_DISINFECT_AMOUNT) R.reaction(target, INGEST)