diff --git a/code/modules/keybindings/bindings_client.dm b/code/modules/keybindings/bindings_client.dm index 3a47cd2315..003e2537d2 100644 --- a/code/modules/keybindings/bindings_client.dm +++ b/code/modules/keybindings/bindings_client.dm @@ -72,6 +72,7 @@ holder?.key_down(_key, src) mob.focus?.key_down(_key, src) + mob.update_mouse_pointer() /// Keyup's all keys held down. /client/proc/ForceAllKeysUp() @@ -104,6 +105,7 @@ break holder?.key_up(_key, src) mob.focus?.key_up(_key, src) + mob.update_mouse_pointer() // Called every game tick /client/keyLoop() diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index bdd9da18b8..4fcb566465 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -936,7 +936,9 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0) if (!client) return client.mouse_pointer_icon = initial(client.mouse_pointer_icon) - if (ismecha(loc)) + if(examine_cursor_icon && client.keys_held["Shift"]) //mouse shit is hardcoded, make this non hard-coded once we make mouse modifiers bindable + client.mouse_pointer_icon = examine_cursor_icon + else if (ismecha(loc)) var/obj/mecha/M = loc if(M.mouse_pointer) client.mouse_pointer_icon = M.mouse_pointer diff --git a/sandcode/code/modules/mob/living/silicon/silicon.dm b/sandcode/code/modules/mob/living/silicon/silicon.dm index ff32f5810b..43fd1f01cc 100644 --- a/sandcode/code/modules/mob/living/silicon/silicon.dm +++ b/sandcode/code/modules/mob/living/silicon/silicon.dm @@ -1,3 +1,6 @@ +/mob/living/silicon + examine_cursor_icon = null + /mob/living/silicon/Topic(href, href_list) . = ..() if(href_list["skyrat_ooc_notes"]) diff --git a/sandcode/code/modules/mob/mob_defines.dm b/sandcode/code/modules/mob/mob_defines.dm new file mode 100644 index 0000000000..fb0447cd75 --- /dev/null +++ b/sandcode/code/modules/mob/mob_defines.dm @@ -0,0 +1,3 @@ +/mob + ///Cursor icon used when holding shift over things + var/examine_cursor_icon = 'sandcode/icons/effects/mouse_pointers/examine_pointer.dmi' diff --git a/sandcode/icons/effects/mouse_pointers/examine_pointer.dmi b/sandcode/icons/effects/mouse_pointers/examine_pointer.dmi new file mode 100644 index 0000000000..41a9cec13b Binary files /dev/null and b/sandcode/icons/effects/mouse_pointers/examine_pointer.dmi differ diff --git a/tgstation.dme b/tgstation.dme index b2df28884f..95342a9dd5 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3723,6 +3723,7 @@ #include "sandcode\code\modules\mining\lavaland\necropolis_chests.dm" #include "sandcode\code\modules\misc\misc.dm" #include "sandcode\code\modules\mob\emote.dm" +#include "sandcode\code\modules\mob\mob_defines.dm" #include "sandcode\code\modules\mob\say.dm" #include "sandcode\code\modules\mob\dead\new_player\sprite_accessories\antenna.dm" #include "sandcode\code\modules\mob\dead\new_player\sprite_accessories\body_markings.dm"