From 8c37b3724be6f34825562bc1746112ce3a849f33 Mon Sep 17 00:00:00 2001 From: SteelSlayer Date: Sat, 24 Aug 2019 22:43:19 -0400 Subject: [PATCH 1/4] initial --- .../crates_lockers/closets/secure/medical.dm | 1 + .../reagents/reagent_containers/iv_bag.dm | 26 ++++++++++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index 189cbc5893d..73dbc88487a 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -273,6 +273,7 @@ new /obj/item/key/ambulance(src) new /obj/item/pinpointer/crew(src) new /obj/item/clothing/shoes/magboots(src) + new /obj/item/handheld_defibrillator(src) /obj/structure/closet/secure_closet/reagents name = "chemical storage closet" diff --git a/code/modules/reagents/reagent_containers/iv_bag.dm b/code/modules/reagents/reagent_containers/iv_bag.dm index 825aa69632b..91493af6bfa 100644 --- a/code/modules/reagents/reagent_containers/iv_bag.dm +++ b/code/modules/reagents/reagent_containers/iv_bag.dm @@ -9,7 +9,7 @@ righthand_file = 'icons/goonstation/mob/inhands/items_righthand.dmi' icon_state = "ivbag" volume = 200 - possible_transfer_amounts = list(1,5,10) + possible_transfer_amounts = list(1,5,10,15,25,30,50) // Everything above 10 is NOT usable on a person and is instead used for transfering to other containers amount_per_transfer_from_this = 1 container_type = OPENCONTAINER var/label_text @@ -53,6 +53,11 @@ end_processing() return + if(amount_per_transfer_from_this > 10) // Prevents people from switching to illegal transfer values while the IV is already in someone, i.e. anything over 10 + to_chat(injection_target, "The IV bag can only be used on someone with a transfer amount of 1, 5 or 10.") + end_processing() + return + if(get_dist(get_turf(src), get_turf(injection_target)) > 1) to_chat(injection_target, "The [src]'s' needle is ripped out of you!") injection_target.apply_damage(3, BRUTE, pick("r_arm", "l_arm")) @@ -98,6 +103,9 @@ else // Inserting the needle if(!L.can_inject(user, 1)) return + if(amount_per_transfer_from_this > 10) // We only want to be able to transfer 1, 5, or 10 units to people. Higher numbers are for transfering to other containers + to_chat(user, "The IV bag can only be used on someone with a transfer amount of 1, 5 or 10.") + return if(L != user) L.visible_message("[user] is trying to insert [src]'s needle into [L]'s arm!", \ "[user] is trying to insert [src]'s needle into [L]'s arm!") @@ -107,6 +115,22 @@ "[user] inserts [src]'s needle into [L]'s arm!") begin_processing(L) + else if(target.is_refillable() && is_drainable()) // Transferring from IV bag to other containers + if(!reagents.total_volume) + to_chat(user, "[src] is empty.") + return + + if(target.reagents.total_volume >= target.reagents.maximum_volume) + to_chat(user, "[target] is full.") + return + + var/trans = reagents.trans_to(target, amount_per_transfer_from_this) + to_chat(user, "You transfer [trans] units of the solution to [target].") + + else if(istype(target, /obj/item/reagent_containers/glass) && !target.is_open_container()) + to_chat(user, "You cannot fill [target] while it is sealed.") + return + /obj/item/reagent_containers/iv_bag/update_icon() overlays.Cut() From 188f66febc64052ba1a2a913cd62d3c90e9e6ec2 Mon Sep 17 00:00:00 2001 From: SteelSlayer Date: Sat, 24 Aug 2019 23:06:36 -0400 Subject: [PATCH 2/4] Update iv_bag.dm fixes chat wording --- code/modules/reagents/reagent_containers/iv_bag.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/reagent_containers/iv_bag.dm b/code/modules/reagents/reagent_containers/iv_bag.dm index 91493af6bfa..4d620e47a91 100644 --- a/code/modules/reagents/reagent_containers/iv_bag.dm +++ b/code/modules/reagents/reagent_containers/iv_bag.dm @@ -54,7 +54,7 @@ return if(amount_per_transfer_from_this > 10) // Prevents people from switching to illegal transfer values while the IV is already in someone, i.e. anything over 10 - to_chat(injection_target, "The IV bag can only be used on someone with a transfer amount of 1, 5 or 10.") + visible_message("The IV bag's needle pops out of [injection_target]'s arm. The transfer amount is too high!") end_processing() return From ab4f40f2537f70c9a2584b6a1bdb3a4056bce030 Mon Sep 17 00:00:00 2001 From: SteelSlayer Date: Sat, 24 Aug 2019 23:53:57 -0400 Subject: [PATCH 3/4] Update iv_bag.dm Adds 20 to the transfer amounst list as requested --- code/modules/reagents/reagent_containers/iv_bag.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/reagent_containers/iv_bag.dm b/code/modules/reagents/reagent_containers/iv_bag.dm index 4d620e47a91..cfe84d10f2e 100644 --- a/code/modules/reagents/reagent_containers/iv_bag.dm +++ b/code/modules/reagents/reagent_containers/iv_bag.dm @@ -9,7 +9,7 @@ righthand_file = 'icons/goonstation/mob/inhands/items_righthand.dmi' icon_state = "ivbag" volume = 200 - possible_transfer_amounts = list(1,5,10,15,25,30,50) // Everything above 10 is NOT usable on a person and is instead used for transfering to other containers + possible_transfer_amounts = list(1,5,10,15,20,25,30,50) // Everything above 10 is NOT usable on a person and is instead used for transfering to other containers amount_per_transfer_from_this = 1 container_type = OPENCONTAINER var/label_text From 51671a060193665586272b2e315fc157baa975e3 Mon Sep 17 00:00:00 2001 From: SteelSlayer Date: Sun, 25 Aug 2019 00:45:40 -0400 Subject: [PATCH 4/4] Removes the handdefib addition --- .../objects/structures/crates_lockers/closets/secure/medical.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index 73dbc88487a..189cbc5893d 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -273,7 +273,6 @@ new /obj/item/key/ambulance(src) new /obj/item/pinpointer/crew(src) new /obj/item/clothing/shoes/magboots(src) - new /obj/item/handheld_defibrillator(src) /obj/structure/closet/secure_closet/reagents name = "chemical storage closet"