From c9312a6ab70b09101ddef171352a6238eded4041 Mon Sep 17 00:00:00 2001 From: phil235 Date: Thu, 19 Mar 2015 04:04:44 +0100 Subject: [PATCH] Fixes silicons being flashed when welding. Silicons and repair drones now have eye protection like aliens. This means flashers and flashbangs no longer flash them, but flashbang still weaken them, and lasers and handheld flashes still work on them. --- code/game/objects/items/devices/flash.dm | 6 +++--- code/game/objects/items/devices/laserpointer.dm | 2 +- code/modules/mob/living/silicon/silicon.dm | 3 +++ .../mob/living/simple_animal/friendly/drone/_drone.dm | 5 ++++- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index e680889e33d..f3c01d735f7 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -81,9 +81,9 @@ else if(issilicon(M)) add_logs(user, M, "flashed", object="[src.name]") - if(M.flash_eyes()) - M.Weaken(rand(5,10)) - user.visible_message("[user] overloads [M]'s sensors with the flash!") + flick("e_flash", M.flash) + M.Weaken(rand(5,10)) + user.visible_message("[user] overloads [M]'s sensors with the flash!") return 1 user.visible_message("[user] fails to blind [M] with the flash!") diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm index 4dc95ea12e3..e6f2db2dd4b 100644 --- a/code/game/objects/items/devices/laserpointer.dm +++ b/code/game/objects/items/devices/laserpointer.dm @@ -117,7 +117,7 @@ var/mob/living/silicon/S = target //20% chance to actually hit the sensors if(prob(effectchance * diode.rating)) - S.flash_eyes() + flick("e_flash", S.flash) S.Weaken(rand(5,10)) S << "Your sensors were overloaded by a laser!" outmsg = "You overload [S] by shining [src] at their sensors." diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 68eeaf670d7..3d10c885250 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -416,6 +416,9 @@ /mob/living/silicon/setEarDamage() return +/mob/living/silicon/check_eye_prot() + return 2 + /mob/living/silicon/proc/GetPhoto() if (aicamera) return aicamera.selectpicture(aicamera) diff --git a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm index de94eec0452..c91808e5d58 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm @@ -171,4 +171,7 @@ cleared = 1 L -= I if(cleared) - src << "--- [class] alarm in [A.name] has been cleared." \ No newline at end of file + src << "--- [class] alarm in [A.name] has been cleared." + +/mob/living/simple_animal/drone/check_eye_prot() + return 2 \ No newline at end of file