Update SSOverlays (ported from Baystation) (#19051)

Our SSOverlays system is outdated, and is likely the cause of many of
the issues seen in #18895. It has also been linked to a massive server
performance decrease.

This brings an updated system from Baystation, hopefully with speed
increases.

Should be testmerged, ideally with #18895.

---------

Co-authored-by: Cody Brittain <cbrittain10@live.com>
This commit is contained in:
Cody Brittain
2024-05-01 07:46:27 +00:00
committed by GitHub
co-authored by Cody Brittain
parent 405a05b819
commit 9983fca311
350 changed files with 1626 additions and 1498 deletions
+3 -3
View File
@@ -24,7 +24,7 @@
owner.drop_item(attacking_item)
attacking_item.forceMove(src)
to_chat(user, SPAN_NOTICE("You imbue [attacking_item] with psionic energy!"))
add_overlay("controlled")
AddOverlays("controlled")
item_to_throw = attacking_item
/obj/item/spell/projectile/throw_item/Destroy()
@@ -38,7 +38,7 @@
if(item_to_throw)
owner.put_in_hands(item_to_throw)
item_to_throw = null
cut_overlays()
ClearOverlays()
/obj/item/spell/projectile/throw_item/on_ranged_cast(atom/hit_atom, mob/living/user, atom/pb_target)
if(!item_to_throw)
@@ -46,7 +46,7 @@
return
. = ..()
item_to_throw = null
cut_overlays()
ClearOverlays()
/obj/item/spell/projectile/throw_item/make_projectile(obj/item/projectile/projectile_type, mob/living/user)
var/obj/item/projectile/psionic_throw/P = ..()