mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-19 19:13:30 +01:00
Laggy DragNDrop fix (#21052)
* added dragndrop click methods for atoms * some updating, little changing MouseDrop logic * added INVOKE_ASYNC to delayed procs * cleanup * cleanup * cleanup * no cheesing * more comments, removed variable from atom * whoopsie * added inventory screen objects support, disabling tooltips now disables all tooltips, not only items * fixing table hitting self issue
This commit is contained in:
@@ -255,6 +255,7 @@
|
||||
if(user != O)
|
||||
user.visible_message("<span class='danger'>[user] stuffs [O] into [src]!</span>", "<span class='danger'>You stuff [O] into [src]!</span>")
|
||||
add_fingerprint(user)
|
||||
return TRUE
|
||||
|
||||
/obj/structure/closet/attack_ai(mob/user)
|
||||
if(isrobot(user) && Adjacent(user)) //Robots can open/close it, but not the AI
|
||||
|
||||
@@ -89,7 +89,8 @@
|
||||
if(isanimal(user) && victim != user)
|
||||
return // animals cannot put mobs other than themselves onto spikes
|
||||
add_fingerprint(user)
|
||||
start_spike(victim, user)
|
||||
INVOKE_ASYNC(src, TYPE_PROC_REF(/obj/structure/kitchenspike, start_spike), victim, user)
|
||||
return TRUE
|
||||
|
||||
/obj/structure/kitchenspike/proc/start_spike(mob/living/victim, mob/user)
|
||||
if(has_buckled_mobs())
|
||||
|
||||
@@ -244,6 +244,7 @@
|
||||
|
||||
if(user != O)
|
||||
user.visible_message("<span class='warning'>[user] stuffs [O] into [src]!</span>")
|
||||
return TRUE
|
||||
|
||||
|
||||
/obj/structure/m_tray/Destroy()
|
||||
@@ -527,7 +528,7 @@ GLOBAL_LIST_EMPTY(crematoriums)
|
||||
if(user != O)
|
||||
user.visible_message("<span class='warning'>[user] stuffs [O] into [src]!</span>")
|
||||
//Foreach goto(99)
|
||||
return
|
||||
return TRUE
|
||||
|
||||
/obj/structure/c_tray/Destroy()
|
||||
if(connected && connected.connected == src)
|
||||
|
||||
@@ -216,7 +216,6 @@
|
||||
return
|
||||
|
||||
/obj/structure/bed/roller/MouseDrop(over_object, src_location, over_location)
|
||||
..()
|
||||
if(over_object == usr && Adjacent(usr) && (in_range(src, usr) || usr.contents.Find(src)))
|
||||
if(!ishuman(usr) || usr.incapacitated())
|
||||
return
|
||||
@@ -225,6 +224,8 @@
|
||||
usr.visible_message("<span class='notice'>[usr] collapses \the [name].</span>", "<span class='notice'>You collapse \the [name].</span>")
|
||||
new folded(get_turf(src))
|
||||
qdel(src)
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/roller_holder
|
||||
name = "roller bed rack"
|
||||
|
||||
@@ -63,7 +63,6 @@
|
||||
..()
|
||||
|
||||
/obj/structure/chair/MouseDrop(over_object, src_location, over_location)
|
||||
. = ..()
|
||||
if(over_object == usr && Adjacent(usr))
|
||||
if(!item_chair || has_buckled_mobs())
|
||||
return
|
||||
@@ -82,6 +81,8 @@
|
||||
var/C = new item_chair(loc)
|
||||
usr.put_in_hands(C)
|
||||
qdel(src)
|
||||
return
|
||||
. = ..()
|
||||
|
||||
/obj/structure/chair/attack_tk(mob/user as mob)
|
||||
if(!anchored || has_buckled_mobs() || !isturf(user.loc))
|
||||
|
||||
@@ -176,7 +176,8 @@
|
||||
return 1
|
||||
|
||||
/obj/structure/table/MouseDrop_T(obj/O, mob/user)
|
||||
..()
|
||||
if(..())
|
||||
return TRUE
|
||||
if((!( isitem(O) ) || user.get_active_hand() != O))
|
||||
return
|
||||
if(isrobot(user))
|
||||
@@ -185,7 +186,7 @@
|
||||
return
|
||||
if(O.loc != src.loc)
|
||||
step(O, get_dir(O, src))
|
||||
return
|
||||
return TRUE
|
||||
|
||||
/obj/structure/table/proc/tablepush(obj/item/grab/G, mob/user)
|
||||
if(HAS_TRAIT(user, TRAIT_PACIFISM))
|
||||
@@ -878,6 +879,7 @@
|
||||
return
|
||||
if(O.loc != src.loc)
|
||||
step(O, get_dir(O, src))
|
||||
return TRUE
|
||||
|
||||
/obj/structure/rack/attackby(obj/item/W, mob/user, params)
|
||||
if(isrobot(user))
|
||||
|
||||
Reference in New Issue
Block a user