From 9b574b507536293063906e76102e0c4940ce4f73 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Wed, 13 Dec 2023 00:31:39 +0100 Subject: [PATCH] [MIRROR] Prevents stacking burn meds on burn wounds [MDB IGNORE] (#25578) * Prevents stacking burn meds on burn wounds (#80256) ## About The Pull Request Currently using burn ointment/mesh on a limb with a burn wound doesn't set the do_after target to the target, so you can keep stacking as many applications you want at once. This fixes that. ## Why It's Good For The Game Consistency ## Changelog :cl: Ryll/Shaps fix: You can no longer stack more than one applications of a burn wound at once /:cl: * Prevents stacking burn meds on burn wounds --------- Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com> --- code/datums/wounds/burns.dm | 2 +- code/datums/wounds/slash.dm | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/datums/wounds/burns.dm b/code/datums/wounds/burns.dm index c041c4fd003..2e655018517 100644 --- a/code/datums/wounds/burns.dm +++ b/code/datums/wounds/burns.dm @@ -202,7 +202,7 @@ user.visible_message(span_notice("[user] begins applying [I] to [victim]'s [limb.plaintext_zone]..."), span_notice("You begin applying [I] to [user == victim ? "your" : "[victim]'s"] [limb.plaintext_zone]...")) if (I.amount <= 0) return TRUE - if(!do_after(user, (user == victim ? I.self_delay : I.other_delay), extra_checks = CALLBACK(src, PROC_REF(still_exists)))) + if(!do_after(user, (user == victim ? I.self_delay : I.other_delay), target = victim, extra_checks = CALLBACK(src, PROC_REF(still_exists)))) return TRUE limb.heal_damage(I.heal_brute, I.heal_burn) diff --git a/code/datums/wounds/slash.dm b/code/datums/wounds/slash.dm index d17b59cf80b..980cb712484 100644 --- a/code/datums/wounds/slash.dm +++ b/code/datums/wounds/slash.dm @@ -215,7 +215,7 @@ user.visible_message(span_notice("[user] begins licking the wounds on [victim]'s [limb.plaintext_zone]."), span_notice("You begin licking the wounds on [victim]'s [limb.plaintext_zone]..."), ignored_mobs=victim) to_chat(victim, span_notice("[user] begins to lick the wounds on your [limb.plaintext_zone].")) - if(!do_after(user, base_treat_time, target=victim, extra_checks = CALLBACK(src, PROC_REF(still_exists)))) + if(!do_after(user, base_treat_time, target = victim, extra_checks = CALLBACK(src, PROC_REF(still_exists)))) return user.visible_message(span_notice("[user] licks the wounds on [victim]'s [limb.plaintext_zone]."), span_notice("You lick some of the wounds on [victim]'s [limb.plaintext_zone]"), ignored_mobs=victim) @@ -241,7 +241,7 @@ /datum/wound/slash/flesh/proc/las_cauterize(obj/item/gun/energy/laser/lasgun, mob/user) var/self_penalty_mult = (user == victim ? 1.25 : 1) user.visible_message(span_warning("[user] begins aiming [lasgun] directly at [victim]'s [limb.plaintext_zone]..."), span_userdanger("You begin aiming [lasgun] directly at [user == victim ? "your" : "[victim]'s"] [limb.plaintext_zone]...")) - if(!do_after(user, base_treat_time * self_penalty_mult, target=victim, extra_checks = CALLBACK(src, PROC_REF(still_exists)))) + if(!do_after(user, base_treat_time * self_penalty_mult, target = victim, extra_checks = CALLBACK(src, PROC_REF(still_exists)))) return var/damage = lasgun.chambered.loaded_projectile.damage lasgun.chambered.loaded_projectile.wound_bonus -= 30