From 7cac3eec4db82aad360041f0ae901ea856e38e81 Mon Sep 17 00:00:00 2001 From: SandPoot <43283559+SandPoot@users.noreply.github.com> Date: Sun, 4 Oct 2020 00:19:58 -0300 Subject: [PATCH] Changes your cursor when you are holding shift to indicate you will examine (#84) --- code/modules/keybindings/bindings_client.dm | 2 ++ code/modules/mob/mob.dm | 4 +++- .../code/modules/mob/living/silicon/silicon.dm | 3 +++ sandcode/code/modules/mob/mob_defines.dm | 3 +++ .../effects/mouse_pointers/examine_pointer.dmi | Bin 0 -> 430 bytes tgstation.dme | 1 + 6 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 sandcode/code/modules/mob/mob_defines.dm create mode 100644 sandcode/icons/effects/mouse_pointers/examine_pointer.dmi 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 0000000000000000000000000000000000000000..41a9cec13b07fc8954d21e7877b2b1f0ba7a1374 GIT binary patch literal 430 zcmV;f0a5;mP)oxF0Hv~iTIZi$-&0}~ho zABk{(E*djUI8YkBN5udD00DGTPE!Ct=GbNc0044&R9JLGWpiV4X>fFDZ*Bkpc$`yK zaB_9`^iy#0_2eo`Eh^5;&r`5fFwryM;w;ZhDainGjE%TBGg33tGfE(w;*!LYR3KAH ziHkEOv#1!zH00t;D@x2wg|aj9ONtBfLCOtu40H^+loee4T)z(9IIUAPfXxszOL@iqQ7`U)2OVjt8>d9G3%!{U-c`>twkEH`7f6`VLTU z0QL%SAJF}JKKf|!WlUsA9*IPmnX?+N=UErCBNFj_5s}5ja6q1|H<3po>H#8aSw+Sp z6tGBn6b#^m%ek3qZf&0J8 Y6ZlaH9DJe0w*UYD07*qoM6N<$g6R&g)&Kwi literal 0 HcmV?d00001 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"