From afded6faf60f0922b83a792c909551d40cd034b9 Mon Sep 17 00:00:00 2001 From: FernandoJ8 <80640114+FernandoJ8@users.noreply.github.com> Date: Wed, 8 Dec 2021 22:32:32 +0100 Subject: [PATCH] Getting an IV drip ripped out of you now causes a pierce wound (#63099) As said in the title, getting an IV needle ripped out of you by getting too far from it without detaching will, on top of the 3 brute damage it dealt before, cause a Minor Breakage (lowest tier of pierce wounds) on the affected arm. The intensity does not increase with further detachments but both arms can become pierced. Also, as a shitter safety net, they now have a 1 second delay in order to attach them. Oh and the warning message has been changed accordingly to "The IV drip needle is ripped out of you, leaving an open bleeding wound!" --- code/game/machinery/iv_drip.dm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm index bd6f4cce5c3..fb69e500e4b 100644 --- a/code/game/machinery/iv_drip.dm +++ b/code/game/machinery/iv_drip.dm @@ -169,8 +169,11 @@ return PROCESS_KILL if(!(get_dist(src, attached) <= 1 && isturf(attached.loc))) - to_chat(attached, span_userdanger("The IV drip needle is ripped out of you!")) - attached.apply_damage(3, BRUTE, pick(BODY_ZONE_R_ARM, BODY_ZONE_L_ARM)) + to_chat(attached, span_userdanger("The IV drip needle is ripped out of you, leaving an open bleeding wound!")) + var/list/arm_zones = shuffle(list(BODY_ZONE_R_ARM, BODY_ZONE_L_ARM)) + var/obj/item/bodypart/chosen_limb = attached.get_bodypart(arm_zones[1]) || attached.get_bodypart(arm_zones[2]) || attached.get_bodypart(BODY_ZONE_CHEST) + chosen_limb.receive_damage(3) + chosen_limb.force_wound_upwards(/datum/wound/pierce/moderate) detach_iv() return PROCESS_KILL @@ -228,6 +231,9 @@ ///called when an IV is attached /obj/machinery/iv_drip/proc/attach_iv(mob/living/target, mob/user) + user.visible_message(span_warning("[usr] begins attaching [src] to [target]..."), span_warning("You begin attaching [src] to [target].")) + if(!do_after(usr, 1 SECONDS, target)) + return usr.visible_message(span_warning("[usr] attaches [src] to [target]."), span_notice("You attach [src] to [target].")) var/datum/reagents/container = get_reagent_holder() log_combat(usr, target, "attached", src, "containing: ([container.log_list()])")