Swapping hands cancels zoom

This commit is contained in:
Anewbe
2018-05-21 23:02:37 -05:00
parent 739376d0cc
commit 0647b05cd3
4 changed files with 52 additions and 0 deletions

View File

@@ -680,6 +680,10 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
/obj/item/proc/is_hot()
return FALSE
// Called when you swap hands away from the item
/obj/item/proc/in_inactive_hand(mob/user)
return
// My best guess as to why this is here would be that it does so little. Still, keep it under all the procs, for sanity's sake.
/obj/item/device
icon = 'icons/obj/device.dmi'

View File

@@ -340,6 +340,11 @@ This saves us from having to call add_fingerprint() any time something is put in
if(W.action_button_name)
update_action_buttons()
if(W.zoom)
W.zoom()
W.in_inactive_hand(src)
return 1
//Checks if a given slot can be accessed at this time, either to equip or unequip I

View File

@@ -1113,6 +1113,13 @@ default behaviour is:
else
hud_used.l_hand_hud_object.icon_state = "l_hand_inactive"
hud_used.r_hand_hud_object.icon_state = "r_hand_active"
// We just swapped hands, so the thing in our inactive hand will notice it's not the focus
var/obj/item/I = get_inactive_hand()
if(I)
if(I.zoom)
I.zoom()
I.in_inactive_hand(src) //This'll do specific things, determined by the item
return
/mob/living/proc/activate_hand(var/selhand) //0 or "r" or "right" for right hand; 1 or "l" or "left" for left hand.