mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-20 20:45:28 +01:00
[MIRROR] Mouse drag & drop refactored attack chain (#28156)
* Mouse drag & drop refactored attack chain * fex --------- Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
This commit is contained in:
@@ -12,6 +12,7 @@
|
||||
max_integrity = 100
|
||||
armor_type = /datum/armor/item_modular_computer
|
||||
light_system = OVERLAY_LIGHT_DIRECTIONAL
|
||||
interaction_flags_mouse_drop = NEED_HANDS | ALLOW_RESTING
|
||||
|
||||
///The ID currently stored in the computer.
|
||||
var/obj/item/card/id/computer_id_slot
|
||||
@@ -334,11 +335,9 @@
|
||||
update_appearance()
|
||||
return TRUE
|
||||
|
||||
/obj/item/modular_computer/MouseDrop(obj/over_object, src_location, over_location)
|
||||
var/mob/M = usr
|
||||
if((!istype(over_object, /atom/movable/screen)) && usr.can_perform_action(src))
|
||||
return attack_self(M)
|
||||
return ..()
|
||||
/obj/item/modular_computer/mouse_drop_dragged(atom/over_object, mob/user)
|
||||
if(!istype(over_object, /atom/movable/screen))
|
||||
return attack_self(user)
|
||||
|
||||
/obj/item/modular_computer/attack_ai(mob/user)
|
||||
return attack_self(user)
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
hardware_flag = PROGRAM_LAPTOP
|
||||
max_idle_programs = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
interaction_flags_mouse_drop = NEED_HANDS
|
||||
|
||||
|
||||
// No running around with open laptops in hands.
|
||||
item_flags = SLOWS_WHILE_IN_HAND
|
||||
@@ -58,20 +60,15 @@
|
||||
|
||||
try_toggle_open(usr)
|
||||
|
||||
/obj/item/modular_computer/laptop/MouseDrop(obj/over_object, src_location, over_location)
|
||||
. = ..()
|
||||
if(over_object == usr || over_object == src)
|
||||
try_toggle_open(usr)
|
||||
/obj/item/modular_computer/laptop/mouse_drop_dragged(atom/over_object, mob/user, src_location, over_location, params)
|
||||
if(over_object == user || over_object == src)
|
||||
try_toggle_open(user)
|
||||
return
|
||||
if(istype(over_object, /atom/movable/screen/inventory/hand))
|
||||
var/atom/movable/screen/inventory/hand/H = over_object
|
||||
var/mob/M = usr
|
||||
|
||||
if(M.stat != CONSCIOUS || HAS_TRAIT(M, TRAIT_HANDS_BLOCKED))
|
||||
if(!isturf(loc))
|
||||
return
|
||||
if(!isturf(loc) || !Adjacent(M))
|
||||
return
|
||||
M.put_in_hand(src, H.held_index)
|
||||
user.put_in_hand(src, H.held_index)
|
||||
|
||||
/obj/item/modular_computer/laptop/attack_hand(mob/user, list/modifiers)
|
||||
. = ..()
|
||||
|
||||
Reference in New Issue
Block a user