/datum/admins var/name = "admins" var/rank = null var/owner = null var/tempmin = 0 // are they a tempmin? var/state = 1 //state = 1 for playing : default //state = 2 for observing var/extratoggle = 0 var/popuptoggle = 0 var/servertoggles_toggle = 0 var/animtoggle = 1 var/attacktoggle = 1 var/auto_stealth = 0 var/auto_stealth_name = null var/auto_alt_key = 0 var/auto_alt_key_name = null var/level = 0 var/drunk = 0 //I find adding this var pretty hilarious in itself really var/hear_prayers = 0 //Ok var/buildmode_view = 0 //change view when using buildmode? var/priorRank = null var/audit = AUDIT_ACCESS_DENIED New() ..() SPAWN_DBG(1 DECI SECOND) if (src.owner) var/client/C = src.owner C.chatOutput.getContextFlag() src.load_admin_prefs() proc/show_pref_window(mob/user) var/HTML = "Admin Preferences" HTML += "Refresh
" HTML += "Automatically Set Alternate Key?: [(src.auto_alt_key ? "Yes" : "No")]
" HTML += "Auto Alt Key: [(src.auto_alt_key_name ? "[src.auto_alt_key_name]" : "N/A")]
" HTML += "Automatically Set Stealth Mode?: [(src.auto_stealth ? "Yes" : "No")]
" HTML += "Auto Stealth Name: [(src.auto_stealth_name ? "[src.auto_stealth_name]" : "N/A")]
" HTML += "Note: Auto Stealth will override Auto Alt Key settings on load
" //if (src.owner:holder:level >= LEVEL_CODER) //HTML += "Hide Extra Verbs?: [(src.extratoggle ? "Yes" : "No")]
" HTML += "Hide Popup Verbs?: [(src.popuptoggle ? "Yes" : "No")]
" HTML += "Hide Server Toggles Tab?: [(src.servertoggles_toggle ? "Yes" : "No")]
" if (src.owner:holder:level >= LEVEL_PA) HTML += "Hide Atom Verbs?: [(src.animtoggle ? "Yes" : "No")]
" HTML += "Hide Attack Alerts?: [(src.attacktoggle ? "Yes" : "No")]
" HTML += "See Prayers?: [(src.hear_prayers ? "Yes" : "No")]
" HTML += "Change view when using buildmode?: [(src.buildmode_view ? "No" : "Yes")]
" HTML += "
LOAD | SAVE" HTML += "" user.Browse(HTML,"window=aprefs") proc/load_admin_prefs() if (!src.owner) return var/savefile/AP = new /savefile("data/AdminPrefs.sav") var/ckey = src.owner:ckey if (!ckey) return /* var/saved_extratoggle AP["[ckey]_extratoggle"] >> saved_extratoggle if (isnull(saved_extratoggle)) saved_extratoggle = 0 if (saved_extratoggle == 1 && extratoggle != 1) src.owner:toggle_extra_verbs() extratoggle = saved_extratoggle */ var/saved_popuptoggle AP["[ckey]_popuptoggle"] >> saved_popuptoggle if (isnull(saved_popuptoggle)) saved_popuptoggle = 0 if (saved_popuptoggle == 1 && popuptoggle != 1) src.owner:toggle_popup_verbs() popuptoggle = saved_popuptoggle var/saved_servertoggles_toggle AP["[ckey]_servertoggles_toggle"] >> saved_servertoggles_toggle if (isnull(saved_servertoggles_toggle)) saved_servertoggles_toggle = 0 if (saved_servertoggles_toggle == 1 && servertoggles_toggle != 1) src.owner:toggle_server_toggles_tab() servertoggles_toggle = saved_servertoggles_toggle var/saved_animtoggle AP["[ckey]_animtoggle"] >> saved_animtoggle if (isnull(saved_animtoggle)) saved_animtoggle = 1 if (saved_animtoggle == 0 && animtoggle != 0) src.owner:toggle_atom_verbs() animtoggle = saved_animtoggle var/saved_attacktoggle AP["[ckey]_attacktoggle"] >> saved_attacktoggle if (isnull(saved_attacktoggle)) saved_attacktoggle = 1 if (saved_attacktoggle == 0 && attacktoggle != 0) src.owner:toggle_attack_messages() attacktoggle = saved_attacktoggle var/saved_auto_stealth var/saved_auto_stealth_name AP["[ckey]_auto_stealth"] >> saved_auto_stealth AP["[ckey]_auto_stealth_name"] >> saved_auto_stealth_name if (isnull(saved_auto_stealth) || !isnum(saved_auto_stealth)) saved_auto_stealth = 0 saved_auto_stealth_name = null if (saved_auto_stealth == 1 && auto_stealth != 1 && !isnull(saved_auto_stealth_name)) auto_stealth = 1 src.set_stealth_mode(saved_auto_stealth_name, 1) auto_stealth = saved_auto_stealth auto_stealth_name = saved_auto_stealth_name var/saved_auto_alt_key var/saved_auto_alt_key_name AP["[ckey]_auto_alt_key"] >> saved_auto_alt_key AP["[ckey]_auto_alt_key_name"] >> saved_auto_alt_key_name if (isnull(saved_auto_alt_key) || !isnum(saved_auto_alt_key)) saved_auto_alt_key = 0 saved_auto_alt_key_name = null if (!auto_stealth && saved_auto_alt_key == 1 && auto_alt_key != 1 && !isnull(saved_auto_alt_key_name)) auto_alt_key = 1 src.set_alt_key(saved_auto_alt_key_name, 1) auto_alt_key = saved_auto_alt_key auto_alt_key_name = saved_auto_alt_key_name var/saved_hear_prayers AP["[ckey]_hear_prayers"] >> saved_hear_prayers if (isnull(saved_hear_prayers)) saved_hear_prayers = 0 hear_prayers = saved_hear_prayers var/saved_buildmode_view AP["[ckey]_buildmode_view"] >> saved_buildmode_view if (isnull(saved_buildmode_view)) saved_buildmode_view = 0 buildmode_view = saved_buildmode_view if (usr) boutput(usr, "Admin preferences loaded.") proc/save_admin_prefs() if (!src.owner) return var/savefile/AP = new /savefile("data/AdminPrefs.sav") var/ckey = src.owner:ckey if (!ckey) return //AP["[ckey]_extratoggle"] << extratoggle AP["[ckey]_popuptoggle"] << popuptoggle AP["[ckey]_servertoggles_toggle"] << servertoggles_toggle AP["[ckey]_animtoggle"] << animtoggle AP["[ckey]_attacktoggle"] << attacktoggle AP["[ckey]_auto_stealth"] << auto_stealth AP["[ckey]_auto_stealth_name"] << auto_stealth_name AP["[ckey]_auto_alt_key"] << auto_alt_key AP["[ckey]_auto_alt_key_name"] << auto_alt_key_name AP["[ckey]_hear_prayers"] << hear_prayers AP["[ckey]_buildmode_view"] << buildmode_view if (usr) boutput(usr, "Admin preferences saved.") /client/proc/change_admin_prefs() set category = "Admin" set name = "Change Admin Preferences" admin_only src.holder.show_pref_window(src.mob) /proc/admin_key(var/client/C, var/return_administrator = 0) if (!C) return "Administrator" if (C.stealth) if (return_administrator) return "Administrator" else return C.fakekey if (C.alt_key) return C.fakekey else return C.key