Files
Aurora.3/code/modules/lighting/lighting_verbs.dm
Geeves 33ad8096fb The Great Spanning (#9320)
This PR get rid of all (most of) the span("thing", spans and replaces them with the SPAN_THING( variant, which has gained more popularity recently.
2020-07-12 15:53:28 +03:00

103 lines
3.2 KiB
Plaintext

var/list/admin_verbs_lighting = list(
/client/proc/lighting_hide_verbs,
/client/proc/lighting_flush,
/client/proc/lighting_reconsider_target,
/client/proc/lighting_build_overlay,
/client/proc/lighting_clear_overlay,
/client/proc/lighting_toggle_profiling
)
/client/proc/lighting_show_verbs()
set category = "Debug"
set name = "Show Lighting Verbs"
set desc = "Shows the lighting debug verbs."
if (!check_rights(R_DEBUG|R_DEV)) return
to_chat(src, SPAN_NOTICE("Lighting debug verbs have been shown."))
verbs += admin_verbs_lighting
/client/proc/lighting_hide_verbs()
set category = "Lighting"
set name = "Hide Lighting Verbs"
set desc = "Hides the lighting debug verbs."
if (!check_rights(R_DEBUG|R_DEV)) return
to_chat(src, SPAN_NOTICE("Lighting debug verbs have been hidden."))
verbs -= admin_verbs_lighting
/client/proc/lighting_flush()
set category = "Lighting"
set name = "Flush Work Queue"
set desc = "Flushes the lighting processor's current work queue."
if (!check_rights(R_DEBUG|R_DEV)) return
if (alert("Flush Lighting Work Queue? This will invalidate all pending lighting updates.", "Reset Lighting", "No", "No", "Yes") != "Yes")
return
log_and_message_admins("has flushed the lighting processor queues.")
SSlighting.light_queue = list()
SSlighting.corner_queue = list()
SSlighting.overlay_queue = list()
/client/proc/lighting_reconsider_target(turf/T in turfs)
set category = "Lighting"
set name = "Reconsider Visibility"
set desc = "Triggers a visibility update for a turf."
if (!check_rights(R_DEBUG|R_DEV)) return
if (TURF_IS_DYNAMICALLY_LIT(T))
to_chat(src, "That turf is not dynamically lit.")
return
log_and_message_admins("has triggered a lighting update for turf \ref[T] - [T] at ([T.x],[T.y],[T.z]) in area [T.loc].")
T.reconsider_lights()
/client/proc/lighting_build_overlay(turf/T in turfs)
set category = "Lighting"
set name = "Build Overlay"
set desc = "Builds a lighting overlay for a turf if it does not have one."
if (!check_rights(R_DEBUG|R_DEV)) return
if (T.lighting_overlay)
to_chat(src, "That turf already has a lighting overlay.")
return
log_and_message_admins("has generated a lighting overlay for turf \ref[T] - [T] ([T.x],[T.y],[T.z]) in area [T.loc].")
T.lighting_build_overlay()
/client/proc/lighting_clear_overlay(turf/T in turfs)
set category = "Lighting"
set name = "Clear Overlay"
set desc = "Clears a lighting overlay for a turf if it has one."
if (!check_rights(R_DEBUG|R_DEV)) return
if (!T.lighting_overlay)
to_chat(src, "That turf doesn't have a lighting overlay.")
return
log_and_message_admins("has cleared a lighting overlay for turf \ref[T] - [T] ([T.x],[T.y],[T.z]) in area [T.loc].")
T.lighting_clear_overlay()
/client/proc/lighting_toggle_profiling()
set category = "Lighting"
set name = "Profile Lighting"
set desc = "Spams the database with lighting updates. Y'know, just 'cause."
if (!check_rights(R_DEBUG|R_SERVER)) return
if (!establish_db_connection(dbcon))
to_chat(usr, SPAN_ALERT("Unable to start profiling: No active database connection."))
return
lighting_profiling = !lighting_profiling
log_and_message_admins("has [lighting_profiling ? "enabled" : "disabled"] lighting profiling.")