diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm
index c2734fc5e0c..c5912f03146 100644
--- a/code/_onclick/hud/screen_objects.dm
+++ b/code/_onclick/hud/screen_objects.dm
@@ -286,9 +286,29 @@
usr.client.drop_item()
if("up hint")
+ var/list/modifiers = params2list(params)
+ if(modifiers["shift"])
+ if(ishuman(usr))
+ var/mob/living/carbon/human/H = usr
+ if(H.last_special + 50 > world.time)
+ return
+ H.last_special = world.time
+ to_chat(usr, SPAN_NOTICE("You take look around to see if there are any holes in the roof around."))
+ for(var/turf/T in view(usr.client.view + 3, usr)) // slightly extra to account for moving while looking for openness
+ if(T.density)
+ continue
+ var/turf/above_turf = GetAbove(T)
+ if(!isopenspace(above_turf))
+ continue
+ var/image/up_image = image(icon = 'icons/mob/screen/generic.dmi', icon_state = "arrow_up", loc = T)
+ up_image.plane = LIGHTING_LAYER + 1
+ up_image.layer = LIGHTING_LAYER + 1
+ usr << up_image
+ addtimer(CALLBACK(GLOBAL_PROC, /proc/qdel, up_image), 12)
+ return
var/turf/T = GetAbove(usr)
if (!T)
- to_chat(usr, "There is nothing above you!")
+ to_chat(usr, SPAN_NOTICE("There is nothing above you!"))
else if (T.is_hole)
to_chat(usr, "There's no roof above your head! You can see up!")
else
@@ -419,4 +439,4 @@
if(hud.mymob && iscarbon(hud.mymob))
var/mob/living/carbon/C = hud.mymob
if(C.handcuffed)
- overlays |= handcuff_overlay
\ No newline at end of file
+ overlays |= handcuff_overlay
diff --git a/html/changelogs/geeves-look_up.yml b/html/changelogs/geeves-look_up.yml
new file mode 100644
index 00000000000..76c33ab27c1
--- /dev/null
+++ b/html/changelogs/geeves-look_up.yml
@@ -0,0 +1,6 @@
+author: Geeves
+
+delete-after: True
+
+changes:
+ - rscadd: "Shift clicking the up-hint in the top right corner will now indicate any open turfs in a radius around you, as long as it's in your line of sight."
\ No newline at end of file
diff --git a/icons/mob/screen/generic.dmi b/icons/mob/screen/generic.dmi
index 92da043528f..8f7b06badcb 100644
Binary files a/icons/mob/screen/generic.dmi and b/icons/mob/screen/generic.dmi differ