Some list optimizations, heretic ruins optimization (#94386)

This commit is contained in:
Bloop
2025-12-13 08:27:31 +01:00
committed by GitHub
parent b9794b9457
commit 376588db04
4 changed files with 255 additions and 243 deletions
File diff suppressed because it is too large Load Diff
+3 -1
View File
@@ -57,7 +57,7 @@ GLOBAL_LIST_INIT(trait_blockers_to_hud, list(
var/list/mob/hud_users_all_z_levels = list()
///these will be the indexes for the atom's hud_list
var/list/hud_icons = list()
var/list/hud_icons
///mobs associated with the next time this hud can be added to them
var/list/next_time_allowed = list()
@@ -75,6 +75,8 @@ GLOBAL_LIST_INIT(trait_blockers_to_hud, list(
for(var/z_level in 1 to world.maxz)
hud_atoms += list(list())
hud_users += list(list())
if(LAZYLEN(hud_icons))
hud_icons = string_list(hud_icons)
RegisterSignal(SSdcs, COMSIG_GLOB_NEW_Z, PROC_REF(add_z_level_huds))
+1
View File
@@ -110,6 +110,7 @@ GLOBAL_LIST_EMPTY(active_alternate_appearances)
)
/datum/atom_hud/alternate_appearance/basic/New(key, image/I, options = AA_TARGET_SEE_APPEARANCE)
signals_registering = string_list(signals_registering)
..()
transfer_overlays = options & AA_MATCH_TARGET_OVERLAYS
image = I
+11 -2
View File
@@ -6,16 +6,22 @@
anchored = TRUE
density = FALSE
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
/// Is this blessing visible to those with the ability to see blessed tiles? (chaplains)
var/invisible
/obj/effect/blessing/Initialize(mapload)
. = ..()
RegisterSignal(loc, COMSIG_ATOM_INTERCEPT_TELEPORTING, PROC_REF(block_cult_teleport))
if(invisible)
return
var/image/blessing_icon = image(icon = 'icons/effects/effects.dmi', icon_state = "blessed", layer = ABOVE_NORMAL_TURF_LAYER, loc = src)
blessing_icon.alpha = 64
blessing_icon.appearance_flags = RESET_ALPHA
add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/blessed_aware, "blessing", blessing_icon)
RegisterSignal(loc, COMSIG_ATOM_INTERCEPT_TELEPORTING, PROC_REF(block_cult_teleport))
/obj/effect/blessing/Destroy()
UnregisterSignal(loc, COMSIG_ATOM_INTERCEPT_TELEPORTING)
return ..()
@@ -26,3 +32,6 @@
if(channel == TELEPORT_CHANNEL_CULT)
return TRUE
/obj/effect/blessing/invisible
invisible = TRUE