From 10327267bbb6ab039557cf743cf91a3b42cdb1d6 Mon Sep 17 00:00:00 2001 From: vuonojenmustaturska Date: Fri, 25 May 2018 16:07:59 +0300 Subject: [PATCH 1/2] Fixes drones being able to magically sense invisible revenants (#38019) * revfix * Update revenant.dm --- code/modules/antagonists/revenant/revenant.dm | 14 ++++++++++++++ .../simple_animal/friendly/drone/visuals_icons.dm | 4 ++++ 2 files changed, 18 insertions(+) diff --git a/code/modules/antagonists/revenant/revenant.dm b/code/modules/antagonists/revenant/revenant.dm index 03150c0254..c520b64146 100644 --- a/code/modules/antagonists/revenant/revenant.dm +++ b/code/modules/antagonists/revenant/revenant.dm @@ -109,6 +109,11 @@ revealed = FALSE incorporeal_move = INCORPOREAL_MOVE_JAUNT invisibility = INVISIBILITY_REVENANT + if(staticOverlays.len) + for(var/mob/living/simple_animal/drone/D in GLOB.drones_list) + if(D && D.client && D.seeStatic) + D.staticOverlays.Remove(staticOverlays) + D.client.images.Remove(staticOverlays) to_chat(src, "You are once more concealed.") if(unstun_time && world.time >= unstun_time) unstun_time = 0 @@ -245,6 +250,15 @@ else to_chat(src, "You have been revealed!") unreveal_time = unreveal_time + time + if(staticOverlays.len) + for(var/mob/living/simple_animal/drone/D in GLOB.drones_list) + if(D && D.client && D.seeStatic) + if(D.staticChoice in staticOverlays) + D.staticOverlays |= staticOverlays[D.staticChoice] + D.client.images |= staticOverlays[D.staticChoice] + else + D.staticOverlays |= staticOverlays["static"] + D.client.images |= staticOverlays["static"] update_spooky_icon() /mob/living/simple_animal/revenant/proc/stun(time) diff --git a/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm b/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm index 9444fae159..a0866adbbf 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm @@ -154,6 +154,10 @@ var/mob/living/L = i if(isdrone(L) || !L.staticOverlays.len) continue + if(isrevenant(L)) + var/mob/living/simple_animal/revenant/R = L + if (!R.revealed) + continue var/image/chosen if(staticChoice in L.staticOverlays) chosen = L.staticOverlays[staticChoice]