mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-14 09:27:45 +01:00
Mouse drop refactor (#20256)
Refactored mousedrag procs, added signals, some safeguards, did some cleanups around, renamed them to make a little more sense. Mostly put in line with TG's code. Fast clicking and releasing with a drag, depending on the grace period and how fast it is done, can be counted as clicks, to aid in combat scenarios where you spamclick.
This commit is contained in:
@@ -323,13 +323,13 @@
|
||||
return TRUE
|
||||
return ..()
|
||||
|
||||
/obj/item/modular_computer/MouseDrop(atom/over_object)
|
||||
var/mob/M = usr
|
||||
/obj/item/modular_computer/mouse_drop_dragged(atom/over, mob/user, src_location, over_location, params)
|
||||
var/mob/M = user
|
||||
if(use_check_and_message(M))
|
||||
return
|
||||
if(istype(over_object, /obj/machinery/power/apc) && tesla_link)
|
||||
return over_object.attackby(src, M)
|
||||
if(!istype(over_object, /atom/movable/screen) && !(over_object == src))
|
||||
if(istype(over, /obj/machinery/power/apc) && tesla_link)
|
||||
return over.attackby(src, M)
|
||||
if(!istype(over, /atom/movable/screen) && !(over == src))
|
||||
return attack_self(M)
|
||||
|
||||
/obj/item/modular_computer/GetID()
|
||||
|
||||
@@ -25,31 +25,31 @@
|
||||
return attack_self(user)
|
||||
..()
|
||||
|
||||
/obj/item/modular_computer/handheld/wristbound/MouseDrop(obj/over_object)
|
||||
/obj/item/modular_computer/handheld/wristbound/mouse_drop_dragged(atom/over, mob/user, src_location, over_location, params)
|
||||
if(!canremove)
|
||||
return
|
||||
if(!over_object || over_object == src)
|
||||
if(!over || over == src)
|
||||
return
|
||||
if(istype(over_object, /atom/movable/screen/inventory))
|
||||
var/atom/movable/screen/inventory/S = over_object
|
||||
if(istype(over, /atom/movable/screen/inventory))
|
||||
var/atom/movable/screen/inventory/S = over
|
||||
if(S.slot_id == equip_slot)
|
||||
return
|
||||
if(ishuman(usr))
|
||||
if(!(istype(over_object, /atom/movable/screen)))
|
||||
if(ishuman(user))
|
||||
if(!(istype(over, /atom/movable/screen)))
|
||||
return ..()
|
||||
|
||||
if(!(loc == usr) || (loc && loc.loc == usr))
|
||||
if(!(loc == user) || (loc && loc.loc == user))
|
||||
return
|
||||
if(use_check_and_message(usr))
|
||||
if(use_check_and_message(user))
|
||||
return
|
||||
if((loc == usr) && !usr.unEquip(src))
|
||||
if((loc == user) && !user.unEquip(src))
|
||||
return
|
||||
|
||||
switch(over_object.name)
|
||||
switch(over.name)
|
||||
if("right hand")
|
||||
usr.u_equip(src)
|
||||
usr.equip_to_slot_if_possible(src, slot_r_hand)
|
||||
user.u_equip(src)
|
||||
user.equip_to_slot_if_possible(src, slot_r_hand)
|
||||
if("left hand")
|
||||
usr.u_equip(src)
|
||||
usr.equip_to_slot_if_possible(src, slot_l_hand)
|
||||
add_fingerprint(usr)
|
||||
user.u_equip(src)
|
||||
user.equip_to_slot_if_possible(src, slot_l_hand)
|
||||
add_fingerprint(user)
|
||||
|
||||
Reference in New Issue
Block a user