mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-29 06:57:42 +01:00
Annihilates the blackbox (#15132)
* Lets get this show on the road
* Now were talking
* These matter
* Oh the joys of CI testing
* And this
* Wrong version
* Tweaks
* More tweaks
* Lets document this
* This too
* Upgrades this
* Fixed some sanity issues
* This too
* Screw it, this too
* More sanity
* And these
* This too
* Documentation
* This too
* Fixes **awful** scoreboard logic
* Why do we care about only half-absorbing someone
* Revert "Why do we care about only half-absorbing someone"
This reverts commit 8de1cfdf05.
* Refactors these
* Hashing
* Moxian tweaks
This commit is contained in:
@@ -141,7 +141,6 @@ GLOBAL_PROTECT(banlist_savefile) // Obvious reasons
|
||||
ban_unban_log_save("[key_name_admin(usr)] unbanned [key]")
|
||||
log_admin("[key_name_admin(usr)] unbanned [key]")
|
||||
message_admins("[key_name_admin(usr)] unbanned: [key]")
|
||||
feedback_inc("ban_unban",1)
|
||||
usr.client.holder.DB_ban_unban( ckey(key), BANTYPE_ANY_FULLBAN)
|
||||
for(var/A in GLOB.banlist_savefile.dir)
|
||||
GLOB.banlist_savefile.cd = "/base/[A]"
|
||||
|
||||
+21
-21
@@ -280,7 +280,7 @@ GLOBAL_VAR_INIT(nologevent, 0)
|
||||
"}
|
||||
|
||||
usr << browse(body, "window=adminplayeropts;size=550x615")
|
||||
feedback_add_details("admin_verb","SPP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Show Player Panel") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
/datum/player_info/var/author // admin who authored the information
|
||||
@@ -371,8 +371,8 @@ GLOBAL_VAR_INIT(nologevent, 0)
|
||||
message_admins("[key_name_admin(usr)] has initiated a server restart with a delay of [delay/10] seconds")
|
||||
log_admin("[key_name(usr)] has initiated a server restart with a delay of [delay/10] seconds")
|
||||
SSticker.delay_end = 0
|
||||
feedback_add_details("admin_verb","R") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
world.Reboot("Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key].", "end_error", "admin reboot - by [usr.key] [usr.client.holder.fakekey ? "(stealth)" : ""]", delay)
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Reboot Server") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
world.Reboot("Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key].", "admin reboot - by [usr.key] [usr.client.holder.fakekey ? "(stealth)" : ""]", delay)
|
||||
|
||||
/datum/admins/proc/end_round()
|
||||
set category = "Server"
|
||||
@@ -390,8 +390,8 @@ GLOBAL_VAR_INIT(nologevent, 0)
|
||||
log_admin("[key_name(usr)] has admin ended the round with message: '[input]'")
|
||||
SSticker.force_ending = TRUE
|
||||
to_chat(world, "<span class='warning'><big><b>[input]</b></big></span>")
|
||||
feedback_add_details("admin_verb", "END") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
feedback_set_details("round_end_result", "Admin ended")
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "End Round") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSticker.mode_result = "admin ended"
|
||||
|
||||
/datum/admins/proc/announce()
|
||||
set category = "Admin"
|
||||
@@ -408,7 +408,7 @@ GLOBAL_VAR_INIT(nologevent, 0)
|
||||
message = replacetext(message, "\n", "<br>") // required since we're putting it in a <p> tag
|
||||
to_chat(world, "<span class='notice'><b>[usr.client.holder.fakekey ? "Administrator" : usr.key] Announces:</b><p style='text-indent: 50px'>[message]</p></span>")
|
||||
log_admin("Announce: [key_name(usr)] : [message]")
|
||||
feedback_add_details("admin_verb","A") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Announce") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/datum/admins/proc/toggleooc()
|
||||
set category = "Server"
|
||||
@@ -420,7 +420,7 @@ GLOBAL_VAR_INIT(nologevent, 0)
|
||||
|
||||
toggle_ooc()
|
||||
log_and_message_admins("toggled OOC.")
|
||||
feedback_add_details("admin_verb","TOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Toggle OOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/datum/admins/proc/togglelooc()
|
||||
set category = "Server"
|
||||
@@ -436,7 +436,7 @@ GLOBAL_VAR_INIT(nologevent, 0)
|
||||
else
|
||||
to_chat(world, "<B>The LOOC channel has been globally disabled!</B>")
|
||||
log_and_message_admins("toggled LOOC.")
|
||||
feedback_add_details("admin_verb","TLOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Toggle LOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/datum/admins/proc/toggledsay()
|
||||
set category = "Server"
|
||||
@@ -453,7 +453,7 @@ GLOBAL_VAR_INIT(nologevent, 0)
|
||||
to_chat(world, "<B>Deadchat has been globally disabled!</B>")
|
||||
log_admin("[key_name(usr)] toggled deadchat.")
|
||||
message_admins("[key_name_admin(usr)] toggled deadchat.", 1)
|
||||
feedback_add_details("admin_verb","TDSAY") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Toggle Deadchat") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc
|
||||
|
||||
/datum/admins/proc/toggleoocdead()
|
||||
set category = "Server"
|
||||
@@ -466,7 +466,7 @@ GLOBAL_VAR_INIT(nologevent, 0)
|
||||
config.dooc_allowed = !( config.dooc_allowed )
|
||||
log_admin("[key_name(usr)] toggled Dead OOC.")
|
||||
message_admins("[key_name_admin(usr)] toggled Dead OOC.", 1)
|
||||
feedback_add_details("admin_verb","TDOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Toggle Dead OOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/datum/admins/proc/toggleemoji()
|
||||
set category = "Server"
|
||||
@@ -479,7 +479,7 @@ GLOBAL_VAR_INIT(nologevent, 0)
|
||||
config.disable_ooc_emoji = !(config.disable_ooc_emoji)
|
||||
log_admin("[key_name(usr)] toggled OOC Emoji.")
|
||||
message_admins("[key_name_admin(usr)] toggled OOC Emoji.", 1)
|
||||
feedback_add_details("admin_verb", "TEMOJ")
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Toggle OOC Emoji")
|
||||
|
||||
/datum/admins/proc/startnow()
|
||||
set category = "Server"
|
||||
@@ -504,7 +504,7 @@ GLOBAL_VAR_INIT(nologevent, 0)
|
||||
if(SSticker.current_state == GAME_STATE_STARTUP)
|
||||
msg = " (The server is still setting up, but the round will be started as soon as possible.)"
|
||||
message_admins("<span class='darkmblue'>[usr.key] has started the game.[msg]</span>")
|
||||
feedback_add_details("admin_verb","SN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Start Game") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return 1
|
||||
else
|
||||
to_chat(usr, "<font color='red'>Error: Start Now: Game has already started.</font>")
|
||||
@@ -526,7 +526,7 @@ GLOBAL_VAR_INIT(nologevent, 0)
|
||||
log_admin("[key_name(usr)] toggled new player game entering.")
|
||||
message_admins("[key_name_admin(usr)] toggled new player game entering.", 1)
|
||||
world.update_status()
|
||||
feedback_add_details("admin_verb","TE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Toggle Entering") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/datum/admins/proc/toggleAI()
|
||||
set category = "Event"
|
||||
@@ -544,7 +544,7 @@ GLOBAL_VAR_INIT(nologevent, 0)
|
||||
message_admins("[key_name_admin(usr)] toggled AI allowed.")
|
||||
log_admin("[key_name(usr)] toggled AI allowed.")
|
||||
world.update_status()
|
||||
feedback_add_details("admin_verb","TAI") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Toggle AI") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/datum/admins/proc/toggleaban()
|
||||
set category = "Server"
|
||||
@@ -562,7 +562,7 @@ GLOBAL_VAR_INIT(nologevent, 0)
|
||||
message_admins("[key_name_admin(usr)] toggled respawn to [GLOB.abandon_allowed ? "On" : "Off"].", 1)
|
||||
log_admin("[key_name(usr)] toggled respawn to [GLOB.abandon_allowed ? "On" : "Off"].")
|
||||
world.update_status()
|
||||
feedback_add_details("admin_verb","TR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Toggle Respawn") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/datum/admins/proc/delay()
|
||||
set category = "Server"
|
||||
@@ -586,7 +586,7 @@ GLOBAL_VAR_INIT(nologevent, 0)
|
||||
SSticker.ticker_going = TRUE
|
||||
to_chat(world, "<b>The game will start soon.</b>")
|
||||
log_admin("[key_name(usr)] removed the delay.")
|
||||
feedback_add_details("admin_verb","DELAY") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Delay") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////ADMIN HELPER PROCS
|
||||
|
||||
@@ -662,7 +662,7 @@ GLOBAL_VAR_INIT(nologevent, 0)
|
||||
A.admin_spawned = TRUE
|
||||
|
||||
log_admin("[key_name(usr)] spawned [chosen] at ([usr.x],[usr.y],[usr.z])")
|
||||
feedback_add_details("admin_verb","SA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Spawn Atom") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/datum/admins/proc/show_traitor_panel(var/mob/M in GLOB.mob_list)
|
||||
set category = "Admin"
|
||||
@@ -680,7 +680,7 @@ GLOBAL_VAR_INIT(nologevent, 0)
|
||||
return
|
||||
|
||||
M.mind.edit_memory()
|
||||
feedback_add_details("admin_verb","STP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Show Traitor Panel") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/datum/admins/proc/toggleguests()
|
||||
set category = "Server"
|
||||
@@ -697,7 +697,7 @@ GLOBAL_VAR_INIT(nologevent, 0)
|
||||
to_chat(world, "<B>Guests may now enter the game.</B>")
|
||||
log_admin("[key_name(usr)] toggled guests game entering [GLOB.guests_allowed ? "" : "dis"]allowed.")
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] toggled guests game entering [GLOB.guests_allowed ? "" : "dis"]allowed.</span>", 1)
|
||||
feedback_add_details("admin_verb","TGU") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Toggle Guests") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/datum/admins/proc/output_ai_laws()
|
||||
var/ai_number = 0
|
||||
@@ -832,7 +832,7 @@ GLOBAL_VAR_INIT(gamma_ship_location, 1) // 0 = station , 1 = space
|
||||
|
||||
message_admins("<span class='adminnotice'>[key_name_admin(usr)] has put [frommob.ckey] in control of [tomob.name].</span>")
|
||||
log_admin("[key_name(usr)] stuffed [frommob.ckey] into [tomob.name].")
|
||||
feedback_add_details("admin_verb","CGD")
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Ghost Drag")
|
||||
|
||||
tomob.ckey = frommob.ckey
|
||||
qdel(frommob)
|
||||
@@ -858,7 +858,7 @@ GLOBAL_VAR_INIT(gamma_ship_location, 1) // 0 = station , 1 = space
|
||||
|
||||
message_admins("<span class='adminnotice'>[key_name_admin(usr)] has put [frommob.ckey] in control of [tomob.name].</span>")
|
||||
log_admin("[key_name(usr)] stuffed [frommob.ckey] into [tomob.name].")
|
||||
feedback_add_details("admin_verb","CGD")
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Ghost Drag")
|
||||
|
||||
tomob.ckey = frommob.ckey
|
||||
qdel(frommob)
|
||||
|
||||
@@ -304,7 +304,7 @@ GLOBAL_LIST_INIT(admin_verbs_ticket, list(
|
||||
verbs += /client/proc/show_verbs
|
||||
|
||||
to_chat(src, "<span class='interface'>Almost all of your adminverbs have been hidden.</span>")
|
||||
feedback_add_details("admin_verb","TAVVH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Hide Admin Verbs") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
|
||||
/client/proc/show_verbs()
|
||||
@@ -318,7 +318,7 @@ GLOBAL_LIST_INIT(admin_verbs_ticket, list(
|
||||
add_admin_verbs()
|
||||
|
||||
to_chat(src, "<span class='interface'>All of your adminverbs are now visible.</span>")
|
||||
feedback_add_details("admin_verb","TAVVS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Show Admin Verbs") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/admin_ghost()
|
||||
set category = "Admin"
|
||||
@@ -333,7 +333,7 @@ GLOBAL_LIST_INIT(admin_verbs_ticket, list(
|
||||
ghost.can_reenter_corpse = 1 //just in-case.
|
||||
ghost.reenter_corpse()
|
||||
log_admin("[key_name(usr)] re-entered their body")
|
||||
feedback_add_details("admin_verb","P") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Aghost") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
if(ishuman(mob))
|
||||
var/mob/living/carbon/human/H = mob
|
||||
H.regenerate_icons() // workaround for #13269
|
||||
@@ -346,7 +346,8 @@ GLOBAL_LIST_INIT(admin_verbs_ticket, list(
|
||||
if(body && !body.key)
|
||||
body.key = "@[key]" //Haaaaaaaack. But the people have spoken. If it breaks; blame adminbus
|
||||
log_admin("[key_name(usr)] has admin-ghosted")
|
||||
feedback_add_details("admin_verb","O") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
// TODO: SStgui.on_transfer() to move windows from old and new
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Aghost") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/invisimin()
|
||||
set name = "Invisimin"
|
||||
@@ -375,7 +376,7 @@ GLOBAL_LIST_INIT(admin_verbs_ticket, list(
|
||||
return
|
||||
|
||||
holder.player_panel_new()
|
||||
feedback_add_details("admin_verb","PPN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Player Panel") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
|
||||
/client/proc/check_antagonists()
|
||||
@@ -387,7 +388,7 @@ GLOBAL_LIST_INIT(admin_verbs_ticket, list(
|
||||
|
||||
holder.check_antagonists()
|
||||
log_admin("[key_name(usr)] checked antagonists")
|
||||
feedback_add_details("admin_verb","CHA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Check Antags") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
|
||||
/client/proc/ban_panel()
|
||||
@@ -401,7 +402,7 @@ GLOBAL_LIST_INIT(admin_verbs_ticket, list(
|
||||
holder.unbanpanel()
|
||||
else
|
||||
holder.DB_ban_panel()
|
||||
feedback_add_details("admin_verb","UBP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Ban Panel") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
|
||||
/client/proc/game_panel()
|
||||
@@ -412,7 +413,7 @@ GLOBAL_LIST_INIT(admin_verbs_ticket, list(
|
||||
return
|
||||
|
||||
holder.Game()
|
||||
feedback_add_details("admin_verb","GP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Game Panel") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
|
||||
/client/proc/secrets()
|
||||
@@ -423,7 +424,7 @@ GLOBAL_LIST_INIT(admin_verbs_ticket, list(
|
||||
return
|
||||
|
||||
holder.Secrets()
|
||||
feedback_add_details("admin_verb","S") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Secrets") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
|
||||
/client/proc/getStealthKey()
|
||||
@@ -460,7 +461,7 @@ GLOBAL_LIST_INIT(admin_verbs_ticket, list(
|
||||
createStealthKey()
|
||||
log_admin("[key_name(usr)] has turned stealth mode [holder.fakekey ? "ON" : "OFF"]")
|
||||
message_admins("[key_name_admin(usr)] has turned stealth mode [holder.fakekey ? "ON" : "OFF"]", 1)
|
||||
feedback_add_details("admin_verb","SM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Stealth Mode") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/big_brother()
|
||||
set category = "Admin"
|
||||
@@ -483,7 +484,7 @@ GLOBAL_LIST_INIT(admin_verbs_ticket, list(
|
||||
holder.big_brother = 1
|
||||
createStealthKey()
|
||||
log_admin("[key_name(usr)] has turned BB mode [holder.fakekey ? "ON" : "OFF"]")
|
||||
feedback_add_details("admin_verb","BBSM")
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Big Brother Mode")
|
||||
|
||||
#define MAX_WARNS 3
|
||||
#define AUTOBANTIME 10
|
||||
@@ -517,7 +518,6 @@ GLOBAL_LIST_INIT(admin_verbs_ticket, list(
|
||||
message_admins("[key_name_admin(src)] has warned [warned_ckey] resulting in a [AUTOBANTIME] minute ban")
|
||||
log_admin("[key_name(src)] has warned [warned_ckey] resulting in a [AUTOBANTIME] minute ban")
|
||||
AddBan(warned_ckey, D.last_id, "Autobanning due to too many formal warnings", ckey, 1, AUTOBANTIME)
|
||||
feedback_inc("ban_warn",1)
|
||||
else
|
||||
if(C)
|
||||
to_chat(C, "<font color='red'><BIG><B>You have been formally warned by an administrator.</B></BIG><br>Further warnings will result in an autoban.</font>")
|
||||
@@ -527,7 +527,7 @@ GLOBAL_LIST_INIT(admin_verbs_ticket, list(
|
||||
message_admins("[key_name_admin(src)] has warned [warned_ckey] (DC). They have [MAX_WARNS-D.warns] strikes remaining.")
|
||||
log_admin("[key_name(src)] has warned [warned_ckey] (DC). They have [MAX_WARNS-D.warns] strikes remaining.")
|
||||
|
||||
feedback_add_details("admin_verb","WARN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Warning") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
#undef MAX_WARNS
|
||||
#undef AUTOBANTIME
|
||||
@@ -568,7 +568,7 @@ GLOBAL_LIST_INIT(admin_verbs_ticket, list(
|
||||
explosion(epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range, 1, 1)
|
||||
log_admin("[key_name(usr)] created an admin explosion at [epicenter.loc]")
|
||||
message_admins("<span class='adminnotice'>[key_name_admin(usr)] created an admin explosion at [epicenter.loc]</span>")
|
||||
feedback_add_details("admin_verb","DB") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Drop Bomb") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/give_spell(mob/T as mob in GLOB.mob_list) // -- Urist
|
||||
set category = "Event"
|
||||
@@ -591,7 +591,7 @@ GLOBAL_LIST_INIT(admin_verbs_ticket, list(
|
||||
else
|
||||
T.AddSpell(new S)
|
||||
|
||||
feedback_add_details("admin_verb","GS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Give Spell") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
log_admin("[key_name(usr)] gave [key_name(T)] the spell [S].")
|
||||
message_admins("[key_name_admin(usr)] gave [key_name(T)] the spell [S].", 1)
|
||||
|
||||
@@ -602,7 +602,7 @@ GLOBAL_LIST_INIT(admin_verbs_ticket, list(
|
||||
var/datum/disease/D = input("Choose the disease to give to that guy", "ACHOO") as null|anything in GLOB.diseases
|
||||
if(!D) return
|
||||
T.ForceContractDisease(new D)
|
||||
feedback_add_details("admin_verb","GD") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Give Disease") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
log_admin("[key_name(usr)] gave [key_name(T)] the disease [D].")
|
||||
message_admins("<span class='adminnotice'>[key_name_admin(usr)] gave [key_name(T)] the disease [D].</span>")
|
||||
|
||||
@@ -622,7 +622,7 @@ GLOBAL_LIST_INIT(admin_verbs_ticket, list(
|
||||
V.show_message(admin_pencode_to_html(message), 2)
|
||||
log_admin("[key_name(usr)] made [O] at [O.x], [O.y], [O.z] make a sound")
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] made [O] at [O.x], [O.y], [O.z] make a sound</span>")
|
||||
feedback_add_details("admin_verb","MS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Make Sound") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/togglebuildmodeself()
|
||||
set name = "Toggle Build Mode Self"
|
||||
@@ -633,7 +633,7 @@ GLOBAL_LIST_INIT(admin_verbs_ticket, list(
|
||||
|
||||
if(src.mob)
|
||||
togglebuildmode(src.mob)
|
||||
feedback_add_details("admin_verb","TBMS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Toggle Build Mode") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/object_talk(var/msg as text) // -- TLE
|
||||
set category = "Event"
|
||||
@@ -651,7 +651,7 @@ GLOBAL_LIST_INIT(admin_verbs_ticket, list(
|
||||
log_admin("[key_name(usr)] used oSay on [mob.control_object]: [msg]")
|
||||
message_admins("[key_name_admin(usr)] used oSay on [mob.control_object]: [msg]")
|
||||
|
||||
feedback_add_details("admin_verb","OT") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "oSay") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/deadmin_self()
|
||||
set name = "De-admin self"
|
||||
@@ -666,7 +666,7 @@ GLOBAL_LIST_INIT(admin_verbs_ticket, list(
|
||||
verbs += /client/proc/readmin
|
||||
GLOB.deadmins += ckey
|
||||
to_chat(src, "<span class='interface'>You are now a normal player.</span>")
|
||||
feedback_add_details("admin_verb","DAS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "De-admin") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/readmin()
|
||||
set name = "Re-admin self"
|
||||
@@ -754,7 +754,7 @@ GLOBAL_LIST_INIT(admin_verbs_ticket, list(
|
||||
message_admins("[key_name_admin(usr)] re-adminned themselves.")
|
||||
log_admin("[key_name(usr)] re-adminned themselves.")
|
||||
GLOB.deadmins -= ckey
|
||||
feedback_add_details("admin_verb","RAS")
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Re-admin")
|
||||
return
|
||||
else
|
||||
to_chat(src, "You are already an admin.")
|
||||
@@ -799,7 +799,7 @@ GLOBAL_LIST_INIT(admin_verbs_ticket, list(
|
||||
var/datum/ui_module/law_manager/L = new(S)
|
||||
L.ui_interact(usr, state = GLOB.admin_state)
|
||||
log_and_message_admins("has opened [S]'s law manager.")
|
||||
feedback_add_details("admin_verb","MSL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Manage Silicon Laws") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/change_human_appearance_admin(mob/living/carbon/human/H in GLOB.mob_list)
|
||||
set name = "C.M.A. - Admin"
|
||||
@@ -825,7 +825,7 @@ GLOBAL_LIST_INIT(admin_verbs_ticket, list(
|
||||
if(holder)
|
||||
log_and_message_admins("is altering the appearance of [H].")
|
||||
H.change_appearance(APPEARANCE_ALL, usr, usr, check_species_whitelist = 0)
|
||||
feedback_add_details("admin_verb","CHAA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "CMA - Admin") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/change_human_appearance_self(mob/living/carbon/human/H in GLOB.mob_list)
|
||||
set name = "C.M.A. - Self"
|
||||
@@ -859,7 +859,7 @@ GLOBAL_LIST_INIT(admin_verbs_ticket, list(
|
||||
if("No")
|
||||
log_and_message_admins("has allowed [H] to change [H.p_their()] appearance, with whitelisting of races.")
|
||||
H.change_appearance(APPEARANCE_ALL, H.loc, check_species_whitelist = 1)
|
||||
feedback_add_details("admin_verb","CMAS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "CMA - Self") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/free_slot()
|
||||
set name = "Free Job Slot"
|
||||
|
||||
@@ -18,4 +18,4 @@
|
||||
message_admins("[key_name_admin(usr)] has set the component rating of [M] to [new_rating]")
|
||||
log_admin("[key_name(usr)] has set the component rating of [M] to [new_rating]")
|
||||
|
||||
feedback_add_details("admin_verb","MU") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Machine Upgrade") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
+40
-90
@@ -426,7 +426,6 @@
|
||||
to_chat(GLOB.banlist_savefile["minutes"], minutes)
|
||||
to_chat(GLOB.banlist_savefile["bannedby"], usr.ckey)
|
||||
GLOB.banlist_savefile.cd = "/base"
|
||||
feedback_inc("ban_edit",1)
|
||||
unbanpanel()
|
||||
|
||||
/////////////////////////////////////new ban stuff
|
||||
@@ -453,7 +452,6 @@
|
||||
if("Yes")
|
||||
ban_unban_log_save("[key_name(usr)] removed [key_name(M)]'s appearance ban")
|
||||
log_admin("[key_name(usr)] removed [key_name(M)]'s appearance ban")
|
||||
feedback_inc("ban_appearance_unban", 1)
|
||||
DB_ban_unban(M.ckey, BANTYPE_APPEARANCE)
|
||||
appearance_unban(M)
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] removed [key_name_admin(M)]'s appearance ban</span>", 1)
|
||||
@@ -467,7 +465,6 @@
|
||||
M = admin_ban_mobsearch(M, ban_ckey_param, usr)
|
||||
ban_unban_log_save("[key_name(usr)] appearance banned [key_name(M)]. reason: [reason]")
|
||||
log_admin("[key_name(usr)] appearance banned [key_name(M)]. \nReason: [reason]")
|
||||
feedback_inc("ban_appearance",1)
|
||||
DB_ban_record(BANTYPE_APPEARANCE, M, -1, reason)
|
||||
appearance_fullban(M, "[reason]; By [usr.ckey] on [time2text(world.realtime)]")
|
||||
add_note(M.ckey, "Appearance banned - [reason]", null, usr.ckey, 0)
|
||||
@@ -829,9 +826,7 @@
|
||||
for(var/job in notbannedlist)
|
||||
ban_unban_log_save("[key_name(usr)] temp-jobbanned [key_name(M)] from [job] for [mins] minutes. reason: [reason]")
|
||||
log_admin("[key_name(usr)] temp-jobbanned [key_name(M)] from [job] for [mins] minutes")
|
||||
feedback_inc("ban_job_tmp",1)
|
||||
DB_ban_record(BANTYPE_JOB_TEMP, M, mins, reason, job)
|
||||
feedback_add_details("ban_job_tmp","- [job]")
|
||||
jobban_fullban(M, job, "[reason]; By [usr.ckey] on [time2text(world.realtime)]") //Legacy banning does not support temporary jobbans.
|
||||
if(!msg)
|
||||
msg = job
|
||||
@@ -852,9 +847,7 @@
|
||||
for(var/job in notbannedlist)
|
||||
ban_unban_log_save("[key_name(usr)] perma-jobbanned [key_name(M)] from [job]. reason: [reason]")
|
||||
log_admin("[key_name(usr)] perma-banned [key_name(M)] from [job]")
|
||||
feedback_inc("ban_job",1)
|
||||
DB_ban_record(BANTYPE_JOB_PERMA, M, -1, reason, job)
|
||||
feedback_add_details("ban_job","- [job]")
|
||||
jobban_fullban(M, job, "[reason]; By [usr.ckey] on [time2text(world.realtime)]")
|
||||
if(!msg) msg = job
|
||||
else msg += ", [job]"
|
||||
@@ -884,8 +877,6 @@
|
||||
ban_unban_log_save("[key_name(usr)] unjobbanned [key_name(M)] from [job]")
|
||||
log_admin("[key_name(usr)] unbanned [key_name(M)] from [job]")
|
||||
DB_ban_unban(M.ckey, BANTYPE_JOB_PERMA, job)
|
||||
feedback_inc("ban_job_unban",1)
|
||||
feedback_add_details("ban_job_unban","- [job]")
|
||||
jobban_unban(M, job)
|
||||
if(!msg) msg = job
|
||||
else msg += ", [job]"
|
||||
@@ -1011,9 +1002,7 @@
|
||||
ban_unban_log_save("[usr.client.ckey] has banned [M.ckey]. - Reason: [reason] - This will be removed in [mins] minutes.")
|
||||
to_chat(M, "<span class='warning'><big><b>You have been banned by [usr.client.ckey].\nReason: [reason].</b></big></span>")
|
||||
to_chat(M, "<span class='warning'>This is a temporary ban, it will be removed in [mins] minutes.</span>")
|
||||
feedback_inc("ban_tmp",1)
|
||||
DB_ban_record(BANTYPE_TEMP, M, mins, reason)
|
||||
feedback_inc("ban_tmp_mins",mins)
|
||||
if(M.client)
|
||||
M.client.link_forum_account(TRUE)
|
||||
if(config.banappeals)
|
||||
@@ -1040,7 +1029,6 @@
|
||||
ban_unban_log_save("[usr.client.ckey] has permabanned [M.ckey]. - Reason: [reason] - This ban does not expire automatically and must be appealed.")
|
||||
log_admin("[key_name(usr)] has banned [M.ckey].\nReason: [reason]\nThis ban does not expire automatically and must be appealed.")
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] has banned [M.ckey].\nReason: [reason]\nThis ban does not expire automatically and must be appealed.</span>")
|
||||
feedback_inc("ban_perma",1)
|
||||
DB_ban_record(BANTYPE_PERMA, M, -1, reason)
|
||||
|
||||
qdel(M.client)
|
||||
@@ -1862,7 +1850,7 @@
|
||||
H.update_inv_l_hand()
|
||||
log_admin("[key_name(H)] got their cookie, spawned by [key_name(src.owner)]")
|
||||
message_admins("[key_name_admin(H)] got [H.p_their()] cookie, spawned by [key_name_admin(src.owner)]")
|
||||
feedback_inc("admin_cookies_spawned",1)
|
||||
SSblackbox.record_feedback("amount", "admin_cookies_spawned", 1)
|
||||
to_chat(H, "<span class='notice'>Your prayers have been answered!! You received the <b>best cookie</b>!</span>")
|
||||
|
||||
else if(href_list["BlueSpaceArtillery"])
|
||||
@@ -2806,35 +2794,30 @@
|
||||
var/ok = 0
|
||||
switch(href_list["secretsfun"])
|
||||
if("sec_clothes")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","SC")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Remove 'internal' clothing")
|
||||
for(var/obj/item/clothing/under/O in world)
|
||||
qdel(O)
|
||||
ok = 1
|
||||
if("sec_all_clothes")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","SAC")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Remove ALL clothing")
|
||||
for(var/obj/item/clothing/O in world)
|
||||
qdel(O)
|
||||
ok = 1
|
||||
if("sec_classic1")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","SC1")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Remove firesuits, grilles, and pods")
|
||||
for(var/obj/item/clothing/suit/fire/O in world)
|
||||
qdel(O)
|
||||
for(var/obj/structure/grille/O in world)
|
||||
qdel(O)
|
||||
if("monkey")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","M")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Monkeyize All Humans")
|
||||
for(var/thing in GLOB.human_list)
|
||||
var/mob/living/carbon/human/H = thing
|
||||
spawn(0)
|
||||
H.monkeyize()
|
||||
ok = 1
|
||||
if("corgi")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","M")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Corgize All Humans")
|
||||
for(var/thing in GLOB.human_list)
|
||||
var/mob/living/carbon/human/H = thing
|
||||
spawn(0)
|
||||
@@ -2842,28 +2825,22 @@
|
||||
ok = 1
|
||||
if("honksquad")
|
||||
if(usr.client.honksquad())
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","HONK")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Send Team - HONKsquad")
|
||||
if("striketeam")
|
||||
if(usr.client.strike_team())
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","Strike")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Send Team - Deathsquad")
|
||||
if("striketeam_syndicate")
|
||||
if(usr.client.syndicate_strike_team())
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","Strike")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Send Team - Syndie Strike Team")
|
||||
if("infiltrators_syndicate")
|
||||
if(usr.client.syndicate_infiltration_team())
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","SyndieInfiltrationTeam")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Send Team - Syndicate Infiltration Team")
|
||||
if("gimmickteam")
|
||||
if(usr.client.gimmick_team())
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","GimmickTeam")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Send Team - Gimmick Team")
|
||||
if("tripleAI")
|
||||
usr.client.triple_ai()
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","TriAI")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Triple AI")
|
||||
if("gravity")
|
||||
if(!(SSticker && SSticker.mode))
|
||||
to_chat(usr, "<span class='warning'>Please wait until the game starts! Not sure how it will work otherwise.</span>")
|
||||
@@ -2871,8 +2848,7 @@
|
||||
GLOB.gravity_is_on = !GLOB.gravity_is_on
|
||||
for(var/area/A in world)
|
||||
A.gravitychange(GLOB.gravity_is_on,A)
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","Grav")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Gravity")
|
||||
if(GLOB.gravity_is_on)
|
||||
log_admin("[key_name(usr)] toggled gravity on.", 1)
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] toggled gravity on.</span>", 1)
|
||||
@@ -2883,20 +2859,17 @@
|
||||
GLOB.event_announcement.Announce("Feedback surge detected in mass-distributions systems. Artifical gravity has been disabled whilst the system reinitializes. Further failures may result in a gravitational collapse and formation of blackholes. Have a nice day.")
|
||||
|
||||
if("power")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","P")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Power All APCs")
|
||||
log_admin("[key_name(usr)] made all areas powered", 1)
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] made all areas powered</span>", 1)
|
||||
power_restore()
|
||||
if("unpower")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","UP")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Depower All APCs")
|
||||
log_admin("[key_name(usr)] made all areas unpowered", 1)
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] made all areas unpowered</span>", 1)
|
||||
power_failure()
|
||||
if("quickpower")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","QP")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Power All SMESs")
|
||||
log_admin("[key_name(usr)] made all SMESs powered", 1)
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] made all SMESs powered</span>", 1)
|
||||
power_restore_quick()
|
||||
@@ -2904,8 +2877,7 @@
|
||||
if(!SSticker)
|
||||
alert("The game hasn't started yet!", null, null, null, null, null)
|
||||
return
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","PW")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Prison Warp")
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] teleported all players to the prison station.</span>", 1)
|
||||
for(var/thing in GLOB.human_list)
|
||||
var/mob/living/carbon/human/H = thing
|
||||
@@ -2950,8 +2922,7 @@
|
||||
var/objective = sanitize(copytext(input("Enter an objective"),1,MAX_MESSAGE_LEN))
|
||||
if(!objective)
|
||||
return
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","TA([objective])")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Traitor All ([objective])")
|
||||
|
||||
for(var/mob/living/carbon/human/H in GLOB.player_list)
|
||||
if(H.stat == 2 || !H.client || !H.mind) continue
|
||||
@@ -2966,8 +2937,7 @@
|
||||
log_admin("[key_name(usr)] used everyone is a traitor secret. Objective is [objective]")
|
||||
|
||||
if("togglebombcap")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","BC")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Bomb Cap")
|
||||
|
||||
var/newBombCap = input(usr,"What would you like the new bomb cap to be. (entered as the light damage range (the 3rd number in common (1,2,3) notation)) Must be between 4 and 128)", "New Bomb Cap", GLOB.max_ex_light_range) as num|null
|
||||
if(newBombCap < 4)
|
||||
@@ -2986,8 +2956,7 @@
|
||||
log_admin("[key_name(usr)] changed the bomb cap to [GLOB.max_ex_devastation_range], [GLOB.max_ex_heavy_range], [GLOB.max_ex_light_range]")
|
||||
|
||||
if("flicklights")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","FL")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Flicker Lights")
|
||||
while(!usr.stat)
|
||||
//knock yourself out to stop the ghosts
|
||||
for(var/mob/M in GLOB.player_list)
|
||||
@@ -3017,58 +2986,50 @@
|
||||
if(M.stat != 2)
|
||||
M.show_message(text("<span class='notice'>The chilling wind suddenly stops...</span>"), 1)
|
||||
if("lightout")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","LO")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Lights Out")
|
||||
message_admins("[key_name_admin(usr)] has broke a lot of lights", 1)
|
||||
var/datum/event/electrical_storm/E = new /datum/event/electrical_storm
|
||||
E.lightsoutAmount = 2
|
||||
if("blackout")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","BO")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Black Out")
|
||||
message_admins("[key_name_admin(usr)] broke all lights", 1)
|
||||
for(var/obj/machinery/light/L in GLOB.machines)
|
||||
L.break_light_tube()
|
||||
if("whiteout")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","WO")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Fix All Lights")
|
||||
message_admins("[key_name_admin(usr)] fixed all lights", 1)
|
||||
for(var/obj/machinery/light/L in GLOB.machines)
|
||||
L.fix()
|
||||
L.switchcount = 0
|
||||
if("floorlava")
|
||||
feedback_inc("admin_secrets_fun_used", 1)
|
||||
feedback_add_details("admin_secrets_fun_used", "LF")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Lava Floor")
|
||||
var/sure = alert(usr, "Are you sure you want to do this?", "Confirmation", "Yes", "No")
|
||||
if(sure == "No")
|
||||
return
|
||||
SSweather.run_weather(/datum/weather/floor_is_lava)
|
||||
message_admins("[key_name_admin(usr)] made the floor lava")
|
||||
if("fakelava")
|
||||
feedback_inc("admin_secrets_fun_used", 1)
|
||||
feedback_add_details("admin_secrets_fun_used", "LZ")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Lava Floor Fake")
|
||||
var/sure = alert(usr, "Are you sure you want to do this?", "Confirmation", "Yes", "No")
|
||||
if(sure == "No")
|
||||
return
|
||||
SSweather.run_weather(/datum/weather/floor_is_lava/fake)
|
||||
message_admins("[key_name_admin(usr)] made aesthetic lava on the floor")
|
||||
if("weatherashstorm")
|
||||
feedback_inc("admin_secrets_fun_used", 1)
|
||||
feedback_add_details("admin_secrets_fun_used", "WA")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Weather Ash Storm")
|
||||
var/sure = alert(usr, "Are you sure you want to do this?", "Confirmation", "Yes", "No")
|
||||
if(sure == "No")
|
||||
return
|
||||
SSweather.run_weather(/datum/weather/ash_storm)
|
||||
message_admins("[key_name_admin(usr)] spawned an ash storm on the mining level")
|
||||
if("stupify")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","RET")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Mass Braindamage")
|
||||
for(var/mob/living/carbon/human/H in GLOB.player_list)
|
||||
to_chat(H, "<span class='danger'>You suddenly feel stupid.</span>")
|
||||
H.setBrainLoss(60)
|
||||
message_admins("[key_name_admin(usr)] made everybody stupid")
|
||||
if("fakeguns")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","FG")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Fake Guns")
|
||||
for(var/obj/item/W in world)
|
||||
if(istype(W, /obj/item/clothing) || istype(W, /obj/item/card/id) || istype(W, /obj/item/disk) || istype(W, /obj/item/tank))
|
||||
continue
|
||||
@@ -3076,9 +3037,8 @@
|
||||
W.icon_state = "revolver"
|
||||
W.item_state = "gun"
|
||||
message_admins("[key_name_admin(usr)] made every item look like a gun")
|
||||
if("schoolgirl")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","SG")
|
||||
if("schoolgirl") // nyaa~ How much are you paying attention in reviews?
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Chinese Cartoons")
|
||||
for(var/obj/item/clothing/under/W in world)
|
||||
W.icon_state = "schoolgirl"
|
||||
W.item_state = "w_suit"
|
||||
@@ -3086,34 +3046,28 @@
|
||||
message_admins("[key_name_admin(usr)] activated Japanese Animes mode")
|
||||
world << sound('sound/AI/animes.ogg')
|
||||
if("eagles")//SCRAW
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","EgL")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Egalitarian Station")
|
||||
for(var/obj/machinery/door/airlock/W in GLOB.airlocks)
|
||||
if(is_station_level(W.z) && !istype(get_area(W), /area/bridge) && !istype(get_area(W), /area/crew_quarters) && !istype(get_area(W), /area/security/prison))
|
||||
W.req_access = list()
|
||||
message_admins("[key_name_admin(usr)] activated Egalitarian Station mode")
|
||||
GLOB.event_announcement.Announce("Centcomm airlock control override activated. Please take this time to get acquainted with your coworkers.", new_sound = 'sound/AI/commandreport.ogg')
|
||||
if("onlyone")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","OO")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Only One")
|
||||
usr.client.only_one()
|
||||
// message_admins("[key_name_admin(usr)] has triggered HIGHLANDER")
|
||||
if("onlyme")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","OM")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Only Me")
|
||||
usr.client.only_me()
|
||||
if("onlyoneteam")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","OOT")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Only One Team")
|
||||
usr.client.only_one_team()
|
||||
// message_admins("[key_name_admin(usr)] has triggered ")
|
||||
if("rolldice")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","ROL")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Roll The Dice")
|
||||
usr.client.roll_dices()
|
||||
if("guns")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","SG")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Summon Guns")
|
||||
var/survivor_probability = 0
|
||||
switch(alert("Do you want this to create survivors antagonists?", , "No Antags", "Some Antags", "All Antags!"))
|
||||
if("Some Antags")
|
||||
@@ -3123,8 +3077,7 @@
|
||||
|
||||
rightandwrong(SUMMON_GUNS, usr, survivor_probability)
|
||||
if("magic")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","SM")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Summon Magic")
|
||||
var/survivor_probability = 0
|
||||
switch(alert("Do you want this to create survivors antagonists?", , "No Antags", "Some Antags", "All Antags!"))
|
||||
if("Some Antags")
|
||||
@@ -3181,22 +3134,19 @@
|
||||
set_security_level(5)
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] change security level to Delta.</span>", 1)
|
||||
if("moveminingshuttle")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","ShM")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Send Mining Shuttle")
|
||||
if(!SSshuttle.toggleShuttle("mining","mining_home","mining_away"))
|
||||
message_admins("[key_name_admin(usr)] moved mining shuttle")
|
||||
log_admin("[key_name(usr)] moved the mining shuttle")
|
||||
|
||||
if("movelaborshuttle")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","ShL")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Send Labor Shuttle")
|
||||
if(!SSshuttle.toggleShuttle("laborcamp","laborcamp_home","laborcamp_away"))
|
||||
message_admins("[key_name_admin(usr)] moved labor shuttle")
|
||||
log_admin("[key_name(usr)] moved the labor shuttle")
|
||||
|
||||
if("moveferry")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","ShF")
|
||||
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Send CentComm Ferry")
|
||||
if(!SSshuttle.toggleShuttle("ferry","ferry_home","ferry_away"))
|
||||
message_admins("[key_name_admin(usr)] moved the centcom ferry")
|
||||
log_admin("[key_name(usr)] moved the centcom ferry")
|
||||
|
||||
@@ -36,7 +36,7 @@ GLOBAL_LIST_INIT(adminhelp_ignored_words, list("unknown","the","a","an","of","mo
|
||||
|
||||
//show it to the person adminhelping too
|
||||
to_chat(src, "<span class='boldnotice'>[selected_type]</b>: [msg]</span>")
|
||||
feedback_add_details("admin_verb","AH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Adminhelp") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
switch(selected_type)
|
||||
if("Adminhelp")
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
log_admin("[key_name(usr)] jumped to [A]")
|
||||
if(!isobserver(usr))
|
||||
message_admins("[key_name_admin(usr)] jumped to [A]")
|
||||
feedback_add_details("admin_verb","JA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Jump To Area") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/jumptoturf(var/turf/T in world)
|
||||
set name = "Jump to Turf"
|
||||
@@ -46,7 +46,7 @@
|
||||
if(!isobserver(usr))
|
||||
message_admins("[key_name_admin(usr)] jumped to [T.x], [T.y], [T.z] in [T.loc]", 1)
|
||||
admin_forcemove(usr, T)
|
||||
feedback_add_details("admin_verb","JT") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Jump To Turf") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
|
||||
/client/proc/jumptomob(var/mob/M in GLOB.mob_list)
|
||||
@@ -66,7 +66,7 @@
|
||||
var/mob/A = src.mob
|
||||
var/turf/T = get_turf(M)
|
||||
if(T && isturf(T))
|
||||
feedback_add_details("admin_verb","JM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Jump To Mob") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
admin_forcemove(A, M.loc)
|
||||
else
|
||||
to_chat(A, "This mob is not located in the game world.")
|
||||
@@ -87,7 +87,7 @@
|
||||
if(isobserver(usr))
|
||||
var/mob/dead/observer/O = usr
|
||||
O.ManualFollow(T)
|
||||
feedback_add_details("admin_verb","JC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Jump To Coordinate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
if(!isobserver(usr))
|
||||
message_admins("[key_name_admin(usr)] jumped to coordinates [tx], [ty], [tz]")
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
O.force_eject_occupant(usr)
|
||||
admin_forcemove(usr, M.loc)
|
||||
|
||||
feedback_add_details("admin_verb","JK") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Jump To Key") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/Getmob(var/mob/M in GLOB.mob_list)
|
||||
set category = null
|
||||
@@ -131,7 +131,7 @@
|
||||
var/obj/O = M.loc
|
||||
O.force_eject_occupant(M)
|
||||
admin_forcemove(M, get_turf(usr))
|
||||
feedback_add_details("admin_verb","GM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Get Mob") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/Getkey()
|
||||
set category = null
|
||||
@@ -159,7 +159,7 @@
|
||||
O.force_eject_occupant(M)
|
||||
admin_forcemove(M, get_turf(usr))
|
||||
admin_forcemove(usr, M.loc)
|
||||
feedback_add_details("admin_verb","GK") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Get Key") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/sendmob(var/mob/M in GLOB.mob_list)
|
||||
set category = "Admin"
|
||||
@@ -174,7 +174,7 @@
|
||||
var/obj/O = M.loc
|
||||
O.force_eject_occupant(M)
|
||||
admin_forcemove(M, pick(get_area_turfs(A)))
|
||||
feedback_add_details("admin_verb","SMOB") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Send Mob") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
log_admin("[key_name(usr)] teleported [key_name(M)] to [A]")
|
||||
message_admins("[key_name_admin(usr)] teleported [key_name_admin(M)] to [A]", 1)
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
if(!ismob(M) || !M.client)
|
||||
return
|
||||
cmd_admin_pm(M.client,null)
|
||||
feedback_add_details("admin_verb","APMM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Admin PM Mob") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
//shows a list of clients we could send PMs to, then forwards our choice to cmd_admin_pm
|
||||
@@ -30,7 +30,7 @@
|
||||
var/list/sorted = sortList(targets)
|
||||
var/target = input(src,"To whom shall we send a message?","Admin PM",null) in sorted|null
|
||||
cmd_admin_pm(targets[target],null)
|
||||
feedback_add_details("admin_verb","APM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Admin PM Name") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
//shows a list of clients we could send PMs to, then forwards our choice to cmd_admin_pm
|
||||
/client/proc/cmd_admin_pm_by_key_panel()
|
||||
@@ -52,7 +52,7 @@
|
||||
var/list/sorted = sortList(targets)
|
||||
var/target = input(src,"To whom shall we send a message?","Admin PM",null) in sorted|null
|
||||
cmd_admin_pm(targets[target],null)
|
||||
feedback_add_details("admin_verb","APM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Admin PM Key") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
//takes input from cmd_admin_pm_context, cmd_admin_pm_panel or /client/Topic and sends them a PM.
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
msg = "<span class='emoji_enabled'>[msg]</span>"
|
||||
to_chat(C, "<span class='admin_channel'>ADMIN: <span class='name'>[key_name(usr, 1)]</span> ([admin_jump_link(mob)]): <span class='message'>[msg]</span></span>")
|
||||
|
||||
feedback_add_details("admin_verb","M") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Asay") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/get_admin_say()
|
||||
var/msg = input(src, null, "asay \"text\"") as text|null
|
||||
@@ -54,7 +54,7 @@
|
||||
msg = "<span class='emoji_enabled'>[msg]</span>"
|
||||
to_chat(C, "<span class='[check_rights(R_ADMIN, 0) ? "mentor_channel_admin" : "mentor_channel"]'>MENTOR: <span class='name'>[display_name]</span> ([admin_jump_link(mob)]): <span class='message'>[msg]</span></span>")
|
||||
|
||||
feedback_add_details("admin_verb","MS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Msay") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/toggle_mentor_chat()
|
||||
set category = "Server"
|
||||
@@ -87,4 +87,4 @@
|
||||
to_chat(C, "<b>Mentor chat has been disabled.</b>")
|
||||
|
||||
log_and_message_admins("toggled mentor chat [enabling ? "on" : "off"].")
|
||||
feedback_add_details("admin_verb", "TMC")
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Toggle Msay")
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
if(!src.holder)
|
||||
to_chat(src, "Only administrators may use this command.")
|
||||
return
|
||||
feedback_add_details("admin_verb","CP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Check Piping") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
if(alert("WARNING: This command should not be run on a live server. Do you want to continue?", "Check Piping", "No", "Yes") == "No")
|
||||
return
|
||||
@@ -49,7 +49,7 @@
|
||||
if(!src.holder)
|
||||
to_chat(src, "Only administrators may use this command.")
|
||||
return
|
||||
feedback_add_details("admin_verb","CPOW") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Check Power") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
for(var/datum/powernet/PN in SSmachines.powernets)
|
||||
if(!PN.nodes || !PN.nodes.len)
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
prefix = "Administrator"
|
||||
say_dead_direct("<span class='name'>[prefix]</span> says, <span class='message'>\"[msg]\"</span>")
|
||||
|
||||
feedback_add_details("admin_verb","D") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Dsay") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/get_dead_say()
|
||||
var/msg = input(src, null, "dsay \"text\"") as text
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
message_admins("[key_name_admin(src)] toggled debugging on.")
|
||||
log_admin("[key_name(src)] toggled debugging on.")
|
||||
|
||||
feedback_add_details("admin_verb","DG2") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Debug Game") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
/* 21st Sept 2010
|
||||
@@ -93,7 +93,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
returnval = WrapAdminProcCall(GLOBAL_PROC, procname, lst) // Pass the lst as an argument list to the proc
|
||||
|
||||
to_chat(usr, "<font color='blue'>[procname] returned: [!isnull(returnval) ? returnval : "null"]</font>")
|
||||
feedback_add_details("admin_verb","APC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Advanced Proc-Call") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
// All these vars are related to proc call protection
|
||||
// If you add more of these, for the love of fuck, protect them
|
||||
@@ -200,7 +200,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
|
||||
var/returnval = WrapAdminProcCall(A, procname, lst) // Pass the lst as an argument list to the proc
|
||||
to_chat(src, "<span class='notice'>[procname] returned: [!isnull(returnval) ? returnval : "null"]</span>")
|
||||
|
||||
feedback_add_details("admin_verb","DPC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Atom Proc-Call") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/get_callproc_args()
|
||||
var/argnum = input("Number of arguments","Number:",0) as num|null
|
||||
@@ -282,7 +282,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
|
||||
t+= "CO2: [env.carbon_dioxide]\n"
|
||||
|
||||
usr.show_message(t, 1)
|
||||
feedback_add_details("admin_verb","ASL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Air Status (Location)") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/cmd_admin_robotize(var/mob/M in GLOB.mob_list)
|
||||
set category = "Event"
|
||||
@@ -360,7 +360,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
|
||||
for(var/datum/paiCandidate/candidate in GLOB.paiController.pai_candidates)
|
||||
if(candidate.key == choice.key)
|
||||
GLOB.paiController.pai_candidates.Remove(candidate)
|
||||
feedback_add_details("admin_verb","MPAI") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Make pAI") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/cmd_admin_alienize(var/mob/M in GLOB.mob_list)
|
||||
set category = "Event"
|
||||
@@ -376,7 +376,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
|
||||
log_admin("[key_name(src)] has alienized [M.key].")
|
||||
spawn(10)
|
||||
M:Alienize()
|
||||
feedback_add_details("admin_verb","MKAL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Make Alien") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
log_admin("[key_name(usr)] made [key_name(M)] into an alien.")
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] made [key_name(M)] into an alien.</span>", 1)
|
||||
else
|
||||
@@ -396,7 +396,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
|
||||
log_admin("[key_name(src)] has slimeized [M.key].")
|
||||
spawn(10)
|
||||
M:slimeize()
|
||||
feedback_add_details("admin_verb","MKMET") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Make Slime") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
log_admin("[key_name(usr)] made [key_name(M)] into a slime.")
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] made [key_name(M)] into a slime.</span>", 1)
|
||||
else
|
||||
@@ -441,7 +441,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
|
||||
qdel(S)
|
||||
log_admin("[key_name(src)] has deleted all Singularities and Tesla orbs.")
|
||||
message_admins("[key_name_admin(src)] has deleted all Singularities and Tesla orbs.", 0)
|
||||
feedback_add_details("admin_verb","DELS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Del Singulo/Tesla") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/cmd_debug_make_powernets()
|
||||
set category = "Debug"
|
||||
@@ -453,7 +453,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
|
||||
SSmachines.makepowernets()
|
||||
log_admin("[key_name(src)] has remade the powernet. makepowernets() called.")
|
||||
message_admins("[key_name_admin(src)] has remade the powernets. makepowernets() called.", 0)
|
||||
feedback_add_details("admin_verb","MPWN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Make Powernets") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/cmd_admin_grantfullaccess(var/mob/M in GLOB.mob_list)
|
||||
set category = "Admin"
|
||||
@@ -485,7 +485,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
|
||||
H.update_inv_wear_id()
|
||||
else
|
||||
alert("Invalid mob")
|
||||
feedback_add_details("admin_verb","GFA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Grant Full Access") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
log_admin("[key_name(src)] has granted [M.key] full access.")
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] has granted [M.key] full access.</span>", 1)
|
||||
|
||||
@@ -509,7 +509,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
|
||||
M.ckey = src.ckey
|
||||
if( isobserver(adminmob) )
|
||||
qdel(adminmob)
|
||||
feedback_add_details("admin_verb","ADC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Assume Direct Control") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
/client/proc/cmd_admin_areatest()
|
||||
@@ -661,7 +661,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
|
||||
|
||||
H.regenerate_icons()
|
||||
|
||||
feedback_add_details("admin_verb", "SE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Select Equipment") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
log_admin("[key_name(usr)] changed the equipment of [key_name(M)] to [dresscode].")
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] changed the equipment of [key_name_admin(M)] to [dresscode].</span>", 1)
|
||||
|
||||
@@ -914,7 +914,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
|
||||
if(!isobserver(usr))
|
||||
message_admins("[key_name_admin(usr)] jumped to ruin [ruinname]", 1)
|
||||
|
||||
feedback_add_details("admin_verb","JT") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Jump To Ruin") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/toggle_medal_disable()
|
||||
set category = "Debug"
|
||||
@@ -927,7 +927,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
|
||||
SSmedals.hub_enabled = !SSmedals.hub_enabled
|
||||
|
||||
message_admins("<span class='adminnotice'>[key_name_admin(src)] [SSmedals.hub_enabled ? "disabled" : "enabled"] the medal hub lockout.</span>")
|
||||
feedback_add_details("admin_verb","TMH") // If...
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Toggle Medal Disable") // If...
|
||||
log_admin("[key_name(src)] [SSmedals.hub_enabled ? "disabled" : "enabled"] the medal hub lockout.")
|
||||
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
message_admins("[key_name_admin(usr)] has checked the air status of [target]")
|
||||
log_admin("[key_name(usr)] has checked the air status of [target]")
|
||||
|
||||
feedback_add_details("admin_verb","DAST") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Display Air Status") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/fix_next_move()
|
||||
set category = "Debug"
|
||||
@@ -59,7 +59,7 @@
|
||||
message_admins("[key_name_admin(largest_click_mob)] had the largest click delay with [largest_click_time] frames / [largest_click_time/10] seconds!", 1)
|
||||
message_admins("world.time = [world.time]", 1)
|
||||
|
||||
feedback_add_details("admin_verb","UFE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Unfreeze Everyone") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
|
||||
/client/proc/radio_report()
|
||||
@@ -104,7 +104,7 @@
|
||||
message_admins("[key_name_admin(usr)] has generated a radio report")
|
||||
log_admin("[key_name(usr)] has generated a radio report")
|
||||
|
||||
feedback_add_details("admin_verb","RR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Radio Report") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/reload_admins()
|
||||
set name = "Reload Admins"
|
||||
@@ -117,7 +117,7 @@
|
||||
log_admin("[key_name(usr)] has manually reloaded admins")
|
||||
|
||||
load_admins()
|
||||
feedback_add_details("admin_verb","RLDA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Reload Admins") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
/client/proc/print_jobban_old()
|
||||
|
||||
@@ -90,6 +90,6 @@
|
||||
|
||||
message_admins("[key_name_admin(src)] has spawned a Gimmick Team.", 1)
|
||||
log_admin("[key_name(src)] used Spawn Gimmick Team.")
|
||||
feedback_add_details("admin_verb","SPAWNGIM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Spawn Gimmick Team") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
// ---------------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -115,7 +115,7 @@ GLOBAL_VAR_INIT(sent_syndicate_infiltration_team, 0)
|
||||
break
|
||||
message_admins("[key_name_admin(src)] has spawned a Syndicate Infiltration Team.", 1)
|
||||
log_admin("[key_name(src)] used Spawn Syndicate Infiltration Team.")
|
||||
feedback_add_details("admin_verb","SPAWNSIT") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Spawn SIT") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
// ---------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ GLOBAL_VAR_INIT(intercom_range_display_status, 0)
|
||||
if(GLOB.camera_range_display_status)
|
||||
for(var/obj/machinery/camera/C in GLOB.cameranet.cameras)
|
||||
new/obj/effect/debugging/camera_range(C.loc)
|
||||
feedback_add_details("admin_verb","mCRD") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Camera Range Display") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/sec_camera_report()
|
||||
set category = "Mapping"
|
||||
@@ -101,7 +101,7 @@ GLOBAL_VAR_INIT(intercom_range_display_status, 0)
|
||||
|
||||
output += "</ul>"
|
||||
usr << browse(output,"window=airreport;size=1000x500")
|
||||
feedback_add_details("admin_verb","mCRP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Camera Report") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/intercom_view()
|
||||
set category = "Mapping"
|
||||
@@ -124,7 +124,7 @@ GLOBAL_VAR_INIT(intercom_range_display_status, 0)
|
||||
var/obj/effect/debugging/marker/F = new/obj/effect/debugging/marker(T)
|
||||
if(!(F in view(7,I.loc)))
|
||||
qdel(F)
|
||||
feedback_add_details("admin_verb","mIRD") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Intercom Range Display") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/count_objects_on_z_level()
|
||||
set category = "Mapping"
|
||||
@@ -162,7 +162,7 @@ GLOBAL_VAR_INIT(intercom_range_display_status, 0)
|
||||
atom_list += A
|
||||
|
||||
to_chat(world, "There are [count] objects of type [type_path] on z-level [num_level].")
|
||||
feedback_add_details("admin_verb","mOBJZ") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Count Objects (On Level)") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/count_objects_all()
|
||||
set category = "Mapping"
|
||||
@@ -183,4 +183,4 @@ GLOBAL_VAR_INIT(intercom_range_display_status, 0)
|
||||
count++
|
||||
|
||||
to_chat(world, "There are [count] objects of type [type_path] in the game world.")
|
||||
feedback_add_details("admin_verb","mOBJ") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Count Objects (Global)") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
return
|
||||
|
||||
src.massmodify_variables(A, var_name, method)
|
||||
feedback_add_details("admin_verb","MEV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Mass Edit Variables") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/massmodify_variables(datum/O, var_name = "", method = 0)
|
||||
if(!check_rights(R_VAREDIT))
|
||||
|
||||
@@ -35,7 +35,7 @@ GLOBAL_LIST_EMPTY(sounds_cache)
|
||||
M.stop_sound_channel(CHANNEL_LOBBYMUSIC)
|
||||
SEND_SOUND(M, uploaded_sound)
|
||||
|
||||
feedback_add_details("admin_verb","PGS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Play Global Sound") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
/client/proc/play_local_sound(S as sound)
|
||||
@@ -46,7 +46,7 @@ GLOBAL_LIST_EMPTY(sounds_cache)
|
||||
log_admin("[key_name(src)] played a local sound [S]")
|
||||
message_admins("[key_name_admin(src)] played a local sound [S]", 1)
|
||||
playsound(get_turf(src.mob), S, 50, 0, 0)
|
||||
feedback_add_details("admin_verb","PLS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Play Local Sound") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/play_server_sound()
|
||||
set category = "Event"
|
||||
@@ -60,7 +60,7 @@ GLOBAL_LIST_EMPTY(sounds_cache)
|
||||
if(!melody) return
|
||||
|
||||
play_sound(melody)
|
||||
feedback_add_details("admin_verb","PSS") //If you are copy-pasting this, ensure the 2nd paramter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Play Server Sound") //If you are copy-pasting this, ensure the 2nd paramter is unique to the new proc!
|
||||
|
||||
/client/proc/play_intercomm_sound()
|
||||
set category = "Event"
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
usr.name = O.name
|
||||
usr.client.eye = O
|
||||
usr.control_object = O
|
||||
feedback_add_details("admin_verb","PO") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Possess Object") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/proc/release(obj/O as obj in world)
|
||||
set name = "Release Obj"
|
||||
@@ -52,4 +52,4 @@
|
||||
usr.loc = O.loc // Appear where the object you were controlling is -- TLE
|
||||
usr.client.eye = usr
|
||||
usr.control_object = null
|
||||
feedback_add_details("admin_verb","RO") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Release Object") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
SEND_SOUND(X, 'sound/items/PDA/ambicha4-short.ogg')
|
||||
to_chat(usr, "Your prayers have been received by the gods.")
|
||||
|
||||
feedback_add_details("admin_verb","PR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Pray") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/proc/Centcomm_announce(var/text , var/mob/Sender)
|
||||
var/msg = sanitize(copytext(text, 1, MAX_MESSAGE_LEN))
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
log_admin("[key_name(usr)] made [key_name(M)] drop everything!")
|
||||
message_admins("[key_name_admin(usr)] made [key_name_admin(M)] drop everything!", 1)
|
||||
feedback_add_details("admin_verb","DEVR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Drop Everything") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/cmd_admin_prison(mob/M as mob in GLOB.mob_list)
|
||||
set category = "Admin"
|
||||
@@ -42,7 +42,7 @@
|
||||
to_chat(M, "<span class='warning'>You have been sent to the prison station!</span>")
|
||||
log_admin("[key_name(usr)] sent [key_name(M)] to the prison station.")
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] sent [key_name_admin(M)] to the prison station.</span>", 1)
|
||||
feedback_add_details("admin_verb","PRISON") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Prison") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/cmd_admin_subtle_message(mob/M as mob in GLOB.mob_list)
|
||||
set category = "Event"
|
||||
@@ -68,7 +68,7 @@
|
||||
|
||||
log_admin("SubtlePM: [key_name(usr)] -> [key_name(M)] : [msg]")
|
||||
message_admins("<span class='boldnotice'>SubtleMessage: [key_name_admin(usr)] -> [key_name_admin(M)] : [msg]</span>", 1)
|
||||
feedback_add_details("admin_verb","SMS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Subtle Message") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/cmd_mentor_check_new_players() //Allows mentors / admins to determine who the newer players are.
|
||||
set category = "Admin"
|
||||
@@ -120,7 +120,7 @@
|
||||
to_chat(world, "[msg]")
|
||||
log_admin("GlobalNarrate: [key_name(usr)] : [msg]")
|
||||
message_admins("<span class='boldnotice'>GlobalNarrate: [key_name_admin(usr)]: [msg]<BR></span>", 1)
|
||||
feedback_add_details("admin_verb","GLN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Global Narrate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/cmd_admin_direct_narrate(var/mob/M) // Targetted narrate -- TLE
|
||||
set category = null
|
||||
@@ -144,7 +144,7 @@
|
||||
to_chat(M, msg)
|
||||
log_admin("DirectNarrate: [key_name(usr)] to ([key_name(M)]): [msg]")
|
||||
message_admins("<span class='boldnotice'>DirectNarrate: [key_name_admin(usr)] to ([key_name_admin(M)]): [msg]<BR></span>", 1)
|
||||
feedback_add_details("admin_verb","DIRN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Direct Narrate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
|
||||
@@ -198,7 +198,7 @@
|
||||
|
||||
log_admin("[key_name(usr)] has toggled [key_name(M)]'s nodamage to [(M.status_flags & GODMODE) ? "On" : "Off"]")
|
||||
message_admins("[key_name_admin(usr)] has toggled [key_name_admin(M)]'s nodamage to [(M.status_flags & GODMODE) ? "On" : "Off"]", 1)
|
||||
feedback_add_details("admin_verb","GOD") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Godmode") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
/proc/cmd_admin_mute(mob/M as mob, mute_type, automute = 0)
|
||||
@@ -234,7 +234,7 @@
|
||||
log_admin("SPAM AUTOMUTE: [muteunmute] [key_name(M)] from [mute_string]")
|
||||
message_admins("SPAM AUTOMUTE: [muteunmute] [key_name_admin(M)] from [mute_string].", 1)
|
||||
to_chat(M, "You have been [muteunmute] from [mute_string] by the SPAM AUTOMUTE system. Contact an admin.")
|
||||
feedback_add_details("admin_verb","AUTOMUTE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Automute") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
|
||||
if(M.client.prefs.muted & mute_type)
|
||||
@@ -247,7 +247,7 @@
|
||||
log_admin("[key_name(usr)] has [muteunmute] [key_name(M)] from [mute_string]")
|
||||
message_admins("[key_name_admin(usr)] has [muteunmute] [key_name_admin(M)] from [mute_string].", 1)
|
||||
to_chat(M, "You have been [muteunmute] from [mute_string].")
|
||||
feedback_add_details("admin_verb","MUTE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Mute") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/cmd_admin_add_random_ai_law()
|
||||
set category = "Event"
|
||||
@@ -265,7 +265,7 @@
|
||||
var/announce_ion_laws = (show_log == "Yes" ? 1 : -1)
|
||||
|
||||
new /datum/event/ion_storm(0, announce_ion_laws)
|
||||
feedback_add_details("admin_verb","ION") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Add Random AI Law") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/toggle_antagHUD_use()
|
||||
set category = "Server"
|
||||
@@ -490,7 +490,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
|
||||
to_chat(new_character, "You have been fully respawned. Enjoy the game.")
|
||||
|
||||
feedback_add_details("admin_verb","RSPCH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Respawn Character") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return new_character
|
||||
|
||||
//I use this proc for respawn character too. /N
|
||||
@@ -569,7 +569,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
|
||||
new /datum/event/ion_storm(0, announce_ion_laws, input)
|
||||
|
||||
feedback_add_details("admin_verb","IONC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Add Custom AI Law") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/cmd_admin_rejuvenate(mob/living/M as mob in GLOB.mob_list)
|
||||
set category = null
|
||||
@@ -587,7 +587,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
|
||||
log_admin("[key_name(usr)] healed / revived [key_name(M)]")
|
||||
message_admins("<span class='warning'>Admin [key_name_admin(usr)] healed / revived [key_name_admin(M)]!</span>", 1)
|
||||
feedback_add_details("admin_verb","REJU") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Rejuvenate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/cmd_admin_create_centcom_report()
|
||||
set category = "Event"
|
||||
@@ -634,7 +634,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
|
||||
log_admin("[key_name(src)] has created a communications report: [input]")
|
||||
message_admins("[key_name_admin(src)] has created a communications report", 1)
|
||||
feedback_add_details("admin_verb","CCR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Create Comms Report") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
/client/proc/cmd_admin_delete(atom/A as obj|mob|turf in view())
|
||||
@@ -655,7 +655,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
if(alert(src, "Are you sure you want to delete:\n[D]\n[coords]?", "Confirmation", "Yes", "No") == "Yes")
|
||||
log_admin("[key_name(usr)] deleted [D] [coords]")
|
||||
message_admins("[key_name_admin(usr)] deleted [D] [coords]", 1)
|
||||
feedback_add_details("admin_verb","DEL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Delete") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
if(isturf(D))
|
||||
var/turf/T = D
|
||||
T.ChangeTurf(T.baseturf)
|
||||
@@ -681,7 +681,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
currentpositiontally += job.current_positions
|
||||
totalpositiontally += job.total_positions
|
||||
to_chat(src, "<b>Currently filled job slots (Excluding unlimited): [currentpositiontally] / [totalpositiontally] ([totalpositiontally - currentpositiontally])</b>")
|
||||
feedback_add_details("admin_verb","LFS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "List Free Slots") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/cmd_admin_explosion(atom/O as obj|mob|turf in view())
|
||||
set category = "Event"
|
||||
@@ -709,7 +709,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
explosion(O, devastation, heavy, light, flash, null, null,flames)
|
||||
log_admin("[key_name(usr)] created an explosion ([devastation],[heavy],[light],[flames]) at ([O.x],[O.y],[O.z])")
|
||||
message_admins("[key_name_admin(usr)] created an explosion ([devastation],[heavy],[light],[flames]) at ([O.x],[O.y],[O.z])")
|
||||
feedback_add_details("admin_verb","EXPL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "EXPL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
else
|
||||
return
|
||||
@@ -731,7 +731,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
empulse(O, heavy, light)
|
||||
log_admin("[key_name(usr)] created an EM pulse ([heavy], [light]) at ([O.x],[O.y],[O.z])")
|
||||
message_admins("[key_name_admin(usr)] created an EM pulse ([heavy], [light]) at ([O.x],[O.y],[O.z])", 1)
|
||||
feedback_add_details("admin_verb","EMP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "EMP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
return
|
||||
else
|
||||
@@ -757,7 +757,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
return
|
||||
|
||||
M.gib()
|
||||
feedback_add_details("admin_verb","GIB") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Gib") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/cmd_admin_gib_self()
|
||||
set name = "Gibself"
|
||||
@@ -775,7 +775,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
|
||||
log_admin("[key_name(usr)] used gibself.")
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] used gibself.</span>", 1)
|
||||
feedback_add_details("admin_verb","GIBS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Gibself") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/cmd_admin_check_contents(mob/living/M as mob in GLOB.mob_list)
|
||||
set name = "Check Contents"
|
||||
@@ -787,7 +787,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
var/list/L = M.get_contents()
|
||||
for(var/t in L)
|
||||
to_chat(usr, "[t]")
|
||||
feedback_add_details("admin_verb","CC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Check Contents") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/toggle_view_range()
|
||||
set category = "Admin"
|
||||
@@ -805,7 +805,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
log_admin("[key_name(usr)] changed their view range to [view].")
|
||||
//message_admins("<span class='notice'>[key_name_admin(usr)] changed their view range to [view].</span>", 1) //why? removed by order of XSI
|
||||
|
||||
feedback_add_details("admin_verb","CVRA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Change View Range") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/admin_call_shuttle()
|
||||
|
||||
@@ -831,7 +831,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
else
|
||||
SSshuttle.emergency.request()
|
||||
|
||||
feedback_add_details("admin_verb","CSHUT") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Call Shuttle") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
log_admin("[key_name(usr)] admin-called the emergency shuttle.")
|
||||
message_admins("<span class='adminnotice'>[key_name_admin(usr)] admin-called the emergency shuttle.</span>")
|
||||
return
|
||||
@@ -859,7 +859,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
else
|
||||
SSshuttle.emergency.cancel()
|
||||
|
||||
feedback_add_details("admin_verb","CCSHUT") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Cancel Shuttle") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
log_admin("[key_name(usr)] admin-recalled the emergency shuttle.")
|
||||
message_admins("<span class='adminnotice'>[key_name_admin(usr)] admin-recalled the emergency shuttle.</span>")
|
||||
return
|
||||
@@ -880,7 +880,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
if(SSshuttle)
|
||||
SSshuttle.emergencyNoEscape = !SSshuttle.emergencyNoEscape
|
||||
|
||||
feedback_add_details("admin_verb", "DENYSHUT")
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Toggle Deny Shuttle")
|
||||
log_admin("[key_name(src)] has [SSshuttle.emergencyNoEscape ? "denied" : "allowed"] the shuttle to be called.")
|
||||
message_admins("[key_name_admin(usr)] has [SSshuttle.emergencyNoEscape ? "denied" : "allowed"] the shuttle to be called.")
|
||||
|
||||
@@ -894,7 +894,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
to_chat(usr, text("<span class='danger'>Attack Log for []</span>", mob))
|
||||
for(var/t in M.attack_log_old)
|
||||
to_chat(usr, t)
|
||||
feedback_add_details("admin_verb","ATTL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Attack Log") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
/client/proc/everyone_random()
|
||||
@@ -929,7 +929,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
to_chat(usr, "<i>Remember: you can always disable the randomness by using the verb again, assuming the round hasn't started yet</i>.")
|
||||
|
||||
SSticker.random_players = 1
|
||||
feedback_add_details("admin_verb","MER") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Make Everyone Random") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/toggle_random_events()
|
||||
set category = "Event"
|
||||
@@ -947,7 +947,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
config.allow_random_events = 0
|
||||
to_chat(usr, "Random events disabled")
|
||||
message_admins("Admin [key_name_admin(usr)] has disabled random events.", 1)
|
||||
feedback_add_details("admin_verb","TRE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Toggle Random Events") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/reset_all_tcs()
|
||||
set category = "Admin"
|
||||
@@ -966,7 +966,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
|
||||
log_admin("[key_name(usr)] reset NTTC scripts.")
|
||||
message_admins("[key_name_admin(usr)] reset NTTC scripts.")
|
||||
feedback_add_details("admin_verb","RAT2") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Reset NTTC Configuration") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/list_ssds_afks()
|
||||
set category = "Admin"
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
GLOB.space_manager.do_transition_setup()
|
||||
log_admin("[key_name(usr)] re-assigned all space transitions")
|
||||
|
||||
feedback_add_details("admin_verb","SPCRST") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Remake Space Transitions") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -96,7 +96,7 @@ GLOBAL_VAR_INIT(sent_syndicate_strike_team, 0)
|
||||
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] has spawned a Syndicate strike squad.</span>", 1)
|
||||
log_admin("[key_name(usr)] used Spawn Syndicate Squad.")
|
||||
feedback_add_details("admin_verb","SDTHS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Send SST") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/create_syndicate_death_commando(obj/spawn_location, is_leader = FALSE)
|
||||
var/mob/living/carbon/human/new_syndicate_commando = new(spawn_location.loc)
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
log_admin("[key_name(src)] has modified world.tick_lag to [newtick]", 0)
|
||||
message_admins("[key_name_admin(src)] has modified world.tick_lag to [newtick]", 0)
|
||||
world.tick_lag = newtick
|
||||
feedback_add_details("admin_verb","TICKLAG") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Set Ticklag") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
else
|
||||
to_chat(src, "<span class='warning'>Error: ticklag(): Invalid world.ticklag value. No changes made.</span>")
|
||||
|
||||
@@ -32,4 +32,4 @@ GLOBAL_LIST_INIT(admin_verbs_show_debug_verbs, list(
|
||||
|
||||
verbs += GLOB.admin_verbs_show_debug_verbs
|
||||
|
||||
feedback_add_details("admin_verb","mDV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Debug Verbs") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
prefs.toggles ^= PREFTOGGLE_CHAT_GHOSTEARS
|
||||
to_chat(src, "As a ghost, you will now [(prefs.toggles & PREFTOGGLE_CHAT_GHOSTEARS) ? "see all speech in the world" : "only see speech from nearby mobs"].")
|
||||
prefs.save_preferences(src)
|
||||
feedback_add_details("admin_verb","TGE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "toggle_verbs", 1, "Toggle GhostEars") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/verb/toggle_ghost_sight()
|
||||
set name = "Show/Hide GhostSight"
|
||||
@@ -15,7 +15,7 @@
|
||||
prefs.toggles ^= PREFTOGGLE_CHAT_GHOSTSIGHT
|
||||
to_chat(src, "As a ghost, you will now [(prefs.toggles & PREFTOGGLE_CHAT_GHOSTSIGHT) ? "see all emotes in the world" : "only see emotes from nearby mobs"].")
|
||||
prefs.save_preferences(src)
|
||||
feedback_add_details("admin_verb","TGS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "toggle_verbs", 1, "Toggle GhostSight") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/verb/toggle_ghost_radio()
|
||||
set name = "Enable/Disable GhostRadio"
|
||||
@@ -24,7 +24,7 @@
|
||||
prefs.toggles ^= PREFTOGGLE_CHAT_GHOSTRADIO
|
||||
to_chat(src, "As a ghost, you will now [(prefs.toggles & PREFTOGGLE_CHAT_GHOSTRADIO) ? "hear all radio chat in the world" : "only hear from nearby speakers"].")
|
||||
prefs.save_preferences(src)
|
||||
feedback_add_details("admin_verb","TGR")
|
||||
SSblackbox.record_feedback("tally", "toggle_verbs", 1, "Toggle GhostRadio")
|
||||
|
||||
/client/proc/toggle_hear_radio()
|
||||
set name = "Show/Hide RadioChatter"
|
||||
@@ -35,7 +35,7 @@
|
||||
prefs.toggles ^= PREFTOGGLE_CHAT_RADIO
|
||||
prefs.save_preferences(src)
|
||||
to_chat(usr, "You will [(prefs.toggles & PREFTOGGLE_CHAT_RADIO) ? "now" : "no longer"] see radio chatter from radios or speakers")
|
||||
feedback_add_details("admin_verb","THR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "toggle_verbs", 1, "Toggle RadioChatter") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/verb/toggle_ai_voice_annoucements()
|
||||
set name = "Hear/Silence AI Voice Announcements"
|
||||
@@ -44,7 +44,7 @@
|
||||
prefs.sound ^= SOUND_AI_VOICE
|
||||
prefs.save_preferences(src)
|
||||
to_chat(usr, "[(prefs.sound & SOUND_AI_VOICE) ? "You will now hear AI announcements." : "AI annoucements will now be converted to text."] ")
|
||||
feedback_add_details("admin_verb","TAIvoice") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "toggle_verbs", 1, "Toggle AI Voice") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/toggleadminhelpsound()
|
||||
set name = "Hear/Silence Admin Bwoinks"
|
||||
@@ -55,7 +55,7 @@
|
||||
prefs.sound ^= SOUND_ADMINHELP
|
||||
prefs.save_preferences(src)
|
||||
to_chat(usr, "You will [(prefs.sound & SOUND_ADMINHELP) ? "now" : "no longer"] hear a sound when adminhelps arrive.")
|
||||
feedback_add_details("admin_verb","AHS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "toggle_verbs", 1, "Toggle Admin Bwoinks") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/togglementorhelpsound()
|
||||
set name = "Hear/Silence Mentorhelp Bwoinks"
|
||||
@@ -66,7 +66,7 @@
|
||||
prefs.sound ^= SOUND_MENTORHELP
|
||||
prefs.save_preferences(src)
|
||||
to_chat(usr, "You will [(prefs.sound & SOUND_MENTORHELP) ? "now" : "no longer"] hear a sound when mentorhelps arrive.")
|
||||
feedback_add_details("admin_verb","MHS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "toggle_verbs", 1, "Toggle Mentor Bwoinks") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/verb/deadchat() // Deadchat toggle is usable by anyone.
|
||||
set name = "Show/Hide Deadchat"
|
||||
@@ -80,7 +80,7 @@
|
||||
else
|
||||
to_chat(src, "As a ghost, you will [(prefs.toggles & PREFTOGGLE_CHAT_DEAD) ? "now" : "no longer"] see deadchat.")
|
||||
|
||||
feedback_add_details("admin_verb","TDV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "toggle_verbs", 1, "Toggle Deadchat") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/toggleprayers()
|
||||
set name = "Show/Hide Prayers"
|
||||
@@ -89,7 +89,7 @@
|
||||
prefs.toggles ^= PREFTOGGLE_CHAT_PRAYER
|
||||
prefs.save_preferences(src)
|
||||
to_chat(src, "You will [(prefs.toggles & PREFTOGGLE_CHAT_PRAYER) ? "now" : "no longer"] see prayerchat.")
|
||||
feedback_add_details("admin_verb","TP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "toggle_verbs", 1, "Toggle Prayers") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/verb/toggleprayernotify()
|
||||
set name = "Hear/Silence Prayer Notification Sound"
|
||||
@@ -98,7 +98,7 @@
|
||||
prefs.sound ^= SOUND_PRAYERNOTIFY
|
||||
prefs.save_preferences(src)
|
||||
to_chat(src, "You will [(prefs.sound & SOUND_PRAYERNOTIFY) ? "now" : "no longer"] hear when prayers are made.")
|
||||
feedback_add_details("admin_verb","TPS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "toggle_verbs", 1, "Toggle Prayer Sound") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/verb/togglescoreboard()
|
||||
set name = "Hide/Display End Round Scoreboard"
|
||||
@@ -107,7 +107,7 @@
|
||||
prefs.toggles ^= PREFTOGGLE_DISABLE_SCOREBOARD
|
||||
prefs.save_preferences(src)
|
||||
to_chat(src, "You will [(prefs.toggles & PREFTOGGLE_DISABLE_SCOREBOARD) ? "no longer" : "now"] see the end of round scoreboard.")
|
||||
feedback_add_details("admin_verb","TScoreboard") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "toggle_verbs", 1, "Toggle Scoreboard") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/verb/togglekarmareminder()
|
||||
set name = "Hide/Display End Round Karma Reminder"
|
||||
@@ -116,7 +116,7 @@
|
||||
prefs.toggles ^= PREFTOGGLE_DISABLE_KARMA_REMINDER
|
||||
prefs.save_preferences(src)
|
||||
to_chat(src, "You will [(prefs.toggles & PREFTOGGLE_DISABLE_KARMA_REMINDER) ? "no longer" : "now"] see the end of round karma reminder.")
|
||||
feedback_add_details("admin_verb","TKarmabugger") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "toggle_verbs", 1, "Toggle Karma Reminder") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/verb/toggletitlemusic()
|
||||
set name = "Hear/Silence LobbyMusic"
|
||||
@@ -132,7 +132,7 @@
|
||||
to_chat(src, "You will no longer hear music in the game lobby.")
|
||||
usr.stop_sound_channel(CHANNEL_LOBBYMUSIC)
|
||||
|
||||
feedback_add_details("admin_verb","TLobby") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "toggle_verbs", 1, "Toggle Lobby Music") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/verb/togglemidis()
|
||||
set name = "Hear/Silence Midis"
|
||||
@@ -146,7 +146,7 @@
|
||||
usr.stop_sound_channel(CHANNEL_ADMIN)
|
||||
|
||||
to_chat(src, "You will no longer hear sounds uploaded by admins; any currently playing midis have been disabled.")
|
||||
feedback_add_details("admin_verb","TMidi") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "toggle_verbs", 1, "Toggle MIDIs") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/verb/listen_ooc()
|
||||
set name = "Show/Hide OOC"
|
||||
@@ -155,7 +155,7 @@
|
||||
prefs.toggles ^= PREFTOGGLE_CHAT_OOC
|
||||
prefs.save_preferences(src)
|
||||
to_chat(src, "You will [(prefs.toggles & PREFTOGGLE_CHAT_OOC) ? "now" : "no longer"] see messages on the OOC channel.")
|
||||
feedback_add_details("admin_verb","TOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "toggle_verbs", 1, "Toggle OOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
/client/verb/listen_looc()
|
||||
@@ -165,7 +165,7 @@
|
||||
prefs.toggles ^= PREFTOGGLE_CHAT_LOOC
|
||||
prefs.save_preferences(src)
|
||||
to_chat(src, "You will [(prefs.toggles & PREFTOGGLE_CHAT_LOOC) ? "now" : "no longer"] see messages on the LOOC channel.")
|
||||
feedback_add_details("admin_verb","TLOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "toggle_verbs", 1, "Toggle LOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
/client/verb/Toggle_Soundscape() //All new ambience should be added here so it works with this verb until someone better at things comes up with a fix that isn't awful
|
||||
@@ -179,7 +179,7 @@
|
||||
else
|
||||
to_chat(src, "You will no longer hear ambient sounds.")
|
||||
usr.stop_sound_channel(CHANNEL_AMBIENCE)
|
||||
feedback_add_details("admin_verb","TAmbi") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "toggle_verbs", 1, "Toggle Ambience") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/verb/Toggle_Buzz() //No more headaches because headphones bump up shipambience.ogg to insanity levels.
|
||||
set name = "Hear/Silence White Noise"
|
||||
@@ -192,7 +192,7 @@
|
||||
else
|
||||
to_chat(src, "You will no longer hear ambient white noise.")
|
||||
usr.stop_sound_channel(CHANNEL_BUZZ)
|
||||
feedback_add_details("admin_verb","TBuzz") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "toggle_verbs", 1, "Toggle Whitenoise") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
/client/verb/Toggle_Heartbeat() //to toggle off heartbeat sounds, in case they get too annoying
|
||||
@@ -206,7 +206,7 @@
|
||||
else
|
||||
to_chat(src, "You will no longer hear heartbeat sounds.")
|
||||
usr.stop_sound_channel(CHANNEL_HEARTBEAT)
|
||||
feedback_add_details("admin_verb","Thb") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "toggle_verbs", 1, "Toggle Hearbeat") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
// This needs a toggle because you people are awful and spammed terrible music
|
||||
/client/verb/toggle_instruments()
|
||||
@@ -219,7 +219,7 @@
|
||||
to_chat(src, "You will now hear people playing musical instruments.")
|
||||
else
|
||||
to_chat(src, "You will no longer hear musical instruments.")
|
||||
feedback_add_details("admin_verb","TInstru") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "toggle_verbs", 1, "Toggle Instruments") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/verb/Toggle_disco() //to toggle off the disco machine locally, in case it gets too annoying
|
||||
set name = "Hear/Silence Dance Machine"
|
||||
@@ -232,7 +232,7 @@
|
||||
else
|
||||
to_chat(src, "You will no longer hear or dance to the radiant dance machine.")
|
||||
usr.stop_sound_channel(CHANNEL_JUKEBOX)
|
||||
feedback_add_details("admin_verb","Tdd") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "toggle_verbs", 1, "Toggle Dance Machine") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/verb/setup_character()
|
||||
set name = "Game Preferences"
|
||||
@@ -251,7 +251,7 @@
|
||||
activate_darkmode()
|
||||
else
|
||||
deactivate_darkmode()
|
||||
feedback_add_details("admin_verb","TDarkmode") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "toggle_verbs", 1, "Toggle Darkmode") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/verb/toggle_karma()
|
||||
set name = "Toggle Karma Gains"
|
||||
@@ -306,7 +306,7 @@
|
||||
prefs.toggles ^= PREFTOGGLE_CHAT_GHOSTPDA
|
||||
to_chat(src, "As a ghost, you will now [(prefs.toggles & PREFTOGGLE_CHAT_GHOSTPDA) ? "see all PDA messages" : "no longer see PDA messages"].")
|
||||
prefs.save_preferences(src)
|
||||
feedback_add_details("admin_verb","TGP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "toggle_verbs", 1, "Toggle Ghost PDA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/verb/silence_current_midi()
|
||||
set name = "Silence Current Midi"
|
||||
|
||||
@@ -171,7 +171,7 @@
|
||||
if(isitem(I))
|
||||
user.put_in_hands(I)
|
||||
if(send_feedback)
|
||||
feedback_add_details("object_crafted","[I.type]")
|
||||
SSblackbox.record_feedback("tally", "object_crafted", 1, I.type)
|
||||
return 0
|
||||
return "."
|
||||
return ", missing tool."
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
set category = "Event"
|
||||
if(SSevents)
|
||||
SSevents.Interact(usr)
|
||||
feedback_add_details("admin_verb","EMP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Event Manager") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
|
||||
/proc/findEventArea() //Here's a nice proc to use to find an area for your event to land in!
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
return
|
||||
for(var/i in 1 to (C+processor.rating_amount-1))
|
||||
new S.coretype(processor.drop_location())
|
||||
feedback_add_details("slime_core_harvested","[replacetext(S.colour," ","_")]")
|
||||
SSblackbox.record_feedback("tally", "slime_core_harvested", 1, S.colour)
|
||||
..()
|
||||
|
||||
/datum/food_processor_process/mob/monkey
|
||||
|
||||
@@ -154,7 +154,7 @@
|
||||
t_amount++
|
||||
product_name = t_prod.name
|
||||
if(getYield() >= 1)
|
||||
feedback_add_details("food_harvested","[product_name]|[getYield()]")
|
||||
SSblackbox.record_feedback("tally", "food_harvested", getYield(), product_name)
|
||||
parent.update_tray()
|
||||
|
||||
return result
|
||||
|
||||
@@ -44,15 +44,15 @@
|
||||
update_icon()
|
||||
desc = "All that remains of a hivelord. It is preserved, allowing you to use it to heal completely without danger of decay."
|
||||
if(implanted)
|
||||
feedback_add_details("hivelord_core", "[type]|implanted")
|
||||
SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "implanted"))
|
||||
else
|
||||
feedback_add_details("hivelord_core", "[type]|stabilizer")
|
||||
SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "stabilizer"))
|
||||
|
||||
/obj/item/organ/internal/regenerative_core/proc/go_inert()
|
||||
inert = TRUE
|
||||
name = "decayed regenerative core"
|
||||
desc = "All that remains of a hivelord. It has decayed, and is completely useless."
|
||||
feedback_add_details("hivelord_core", "[src.type]|inert")
|
||||
SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "inert"))
|
||||
update_icon()
|
||||
|
||||
/obj/item/organ/internal/regenerative_core/ui_action_click()
|
||||
@@ -80,10 +80,10 @@
|
||||
return
|
||||
if(H != user)
|
||||
H.visible_message("[user] forces [H] to apply [src]... Black tendrils entangle and reinforce [H.p_them()]!")
|
||||
feedback_add_details("hivelord_core","[src.type]|used|other")
|
||||
SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "other"))
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You start to smear [src] on yourself. Disgusting tendrils hold you together and allow you to keep moving, but for how long?</span>")
|
||||
feedback_add_details("hivelord_core","[src.type]|used|self")
|
||||
SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "self"))
|
||||
H.apply_status_effect(STATUS_EFFECT_REGENERATIVE_CORE)
|
||||
user.drop_item()
|
||||
qdel(src)
|
||||
|
||||
@@ -253,7 +253,7 @@
|
||||
user.update_sight()
|
||||
to_chat(user, "<span class='notice'>The wisp enhances your vision.</span>")
|
||||
|
||||
feedback_add_details("wisp_lantern","F") // freed
|
||||
SSblackbox.record_feedback("tally", "wisp_lantern", 1, "Freed") // freed
|
||||
else
|
||||
UnregisterSignal(user, COMSIG_MOB_UPDATE_SIGHT)
|
||||
|
||||
@@ -266,7 +266,7 @@
|
||||
to_chat(user, "<span class='notice'>Your vision returns to normal.</span>")
|
||||
|
||||
icon_state = "lantern-blue"
|
||||
feedback_add_details("wisp_lantern","R") // returned
|
||||
SSblackbox.record_feedback("tally", "wisp_lantern", 1, "Returned") // returned
|
||||
|
||||
/obj/item/wisp_lantern/Initialize(mapload)
|
||||
. = ..()
|
||||
@@ -321,7 +321,7 @@
|
||||
smoke.start()
|
||||
|
||||
user.forceMove(get_turf(linked))
|
||||
feedback_add_details("warp_cube","[src.type]")
|
||||
SSblackbox.record_feedback("tally", "warp_cube", 1, type)
|
||||
|
||||
var/datum/effect_system/smoke_spread/smoke2 = new
|
||||
smoke2.set_up(1, 0, user.loc)
|
||||
@@ -415,7 +415,7 @@
|
||||
|
||||
/obj/item/immortality_talisman/attack_self(mob/user)
|
||||
if(cooldown < world.time)
|
||||
feedback_add_details("immortality_talisman","U") // usage
|
||||
SSblackbox.record_feedback("amount", "immortality_talisman_uses", 1) // usage
|
||||
cooldown = world.time + 600
|
||||
user.visible_message("<span class='danger'>[user] vanishes from reality, leaving a a hole in [user.p_their()] place!</span>")
|
||||
var/obj/effect/immortality_talisman/Z = new(get_turf(src.loc))
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
|
||||
if(radio_action)
|
||||
radio_action.UpdateButtonIcon()
|
||||
feedback_inc("cyborg_mmis_filled",1)
|
||||
SSblackbox.record_feedback("amount", "mmis_filled", 1)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You can't drop [B]!</span>")
|
||||
|
||||
|
||||
@@ -106,8 +106,7 @@
|
||||
dna.species.handle_death(gibbed, src)
|
||||
|
||||
if(SSticker && SSticker.mode)
|
||||
// log_world("k")
|
||||
sql_report_death(src)
|
||||
SSblackbox.ReportDeath(src)
|
||||
|
||||
/mob/living/carbon/human/update_revive()
|
||||
. = ..()
|
||||
|
||||
@@ -72,4 +72,4 @@
|
||||
|
||||
update_icons()
|
||||
|
||||
sql_report_cyborg_death(src)
|
||||
SSblackbox.ReportDeath(src)
|
||||
|
||||
@@ -436,8 +436,6 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
|
||||
module = new /obj/item/robot_module/alien/hunter(src)
|
||||
icon_state = "xenoborg-state-a"
|
||||
modtype = "Xeno-Hu"
|
||||
feedback_inc("xeborg_hunter",1)
|
||||
|
||||
|
||||
//languages
|
||||
module.add_languages(src)
|
||||
@@ -449,7 +447,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
|
||||
module_sprites["Custom"] = "[src.ckey]-[modtype]"
|
||||
|
||||
hands.icon_state = lowertext(module.module_type)
|
||||
feedback_inc("cyborg_[lowertext(modtype)]",1)
|
||||
SSblackbox.record_feedback("tally", "cyborg_modtype", 1, "[lowertext(modtype)]")
|
||||
rename_character(real_name, get_default_name())
|
||||
|
||||
if(modtype == "Medical" || modtype == "Security" || modtype == "Combat")
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
spawn_crusher_loot()
|
||||
if(!elimination) //used so the achievment only occurs for the last legion to die.
|
||||
grant_achievement(medal_type,score_type)
|
||||
feedback_set_details("megafauna_kills","[initial(name)]")
|
||||
SSblackbox.record_feedback("tally", "megafauna_kills", 1, "[initial(name)]")
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/proc/spawn_crusher_loot()
|
||||
|
||||
@@ -191,7 +191,7 @@
|
||||
M.Friends = Friends.Copy()
|
||||
babies += M
|
||||
M.mutation_chance = clamp(mutation_chance+(rand(5,-5)),0,100)
|
||||
feedback_add_details("slime_babies_born", "slimebirth_[replacetext(M.colour," ","_")]")
|
||||
SSblackbox.record_feedback("tally", "slime_babies_born", 1, M.colour)
|
||||
|
||||
var/mob/living/simple_animal/slime/new_slime = pick(babies)
|
||||
new_slime.a_intent = INTENT_HARM
|
||||
|
||||
@@ -964,6 +964,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \
|
||||
show_stat_turf_contents()
|
||||
|
||||
statpanel("Status") // We only want alt-clicked turfs to come before Status
|
||||
stat(null, "Round ID: [GLOB.round_id ? GLOB.round_id : "NULL"]")
|
||||
|
||||
if(mob_spell_list && mob_spell_list.len)
|
||||
for(var/obj/effect/proc_holder/spell/S in mob_spell_list)
|
||||
|
||||
@@ -99,7 +99,7 @@ GLOBAL_LIST_EMPTY(typing_indicator)
|
||||
if(istype(mob))
|
||||
mob.set_typing_indicator(FALSE)
|
||||
|
||||
feedback_add_details("admin_verb", "TID") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "toggle_verbs", 1, "Toggle Typing Indicator (Speech)") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
/client/verb/emote_indicator()
|
||||
@@ -110,6 +110,6 @@ GLOBAL_LIST_EMPTY(typing_indicator)
|
||||
prefs.save_preferences(src)
|
||||
to_chat(src, "You will [(prefs.toggles2 & PREFTOGGLE_2_EMOTE_BUBBLE) ? "no longer" : "now"] display a typing indicator for emotes.")
|
||||
|
||||
feedback_add_details("admin_verb", "EID") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "toggle_verbs", 1, "Toggle Typing Indicator (Emote)") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
#undef TYPING_INDICATOR_LIFETIME
|
||||
|
||||
@@ -487,7 +487,7 @@
|
||||
return
|
||||
FC = new
|
||||
GLOB.news_network.channels += FC
|
||||
feedback_inc("newscaster_channels", 1)
|
||||
SSblackbox.record_feedback("amount", "newscaster_channels", 1)
|
||||
// Redirect
|
||||
screen = NEWSCASTER_CHANNEL
|
||||
viewing_channel = FC
|
||||
@@ -524,7 +524,7 @@
|
||||
FM.admin_locked = usr.can_admin_interact() && admin_locked
|
||||
// Register it
|
||||
FC.add_message(FM)
|
||||
feedback_inc("newscaster_stories", 1)
|
||||
SSblackbox.record_feedback("amount", "newscaster_stories", 1)
|
||||
var/announcement = FC.get_announce_text(title)
|
||||
// Announce it
|
||||
for(var/nc in GLOB.allNewscasters)
|
||||
@@ -646,7 +646,7 @@
|
||||
if(paper_remaining <= 0 || is_printing)
|
||||
return
|
||||
paper_remaining--
|
||||
feedback_inc("newscaster_newspapers_printed", 1)
|
||||
SSblackbox.record_feedback("amount", "newscaster_newspapers_printed",1)
|
||||
// Print it
|
||||
is_printing = TRUE
|
||||
playsound(loc, 'sound/goonstation/machines/printer_dotmatrix.ogg', 50, TRUE)
|
||||
|
||||
@@ -26,7 +26,7 @@ GLOBAL_LIST_EMPTY(adminfaxes)
|
||||
set category = "Event"
|
||||
if(holder)
|
||||
holder.fax_panel(usr)
|
||||
feedback_add_details("admin_verb","FXP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Fax Panel") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
|
||||
/datum/admins/proc/fax_panel(var/mob/living/user)
|
||||
|
||||
@@ -282,7 +282,7 @@
|
||||
user.update_inv_l_hand()
|
||||
else
|
||||
user.update_inv_r_hand()
|
||||
feedback_add_details("gun_fired","[type]")
|
||||
SSblackbox.record_feedback("tally", "gun_fired", 1, type)
|
||||
|
||||
/obj/item/gun/attack(mob/M, mob/user)
|
||||
if(user.a_intent == INTENT_HARM) //Flogging
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
spawn(0)
|
||||
current_beam.Start()
|
||||
|
||||
feedback_add_details("gun_fired","[type]")
|
||||
SSblackbox.record_feedback("tally", "gun_fired", 1, type)
|
||||
|
||||
/obj/item/gun/medbeam/process()
|
||||
var/source = loc
|
||||
|
||||
@@ -439,7 +439,7 @@
|
||||
|
||||
var/created_volume = C.result_amount*multiplier
|
||||
if(C.result)
|
||||
feedback_add_details("chemical_reaction","[C.result]|[C.result_amount*multiplier]")
|
||||
SSblackbox.record_feedback("tally", "chemical_reaction", C.result_amount * multiplier, C.result)
|
||||
multiplier = max(multiplier, 1) //this shouldnt happen ...
|
||||
add_reagent(C.result, C.result_amount*multiplier)
|
||||
set_data(C.result, preserved_data)
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimespawn/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/mob/living/simple_animal/slime/S = new(get_turf(holder.my_atom), "grey")
|
||||
S.visible_message("<span class='danger'>Infused with plasma, the core begins to quiver and grow, and a new baby slime emerges from it!</span>")
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
required_container = /obj/item/slime_extract/grey
|
||||
|
||||
/datum/chemical_reaction/slimeinaprov/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
|
||||
/datum/chemical_reaction/slimemonkey
|
||||
name = "Slime Monkey"
|
||||
@@ -36,7 +36,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimemonkey/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
for(var/i = 1, i <= 3, i++)
|
||||
var/obj/item/reagent_containers/food/snacks/monkeycube/M = new /obj/item/reagent_containers/food/snacks/monkeycube
|
||||
M.forceMove(get_turf(holder.my_atom))
|
||||
@@ -52,7 +52,7 @@
|
||||
required_container = /obj/item/slime_extract/green
|
||||
|
||||
/datum/chemical_reaction/slimemutate/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
|
||||
//Metal
|
||||
/datum/chemical_reaction/slimemetal
|
||||
@@ -65,7 +65,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimemetal/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/turf/location = get_turf(holder.my_atom)
|
||||
new /obj/item/stack/sheet/plasteel (location, 5)
|
||||
new /obj/item/stack/sheet/metal (location, 15)
|
||||
@@ -80,7 +80,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimeglass/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/turf/location = get_turf(holder.my_atom)
|
||||
new /obj/item/stack/sheet/rglass (location, 5)
|
||||
new /obj/item/stack/sheet/glass (location, 15)
|
||||
@@ -96,7 +96,7 @@
|
||||
required_other = TRUE
|
||||
|
||||
/datum/chemical_reaction/slimemobspawn/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used", "[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/turf/T = get_turf(holder.my_atom)
|
||||
summon_mobs(holder, T)
|
||||
|
||||
@@ -134,7 +134,7 @@
|
||||
|
||||
/datum/chemical_reaction/slimebork/on_reaction(datum/reagents/holder)
|
||||
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/list/blocked = list(/obj/item/reagent_containers/food/snacks,
|
||||
/obj/item/reagent_containers/food/snacks/breadslice,
|
||||
/obj/item/reagent_containers/food/snacks/sliceable,
|
||||
@@ -180,7 +180,7 @@
|
||||
|
||||
/datum/chemical_reaction/slimebork2/on_reaction(datum/reagents/holder)
|
||||
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/list/borks = subtypesof(/obj/item/reagent_containers/food/drinks)
|
||||
var/list/blocked = list(/obj/item/reagent_containers/food/drinks/cans/adminbooze,
|
||||
/obj/item/reagent_containers/food/drinks/cans/madminmalt,
|
||||
@@ -225,7 +225,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimefrost/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
|
||||
/datum/chemical_reaction/slimestabilizer
|
||||
name = "Slime Stabilizer"
|
||||
@@ -237,7 +237,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimestabilizer/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/obj/item/slimepotion/slime/stabilizer/P = new /obj/item/slimepotion/slime/stabilizer
|
||||
P.forceMove(get_turf(holder.my_atom))
|
||||
|
||||
@@ -252,7 +252,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimefreeze/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/turf/T = get_turf(holder.my_atom)
|
||||
T.visible_message("<span class='danger'>The slime extract begins to vibrate adorably !</span>")
|
||||
spawn(50)
|
||||
@@ -273,7 +273,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimefireproof/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/obj/item/slimepotion/fireproof/P = new /obj/item/slimepotion/fireproof
|
||||
P.forceMove(get_turf(holder.my_atom))
|
||||
|
||||
@@ -288,7 +288,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimecasp/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
|
||||
/datum/chemical_reaction/slimefire
|
||||
name = "Slime fire"
|
||||
@@ -300,7 +300,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimefire/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/turf/TU = get_turf(holder.my_atom)
|
||||
TU.visible_message("<span class='danger'>The slime extract begins to vibrate adorably !</span>")
|
||||
spawn(50)
|
||||
@@ -321,7 +321,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimeoverload/on_reaction(datum/reagents/holder, created_volume)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
empulse(get_turf(holder.my_atom), 3, 7, 1)
|
||||
|
||||
|
||||
@@ -335,7 +335,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimecell/on_reaction(datum/reagents/holder, created_volume)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/obj/item/stock_parts/cell/high/slime/P = new /obj/item/stock_parts/cell/high/slime
|
||||
P.forceMove(get_turf(holder.my_atom))
|
||||
|
||||
@@ -349,7 +349,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimeglow/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/turf/T = get_turf(holder.my_atom)
|
||||
T.visible_message("<span class='danger'>The slime begins to emit a soft light. Squeezing it will cause it to grow brightly.</span>")
|
||||
var/obj/item/flashlight/slime/F = new /obj/item/flashlight/slime
|
||||
@@ -367,7 +367,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimepsteroid/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/obj/item/slimepotion/slime/steroid/P = new /obj/item/slimepotion/slime/steroid
|
||||
P.forceMove(get_turf(holder.my_atom))
|
||||
|
||||
@@ -381,7 +381,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimejam/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
|
||||
|
||||
//Dark Purple
|
||||
@@ -395,7 +395,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimeplasma/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/turf/location = get_turf(holder.my_atom)
|
||||
new /obj/item/stack/sheet/mineral/plasma (location, 3)
|
||||
|
||||
@@ -410,7 +410,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimemutator/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/obj/item/slimepotion/slime/mutator/P = new /obj/item/slimepotion/slime/mutator
|
||||
P.forceMove(get_turf(holder.my_atom))
|
||||
|
||||
@@ -424,7 +424,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimebloodlust/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
for(var/mob/living/simple_animal/slime/slime in viewers(get_turf(holder.my_atom), null))
|
||||
if(slime.docile) //Undoes docility, but doesn't make rabid.
|
||||
slime.visible_message("<span class='danger'>[slime] forgets its training, becoming wild once again!</span>")
|
||||
@@ -445,7 +445,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimespeed/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/obj/item/slimepotion/speed/P = new /obj/item/slimepotion/speed
|
||||
P.forceMove(get_turf(holder.my_atom))
|
||||
|
||||
@@ -461,7 +461,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/docility/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/obj/item/slimepotion/slime/docility/P = new /obj/item/slimepotion/slime/docility
|
||||
P.forceMove(get_turf(holder.my_atom))
|
||||
|
||||
@@ -477,7 +477,7 @@
|
||||
required_container = /obj/item/slime_extract/black
|
||||
|
||||
/datum/chemical_reaction/slimemutate2/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
|
||||
//Oil
|
||||
/datum/chemical_reaction/slimeexplosion
|
||||
@@ -490,7 +490,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimeexplosion/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/turf/T = get_turf(holder.my_atom)
|
||||
T.visible_message("<span class='danger'>The slime extract begins to vibrate violently !</span>")
|
||||
spawn(50)
|
||||
@@ -508,7 +508,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimepotion2/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/obj/item/slimepotion/sentience/P = new /obj/item/slimepotion/sentience
|
||||
P.forceMove(get_turf(holder.my_atom))
|
||||
|
||||
@@ -523,7 +523,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimegolem/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
new /obj/item/stack/sheet/mineral/adamantine(get_turf(holder.my_atom))
|
||||
|
||||
//Bluespace
|
||||
@@ -537,7 +537,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimefloor2/on_reaction(datum/reagents/holder, created_volume)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/obj/item/stack/tile/bluespace/P = new /obj/item/stack/tile/bluespace
|
||||
P.amount = 25
|
||||
P.forceMove(get_turf(holder.my_atom))
|
||||
@@ -553,7 +553,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimecrystal/on_reaction(datum/reagents/holder, created_volume)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
if(holder.my_atom)
|
||||
var/obj/item/stack/ore/bluespace_crystal/BC = new(get_turf(holder.my_atom))
|
||||
BC.visible_message("<span class='notice'>The [BC.name] appears out of thin air!</span>")
|
||||
@@ -569,7 +569,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimepsteroid2/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/obj/item/slimepotion/enhancer/P = new /obj/item/slimepotion/enhancer
|
||||
P.forceMove(get_turf(holder.my_atom))
|
||||
|
||||
@@ -585,7 +585,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime_territory/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/obj/item/areaeditor/blueprints/slime/P = new /obj/item/areaeditor/blueprints/slime
|
||||
P.forceMove(get_turf(holder.my_atom))
|
||||
|
||||
@@ -600,7 +600,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimestop/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/mob/mob = get_mob_by_key(holder.my_atom.fingerprintslast)
|
||||
var/obj/effect/timestop/T = new /obj/effect/timestop
|
||||
T.forceMove(get_turf(holder.my_atom))
|
||||
@@ -618,7 +618,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimecamera/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/obj/item/camera/P = new /obj/item/camera
|
||||
P.forceMove(get_turf(holder.my_atom))
|
||||
var/obj/item/camera_film/Z = new /obj/item/camera_film
|
||||
@@ -634,7 +634,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimefloor/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/obj/item/stack/tile/sepia/P = new /obj/item/stack/tile/sepia
|
||||
P.amount = 25
|
||||
P.forceMove(get_turf(holder.my_atom))
|
||||
@@ -653,7 +653,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slimepaint/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/list/paints = subtypesof(/obj/item/reagent_containers/glass/paint)
|
||||
var/chosen = pick(paints)
|
||||
var/obj/P = new chosen
|
||||
@@ -671,7 +671,7 @@
|
||||
required_container = /obj/item/slime_extract/rainbow
|
||||
|
||||
/datum/chemical_reaction/slimeRNG/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/mob/living/simple_animal/slime/random/S = new (get_turf(holder.my_atom))
|
||||
S.visible_message("<span class='danger'>Infused with plasma, the core begins to quiver and grow, and a new baby slime emerges from it!</span>")
|
||||
|
||||
@@ -685,6 +685,6 @@
|
||||
required_container = /obj/item/slime_extract/rainbow
|
||||
|
||||
/datum/chemical_reaction/slime_transfer/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/obj/item/slimepotion/transference/P = new /obj/item/slimepotion/transference
|
||||
P.forceMove(get_turf(holder.my_atom))
|
||||
|
||||
@@ -368,7 +368,6 @@
|
||||
if( contents.len )
|
||||
if(mode == 2)
|
||||
spawn(0)
|
||||
feedback_inc("disposal_auto_flush",1)
|
||||
flush()
|
||||
flush_count = 0
|
||||
|
||||
|
||||
@@ -130,70 +130,6 @@ GLOBAL_LIST_EMPTY(message_servers)
|
||||
icon_state = "server-on"
|
||||
|
||||
return
|
||||
|
||||
|
||||
/datum/feedback_variable
|
||||
var/variable
|
||||
var/value
|
||||
var/details
|
||||
|
||||
/datum/feedback_variable/New(var/param_variable,var/param_value = 0)
|
||||
variable = param_variable
|
||||
value = param_value
|
||||
|
||||
/datum/feedback_variable/vv_edit_var(var_name, var_value)
|
||||
return FALSE // come on guys don't break the stats
|
||||
|
||||
/datum/feedback_variable/proc/inc(var/num = 1)
|
||||
if(isnum(value))
|
||||
value += num
|
||||
else
|
||||
value = text2num(value)
|
||||
if(isnum(value))
|
||||
value += num
|
||||
else
|
||||
value = num
|
||||
|
||||
/datum/feedback_variable/proc/dec(var/num = 1)
|
||||
if(isnum(value))
|
||||
value -= num
|
||||
else
|
||||
value = text2num(value)
|
||||
if(isnum(value))
|
||||
value -= num
|
||||
else
|
||||
value = -num
|
||||
|
||||
/datum/feedback_variable/proc/set_value(var/num)
|
||||
if(isnum(num))
|
||||
value = num
|
||||
|
||||
/datum/feedback_variable/proc/get_value()
|
||||
return value
|
||||
|
||||
/datum/feedback_variable/proc/get_variable()
|
||||
return variable
|
||||
|
||||
/datum/feedback_variable/proc/set_details(var/text)
|
||||
if(istext(text))
|
||||
details = text
|
||||
|
||||
/datum/feedback_variable/proc/add_details(var/text)
|
||||
if(istext(text))
|
||||
if(!details)
|
||||
details = text
|
||||
else
|
||||
details += " [text]"
|
||||
|
||||
/datum/feedback_variable/proc/get_details()
|
||||
return details
|
||||
|
||||
/datum/feedback_variable/proc/get_parsed()
|
||||
return list(variable,value,details)
|
||||
|
||||
GLOBAL_DATUM(blackbox, /obj/machinery/blackbox_recorder)
|
||||
|
||||
//TODO: kill whoever designed this cancer
|
||||
/obj/machinery/blackbox_recorder
|
||||
icon = 'icons/obj/stationobjs.dmi'
|
||||
icon_state = "blackbox"
|
||||
@@ -203,219 +139,4 @@ GLOBAL_DATUM(blackbox, /obj/machinery/blackbox_recorder)
|
||||
use_power = IDLE_POWER_USE
|
||||
idle_power_usage = 10
|
||||
active_power_usage = 100
|
||||
var/list/messages = list() //Stores messages of non-standard frequencies
|
||||
var/list/messages_admin = list()
|
||||
|
||||
var/list/msg_common = list()
|
||||
var/list/msg_science = list()
|
||||
var/list/msg_command = list()
|
||||
var/list/msg_medical = list()
|
||||
var/list/msg_engineering = list()
|
||||
var/list/msg_security = list()
|
||||
var/list/msg_deathsquad = list()
|
||||
var/list/msg_syndicate = list()
|
||||
var/list/msg_syndteam = list()
|
||||
var/list/msg_mining = list()
|
||||
var/list/msg_cargo = list()
|
||||
var/list/msg_service = list()
|
||||
|
||||
var/list/datum/feedback_variable/feedback = new()
|
||||
|
||||
//Only one can exsist in the world!
|
||||
/obj/machinery/blackbox_recorder/New()
|
||||
SHOULD_CALL_PARENT(FALSE) // TODO: I still need to shoot this
|
||||
if(GLOB.blackbox)
|
||||
if(istype(GLOB.blackbox,/obj/machinery/blackbox_recorder))
|
||||
qdel(src)
|
||||
GLOB.blackbox = src
|
||||
|
||||
/obj/machinery/blackbox_recorder/Destroy()
|
||||
// If the blackbox on station is destroyed, it is moved to the admin level
|
||||
// It is very clear that the person who made this doesnt know what a datum is
|
||||
// and thinks that an object which is vital for backend logging of when rounds end and begin
|
||||
// should not only be destroyable, but also an on-station. Whoever designed this needs to be educated
|
||||
// Thank you for coming to my ted talk, -aa
|
||||
|
||||
// Hardcoded Zlevel numbers are bad, so we use the level name to grab the admin Z level
|
||||
var/admin_zlevel = level_name_to_num(CENTCOMM)
|
||||
var/turf/T = locate(1, 1, admin_zlevel)
|
||||
if(T)
|
||||
GLOB.blackbox = null
|
||||
var/obj/machinery/blackbox_recorder/BR = new/obj/machinery/blackbox_recorder(T)
|
||||
BR.msg_common = msg_common
|
||||
BR.msg_science = msg_science
|
||||
BR.msg_command = msg_command
|
||||
BR.msg_medical = msg_medical
|
||||
BR.msg_engineering = msg_engineering
|
||||
BR.msg_security = msg_security
|
||||
BR.msg_deathsquad = msg_deathsquad
|
||||
BR.msg_syndicate = msg_syndicate
|
||||
BR.msg_syndteam = msg_syndteam
|
||||
BR.msg_mining = msg_mining
|
||||
BR.msg_cargo = msg_cargo
|
||||
BR.msg_service = msg_service
|
||||
BR.feedback = feedback
|
||||
BR.messages = messages
|
||||
BR.messages_admin = messages_admin
|
||||
if(GLOB.blackbox != BR)
|
||||
GLOB.blackbox = BR
|
||||
return ..()
|
||||
|
||||
/obj/machinery/blackbox_recorder/proc/find_feedback_datum(var/variable)
|
||||
for(var/datum/feedback_variable/FV in feedback)
|
||||
if(FV.get_variable() == variable)
|
||||
return FV
|
||||
var/datum/feedback_variable/FV = new(variable)
|
||||
feedback += FV
|
||||
return FV
|
||||
|
||||
/obj/machinery/blackbox_recorder/proc/get_round_feedback()
|
||||
return feedback
|
||||
|
||||
/obj/machinery/blackbox_recorder/proc/round_end_data_gathering()
|
||||
|
||||
var/pda_msg_amt = 0
|
||||
var/rc_msg_amt = 0
|
||||
|
||||
for(var/obj/machinery/message_server/MS in GLOB.machines)
|
||||
if(MS.pda_msgs.len > pda_msg_amt)
|
||||
pda_msg_amt = MS.pda_msgs.len
|
||||
if(MS.rc_msgs.len > rc_msg_amt)
|
||||
rc_msg_amt = MS.rc_msgs.len
|
||||
|
||||
feedback_set_details("radio_usage","")
|
||||
|
||||
feedback_add_details("radio_usage","COM-[msg_common.len]")
|
||||
feedback_add_details("radio_usage","SCI-[msg_science.len]")
|
||||
feedback_add_details("radio_usage","HEA-[msg_command.len]")
|
||||
feedback_add_details("radio_usage","MED-[msg_medical.len]")
|
||||
feedback_add_details("radio_usage","ENG-[msg_engineering.len]")
|
||||
feedback_add_details("radio_usage","SEC-[msg_security.len]")
|
||||
feedback_add_details("radio_usage","DTH-[msg_deathsquad.len]")
|
||||
feedback_add_details("radio_usage","SYN-[msg_syndicate.len]")
|
||||
feedback_add_details("radio_usage","SYT-[msg_syndteam.len]")
|
||||
feedback_add_details("radio_usage","MIN-[msg_mining.len]")
|
||||
feedback_add_details("radio_usage","CAR-[msg_cargo.len]")
|
||||
feedback_add_details("radio_usage","SRV-[msg_service.len]")
|
||||
feedback_add_details("radio_usage","OTH-[messages.len]")
|
||||
feedback_add_details("radio_usage","PDA-[pda_msg_amt]")
|
||||
feedback_add_details("radio_usage","RC-[rc_msg_amt]")
|
||||
|
||||
|
||||
feedback_set_details("round_end","[time2text(world.realtime)]") //This one MUST be the last one that gets set.
|
||||
|
||||
|
||||
//This proc is only to be called at round end.
|
||||
/obj/machinery/blackbox_recorder/proc/save_all_data_to_sql()
|
||||
if(IsAdminAdvancedProcCall())
|
||||
to_chat(usr, "<span class='boldannounce'>Blackbox seal blocked: Advanced ProcCall detected.</span>")
|
||||
message_admins("[key_name(usr)] attempted to seal the blackbox via advanced proc-call")
|
||||
log_admin("[key_name(usr)] attempted to seal the blackbox via advanced proc-call")
|
||||
return
|
||||
if(!feedback) return
|
||||
|
||||
round_end_data_gathering() //round_end time logging and some other data processing
|
||||
|
||||
if(!SSdbcore.IsConnected())
|
||||
return
|
||||
var/round_id
|
||||
|
||||
var/datum/db_query/query_roundid = SSdbcore.NewQuery("SELECT MAX(round_id) AS round_id FROM [format_table_name("feedback")]")
|
||||
if(!query_roundid.warn_execute())
|
||||
qdel(query_roundid)
|
||||
return
|
||||
while(query_roundid.NextRow())
|
||||
round_id = query_roundid.item[1]
|
||||
|
||||
if(!isnum(round_id))
|
||||
round_id = text2num(round_id)
|
||||
round_id++
|
||||
|
||||
qdel(query_roundid)
|
||||
|
||||
for(var/datum/feedback_variable/FV in feedback)
|
||||
var/sql = "INSERT INTO [format_table_name("feedback")] VALUES (null, Now(), :rid, :var, :val, :details)"
|
||||
var/datum/db_query/query_insert = SSdbcore.NewQuery(sql, list(
|
||||
"rid" = text2num(round_id),
|
||||
"var" = FV.get_variable(),
|
||||
"val" = FV.get_value(),
|
||||
"details" = FV.get_details()
|
||||
))
|
||||
if(!query_insert.warn_execute())
|
||||
qdel(query_insert)
|
||||
return
|
||||
qdel(query_insert)
|
||||
|
||||
/obj/machinery/blackbox_recorder/vv_edit_var(var_name, var_value)
|
||||
return FALSE // don't fuck with the stupid blackbox shit
|
||||
|
||||
|
||||
/proc/feedback_set(var/variable,var/value)
|
||||
if(IsAdminAdvancedProcCall())
|
||||
to_chat(usr, "<span class='boldannounce'>Feedback edit blocked: Advanced ProcCall detected.</span>")
|
||||
message_admins("[key_name(usr)] attempted to edit feedback data via advanced proc-call")
|
||||
log_admin("[key_name(usr)] attempted to edit feedback data via advanced proc-call")
|
||||
return
|
||||
if(!GLOB.blackbox) return
|
||||
|
||||
var/datum/feedback_variable/FV = GLOB.blackbox.find_feedback_datum(variable)
|
||||
|
||||
if(!FV) return
|
||||
|
||||
FV.set_value(value)
|
||||
|
||||
/proc/feedback_inc(var/variable,var/value)
|
||||
if(IsAdminAdvancedProcCall())
|
||||
to_chat(usr, "<span class='boldannounce'>Feedback edit blocked: Advanced ProcCall detected.</span>")
|
||||
message_admins("[key_name(usr)] attempted to edit feedback data via advanced proc-call")
|
||||
log_admin("[key_name(usr)] attempted to edit feedback data via advanced proc-call")
|
||||
return
|
||||
if(!GLOB.blackbox) return
|
||||
|
||||
var/datum/feedback_variable/FV = GLOB.blackbox.find_feedback_datum(variable)
|
||||
|
||||
if(!FV) return
|
||||
|
||||
FV.inc(value)
|
||||
|
||||
/proc/feedback_dec(var/variable,var/value)
|
||||
if(IsAdminAdvancedProcCall())
|
||||
to_chat(usr, "<span class='boldannounce'>Feedback edit blocked: Advanced ProcCall detected.</span>")
|
||||
message_admins("[key_name(usr)] attempted to edit feedback data via advanced proc-call")
|
||||
log_admin("[key_name(usr)] attempted to edit feedback data via advanced proc-call")
|
||||
return
|
||||
if(!GLOB.blackbox) return
|
||||
|
||||
var/datum/feedback_variable/FV = GLOB.blackbox.find_feedback_datum(variable)
|
||||
|
||||
if(!FV) return
|
||||
|
||||
FV.dec(value)
|
||||
|
||||
/proc/feedback_set_details(var/variable,var/details)
|
||||
if(IsAdminAdvancedProcCall())
|
||||
to_chat(usr, "<span class='boldannounce'>Feedback edit blocked: Advanced ProcCall detected.</span>")
|
||||
message_admins("[key_name(usr)] attempted to edit feedback data via advanced proc-call")
|
||||
log_admin("[key_name(usr)] attempted to edit feedback data via advanced proc-call")
|
||||
return
|
||||
if(!GLOB.blackbox) return
|
||||
|
||||
var/datum/feedback_variable/FV = GLOB.blackbox.find_feedback_datum(variable)
|
||||
|
||||
if(!FV) return
|
||||
|
||||
FV.set_details(details)
|
||||
|
||||
/proc/feedback_add_details(var/variable,var/details)
|
||||
if(IsAdminAdvancedProcCall())
|
||||
to_chat(usr, "<span class='boldannounce'>Feedback edit blocked: Advanced ProcCall detected.</span>")
|
||||
message_admins("[key_name(usr)] attempted to edit feedback data via advanced proc-call")
|
||||
log_admin("[key_name(usr)] attempted to edit feedback data via advanced proc-call")
|
||||
return
|
||||
if(!GLOB.blackbox) return
|
||||
|
||||
var/datum/feedback_variable/FV = GLOB.blackbox.find_feedback_datum(variable)
|
||||
|
||||
if(!FV) return
|
||||
|
||||
FV.add_details(details)
|
||||
|
||||
@@ -339,9 +339,6 @@ won't update every console in existence) but it's more of a hassle to do. Also,
|
||||
to_chat(usr, "<span class='danger'>[linked_destroy] appears to be empty.</span>")
|
||||
else
|
||||
for(var/T in temp_tech)
|
||||
var/datum/tech/KT = files.known_tech[T] //For stat logging of high levels
|
||||
if(files.IsTechHigher(T, temp_tech[T]) && KT.level >= 5) //For stat logging of high levels
|
||||
feedback_add_details("high_research_level","[KT][KT.level + 1]") //+1 to show the level which we're about to get
|
||||
files.UpdateTech(T, temp_tech[T])
|
||||
send_mats()
|
||||
linked_destroy.loaded_item = null
|
||||
|
||||
@@ -134,6 +134,7 @@ research holder datum.
|
||||
// after that it'll bump it up by 1 until it's greater
|
||||
// than the source tech
|
||||
KT.level = max((KT.level + 1), level)
|
||||
SSblackbox.log_research(KT.name, level)
|
||||
|
||||
//Checks if the origin level can raise current tech levels
|
||||
//Input: Tech's ID and Level; Output: TRUE for yes, FALSE for no
|
||||
|
||||
@@ -155,19 +155,14 @@
|
||||
switch(event)
|
||||
if("Red Alert")
|
||||
set_security_level(SEC_LEVEL_RED)
|
||||
feedback_inc("alert_keycard_auth_red",1)
|
||||
if("Grant Emergency Maintenance Access")
|
||||
make_maint_all_access()
|
||||
feedback_inc("alert_keycard_auth_maintGrant",1)
|
||||
if("Revoke Emergency Maintenance Access")
|
||||
revoke_maint_all_access()
|
||||
feedback_inc("alert_keycard_auth_maintRevoke",1)
|
||||
if("Activate Station-Wide Emergency Access")
|
||||
make_station_all_access()
|
||||
feedback_inc("alert_keycard_auth_stationGrant",1)
|
||||
if("Deactivate Station-Wide Emergency Access")
|
||||
revoke_station_all_access()
|
||||
feedback_inc("alert_keycard_auth_stationRevoke",1)
|
||||
if("Emergency Response Team")
|
||||
if(is_ert_blocked())
|
||||
atom_say("All Emergency Response Teams are dispatched and can not be called at this time.")
|
||||
@@ -184,7 +179,7 @@
|
||||
GLOB.ert_request_answered = TRUE
|
||||
ERT_Announce(ert_reason , event_triggered_by, 0)
|
||||
ert_reason = null
|
||||
feedback_inc("alert_keycard_auth_ert",1)
|
||||
SSblackbox.record_feedback("nested tally", "keycard_auths", 1, list("ert", "called"))
|
||||
spawn(3000)
|
||||
if(!GLOB.ert_request_answered)
|
||||
ERT_Announce(ert_reason , event_triggered_by, 1)
|
||||
@@ -197,13 +192,15 @@
|
||||
GLOBAL_VAR_INIT(maint_all_access, 0)
|
||||
GLOBAL_VAR_INIT(station_all_access, 0)
|
||||
|
||||
// Why are these global procs?
|
||||
/proc/make_maint_all_access()
|
||||
for(var/area/maintenance/A in world)
|
||||
for(var/area/maintenance/A in world) // Why are these global lists? AAAAAAAAAAAAAA
|
||||
for(var/obj/machinery/door/airlock/D in A)
|
||||
D.emergency = 1
|
||||
D.update_icon(0)
|
||||
GLOB.minor_announcement.Announce("Access restrictions on maintenance and external airlocks have been removed.")
|
||||
GLOB.maint_all_access = 1
|
||||
SSblackbox.record_feedback("nested tally", "keycard_auths", 1, list("emergency maintenance access", "enabled"))
|
||||
|
||||
/proc/revoke_maint_all_access()
|
||||
for(var/area/maintenance/A in world)
|
||||
@@ -212,6 +209,7 @@ GLOBAL_VAR_INIT(station_all_access, 0)
|
||||
D.update_icon(0)
|
||||
GLOB.minor_announcement.Announce("Access restrictions on maintenance and external airlocks have been re-added.")
|
||||
GLOB.maint_all_access = 0
|
||||
SSblackbox.record_feedback("nested tally", "keycard_auths", 1, list("emergency maintenance access", "disabled"))
|
||||
|
||||
/proc/make_station_all_access()
|
||||
for(var/obj/machinery/door/airlock/D in GLOB.airlocks)
|
||||
@@ -220,6 +218,7 @@ GLOBAL_VAR_INIT(station_all_access, 0)
|
||||
D.update_icon(0)
|
||||
GLOB.minor_announcement.Announce("Access restrictions on all station airlocks have been removed due to an ongoing crisis. Trespassing laws still apply unless ordered otherwise by Command staff.")
|
||||
GLOB.station_all_access = 1
|
||||
SSblackbox.record_feedback("nested tally", "keycard_auths", 1, list("emergency station access", "enabled"))
|
||||
|
||||
/proc/revoke_station_all_access()
|
||||
for(var/obj/machinery/door/airlock/D in GLOB.airlocks)
|
||||
@@ -228,3 +227,4 @@ GLOBAL_VAR_INIT(station_all_access, 0)
|
||||
D.update_icon(0)
|
||||
GLOB.minor_announcement.Announce("Access restrictions on all station airlocks have been re-added. Seek station AI or a colleague's assistance if you are stuck.")
|
||||
GLOB.station_all_access = 0
|
||||
SSblackbox.record_feedback("nested tally", "keycard_auths", 1, list("emergency station access", "disabled"))
|
||||
|
||||
@@ -124,6 +124,7 @@ GLOBAL_DATUM_INIT(security_announcement_down, /datum/announcement/priority/secur
|
||||
FA.overlays += image('icons/obj/monitors.dmi', "overlay_delta")
|
||||
|
||||
SSnightshift.check_nightshift(TRUE)
|
||||
SSblackbox.record_feedback("tally", "security_level_changes", 1, level)
|
||||
|
||||
else
|
||||
return
|
||||
|
||||
@@ -155,7 +155,6 @@
|
||||
M.setTimer(50)
|
||||
message_admins("[key_name_admin(usr)] fast travelled [M]")
|
||||
log_admin("[key_name(usr)] fast travelled [M]")
|
||||
feedback_add_details("shuttle_fasttravel", M.name)
|
||||
break
|
||||
|
||||
if("preview")
|
||||
@@ -181,7 +180,6 @@
|
||||
usr.forceMove(get_turf(mdp))
|
||||
message_admins("[key_name_admin(usr)] loaded [mdp] with the shuttle manipulator.")
|
||||
log_admin("[key_name(usr)] loaded [mdp] with the shuttle manipulator.</span>")
|
||||
feedback_add_details("shuttle_manipulator", mdp.name)
|
||||
|
||||
|
||||
/obj/machinery/shuttle_manipulator/proc/action_load(datum/map_template/shuttle/loading_template)
|
||||
|
||||
@@ -224,5 +224,5 @@
|
||||
|
||||
/datum/construction/reversible2/pod/spawn_result(mob/user as mob)
|
||||
..()
|
||||
feedback_inc("spacepod_created",1)
|
||||
SSblackbox.record_feedback("amount", "spacepod_created", 1)
|
||||
return
|
||||
|
||||
@@ -70,7 +70,7 @@ GLOBAL_VAR(test_log)
|
||||
|
||||
CHECK_TICK
|
||||
|
||||
world.Reboot("Unit Test Reboot", "end_test", "tests ended", 0)
|
||||
world.Reboot("Unit Test Reboot", "tests ended", 0)
|
||||
|
||||
|
||||
// OTHER MISC PROCS RELATED TO UNIT TESTS //
|
||||
|
||||
Reference in New Issue
Block a user