From 69dfb927192cd19b9885409b14d12caf16d498e1 Mon Sep 17 00:00:00 2001 From: yashaldie Date: Fri, 7 Mar 2014 04:55:23 -0500 Subject: [PATCH 1/3] Fixes for slime surgery runtime don't know why this works but it does and doesn't break other surgeries from what i can tell --- code/modules/surgery/generic.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm index 949d2b77c9..d0d22716f7 100644 --- a/code/modules/surgery/generic.dm +++ b/code/modules/surgery/generic.dm @@ -6,6 +6,8 @@ /datum/surgery_step/generic/ can_infect = 1 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + if (isslime(target)) + return 0 if (target_zone == "eyes") //there are specific steps for eye surgery return 0 if (!hasorgans(target)) @@ -32,6 +34,8 @@ max_duration = 110 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + if(isslime(target)) + return 0 var/datum/organ/external/affected = target.get_organ(target_zone) return ..() && affected.open == 0 && target_zone != "mouth" From 421b1ea6ef447c96190425b186fc7fd1e6780f45 Mon Sep 17 00:00:00 2001 From: yashaldie Date: Fri, 7 Mar 2014 04:56:49 -0500 Subject: [PATCH 2/3] Fixes for slime surgery runtime don't know why the slime is coming though even though the target is supposed to be human... --- code/modules/surgery/implant.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/surgery/implant.dm b/code/modules/surgery/implant.dm index 01d54bedaa..c39267b903 100644 --- a/code/modules/surgery/implant.dm +++ b/code/modules/surgery/implant.dm @@ -106,6 +106,8 @@ max_duration = 100 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + if(isslime(target)) + return 0 var/datum/organ/external/affected = target.get_organ(target_zone) var/can_fit = !affected.hidden && affected.cavity && tool.w_class <= get_max_wclass(affected) return ..() && can_fit From 67dfe130346471b374bd5a947a272844dced636b Mon Sep 17 00:00:00 2001 From: yashaldie Date: Fri, 7 Mar 2014 05:43:31 -0500 Subject: [PATCH 3/3] Fix for O2 wall lockers breaking Fixes #4538 also found when you tried to weld it it would break the sprite also made the toggle verb just call the attack_hand proc to remove some items from the locker. --- code/game/objects/closets/walllocker.dm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/game/objects/closets/walllocker.dm b/code/game/objects/closets/walllocker.dm index 4cf3bcf979..60dbf05bfc 100644 --- a/code/game/objects/closets/walllocker.dm +++ b/code/game/objects/closets/walllocker.dm @@ -20,6 +20,13 @@ var/amount = 3 // spawns each items X times. icon_state = "emerg" +/obj/structure/closet/walllocker/emerglocker/toggle(mob/user as mob) + src.attack_hand(user) + return + +/obj/structure/closet/walllocker/emerglocker/attackby(obj/item/weapon/W as obj, mob/user as mob) + return + /obj/structure/closet/walllocker/emerglocker/attack_hand(mob/user as mob) if (istype(user, /mob/living/silicon/ai)) //Added by Strumpetplaya - AI shouldn't be able to return //activate emergency lockers. This fixes that. (Does this make sense, the AI can't call attack_hand, can it? --Mloc)