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
@@ -40,14 +40,14 @@
primer = P
P.forceMove(src)
var/image/OL = image(P.icon, P.primer_state, layer = layer - 0.01)
add_overlay(OL)
AddOverlays(OL)
update_status()
/obj/item/ship_ammunition/longbow/proc/add_warhead(var/obj/item/warhead/W)
if(W && !QDELETED(W))
warhead = W
W.forceMove(src)
add_overlay(W.warhead_state)
AddOverlays(W.warhead_state)
impact_type = W.warhead_type
ammunition_flags = initial(ammunition_flags)
ammunition_flags |= SHIP_AMMO_FLAG_VERY_FRAGILE