From 000b89a6046c3227aba867cfb416db0c87eebddd Mon Sep 17 00:00:00 2001 From: chafla Date: Tue, 29 Jun 2021 10:02:00 -0700 Subject: [PATCH] More review fixes * Move start/stop processing for rad view into verb * Move rad view proc into mob.dm * Remove extraneous check on view range --- .../clothing/glasses/engine_goggles.dm | 24 ---------------- code/modules/mob/dead/observer/observer.dm | 7 +++-- code/modules/mob/mob.dm | 28 +++++++++++++++++++ 3 files changed, 32 insertions(+), 27 deletions(-) diff --git a/code/modules/clothing/glasses/engine_goggles.dm b/code/modules/clothing/glasses/engine_goggles.dm index c64e4e1a99d..a17cd7a897b 100644 --- a/code/modules/clothing/glasses/engine_goggles.dm +++ b/code/modules/clothing/glasses/engine_goggles.dm @@ -66,30 +66,6 @@ if(MODE_RAD) show_rads() -/mob/proc/show_rads(range) - var/list/rad_places = list() - for(var/datum/component/radioactive/thing in SSradiation.processing) - var/atom/owner = thing.parent - var/turf/place = get_turf(owner) - if(rad_places[place]) - rad_places[place] += thing.strength - else - rad_places[place] = thing.strength - - for(var/i in rad_places) - var/turf/place = i - if(range != -1 && get_dist(src, place) >= range) - continue - var/strength = round(rad_places[i] / 1000, 0.1) - var/image/pic = image(loc = place) - var/mutable_appearance/MA = new() - MA.maptext = MAPTEXT("[strength]k") - MA.color = "#04e604" - MA.layer = RAD_TEXT_LAYER - MA.plane = GAME_PLANE - pic.appearance = MA - flick_overlay(pic, list(client), 10) - /obj/item/clothing/glasses/meson/engine/proc/show_rads() var/mob/living/carbon/human/user = loc diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index d901c11447f..d5180dfe6cf 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -88,8 +88,6 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) //starts ghosts off with all HUDs. toggle_medHUD() - - START_PROCESSING(SSobj, src) ..() /mob/dead/observer/Destroy() @@ -100,7 +98,8 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) if(orbit_menu) SStgui.close_uis(orbit_menu) QDEL_NULL(orbit_menu) - STOP_PROCESSING(SSobj, src) + if (seerads) + STOP_PROCESSING(SSobj, src) return ..() /mob/dead/observer/examine(mob/user) @@ -406,9 +405,11 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(seerads) //remove old huds to_chat(src, "Rad view disabled.") seerads = FALSE + STOP_PROCESSING(SSobj, src) else to_chat(src, "Rad view enabled.") seerads = TRUE + START_PROCESSING(SSobj, src) /mob/dead/observer/verb/set_dnr() set name = "Set DNR" diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index e0a778a1737..547684c9c74 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -1459,3 +1459,31 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \ */ /mob/proc/update_runechat_msg_location() return + + +/** + * Show an overlay of radiation levels on radioactive objects. + */ +/mob/proc/show_rads(range) + var/list/rad_places = list() + for(var/datum/component/radioactive/thing in SSradiation.processing) + var/atom/owner = thing.parent + var/turf/place = get_turf(owner) + if(rad_places[place]) + rad_places[place] += thing.strength + else + rad_places[place] = thing.strength + + for(var/i in rad_places) + var/turf/place = i + if(get_dist(src, place) >= range) + continue + var/strength = round(rad_places[i] / 1000, 0.1) + var/image/pic = image(loc = place) + var/mutable_appearance/MA = new() + MA.maptext = MAPTEXT("[strength]k") + MA.color = "#04e604" + MA.layer = RAD_TEXT_LAYER + MA.plane = GAME_PLANE + pic.appearance = MA + flick_overlay(pic, list(client), 10)