/client/verb/bunker_auto_authorize()
set name = "Auto Authorize Panic Bunker"
set desc = "Authorizes your account in the panic bunker of any servers connected to this function."
set category = "OOC"
if(prefs.db_flags & DB_FLAG_AGE_CONFIRMATION_INCOMPLETE)
to_chat(src, "You are not age verified.")
return
if(autobunker_last_try + 5 SECONDS > world.time)
to_chat(src, "Function on cooldown, try again in 5 seconds.")
return
autobunker_last_try = world.time
world.send_cross_server_bunker_overrides(key, src)
/world/proc/send_cross_server_bunker_overrides(key, client/C)
var/comms_key = CONFIG_GET(string/comms_key)
if(!comms_key)
return
var/list/message = list()
message["ckey"] = key
message["source"] = "[CONFIG_GET(string/cross_comms_name)]"
message["key"] = comms_key
message["auto_bunker_override"] = TRUE
var/list/servers = CONFIG_GET(keyed_list/cross_server_bunker_override)
if(!length(servers))
to_chat(C, "AUTOBUNKER: No servers are configured to receive from this one.")
return
log_admin("[key] ([key_name(C)]) has initiated an autobunker authentication with linked servers.")
for(var/name in servers)
var/returned = world.Export("[servers[name]]?[list2params(message)]")
switch(returned)
if("Bad Key")
to_chat(C, "AUTOBuNKER: [name] failed to authenticate with this server.")
if("Function Disabled")
to_chat(C, "AUTOBUNKER: [name] has autobunker receive disabled.")
if("Success")
to_chat(C, "AUTOBUNKER: Successfully authenticated with [name]. Panic bunker bypass granted to [key]..")
else
to_chat(C, "AUTOBUNKER: Unknown error ([name]).")