diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm
index 9bcdbf66ca3..2370ddccd17 100644
--- a/code/_onclick/click.dm
+++ b/code/_onclick/click.dm
@@ -425,6 +425,12 @@
mouse_opacity = MOUSE_OPACITY_OPAQUE
screen_loc = "CENTER"
+/obj/screen/click_catcher/MouseEntered(location, control, params)
+ return
+
+/obj/screen/click_catcher/MouseExited(location, control, params)
+ return
+
#define MAX_SAFE_BYOND_ICON_SCALE_TILES (MAX_SAFE_BYOND_ICON_SCALE_PX / world.icon_size)
#define MAX_SAFE_BYOND_ICON_SCALE_PX (33 * 32) //Not using world.icon_size on purpose.
diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm
index 1620d23bd20..42ab856835c 100644
--- a/code/_onclick/hud/alert.dm
+++ b/code/_onclick/hud/alert.dm
@@ -112,6 +112,7 @@
/obj/screen/alert/MouseExited()
closeToolTip(usr)
+ return ..()
/obj/screen/alert/proc/do_timeout(mob/M, category)
if(!M || !M.alerts)
diff --git a/code/_onclick/hud/blob_overmind.dm b/code/_onclick/hud/blob_overmind.dm
index d5f6097df85..708978b64bc 100644
--- a/code/_onclick/hud/blob_overmind.dm
+++ b/code/_onclick/hud/blob_overmind.dm
@@ -11,6 +11,7 @@
/obj/screen/blob/MouseExited()
closeToolTip(usr)
+ return ..()
/obj/screen/blob/BlobHelp
icon_state = "ui_help"
diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm
index 84bd640e68b..65d55420230 100644
--- a/code/_onclick/hud/screen_objects.dm
+++ b/code/_onclick/hud/screen_objects.dm
@@ -279,6 +279,7 @@
if(!isobserver(usr) && hovering)
cut_overlay(hover_overlays_cache[hovering])
hovering = null
+ return ..()
/obj/screen/zone_sel/proc/get_zone_at(icon_x, icon_y)
switch(icon_y)
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index 8ffb442cbf2..affb125eb0c 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -1253,21 +1253,6 @@ GLOBAL_LIST_EMPTY(blood_splatter_icons)
appearance_flags |= PIXEL_SCALE
transform = M
-//Update the screentip to reflect what we're hovering over
-/atom/MouseEntered(location, control, params)
- if(!usr || !usr.client)
- return
- var/datum/hud/active_hud = usr.hud_used
- if(!active_hud)
- return
- var/screentip_mode = usr.client.prefs.screentip_mode
- if(screentip_mode == 0 || (flags & NO_SCREENTIPS))
- active_hud.screentip_text.maptext = ""
- return
- //We inline a MAPTEXT() here, because there's no good way to statically add to a string like this
- var/screentip_color = usr.client.prefs.screentip_color
- active_hud.screentip_text.maptext = "[name]"
-
/*
Setter for the `density` variable.
Arguments:
diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm
index 0a32f5a2e7d..c365263cf45 100644
--- a/code/game/atoms_movable.dm
+++ b/code/game/atoms_movable.dm
@@ -649,3 +649,16 @@
else
.["Remove deadchat control"] = "?_src_=vars;removedeadchatcontrol=[UID()]"
+
+//Update the screentip to reflect what we're hovering over
+/atom/movable/MouseEntered(location, control, params)
+ var/datum/hud/active_hud = usr.hud_used // Don't nullcheck this stuff, if it breaks we wanna know it breaks
+ var/screentip_mode = usr.client.prefs.screentip_mode
+ if(screentip_mode == 0 || (flags & NO_SCREENTIPS))
+ active_hud.screentip_text.maptext = ""
+ return
+ //We inline a MAPTEXT() here, because there's no good way to statically add to a string like this
+ active_hud.screentip_text.maptext = "[name]"
+
+/atom/movable/MouseExited(location, control, params)
+ usr.hud_used.screentip_text.maptext = ""
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 5e47fc27335..36a458f928d 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -754,6 +754,7 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
deltimer(tip_timer) //delete any in-progress timer if the mouse is moved off the item before it finishes
closeToolTip(usr)
remove_outline()
+ return ..()
/obj/item/MouseDrop_T(obj/item/I, mob/user)
if(!user || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || src == I)
diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm
index 72750b2ff69..61a5e0bb833 100644
--- a/code/game/turfs/simulated/floor.dm
+++ b/code/game/turfs/simulated/floor.dm
@@ -19,7 +19,6 @@ GLOBAL_LIST_INIT(icons_to_ignore_at_floor_init, list("damaged1","damaged2","dama
var/icon_plating = "plating"
thermal_conductivity = 0.020
heat_capacity = 100000
- flags = NO_SCREENTIPS
var/lava = 0
var/broken = FALSE
var/burnt = FALSE
diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm
index 5923238257d..eac8a7ff52b 100644
--- a/code/game/turfs/simulated/walls.dm
+++ b/code/game/turfs/simulated/walls.dm
@@ -549,4 +549,16 @@
update_icon()
+/turf/simulated/wall/MouseEntered(location, control, params)
+ var/datum/hud/active_hud = usr.hud_used // Don't nullcheck this stuff, if it breaks we wanna know it breaks
+ var/screentip_mode = usr.client.prefs.screentip_mode
+ if(screentip_mode == 0 || (flags & NO_SCREENTIPS))
+ active_hud.screentip_text.maptext = ""
+ return
+ //We inline a MAPTEXT() here, because there's no good way to statically add to a string like this
+ active_hud.screentip_text.maptext = "[name]"
+
+/turf/simulated/wall/MouseExited(location, control, params)
+ usr.hud_used.screentip_text.maptext = ""
+
#undef MAX_DENT_DECALS
diff --git a/code/game/turfs/space/space_turf.dm b/code/game/turfs/space/space_turf.dm
index 891704fe9b5..b943673c14b 100644
--- a/code/game/turfs/space/space_turf.dm
+++ b/code/game/turfs/space/space_turf.dm
@@ -17,7 +17,6 @@
var/destination_x
var/destination_y
plane = PLANE_SPACE
- flags = NO_SCREENTIPS
/turf/space/Initialize(mapload)
SHOULD_CALL_PARENT(FALSE)