From 656b46ac14290428b1805ce97cf16d71aa3a7e68 Mon Sep 17 00:00:00 2001 From: chuga-git <98280110+chuga-git@users.noreply.github.com> Date: Wed, 28 Aug 2024 18:44:08 -0500 Subject: [PATCH] Reverts #25805 and #25846: "Only one IV bag at a time " (#26578) * reverts 25805 and 25846 * re-adds iv_bag on_examine and stops apply_damage runtime when injection_target is being deleted --- code/__HELPERS/trait_helpers.dm | 1 - code/_globalvars/traits.dm | 1 - code/modules/reagents/reagent_containers/iv_bag.dm | 9 ++------- 3 files changed, 2 insertions(+), 9 deletions(-) diff --git a/code/__HELPERS/trait_helpers.dm b/code/__HELPERS/trait_helpers.dm index 1ce4dc067d3..af8040177b8 100644 --- a/code/__HELPERS/trait_helpers.dm +++ b/code/__HELPERS/trait_helpers.dm @@ -236,7 +236,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_NPC_ZOMBIE "npc_zombie" // A trait for checking if a zombie should act like an NPC and attack #define TRAIT_ABSTRACT_HANDS "abstract_hands" // Mobs with this trait can only pick up abstract items. #define TRAIT_LANGUAGE_LOCKED "language_locked" // cant add/remove languages until removed (excludes babel because fuck everything i guess) -#define TRAIT_HAS_IV_BAG "iv_bag" // Used to check if there is an active IV bag. Currently blocks another IV bags from being inserted. //***** MIND TRAITS *****/ #define TRAIT_HOLY "is_holy" // The mob is holy in regards to religion diff --git a/code/_globalvars/traits.dm b/code/_globalvars/traits.dm index e6b68fcbdda..f276bcc25ab 100644 --- a/code/_globalvars/traits.dm +++ b/code/_globalvars/traits.dm @@ -97,7 +97,6 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_I_WANT_BRAINS" = TRAIT_I_WANT_BRAINS, "TRAIT_ABSTRACT_HANDS" = TRAIT_ABSTRACT_HANDS, "TRAIT_LANGUAGE_LOCKED" = TRAIT_LANGUAGE_LOCKED, - "TRAIT_HAS_IV_BAG" = TRAIT_HAS_IV_BAG, "TRAIT_NON_INFECTIOUS_ZOMBIE" = TRAIT_NON_INFECTIOUS_ZOMBIE, "TRAIT_CANNOT_PULL" = TRAIT_CANNOT_PULL ), diff --git a/code/modules/reagents/reagent_containers/iv_bag.dm b/code/modules/reagents/reagent_containers/iv_bag.dm index c6a23a907e4..9058e93a695 100644 --- a/code/modules/reagents/reagent_containers/iv_bag.dm +++ b/code/modules/reagents/reagent_containers/iv_bag.dm @@ -47,19 +47,17 @@ /obj/item/reagent_containers/iv_bag/proc/begin_processing(mob/target) injection_target = target - ADD_TRAIT(injection_target, TRAIT_HAS_IV_BAG, UID()) RegisterSignal(injection_target, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine)) START_PROCESSING(SSobj, src) /obj/item/reagent_containers/iv_bag/proc/end_processing() if(injection_target) - REMOVE_TRAIT(injection_target, TRAIT_HAS_IV_BAG, UID()) UnregisterSignal(injection_target, COMSIG_PARENT_EXAMINE) - injection_target = null + injection_target = null STOP_PROCESSING(SSobj, src) /obj/item/reagent_containers/iv_bag/process() - if(!injection_target) + if(QDELETED(injection_target)) end_processing() return @@ -115,9 +113,6 @@ else // Inserting the needle if(!L.can_inject(user, TRUE)) return - if(HAS_TRAIT(target, TRAIT_HAS_IV_BAG)) - to_chat(user, "[target] already [target.p_have()] another IV bag inserted into [target.p_them()]!") - 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