From bd1ff7e209fd94d374f8d23cddd2cf79b9547702 Mon Sep 17 00:00:00 2001 From: Migratingcocofruit <69551563+Migratingcocofruit@users.noreply.github.com> Date: Mon, 28 Apr 2025 19:14:29 +0300 Subject: [PATCH] fixes syringe runtimes (#29142) --- code/modules/reagents/reagent_containers.dm | 4 +-- .../reagents/reagent_containers/syringes.dm | 27 ++++++++++++------- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index fd7526af744..75ba6ad1f63 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -19,8 +19,8 @@ /obj/item/reagent_containers/interact_with_atom(atom/target, mob/living/user, list/modifiers) if(isliving(target)) user.changeNext_move(CLICK_CD_MELEE) - if(mob_act(target, user)) - return ITEM_INTERACT_COMPLETE + mob_act(target, user) + return ITEM_INTERACT_COMPLETE if(normal_act(target, user)) return ITEM_INTERACT_COMPLETE return ..() diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 18716b4b127..f5c738f1c1c 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -51,7 +51,7 @@ update_icon() /obj/item/reagent_containers/syringe/proc/mob_inject(mob/living/L, mob/living/user) - . = TRUE + . = FALSE if(!reagents.total_volume) to_chat(user, "[src] is empty.") @@ -73,8 +73,6 @@ "[user] is trying to inject you!") if(!do_mob(user, L)) return - if(!reagents.total_volume) - return if(L.reagents.total_volume >= L.reagents.maximum_volume) return L.visible_message("[user] injects [L] with the syringe!", \ @@ -87,9 +85,10 @@ add_attack_logs(user, L, "Injected with [name] containing [contained], transfered [amount_per_transfer_from_this] units", reagents.harmless_helper() ? ATKLOG_ALMOSTALL : null) -/obj/item/reagent_containers/syringe/proc/mob_draw(mob/living/L, mob/living/user) - . = TRUE + return TRUE +/obj/item/reagent_containers/syringe/proc/mob_draw(mob/living/L, mob/living/user) + . = FALSE var/drawn_amount = reagents.maximum_volume - reagents.total_volume if(L != user) L.visible_message("[user] is trying to take a blood sample from [L]!", \ @@ -110,8 +109,10 @@ mode = !mode update_icon() + return TRUE + /obj/item/reagent_containers/syringe/proc/normal_draw(atom/target, mob/living/user) - . = TRUE + . = FALSE if(!target.reagents.total_volume) to_chat(user, "[target] is empty!") return @@ -127,8 +128,14 @@ mode = !mode update_icon() + return TRUE + /obj/item/reagent_containers/syringe/proc/normal_inject(atom/target, mob/living/user) - . = TRUE + . = FALSE + + if(!reagents.total_volume) + to_chat(user, "[src] is empty.") + return if(isfood(target)) var/list/chemicals = list() @@ -137,9 +144,11 @@ var/contained_chemicals = english_list(chemicals) add_attack_logs(user, target, "Injected [amount_per_transfer_from_this]u [contained_chemicals] into food item") finish_injection(target, user) + return + + return TRUE /obj/item/reagent_containers/syringe/normal_act(atom/target, mob/living/user) - . = TRUE if(!target.reagents) return FALSE @@ -152,7 +161,7 @@ finish_injection(target, user) /obj/item/reagent_containers/syringe/mob_act(mob/target, mob/living/user) - . = TRUE + . = FALSE if(!target.reagents) return