Files
Fluffy 389466360e Areas and station areas work (#20195)
Refactored sorting.
Added test to verify all horizon areas (outside exceptions) are marked
as station areas.
Added test to verify shuttle areas are not marked as station areas.
Refactored how the area sorting var is made and used.
Added a global list of all areas.
2024-11-27 13:13:44 +00:00

31 lines
1.1 KiB
Plaintext

/datum/admin_secret_item/fun_secret/light_switches
name = "Set All Light Switches"
log = 0
feedback = 0
warn_before_use = 0
/datum/admin_secret_item/fun_secret/light_switches/execute(var/mob/user)
. = ..()
if(.)
switch(input("What to set all light switches to?", "Set all light switches", "Cancel") in list("On", "Off", "Initial State", "Cancel"))
if("On")
log_and_message_admins("used secret '[name] ON'", user)
feedback_inc("admin_secrets_used", 1)
feedback_add_details("admin_secrets_used", "[name] ON")
set_switches(TRUE)
if("Off")
log_and_message_admins("used secret '[name] OFF'", user)
feedback_inc("admin_secrets_used", 1)
feedback_add_details("admin_secrets_used", "[name] OFF")
set_switches(FALSE)
if("Initial State")
log_and_message_admins("used secret '[name] INITIAL'", user)
feedback_inc("admin_secrets_used", 1)
feedback_add_details("admin_secrets_used", "[name] INITIAL")
set_switches(null)
/datum/admin_secret_item/fun_secret/light_switches/proc/set_switches(var/new_state)
for(var/area/A in get_sorted_areas())
if(A.lightswitch != new_state)
A.set_lightswitch(new_state)