diff --git a/code/modules/pool/pool_controller.dm b/code/modules/pool/pool_controller.dm index 7d8dc4b02c..52be51d1c1 100644 --- a/code/modules/pool/pool_controller.dm +++ b/code/modules/pool/pool_controller.dm @@ -109,9 +109,11 @@ to_chat(user, "The interface on [src] is already too damaged to short it again.") return -/obj/machinery/pool/controller/AltClick(mob/user) +/obj/machinery/pool/controller/AltClick(mob/living/user) . = ..() - if(!isliving(user) || !user.Adjacent(src) || !user.CanReach(src) || !CHECK_MOBILITY(user, MOBILITY_USE)) + if(!istype(user)) + return FALSE + if(!user.Adjacent(src) || !user.CanReach(src) || !CHECK_MOBILITY(user, MOBILITY_USE)) return FALSE visible_message("[user] starts to drain [src]!") draining = TRUE diff --git a/code/modules/pool/pool_main.dm b/code/modules/pool/pool_main.dm index f72c39c956..f557500240 100644 --- a/code/modules/pool/pool_main.dm +++ b/code/modules/pool/pool_main.dm @@ -50,9 +50,11 @@ layer = BELOW_MOB_LAYER // Mousedrop hook to normal turfs to get out of pools. -/turf/open/MouseDrop_T(atom/from, mob/user) +/turf/open/MouseDrop_T(atom/from, mob/living/user) + if(!istype(user)) + return ..() // I could make this /open/floor and not have the !istype but ehh - kev - if(isliving(from) && HAS_TRAIT(from, TRAIT_SWIMMING) && isliving(user) && ((user == from) || user.CanReach(from)) && !CHECK_MOBILITY(user, MOBILITY_USE) && !istype(src, /turf/open/pool)) + if(HAS_TRAIT(from, TRAIT_SWIMMING) && isliving(user) && ((user == from) || user.CanReach(from)) && !CHECK_MOBILITY(user, MOBILITY_USE) && !istype(src, /turf/open/pool)) var/mob/living/L = from //The element only exists if you're on water and a living mob, so let's skip those checks. var/pre_msg