diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm index b4b33ee7654..7f6c971dfdf 100644 --- a/code/modules/mob/living/simple_animal/friendly/mouse.dm +++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm @@ -46,19 +46,22 @@ #ifdef GAME_TESTS // DO NOT EAT MY CABLES DURING UNIT TESTS return #endif - if(prob(chew_probability) && isturf(loc)) - var/turf/simulated/floor/F = get_turf(src) - if(istype(F) && !F.intact) - var/obj/structure/cable/C = locate() in F - if(C && prob(15)) - if(C.get_available_power() && !HAS_TRAIT(src, TRAIT_SHOCKIMMUNE)) - visible_message("[src] chews through [C]. It's toast!") - playsound(src, 'sound/effects/sparks2.ogg', 100, 1) - toast() // mmmm toasty. - else - visible_message("[src] chews through [C].") - investigate_log("was chewed through by a mouse in [get_area(F)]([F.x], [F.y], [F.z] - [ADMIN_JMP(F)])","wires") - C.deconstruct() + if(!prob(chew_probability) || !isfloorturf(loc)) + return + var/turf/simulated/floor/F = get_turf(src) + if(F.intact || F.transparent_floor) + return + var/obj/structure/cable/C = locate() in F + if(!C || !prob(15)) + return + if(C.get_available_power() && !HAS_TRAIT(src, TRAIT_SHOCKIMMUNE)) + visible_message("[src] chews through [C]. It's toast!") + playsound(src, 'sound/effects/sparks2.ogg', 100, 1) + toast() // mmmm toasty. + else + visible_message("[src] chews through [C].") + investigate_log("was chewed through by a mouse in [get_area(F)]([F.x], [F.y], [F.z] - [ADMIN_JMP(F)])","wires") + C.deconstruct() /mob/living/simple_animal/mouse/handle_automated_speech() ..()