From bde5d6253a5aa4b5bd33e3743cb81428b8a13a4e Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 26 Apr 2017 17:05:23 -0500 Subject: [PATCH] Unorphans the blackbox --- code/controllers/admin.dm | 4 +- .../subsystem/blackbox.dm} | 0 code/controllers/subsystem/blackbox.dm.rej | 512 ++++++++++++++++++ code/controllers/subsystem/job.dm | 2 +- code/controllers/subsystem/mapping.dm | 2 +- code/controllers/subsystem/ping.dm | 16 +- code/controllers/subsystem/server_maint.dm | 39 +- .../controllers/subsystem/server_maint.dm.rej | 7 + code/datums/helper_datums/getrev.dm | 2 +- code/game/gamemodes/blob/blob_finish.dm | 6 +- code/game/gamemodes/changeling/changeling.dm | 8 +- .../gamemodes/changeling/changeling_power.dm | 4 +- .../gamemodes/changeling/evolution_menu.dm | 2 +- .../gamemodes/changeling/powers/absorb.dm | 4 +- .../gamemodes/changeling/powers/linglink.dm | 2 +- code/game/gamemodes/clock_cult/clock_cult.dm | 6 +- .../gamemodes/clock_cult/clock_scripture.dm | 2 +- code/game/gamemodes/cult/cult.dm | 22 +- code/game/gamemodes/cult/ritual.dm | 2 +- code/game/gamemodes/game_mode.dm | 12 +- code/game/gamemodes/game_mode.dm.rej | 18 + code/game/gamemodes/gang/gang.dm | 4 +- code/game/gamemodes/meteor/meteor.dm | 4 +- .../gamemodes/miniantags/monkey/monkey.dm | 8 +- code/game/gamemodes/nuclear/nuclear.dm | 20 +- .../gamemodes/nuclear/nuclear_challenge.dm | 2 +- code/game/gamemodes/revolution/revolution.dm | 4 +- code/game/gamemodes/traitor/traitor.dm | 8 +- code/game/gamemodes/wizard/raginmages.dm | 2 +- code/game/gamemodes/wizard/spellbook.dm | 14 +- code/game/gamemodes/wizard/wizard.dm | 10 +- code/game/machinery/computer/arcade.dm | 12 +- .../game/machinery/computer/communications.dm | 10 +- code/game/machinery/newscaster.dm | 6 +- .../machinery/telecomms/broadcasting.dm.rej | 33 ++ code/game/machinery/vending.dm.rej | 10 + code/game/mecha/mecha_construction_paths.dm | 14 +- code/game/objects/items/robot/robot_parts.dm | 4 +- .../objects/items/weapons/handcuffs.dm.rej | 31 ++ .../objects/items/weapons/holy_weapons.dm | 2 +- .../objects/items/weapons/storage/book.dm | 2 +- code/game/objects/structures/ai_core.dm | 2 +- .../turfs/simulated/floor/plating/asteroid.dm | 2 +- code/game/turfs/simulated/minerals.dm.rej | 19 + code/modules/admin/NewBan.dm | 2 +- code/modules/admin/admin.dm | 34 +- code/modules/admin/admin.dm.rej | 10 + code/modules/admin/admin_verbs.dm | 40 +- code/modules/admin/secrets.dm.rej | 291 ++++++++++ code/modules/admin/topic.dm | 28 +- code/modules/admin/topic.dm.rej | 10 + code/modules/admin/verbs/adminhelp.dm.rej | 10 + code/modules/admin/verbs/adminjump.dm | 12 +- code/modules/admin/verbs/adminjump.dm.rej | 16 + code/modules/admin/verbs/adminpm.dm | 4 +- code/modules/admin/verbs/adminsay.dm | 2 +- code/modules/admin/verbs/atmosdebug.dm | 4 +- code/modules/admin/verbs/deadsay.dm | 2 +- code/modules/admin/verbs/debug.dm | 24 +- code/modules/admin/verbs/debug.dm.rej | 28 + code/modules/admin/verbs/diagnostics.dm | 8 +- code/modules/admin/verbs/fps.dm | 2 +- code/modules/admin/verbs/getlogs.dm | 4 +- code/modules/admin/verbs/machine_upgrade.dm | 2 +- code/modules/admin/verbs/mapping.dm | 16 +- code/modules/admin/verbs/massmodvar.dm | 2 +- code/modules/admin/verbs/panicbunker.dm.rej | 8 + code/modules/admin/verbs/playsound.dm | 8 +- code/modules/admin/verbs/possess.dm | 6 +- code/modules/admin/verbs/pray.dm | 2 +- code/modules/admin/verbs/randomverbs.dm | 54 +- code/modules/admin/verbs/randomverbs.dm.rej | 46 ++ .../verbs/reestablish_db_connection.dm.rej | 15 + code/modules/assembly/holder.dm | 2 +- code/modules/cargo/exports.dm | 4 +- code/modules/client/preferences_toggles.dm | 50 +- code/modules/client/verbs/ooc.dm | 2 +- code/modules/crafting/craft.dm | 2 +- code/modules/events/_event.dm.rej | 17 + code/modules/food_and_drinks/food/snacks.dm | 4 +- .../kitchen_machinery/processor.dm | 2 +- code/modules/hydroponics/seeds.dm | 2 +- .../jobs/job_types/civilian_chaplain.dm | 4 +- code/modules/mining/aux_base.dm | 2 +- code/modules/mining/equipment.dm | 2 +- code/modules/mining/equipment.dm.rej | 26 + .../mining/lavaland/necropolis_chests.dm | 2 +- .../mining/lavaland/necropolis_chests.dm.rej | 28 + code/modules/mining/machine_vending.dm | 4 +- code/modules/mob/living/brain/MMI.dm | 2 +- code/modules/mob/living/carbon/human/death.dm | 2 +- .../mob/living/carbon/human/human_defense.dm | 4 +- .../modules/mob/living/silicon/robot/death.dm | 2 +- .../mob/living/silicon/robot/robot_modules.dm | 2 +- .../hostile/megafauna/megafauna.dm | 2 +- .../simple_animal/hostile/mining_mobs.dm | 12 +- .../mob/living/simple_animal/slime/powers.dm | 2 +- code/modules/power/cell.dm | 2 +- code/modules/power/singularity/generator.dm | 2 +- code/modules/projectiles/gun.dm | 2 +- code/modules/projectiles/guns/medbeam.dm | 2 +- code/modules/reagents/chemistry/holder.dm | 2 +- .../chemistry/recipes/slime_extracts.dm.rej | 442 +++++++++++++++ code/modules/recycling/disposal-unit.dm | 2 +- code/modules/research/rdconsole.dm | 8 +- .../security_levels/keycard_authentication.dm | 4 +- code/modules/shuttle/arrivals.dm | 2 +- code/modules/shuttle/emergency.dm | 2 +- code/modules/shuttle/manipulator.dm | 4 +- code/modules/shuttle/shuttle.dm | 4 +- code/modules/shuttle/supply.dm | 2 +- code/modules/surgery/surgery.dm | 2 +- code/modules/uplink/uplink_item.dm.rej | 17 + code/world.dm.rej | 19 + tgstation.dme | 1 - tgstation.dme.rej | 17 + 116 files changed, 1980 insertions(+), 322 deletions(-) rename code/{orphaned_procs/statistics.dm => controllers/subsystem/blackbox.dm} (100%) create mode 100644 code/controllers/subsystem/blackbox.dm.rej create mode 100644 code/controllers/subsystem/server_maint.dm.rej create mode 100644 code/game/gamemodes/game_mode.dm.rej create mode 100644 code/game/machinery/telecomms/broadcasting.dm.rej create mode 100644 code/game/machinery/vending.dm.rej create mode 100644 code/game/objects/items/weapons/handcuffs.dm.rej create mode 100644 code/game/turfs/simulated/minerals.dm.rej create mode 100644 code/modules/admin/admin.dm.rej create mode 100644 code/modules/admin/secrets.dm.rej create mode 100644 code/modules/admin/topic.dm.rej create mode 100644 code/modules/admin/verbs/adminhelp.dm.rej create mode 100644 code/modules/admin/verbs/adminjump.dm.rej create mode 100644 code/modules/admin/verbs/debug.dm.rej create mode 100644 code/modules/admin/verbs/panicbunker.dm.rej create mode 100644 code/modules/admin/verbs/randomverbs.dm.rej create mode 100644 code/modules/admin/verbs/reestablish_db_connection.dm.rej create mode 100644 code/modules/events/_event.dm.rej create mode 100644 code/modules/mining/equipment.dm.rej create mode 100644 code/modules/mining/lavaland/necropolis_chests.dm.rej create mode 100644 code/modules/reagents/chemistry/recipes/slime_extracts.dm.rej create mode 100644 code/modules/uplink/uplink_item.dm.rej create mode 100644 code/world.dm.rej create mode 100644 tgstation.dme.rej diff --git a/code/controllers/admin.dm b/code/controllers/admin.dm index 99f6a148a4..06aa66fd33 100644 --- a/code/controllers/admin.dm +++ b/code/controllers/admin.dm @@ -43,9 +43,9 @@ switch(controller) if("Master") Recreate_MC() - feedback_add_details("admin_verb","Restart Master Controller") + SSblackbox.add_details("admin_verb","Restart Master Controller") if("Failsafe") new /datum/controller/failsafe() - feedback_add_details("admin_verb","Restart Failsafe Controller") + SSblackbox.add_details("admin_verb","Restart Failsafe Controller") message_admins("Admin [key_name_admin(usr)] has restarted the [controller] controller.") diff --git a/code/orphaned_procs/statistics.dm b/code/controllers/subsystem/blackbox.dm similarity index 100% rename from code/orphaned_procs/statistics.dm rename to code/controllers/subsystem/blackbox.dm diff --git a/code/controllers/subsystem/blackbox.dm.rej b/code/controllers/subsystem/blackbox.dm.rej new file mode 100644 index 0000000000..79c407851f --- /dev/null +++ b/code/controllers/subsystem/blackbox.dm.rej @@ -0,0 +1,512 @@ +diff a/code/controllers/subsystem/blackbox.dm b/code/controllers/subsystem/blackbox.dm (rejected hunks) +@@ -1,253 +1,257 @@ +-GLOBAL_DATUM_INIT(blackbox, /datum/feedback, new) +- +-//the feedback datum; stores all feedback +-/datum/feedback +- var/list/messages = list() +- 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_service = list() +- var/list/msg_cargo = list() +- +- var/list/datum/feedback_variable/feedback = new() +- +-/datum/feedback/proc/find_feedback_datum(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 +- +-/datum/feedback/proc/get_round_feedback() +- return feedback +- +-/datum/feedback/proc/round_end_data_gathering() +- var/pda_msg_amt = 0 +- var/rc_msg_amt = 0 +- +- for (var/obj/machinery/message_server/MS in GLOB.message_servers) +- 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","SRV-[msg_service.len]") +- feedback_add_details("radio_usage","CAR-[msg_cargo.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. +-/datum/feedback/proc/save_all_data_to_sql() +- if (!feedback) return +- +- round_end_data_gathering() //round_end time logging and some other data processing +- if (!GLOB.dbcon.Connect()) return +- var/round_id +- +- var/DBQuery/query_feedback_max_id = GLOB.dbcon.NewQuery("SELECT MAX(round_id) AS round_id FROM [format_table_name("feedback")]") +- if(!query_feedback_max_id.Execute()) +- return +- while (query_feedback_max_id.NextRow()) +- round_id = query_feedback_max_id.item[1] +- +- if (!isnum(round_id)) +- round_id = text2num(round_id) +- round_id++ +- +- var/sqlrowlist = "" +- +- for (var/datum/feedback_variable/FV in feedback) +- if (sqlrowlist != "") +- sqlrowlist += ", " //a comma (,) at the start of the first row to insert will trigger a SQL error +- +- sqlrowlist += "(null, Now(), [round_id], \"[sanitizeSQL(FV.get_variable())]\", [FV.get_value()], \"[sanitizeSQL(FV.get_details())]\")" +- +- if (sqlrowlist == "") +- return +- +- var/DBQuery/query_feedback_save = GLOB.dbcon.NewQuery("INSERT DELAYED IGNORE INTO [format_table_name("feedback")] VALUES " + sqlrowlist) +- query_feedback_save.Execute() +- +- +-/proc/feedback_set(variable,value) +- 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(variable,value) +- if(!GLOB.blackbox) +- return +- +- var/datum/feedback_variable/FV = GLOB.blackbox.find_feedback_datum(variable) +- +- if(!FV) +- return +- +- FV.inc(value) +- +-/proc/feedback_dec(variable,value) +- 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(variable,details) +- 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(variable,details) +- if(!GLOB.blackbox) +- return +- +- var/datum/feedback_variable/FV = GLOB.blackbox.find_feedback_datum(variable) +- +- if(!FV) +- return +- +- FV.add_details(details) +- +-//feedback variable datum, for storing all kinds of data +-/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/proc/inc(num = 1) +- if (isnum(value)) +- value += num +- else +- value = text2num(value) +- if (isnum(value)) +- value += num +- else +- value = num +- +-/datum/feedback_variable/proc/dec(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(num) +- if (isnum(num)) +- value = num +- +-/datum/feedback_variable/proc/get_value() +- if (!isnum(value)) +- return 0 +- return value +- +-/datum/feedback_variable/proc/get_variable() +- return variable +- +-/datum/feedback_variable/proc/set_details(text) +- if (istext(text)) +- details = text +- +-/datum/feedback_variable/proc/add_details(text) +- if (istext(text)) +- text = replacetext(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) +- +-//sql reporting procs +-/proc/sql_poll_population() +- if(!config.sql_enabled) +- return +- if(!GLOB.dbcon.Connect()) +- return +- var/playercount = 0 +- for(var/mob/M in GLOB.player_list) +- if(M.client) +- playercount += 1 +- var/admincount = GLOB.admins.len +- var/DBQuery/query_record_playercount = GLOB.dbcon.NewQuery("INSERT INTO [format_table_name("legacy_population")] (playercount, admincount, time, server_ip, server_port) VALUES ([playercount], [admincount], '[SQLtime()]', INET_ATON('[world.internet_address]'), '[world.port]')") +- query_record_playercount.Execute() +- +-/proc/sql_report_death(mob/living/L) +- if(!config.sql_enabled) +- return +- if(!GLOB.dbcon.Connect()) +- return +- if(!L || !L.key || !L.mind) +- return +- var/turf/T = get_turf(L) +- var/area/placeofdeath = get_area(T.loc) +- var/sqlname = sanitizeSQL(L.real_name) +- var/sqlkey = sanitizeSQL(L.ckey) +- var/sqljob = sanitizeSQL(L.mind.assigned_role) +- var/sqlspecial = sanitizeSQL(L.mind.special_role) +- var/sqlpod = sanitizeSQL(placeofdeath.name) +- var/laname +- var/lakey +- if(L.lastattacker && ismob(L.lastattacker)) +- var/mob/LA = L.lastattacker +- laname = sanitizeSQL(LA.real_name) +- lakey = sanitizeSQL(LA.key) +- var/sqlgender = sanitizeSQL(L.gender) +- var/sqlbrute = sanitizeSQL(L.getBruteLoss()) +- var/sqlfire = sanitizeSQL(L.getFireLoss()) +- var/sqlbrain = sanitizeSQL(L.getBrainLoss()) +- var/sqloxy = sanitizeSQL(L.getOxyLoss()) +- var/sqltox = sanitizeSQL(L.getStaminaLoss()) +- var/sqlclone = sanitizeSQL(L.getStaminaLoss()) +- var/sqlstamina = sanitizeSQL(L.getStaminaLoss()) +- var/coord = sanitizeSQL("[L.x], [L.y], [L.z]") +- var/map = sanitizeSQL(SSmapping.config.map_name) +- var/DBQuery/query_report_death = GLOB.dbcon.NewQuery("INSERT INTO [format_table_name("death")] (name, byondkey, job, special, pod, tod, laname, lakey, gender, bruteloss, fireloss, brainloss, oxyloss, toxloss, cloneloss, staminaloss, coord, mapname, server_ip, server_port) VALUES ('[sqlname]', '[sqlkey]', '[sqljob]', '[sqlspecial]', '[sqlpod]', '[SQLtime()]', '[laname]', '[lakey]', '[sqlgender]', [sqlbrute], [sqlfire], [sqlbrain], [sqloxy], [sqltox], [sqlclone], [sqlstamina], '[coord]', '[map]', INET_ATON('[world.internet_address]'), '[world.port]')") +- query_report_death.Execute() ++SUBSYSTEM_DEF(blackbox) ++ name = "Blackbox" ++ wait = 6000 ++ flags = SS_NO_TICK_CHECK ++ ++ 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_service = list() ++ var/list/msg_cargo = list() ++ var/list/msg_other = list() ++ ++ var/list/feedback = list() //list of datum/feedback_variable ++ ++//poll population ++/datum/controller/subsystem/blackbox/fire() ++ if(!GLOB.dbcon.Connect()) ++ return ++ var/playercount = 0 ++ for(var/mob/M in GLOB.player_list) ++ if(M.client) ++ playercount += 1 ++ var/admincount = GLOB.admins.len ++ var/DBQuery/query_record_playercount = GLOB.dbcon.NewQuery("INSERT INTO [format_table_name("legacy_population")] (playercount, admincount, time, server_ip, server_port) VALUES ([playercount], [admincount], '[SQLtime()]', INET_ATON('[world.internet_address]'), '[world.port]')") ++ query_record_playercount.Execute() ++ ++/datum/controller/subsystem/blackbox/Recover() ++ msg_common = SSblackbox.msg_common ++ msg_science = SSblackbox.msg_science ++ msg_command = SSblackbox.msg_command ++ msg_medical = SSblackbox.msg_medical ++ msg_engineering = SSblackbox.msg_engineering ++ msg_security = SSblackbox.msg_security ++ msg_deathsquad = SSblackbox.msg_deathsquad ++ msg_syndicate = SSblackbox.msg_syndicate ++ msg_service = SSblackbox.msg_service ++ msg_cargo = SSblackbox.msg_cargo ++ msg_other = SSblackbox.msg_other ++ ++ feedback = SSblackbox.feedback ++ ++//no touchie ++/datum/controller/subsystem/blackbox/can_vv_get(var_name) ++ if(var_name == "feedback") ++ return FALSE ++ return ..() ++ ++/datum/controller/subsystem/blackbox/vv_edit_var(var_name, var_value) ++ return FALSE ++ ++/datum/controller/subsystem/blackbox/Shutdown() ++ var/pda_msg_amt = 0 ++ var/rc_msg_amt = 0 ++ ++ for (var/obj/machinery/message_server/MS in GLOB.message_servers) ++ 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 ++ ++ set_details("radio_usage","") ++ ++ add_details("radio_usage","COM-[msg_common.len]") ++ add_details("radio_usage","SCI-[msg_science.len]") ++ add_details("radio_usage","HEA-[msg_command.len]") ++ add_details("radio_usage","MED-[msg_medical.len]") ++ add_details("radio_usage","ENG-[msg_engineering.len]") ++ add_details("radio_usage","SEC-[msg_security.len]") ++ add_details("radio_usage","DTH-[msg_deathsquad.len]") ++ add_details("radio_usage","SYN-[msg_syndicate.len]") ++ add_details("radio_usage","SRV-[msg_service.len]") ++ add_details("radio_usage","CAR-[msg_cargo.len]") ++ add_details("radio_usage","OTH-[msg_other.len]") ++ add_details("radio_usage","PDA-[pda_msg_amt]") ++ add_details("radio_usage","RC-[rc_msg_amt]") ++ ++ set_details("round_end","[time2text(world.realtime)]") //This one MUST be the last one that gets set. ++ ++ if (!GLOB.dbcon.Connect()) ++ return ++ ++ var/round_id ++ ++ var/DBQuery/query_feedback_max_id = GLOB.dbcon.NewQuery("SELECT MAX(round_id) AS round_id FROM [format_table_name("feedback")]") ++ if(!query_feedback_max_id.Execute()) ++ return ++ while (query_feedback_max_id.NextRow()) ++ round_id = query_feedback_max_id.item[1] ++ ++ if (!isnum(round_id)) ++ round_id = text2num(round_id) ++ round_id++ ++ ++ var/sqlrowlist = "" ++ ++ for (var/datum/feedback_variable/FV in feedback) ++ if (sqlrowlist != "") ++ sqlrowlist += ", " //a comma (,) at the start of the first row to insert will trigger a SQL error ++ ++ sqlrowlist += "(null, Now(), [round_id], \"[sanitizeSQL(FV.get_variable())]\", [FV.get_value()], \"[sanitizeSQL(FV.get_details())]\")" ++ ++ if (sqlrowlist == "") ++ return ++ ++ var/DBQuery/query_feedback_save = GLOB.dbcon.NewQuery("INSERT DELAYED IGNORE INTO [format_table_name("feedback")] VALUES " + sqlrowlist) ++ query_feedback_save.Execute() ++ ++/datum/controller/subsystem/blackbox/proc/LogBroadcast(blackbox_msg, freq) ++ switch(freq) ++ if(1459) ++ msg_common += blackbox_msg ++ if(1351) ++ msg_science += blackbox_msg ++ if(1353) ++ msg_command += blackbox_msg ++ if(1355) ++ msg_medical += blackbox_msg ++ if(1357) ++ msg_engineering += blackbox_msg ++ if(1359) ++ msg_security += blackbox_msg ++ if(1441) ++ msg_deathsquad += blackbox_msg ++ if(1213) ++ msg_syndicate += blackbox_msg ++ if(1349) ++ msg_service += blackbox_msg ++ if(1347) ++ msg_cargo += blackbox_msg ++ else ++ msg_other += blackbox_msg ++ ++/datum/controller/subsystem/blackbox/proc/find_feedback_datum(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 ++ ++/datum/controller/subsystem/blackbox/proc/set_val(variable, value) ++ var/datum/feedback_variable/FV = find_feedback_datum(variable) ++ FV.set_value(value) ++ ++/datum/controller/subsystem/blackbox/proc/inc(variable, value) ++ var/datum/feedback_variable/FV = find_feedback_datum(variable) ++ FV.inc(value) ++ ++/datum/controller/subsystem/blackbox/proc/dec(variable,value) ++ var/datum/feedback_variable/FV = find_feedback_datum(variable) ++ FV.dec(value) ++ ++/datum/controller/subsystem/blackbox/proc/set_details(variable,details) ++ var/datum/feedback_variable/FV = find_feedback_datum(variable) ++ FV.set_details(details) ++ ++/datum/controller/subsystem/blackbox/proc/add_details(variable,details) ++ var/datum/feedback_variable/FV = find_feedback_datum(variable) ++ FV.add_details(details) ++ ++/datum/controller/subsystem/blackbox/proc/ReportDeath(mob/living/L) ++ if(!GLOB.dbcon.Connect()) ++ return ++ if(!L || !L.key || !L.mind) ++ return ++ var/turf/T = get_turf(L) ++ var/area/placeofdeath = get_area(T.loc) ++ var/sqlname = sanitizeSQL(L.real_name) ++ var/sqlkey = sanitizeSQL(L.ckey) ++ var/sqljob = sanitizeSQL(L.mind.assigned_role) ++ var/sqlspecial = sanitizeSQL(L.mind.special_role) ++ var/sqlpod = sanitizeSQL(placeofdeath.name) ++ var/laname ++ var/lakey ++ if(L.lastattacker && ismob(L.lastattacker)) ++ var/mob/LA = L.lastattacker ++ laname = sanitizeSQL(LA.real_name) ++ lakey = sanitizeSQL(LA.key) ++ var/sqlgender = sanitizeSQL(L.gender) ++ var/sqlbrute = sanitizeSQL(L.getBruteLoss()) ++ var/sqlfire = sanitizeSQL(L.getFireLoss()) ++ var/sqlbrain = sanitizeSQL(L.getBrainLoss()) ++ var/sqloxy = sanitizeSQL(L.getOxyLoss()) ++ var/sqltox = sanitizeSQL(L.getStaminaLoss()) ++ var/sqlclone = sanitizeSQL(L.getStaminaLoss()) ++ var/sqlstamina = sanitizeSQL(L.getStaminaLoss()) ++ var/coord = sanitizeSQL("[L.x], [L.y], [L.z]") ++ var/map = sanitizeSQL(SSmapping.config.map_name) ++ var/DBQuery/query_report_death = GLOB.dbcon.NewQuery("INSERT INTO [format_table_name("death")] (name, byondkey, job, special, pod, tod, laname, lakey, gender, bruteloss, fireloss, brainloss, oxyloss, toxloss, cloneloss, staminaloss, coord, mapname, server_ip, server_port) VALUES ('[sqlname]', '[sqlkey]', '[sqljob]', '[sqlspecial]', '[sqlpod]', '[SQLtime()]', '[laname]', '[lakey]', '[sqlgender]', [sqlbrute], [sqlfire], [sqlbrain], [sqloxy], [sqltox], [sqlclone], [sqlstamina], '[coord]', '[map]', INET_ATON('[world.internet_address]'), '[world.port]')") ++ query_report_death.Execute() ++ ++ ++//feedback variable datum, for storing all kinds of data ++/datum/feedback_variable ++ var/variable ++ var/value ++ var/details ++ ++/datum/feedback_variable/New(param_variable, param_value = 0) ++ variable = param_variable ++ value = param_value ++ ++/datum/feedback_variable/proc/inc(num = 1) ++ if (isnum(value)) ++ value += num ++ else ++ value = text2num(value) ++ if (isnum(value)) ++ value += num ++ else ++ value = num ++ ++/datum/feedback_variable/proc/dec(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(num) ++ if (isnum(num)) ++ value = num ++ ++/datum/feedback_variable/proc/get_value() ++ if (!isnum(value)) ++ return 0 ++ return value ++ ++/datum/feedback_variable/proc/get_variable() ++ return variable ++ ++/datum/feedback_variable/proc/set_details(text) ++ if (istext(text)) ++ details = text ++ ++/datum/feedback_variable/proc/add_details(text) ++ if (istext(text)) ++ text = replacetext(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) diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm index 137bd2a2c1..a3255b73e4 100644 --- a/code/controllers/subsystem/job.dm +++ b/code/controllers/subsystem/job.dm @@ -483,7 +483,7 @@ SUBSYSTEM_DEF(job) else level4++ //not selected tmp_str += "HIGH=[level1]|MEDIUM=[level2]|LOW=[level3]|NEVER=[level4]|BANNED=[level5]|YOUNG=[level6]|-" - feedback_add_details("job_preferences",tmp_str) + SSblackbox.add_details("job_preferences",tmp_str) /datum/controller/subsystem/job/proc/PopcapReached() if(config.hard_popcap || config.extreme_popcap) diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index 1499bc5029..d73d417f5f 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -116,7 +116,7 @@ SUBSYSTEM_DEF(mapping) INIT_ANNOUNCE("Loading [config.map_name]...") TryLoadZ(config.GetFullMapPath(), FailedZs, ZLEVEL_STATION) INIT_ANNOUNCE("Loaded station in [(REALTIMEOFDAY - start_time)/10]s!") - feedback_add_details("map_name", config.map_name) + SSblackbox.add_details("map_name", config.map_name) if(config.minetype != "lavaland") INIT_ANNOUNCE("WARNING: A map without lavaland set as it's minetype was loaded! This is being ignored! Update the maploader code!") diff --git a/code/controllers/subsystem/ping.dm b/code/controllers/subsystem/ping.dm index 0829766174..a6b444c4e7 100644 --- a/code/controllers/subsystem/ping.dm +++ b/code/controllers/subsystem/ping.dm @@ -3,14 +3,20 @@ SUBSYSTEM_DEF(ping) name = "Ping" wait = 6 - flags = SS_NO_INIT|SS_POST_FIRE_TIMING|SS_FIRE_IN_LOBBY + flags = SS_POST_FIRE_TIMING|SS_FIRE_IN_LOBBY priority = 10 var/list/currentrun +/datum/controller/subsystem/ping/Initialize() + if (config.hub) + world.visibility = 1 + ..() + /datum/controller/subsystem/ping/fire(resumed = FALSE) if (!resumed) src.currentrun = GLOB.clients.Copy() + var/round_started = Master.round_started var/list/currentrun = src.currentrun while (length(currentrun)) var/client/C = currentrun[currentrun.len] @@ -19,7 +25,15 @@ SUBSYSTEM_DEF(ping) if (MC_TICK_CHECK) return continue + + if(round_started && C.is_afk(INACTIVITY_KICK)) + if(!istype(C.mob, /mob/dead)) + log_access("AFK: [key_name(C)]") + to_chat(C, "You have been inactive for more than 10 minutes and have been disconnected.") + qdel(C) + winset(C, null, "command=.update_ping+[world.time+world.tick_lag*world.tick_usage/100]") + if (MC_TICK_CHECK) //one day, when ss13 has 1000 people per server, you guys are gonna be glad I added this tick check return diff --git a/code/controllers/subsystem/server_maint.dm b/code/controllers/subsystem/server_maint.dm index 3ef088b328..9c730e92b1 100644 --- a/code/controllers/subsystem/server_maint.dm +++ b/code/controllers/subsystem/server_maint.dm @@ -1,23 +1,38 @@ +#define PING_BUFFER_TIME 25 + SUBSYSTEM_DEF(server_maint) name = "Server Tasks" - wait = 6000 - flags = SS_NO_TICK_CHECK + wait = 6 + flags = SS_POST_FIRE_TIMING|SS_FIRE_IN_LOBBY + priority = 10 + var/list/currentrun /datum/controller/subsystem/server_maint/Initialize(timeofday) if (config.hub) world.visibility = 1 ..() -/datum/controller/subsystem/server_maint/fire() - //handle kicking inactive players - if(config.kick_inactive) - for(var/client/C in GLOB.clients) - if(C.is_afk(config.afk_period)) - var/cmob = C.mob - if(!(istype(cmob, /mob/dead/observer) || (istype(cmob, /mob/dead) && C.holder))) +/datum/controller/subsystem/server_maint/fire(resumed = FALSE) + if (!resumed) + src.currentrun = GLOB.clients.Copy() + + var/round_started = Master.round_started + var/list/currentrun = src.currentrun + while (length(currentrun)) + var/client/C = currentrun[currentrun.len] + currentrun.len-- + + if(config.kick_inactive) + if(round_started && C.is_afk(INACTIVITY_KICK)) + if(!istype(C.mob, /mob/dead)) log_access("AFK: [key_name(C)]") - to_chat(C, "You have been inactive for more than [config.afk_period / 600] minutes and have been disconnected.") + to_chat(C, "You have been inactive for more than 10 minutes and have been disconnected.") qdel(C) - if(config.sql_enabled) - sql_poll_population() + if (!(!C || world.time - C.connection_time < PING_BUFFER_TIME || C.inactivity >= (wait-1))) + winset(C, null, "command=.update_ping+[world.time+world.tick_lag*world.tick_usage/100]") + + if (MC_TICK_CHECK) //one day, when ss13 has 1000 people per server, you guys are gonna be glad I added this tick check + return + +#undef PING_BUFFER_TIME diff --git a/code/controllers/subsystem/server_maint.dm.rej b/code/controllers/subsystem/server_maint.dm.rej new file mode 100644 index 0000000000..f759db5330 --- /dev/null +++ b/code/controllers/subsystem/server_maint.dm.rej @@ -0,0 +1,7 @@ +diff a/code/controllers/subsystem/server_maint.dm b/code/controllers/subsystem/server_maint.dm (rejected hunks) +@@ -18,5 +18,3 @@ SUBSYSTEM_DEF(server_maint) + to_chat(C, "You have been inactive for more than 10 minutes and have been disconnected.") + qdel(C) + +- if(config.sql_enabled) +- sql_poll_population() diff --git a/code/datums/helper_datums/getrev.dm b/code/datums/helper_datums/getrev.dm index f1b5d3a973..526f64cee7 100644 --- a/code/datums/helper_datums/getrev.dm +++ b/code/datums/helper_datums/getrev.dm @@ -25,7 +25,7 @@ for(var/line in testmerge) if(line) log_world("Test merge active of PR #[line]") - feedback_add_details("testmerged_prs","[line]") + SSblackbox.add_details("testmerged_prs","[line]") log_world("Based off master commit [parentcommit]") else log_world(parentcommit) diff --git a/code/game/gamemodes/blob/blob_finish.dm b/code/game/gamemodes/blob/blob_finish.dm index a5fc5e339a..47e2ce6a14 100644 --- a/code/game/gamemodes/blob/blob_finish.dm +++ b/code/game/gamemodes/blob/blob_finish.dm @@ -20,7 +20,7 @@ if(round_converted) //So badmin blobs later don't step on the dead natural blobs metaphorical toes ..() if(blobwincount <= GLOB.blobs_legit.len) - feedback_set_details("round_end_result","win - blob took over") + SSblackbox.set_details("round_end_result","win - blob took over") to_chat(world, "The blob has taken over the station!") to_chat(world, "The entire station was eaten by the Blob!") log_game("Blob mode completed with a blob victory.") @@ -28,7 +28,7 @@ SSticker.news_report = BLOB_WIN else if(station_was_nuked) - feedback_set_details("round_end_result","halfwin - nuke") + SSblackbox.set_details("round_end_result","halfwin - nuke") to_chat(world, "Partial Win: The station has been destroyed!") to_chat(world, "Directive 7-12 has been successfully carried out, preventing the Blob from spreading.") log_game("Blob mode completed with a tie (station destroyed).") @@ -36,7 +36,7 @@ SSticker.news_report = BLOB_NUKE else if(!GLOB.blob_cores.len) - feedback_set_details("round_end_result","loss - blob eliminated") + SSblackbox.set_details("round_end_result","loss - blob eliminated") to_chat(world, "The staff has won!") to_chat(world, "The alien organism has been eradicated from the station!") log_game("Blob mode completed with a crew victory.") diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm index fc39f2222e..9d281b5f2f 100644 --- a/code/game/gamemodes/changeling/changeling.dm +++ b/code/game/gamemodes/changeling/changeling.dm @@ -254,19 +254,19 @@ GLOBAL_LIST_INIT(slot2type, list("head" = /obj/item/clothing/head/changeling, "w for(var/datum/objective/objective in changeling.objectives) if(objective.check_completion()) text += "
Objective #[count]: [objective.explanation_text] Success!" - feedback_add_details("changeling_objective","[objective.type]|SUCCESS") + SSblackbox.add_details("changeling_objective","[objective.type]|SUCCESS") else text += "
Objective #[count]: [objective.explanation_text] Fail." - feedback_add_details("changeling_objective","[objective.type]|FAIL") + SSblackbox.add_details("changeling_objective","[objective.type]|FAIL") changelingwin = 0 count++ if(changelingwin) text += "
The changeling was successful!" - feedback_add_details("changeling_success","SUCCESS") + SSblackbox.add_details("changeling_success","SUCCESS") else text += "
The changeling has failed." - feedback_add_details("changeling_success","FAIL") + SSblackbox.add_details("changeling_success","FAIL") text += "
" to_chat(world, text) diff --git a/code/game/gamemodes/changeling/changeling_power.dm b/code/game/gamemodes/changeling/changeling_power.dm index 1673e59f49..67eb216d58 100644 --- a/code/game/gamemodes/changeling/changeling_power.dm +++ b/code/game/gamemodes/changeling/changeling_power.dm @@ -21,7 +21,7 @@ /obj/effect/proc_holder/changeling/proc/on_purchase(mob/user, is_respec) if(!is_respec) - feedback_add_details("changeling_power_purchase",name) + SSblackbox.add_details("changeling_power_purchase",name) /obj/effect/proc_holder/changeling/proc/on_refund(mob/user) return @@ -37,7 +37,7 @@ return var/datum/changeling/c = user.mind.changeling if(sting_action(user, target)) - feedback_add_details("changeling_powers",name) + SSblackbox.add_details("changeling_powers",name) sting_feedback(user, target) take_chemical_cost(c) diff --git a/code/game/gamemodes/changeling/evolution_menu.dm b/code/game/gamemodes/changeling/evolution_menu.dm index db1405537f..fdfec9e270 100644 --- a/code/game/gamemodes/changeling/evolution_menu.dm +++ b/code/game/gamemodes/changeling/evolution_menu.dm @@ -68,7 +68,7 @@ mind.changeling.purchasedpowers+=S S.on_purchase(src, is_respec) if(is_respec) - feedback_add_details("changeling_power_purchase","Readapt") + SSblackbox.add_details("changeling_power_purchase","Readapt") var/mob/living/carbon/C = src //only carbons have dna now, so we have to typecaste if(ishuman(C)) diff --git a/code/game/gamemodes/changeling/powers/absorb.dm b/code/game/gamemodes/changeling/powers/absorb.dm index 0f1fb93071..6a52ab9312 100644 --- a/code/game/gamemodes/changeling/powers/absorb.dm +++ b/code/game/gamemodes/changeling/powers/absorb.dm @@ -42,13 +42,13 @@ to_chat(target, "You feel a sharp stabbing pain!") target.take_overall_damage(40) - feedback_add_details("changeling_powers","Absorb DNA|[i]") + SSblackbox.add_details("changeling_powers","Absorb DNA|[i]") if(!do_mob(user, target, 150)) to_chat(user, "Our absorption of [target] has been interrupted!") changeling.isabsorbing = 0 return - feedback_add_details("changeling_powers","Absorb DNA|4") + SSblackbox.add_details("changeling_powers","Absorb DNA|4") user.visible_message("[user] sucks the fluids from [target]!", "We have absorbed [target].") to_chat(target, "You are absorbed by the changeling!") diff --git a/code/game/gamemodes/changeling/powers/linglink.dm b/code/game/gamemodes/changeling/powers/linglink.dm index 5a64d551b5..fc4b91b650 100644 --- a/code/game/gamemodes/changeling/powers/linglink.dm +++ b/code/game/gamemodes/changeling/powers/linglink.dm @@ -56,7 +56,7 @@ to_chat(target, "You can now communicate in the changeling hivemind, say \":g message\" to communicate!") target.reagents.add_reagent("salbutamol", 40) // So they don't choke to death while you interrogate them sleep(1800) - feedback_add_details("changeling_powers","Hivemind Link|[i]") + SSblackbox.add_details("changeling_powers","Hivemind Link|[i]") if(!do_mob(user, target, 20)) to_chat(user, "Our link with [target] has ended!") changeling.islinking = 0 diff --git a/code/game/gamemodes/clock_cult/clock_cult.dm b/code/game/gamemodes/clock_cult/clock_cult.dm index 670e08e7a2..deb5ad7e1a 100644 --- a/code/game/gamemodes/clock_cult/clock_cult.dm +++ b/code/game/gamemodes/clock_cult/clock_cult.dm @@ -194,7 +194,7 @@ Credit where due: var/datum/game_mode/clockwork_cult/C = SSticker.mode if(C.check_clockwork_victory()) text += "Ratvar's servants have succeeded in fulfilling His goals!" - feedback_set_details("round_end_result", "win - servants completed their objective (summon ratvar)") + SSblackbox.set_details("round_end_result", "win - servants completed their objective (summon ratvar)") else var/half_victory = FALSE var/obj/structure/destructible/clockwork/massive/celestial_gateway/G = locate() in GLOB.all_clockwork_objects @@ -203,10 +203,10 @@ Credit where due: if(half_victory) text += "The crew escaped before Ratvar could rise, but the gateway \ was successfully constructed!" - feedback_set_details("round_end_result", "halfwin - servants constructed the gateway but their objective was not completed (summon ratvar)") + SSblackbox.set_details("round_end_result", "halfwin - servants constructed the gateway but their objective was not completed (summon ratvar)") else text += "Ratvar's servants have failed!" - feedback_set_details("round_end_result", "loss - servants failed their objective (summon ratvar)") + SSblackbox.set_details("round_end_result", "loss - servants failed their objective (summon ratvar)") text += "
The servants' objective was:
[CLOCKCULT_OBJECTIVE]" text += "
Ratvar's servants had [GLOB.clockwork_caches] Tinkerer's Caches." text += "
Construction Value(CV) was: [GLOB.clockwork_construction_value]" diff --git a/code/game/gamemodes/clock_cult/clock_scripture.dm b/code/game/gamemodes/clock_cult/clock_scripture.dm index 8e688f30aa..e8f1e8dbbc 100644 --- a/code/game/gamemodes/clock_cult/clock_scripture.dm +++ b/code/game/gamemodes/clock_cult/clock_scripture.dm @@ -86,7 +86,7 @@ Judgement: 12 servants, 5 caches, 300 CV, and any existing AIs are converted or else successful = TRUE if(slab && !slab.no_cost && !GLOB.ratvar_awakens) //if the slab exists and isn't debug and ratvar isn't up, log the scripture as being used - feedback_add_details("clockcult_scripture_recited", name) + SSblackbox.add_details("clockcult_scripture_recited", name) if(slab) slab.busy = null qdel(src) diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 65dcb863eb..f3832a830b 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -218,12 +218,12 @@ /datum/game_mode/cult/declare_completion() if(!check_cult_victory()) - feedback_set_details("round_end_result","win - cult win") - feedback_set("round_end_result",acolytes_survived) + SSblackbox.set_details("round_end_result","win - cult win") + SSblackbox.set_val("round_end_result",acolytes_survived) to_chat(world, "The cult has succeeded! Nar-sie has snuffed out another torch in the void!") else - feedback_set_details("round_end_result","loss - staff stopped the cult") - feedback_set("round_end_result",acolytes_survived) + SSblackbox.set_details("round_end_result","loss - staff stopped the cult") + SSblackbox.set_val("round_end_result",acolytes_survived) to_chat(world, "The staff managed to stop the cult! Dark words and heresy are no match for Nanotrasen's finest!") var/text = "" @@ -236,31 +236,31 @@ if("survive") if(!check_survive()) explanation = "Make sure at least [acolytes_needed] acolytes escape on the shuttle. ([acolytes_survived] escaped) Success!" - feedback_add_details("cult_objective","cult_survive|SUCCESS|[acolytes_needed]") + SSblackbox.add_details("cult_objective","cult_survive|SUCCESS|[acolytes_needed]") SSticker.news_report = CULT_ESCAPE else explanation = "Make sure at least [acolytes_needed] acolytes escape on the shuttle. ([acolytes_survived] escaped) Fail." - feedback_add_details("cult_objective","cult_survive|FAIL|[acolytes_needed]") + SSblackbox.add_details("cult_objective","cult_survive|FAIL|[acolytes_needed]") SSticker.news_report = CULT_FAILURE if("sacrifice") if(sacrifice_target) if(sacrifice_target in GLOB.sacrificed) explanation = "Sacrifice [sacrifice_target.name], the [sacrifice_target.assigned_role]. Success!" - feedback_add_details("cult_objective","cult_sacrifice|SUCCESS") + SSblackbox.add_details("cult_objective","cult_sacrifice|SUCCESS") else if(sacrifice_target && sacrifice_target.current) explanation = "Sacrifice [sacrifice_target.name], the [sacrifice_target.assigned_role]. Fail." - feedback_add_details("cult_objective","cult_sacrifice|FAIL") + SSblackbox.add_details("cult_objective","cult_sacrifice|FAIL") else explanation = "Sacrifice [sacrifice_target.name], the [sacrifice_target.assigned_role]. Fail (Gibbed)." - feedback_add_details("cult_objective","cult_sacrifice|FAIL|GIBBED") + SSblackbox.add_details("cult_objective","cult_sacrifice|FAIL|GIBBED") if("eldergod") if(!eldergod) explanation = "Summon Nar-Sie. Success!" - feedback_add_details("cult_objective","cult_narsie|SUCCESS") + SSblackbox.add_details("cult_objective","cult_narsie|SUCCESS") SSticker.news_report = CULT_SUMMON else explanation = "Summon Nar-Sie. Fail." - feedback_add_details("cult_objective","cult_narsie|FAIL") + SSblackbox.add_details("cult_objective","cult_narsie|FAIL") SSticker.news_report = CULT_FAILURE text += "
Objective #[obj_count]: [explanation]" diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index 2ed6840c91..843d16592a 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -247,7 +247,7 @@ This file contains the arcane tome files. var/obj/effect/rune/R = new rune_to_scribe(Turf, chosen_keyword) R.add_mob_blood(user) to_chat(user, "The [lowertext(R.cultist_name)] rune [R.cultist_desc]") - feedback_add_details("cult_runes_scribed", R.cultist_name) + SSblackbox.add_details("cult_runes_scribed", R.cultist_name) /obj/item/weapon/tome/proc/check_rune_turf(turf/T, mob/user) var/area/A = get_area(T) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 2564d1b262..44d1121f45 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -246,17 +246,17 @@ ghosts++ if(clients > 0) - feedback_set("round_end_clients",clients) + SSblackbox.set_val("round_end_clients",clients) if(ghosts > 0) - feedback_set("round_end_ghosts",ghosts) + SSblackbox.set_val("round_end_ghosts",ghosts) if(surviving_humans > 0) - feedback_set("survived_human",surviving_humans) + SSblackbox.set_val("survived_human",surviving_humans) if(surviving_total > 0) - feedback_set("survived_total",surviving_total) + SSblackbox.set_val("survived_total",surviving_total) if(escaped_humans > 0) - feedback_set("escaped_human",escaped_humans) + SSblackbox.set_val("escaped_human",escaped_humans) if(escaped_total > 0) - feedback_set("escaped_total",escaped_total) + SSblackbox.set_val("escaped_total",escaped_total) send2irc("Server", "Round just ended.") return 0 diff --git a/code/game/gamemodes/game_mode.dm.rej b/code/game/gamemodes/game_mode.dm.rej new file mode 100644 index 0000000000..2ee380eecf --- /dev/null +++ b/code/game/gamemodes/game_mode.dm.rej @@ -0,0 +1,18 @@ +diff a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm (rejected hunks) +@@ -81,12 +81,12 @@ + spawn (ROUNDSTART_LOGOUT_REPORT_TIME) + display_roundstart_logout_report() + +- feedback_set_details("round_start","[time2text(world.realtime)]") ++ SSblackbox.set_details("round_start","[time2text(world.realtime)]") + if(SSticker && SSticker.mode) +- feedback_set_details("game_mode","[SSticker.mode]") ++ SSblackbox.set_details("game_mode","[SSticker.mode]") + if(GLOB.revdata.commit) +- feedback_set_details("revision","[GLOB.revdata.commit]") +- feedback_set_details("server_ip","[world.internet_address]:[world.port]") ++ SSblackbox.set_details("revision","[GLOB.revdata.commit]") ++ SSblackbox.set_details("server_ip","[world.internet_address]:[world.port]") + if(report) + spawn (rand(waittime_l, waittime_h)) + send_intercept(0) diff --git a/code/game/gamemodes/gang/gang.dm b/code/game/gamemodes/gang/gang.dm index 22ca4b2298..9c31edf55f 100644 --- a/code/game/gamemodes/gang/gang.dm +++ b/code/game/gamemodes/gang/gang.dm @@ -260,12 +260,12 @@ GLOBAL_LIST_INIT(gang_colors_pool, list("red","orange","yellow","green","blue"," return if(!winner) to_chat(world, "The station was [station_was_nuked ? "destroyed!" : "evacuated before a gang could claim it! The station wins!"]
") - feedback_set_details("round_end_result","loss - gangs failed takeover") + SSblackbox.set_details("round_end_result","loss - gangs failed takeover") SSticker.news_report = GANG_LOSS else to_chat(world, "The [winner.name] Gang successfully performed a hostile takeover of the station!
") - feedback_set_details("round_end_result","win - gang domination complete") + SSblackbox.set_details("round_end_result","win - gang domination complete") SSticker.news_report = GANG_TAKEOVER diff --git a/code/game/gamemodes/meteor/meteor.dm b/code/game/gamemodes/meteor/meteor.dm index e1a2ddf78f..400b38309b 100644 --- a/code/game/gamemodes/meteor/meteor.dm +++ b/code/game/gamemodes/meteor/meteor.dm @@ -50,8 +50,8 @@ else to_chat(world, "Nobody survived the meteor storm!") - feedback_set_details("round_end_result","end - evacuation") - feedback_set("round_end_result",survivors) + SSblackbox.set_details("round_end_result","end - evacuation") + SSblackbox.set_val("round_end_result",survivors) ..() return 1 diff --git a/code/game/gamemodes/miniantags/monkey/monkey.dm b/code/game/gamemodes/miniantags/monkey/monkey.dm index ecb15bc221..f9ea8dcc2c 100644 --- a/code/game/gamemodes/miniantags/monkey/monkey.dm +++ b/code/game/gamemodes/miniantags/monkey/monkey.dm @@ -107,10 +107,10 @@ /datum/game_mode/monkey/declare_completion() if(check_monkey_victory()) - feedback_set_details("round_end_result","win - monkey win") - feedback_set("round_end_result",escaped_monkeys) + SSblackbox.set_details("round_end_result","win - monkey win") + SSblackbox.set_val("round_end_result",escaped_monkeys) to_chat(world, "The monkeys have overthrown their captors! Eeek eeeek!!") else - feedback_set_details("round_end_result","loss - staff stopped the monkeys") - feedback_set("round_end_result",escaped_monkeys) + SSblackbox.set_details("round_end_result","loss - staff stopped the monkeys") + SSblackbox.set_val("round_end_result",escaped_monkeys) to_chat(world, "The staff managed to contain the monkey infestation!") diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index d4d788e049..b12dcc3bcc 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -199,70 +199,70 @@ if(nuke_off_station == NUKE_SYNDICATE_BASE) - feedback_set_details("round_end_result","loss - syndicate nuked - disk secured") + SSblackbox.set_details("round_end_result","loss - syndicate nuked - disk secured") to_chat(world, "Humiliating Syndicate Defeat") to_chat(world, "The crew of [station_name()] gave [syndicate_name()] operatives back their bomb! The syndicate base was destroyed! Next time, don't lose the nuke!") SSticker.news_report = NUKE_SYNDICATE_BASE else if(!disk_rescued && station_was_nuked && !syndies_didnt_escape) - feedback_set_details("round_end_result","win - syndicate nuke") + SSblackbox.set_details("round_end_result","win - syndicate nuke") to_chat(world, "Syndicate Major Victory!") to_chat(world, "[syndicate_name()] operatives have destroyed [station_name()]!") SSticker.news_report = STATION_NUKED else if (!disk_rescued && station_was_nuked && syndies_didnt_escape) - feedback_set_details("round_end_result","halfwin - syndicate nuke - did not evacuate in time") + SSblackbox.set_details("round_end_result","halfwin - syndicate nuke - did not evacuate in time") to_chat(world, "Total Annihilation") to_chat(world, "[syndicate_name()] operatives destroyed [station_name()] but did not leave the area in time and got caught in the explosion. Next time, don't lose the disk!") SSticker.news_report = STATION_NUKED else if (!disk_rescued && !station_was_nuked && nuke_off_station && !syndies_didnt_escape) - feedback_set_details("round_end_result","halfwin - blew wrong station") + SSblackbox.set_details("round_end_result","halfwin - blew wrong station") to_chat(world, "Crew Minor Victory") to_chat(world, "[syndicate_name()] operatives secured the authentication disk but blew up something that wasn't [station_name()]. Next time, don't do that!") SSticker.news_report = NUKE_MISS else if (!disk_rescued && !station_was_nuked && nuke_off_station && syndies_didnt_escape) - feedback_set_details("round_end_result","halfwin - blew wrong station - did not evacuate in time") + SSblackbox.set_details("round_end_result","halfwin - blew wrong station - did not evacuate in time") to_chat(world, "[syndicate_name()] operatives have earned Darwin Award!") to_chat(world, "[syndicate_name()] operatives blew up something that wasn't [station_name()] and got caught in the explosion. Next time, don't do that!") SSticker.news_report = NUKE_MISS else if ((disk_rescued || SSshuttle.emergency.mode != SHUTTLE_ENDGAME) && are_operatives_dead()) - feedback_set_details("round_end_result","loss - evacuation - disk secured - syndi team dead") + SSblackbox.set_details("round_end_result","loss - evacuation - disk secured - syndi team dead") to_chat(world, "Crew Major Victory!") to_chat(world, "The Research Staff has saved the disk and killed the [syndicate_name()] Operatives") SSticker.news_report = OPERATIVES_KILLED else if (disk_rescued) - feedback_set_details("round_end_result","loss - evacuation - disk secured") + SSblackbox.set_details("round_end_result","loss - evacuation - disk secured") to_chat(world, "Crew Major Victory") to_chat(world, "The Research Staff has saved the disk and stopped the [syndicate_name()] Operatives!") SSticker.news_report = OPERATIVES_KILLED else if (!disk_rescued && are_operatives_dead()) - feedback_set_details("round_end_result","halfwin - evacuation - disk not secured") + SSblackbox.set_details("round_end_result","halfwin - evacuation - disk not secured") to_chat(world, "Neutral Victory!") to_chat(world, "The Research Staff failed to secure the authentication disk but did manage to kill most of the [syndicate_name()] Operatives!") SSticker.news_report = OPERATIVE_SKIRMISH else if (!disk_rescued && crew_evacuated) - feedback_set_details("round_end_result","halfwin - detonation averted") + SSblackbox.set_details("round_end_result","halfwin - detonation averted") to_chat(world, "Syndicate Minor Victory!") to_chat(world, "[syndicate_name()] operatives survived the assault but did not achieve the destruction of [station_name()]. Next time, don't lose the disk!") SSticker.news_report = OPERATIVE_SKIRMISH else if (!disk_rescued && !crew_evacuated) - feedback_set_details("round_end_result","halfwin - interrupted") + SSblackbox.set_details("round_end_result","halfwin - interrupted") to_chat(world, "Neutral Victory") to_chat(world, "Round was mysteriously interrupted!") diff --git a/code/game/gamemodes/nuclear/nuclear_challenge.dm b/code/game/gamemodes/nuclear/nuclear_challenge.dm index 3e47aa517d..cad958ee64 100644 --- a/code/game/gamemodes/nuclear/nuclear_challenge.dm +++ b/code/game/gamemodes/nuclear/nuclear_challenge.dm @@ -57,7 +57,7 @@ U.hidden_uplink.telecrystals = CHALLENGE_TELECRYSTALS U.hidden_uplink.set_gamemode(/datum/game_mode/nuclear) config.shuttle_refuel_delay = max(config.shuttle_refuel_delay, CHALLENGE_SHUTTLE_DELAY) - feedback_set("nuclear_challenge_mode",1) + SSblackbox.set_val("nuclear_challenge_mode",1) qdel(src) /obj/item/device/nuclear_challenge/proc/check_allowed(mob/living/user) diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm index 634c68e89a..7a31d1f3cd 100644 --- a/code/game/gamemodes/revolution/revolution.dm +++ b/code/game/gamemodes/revolution/revolution.dm @@ -345,13 +345,13 @@ ////////////////////////////////////////////////////////////////////// /datum/game_mode/revolution/declare_completion() if(finished == 1) - feedback_set_details("round_end_result","win - heads killed") + SSblackbox.set_details("round_end_result","win - heads killed") to_chat(world, "The heads of staff were killed or exiled! The revolutionaries win!") SSticker.news_report = REVS_WIN else if(finished == 2) - feedback_set_details("round_end_result","loss - rev heads killed") + SSblackbox.set_details("round_end_result","loss - rev heads killed") to_chat(world, "The heads of staff managed to stop the revolution!") SSticker.news_report = REVS_LOSE diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index c26945801b..c748484c1b 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -260,10 +260,10 @@ for(var/datum/objective/objective in traitor.objectives) if(objective.check_completion()) objectives += "
Objective #[count]: [objective.explanation_text] Success!" - feedback_add_details("traitor_objective","[objective.type]|SUCCESS") + SSblackbox.add_details("traitor_objective","[objective.type]|SUCCESS") else objectives += "
Objective #[count]: [objective.explanation_text] Fail." - feedback_add_details("traitor_objective","[objective.type]|FAIL") + SSblackbox.add_details("traitor_objective","[objective.type]|FAIL") traitorwin = 0 count++ @@ -283,10 +283,10 @@ if(traitorwin) text += "
The [special_role_text] was successful!" - feedback_add_details("traitor_success","SUCCESS") + SSblackbox.add_details("traitor_success","SUCCESS") else text += "
The [special_role_text] has failed!" - feedback_add_details("traitor_success","FAIL") + SSblackbox.add_details("traitor_success","FAIL") text += "
" diff --git a/code/game/gamemodes/wizard/raginmages.dm b/code/game/gamemodes/wizard/raginmages.dm index 01eb8a52c4..1eb51a95b4 100644 --- a/code/game/gamemodes/wizard/raginmages.dm +++ b/code/game/gamemodes/wizard/raginmages.dm @@ -132,7 +132,7 @@ /datum/game_mode/wizard/raginmages/declare_completion() if(finished) - feedback_set_details("round_end_result","loss - wizard killed") + SSblackbox.set_details("round_end_result","loss - wizard killed") to_chat(world, "The crew has managed to hold off the wizard attack! The Space Wizards Federation has been taught a lesson they will not soon forget!") ..(1) diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index e9e1a95e73..8541fd154c 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -57,10 +57,10 @@ aspell.name = "Instant [aspell.name]" if(aspell.spell_level >= aspell.level_max) to_chat(user, "This spell cannot be strengthened any further.") - feedback_add_details("wizard_spell_improved", "[name]|[aspell.level]") + SSblackbox.add_details("wizard_spell_improved", "[name]|[aspell.level]") return 1 //No same spell found - just learn it - feedback_add_details("wizard_spell_learned", name) + SSblackbox.add_details("wizard_spell_learned", name) user.mind.AddSpell(S) to_chat(user, "You have learned [S.name].") return 1 @@ -266,7 +266,7 @@ /datum/spellbook_entry/item/Buy(mob/living/carbon/human/user,obj/item/weapon/spellbook/book) new item_path(get_turf(user)) - feedback_add_details("wizard_spell_learned", name) + SSblackbox.add_details("wizard_spell_learned", name) return 1 /datum/spellbook_entry/item/GetInfo() @@ -465,7 +465,7 @@ return TRUE /datum/spellbook_entry/summon/ghosts/Buy(mob/living/carbon/human/user, obj/item/weapon/spellbook/book) - feedback_add_details("wizard_spell_learned", name) + SSblackbox.add_details("wizard_spell_learned", name) new /datum/round_event/wizard/ghost() active = TRUE to_chat(user, "You have cast summon ghosts!") @@ -482,7 +482,7 @@ return (SSticker.mode.name != "ragin' mages" && !config.no_summon_guns) /datum/spellbook_entry/summon/guns/Buy(mob/living/carbon/human/user,obj/item/weapon/spellbook/book) - feedback_add_details("wizard_spell_learned", name) + SSblackbox.add_details("wizard_spell_learned", name) rightandwrong(0, user, 25) active = 1 playsound(get_turf(user), 'sound/magic/CastSummon.ogg', 50, 1) @@ -499,7 +499,7 @@ return (SSticker.mode.name != "ragin' mages" && !config.no_summon_magic) /datum/spellbook_entry/summon/magic/Buy(mob/living/carbon/human/user,obj/item/weapon/spellbook/book) - feedback_add_details("wizard_spell_learned", name) + SSblackbox.add_details("wizard_spell_learned", name) rightandwrong(1, user, 25) active = 1 playsound(get_turf(user), 'sound/magic/CastSummon.ogg', 50, 1) @@ -517,7 +517,7 @@ return (SSticker.mode.name != "ragin' mages" && !config.no_summon_events) /datum/spellbook_entry/summon/events/Buy(mob/living/carbon/human/user,obj/item/weapon/spellbook/book) - feedback_add_details("wizard_spell_learned", name) + SSblackbox.add_details("wizard_spell_learned", name) summonevents() times++ playsound(get_turf(user), 'sound/magic/CastSummon.ogg', 50, 1) diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index 34d148f03c..35bccb692a 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -176,7 +176,7 @@ /datum/game_mode/wizard/declare_completion() if(finished) - feedback_set_details("round_end_result","loss - wizard killed") + SSblackbox.set_details("round_end_result","loss - wizard killed") to_chat(world, "The wizard[(wizards.len>1)?"s":""] has been killed by the crew! The Space Wizards Federation has been taught a lesson they will not soon forget!") SSticker.news_report = WIZARD_KILLED @@ -208,19 +208,19 @@ for(var/datum/objective/objective in wizard.objectives) if(objective.check_completion()) text += "
Objective #[count]: [objective.explanation_text] Success!" - feedback_add_details("wizard_objective","[objective.type]|SUCCESS") + SSblackbox.add_details("wizard_objective","[objective.type]|SUCCESS") else text += "
Objective #[count]: [objective.explanation_text] Fail." - feedback_add_details("wizard_objective","[objective.type]|FAIL") + SSblackbox.add_details("wizard_objective","[objective.type]|FAIL") wizardwin = 0 count++ if(wizard.current && wizard.current.stat!=2 && wizardwin) text += "
The wizard was successful!" - feedback_add_details("wizard_success","SUCCESS") + SSblackbox.add_details("wizard_success","SUCCESS") else text += "
The wizard has failed!" - feedback_add_details("wizard_success","FAIL") + SSblackbox.add_details("wizard_success","FAIL") if(wizard.spell_list.len>0) text += "
[wizard.name] used the following spells: " var/i = 1 diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index 514cf590af..643282ab4a 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -234,7 +234,7 @@ playsound(loc, 'sound/arcade/Win.ogg', 50, 1, extrarange = -3, falloff = 10) if(emagged) - feedback_inc("arcade_win_emagged") + SSblackbox.inc("arcade_win_emagged") new /obj/effect/spawner/newbomb/timer/syndicate(loc) new /obj/item/clothing/head/collectable/petehat(loc) message_admins("[key_name_admin(usr)] has outbombed Cuban Pete and been awarded a bomb.") @@ -242,7 +242,7 @@ Reset() emagged = 0 else - feedback_inc("arcade_win_normal") + SSblackbox.inc("arcade_win_normal") prizevend() else if (emagged && (turtle >= 4)) @@ -264,10 +264,10 @@ temp = "You have been drained! GAME OVER" playsound(loc, 'sound/arcade/Lose.ogg', 50, 1, extrarange = -3, falloff = 10) if(emagged) - feedback_inc("arcade_loss_mana_emagged") + SSblackbox.inc("arcade_loss_mana_emagged") usr.gib() else - feedback_inc("arcade_loss_mana_normal") + SSblackbox.inc("arcade_loss_mana_normal") else if ((enemy_hp <= 10) && (enemy_mp > 4)) temp = "[enemy_name] heals for 4 health!" @@ -286,10 +286,10 @@ temp = "You have been crushed! GAME OVER" playsound(loc, 'sound/arcade/Lose.ogg', 50, 1, extrarange = -3, falloff = 10) if(emagged) - feedback_inc("arcade_loss_hp_emagged") + SSblackbox.inc("arcade_loss_hp_emagged") usr.gib() else - feedback_inc("arcade_loss_hp_normal") + SSblackbox.inc("arcade_loss_hp_normal") blocked = FALSE return diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 5af4f9c281..c9a448fc7b 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -115,9 +115,9 @@ message_admins("[key_name_admin(usr)] has changed the security level to [get_security_level()].") switch(GLOB.security_level) if(SEC_LEVEL_GREEN) - feedback_inc("alert_comms_green",1) + SSblackbox.inc("alert_comms_green",1) if(SEC_LEVEL_BLUE) - feedback_inc("alert_comms_blue",1) + SSblackbox.inc("alert_comms_blue",1) tmp_alertlevel = 0 else to_chat(usr, "You are not authorized to do this!") @@ -176,7 +176,7 @@ SSshuttle.points -= S.credit_cost minor_announce("[usr.name] has purchased [S.name] for [S.credit_cost] credits." , "Shuttle Purchase") message_admins("[key_name_admin(usr)] purchased [S.name].") - feedback_add_details("shuttle_purchase", S.name) + SSblackbox.add_details("shuttle_purchase", S.name) else to_chat(usr, "Something went wrong! The shuttle exchange system seems to be down.") else @@ -368,9 +368,9 @@ message_admins("[key_name_admin(usr)] has changed the security level to [get_security_level()].") switch(GLOB.security_level) if(SEC_LEVEL_GREEN) - feedback_inc("alert_comms_green",1) + SSblackbox.inc("alert_comms_green",1) if(SEC_LEVEL_BLUE) - feedback_inc("alert_comms_blue",1) + SSblackbox.inc("alert_comms_blue",1) tmp_alertlevel = 0 src.aistate = STATE_DEFAULT if("ai-changeseclevel") diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index a50a2973fc..7c3251a1be 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -535,7 +535,7 @@ GLOBAL_LIST_EMPTY(allCasters) if(choice=="Confirm") scan_user(usr) GLOB.news_network.CreateFeedChannel(channel_name, scanned_user, c_locked) - feedback_inc("newscaster_channels",1) + SSblackbox.inc("newscaster_channels",1) screen=5 updateUsrDialog() else if(href_list["set_channel_receiving"]) @@ -558,7 +558,7 @@ GLOBAL_LIST_EMPTY(allCasters) screen=6 else GLOB.news_network.SubmitArticle("[parsepencode(msg, usr, SIGNFONT)]", scanned_user, channel_name, photo, 0, allow_comments) - feedback_inc("newscaster_stories",1) + SSblackbox.inc("newscaster_stories",1) screen=4 msg = "" updateUsrDialog() @@ -850,7 +850,7 @@ GLOBAL_LIST_EMPTY(allCasters) return /obj/machinery/newscaster/proc/print_paper() - feedback_inc("newscaster_newspapers_printed",1) + SSblackbox.inc("newscaster_newspapers_printed",1) var/obj/item/weapon/newspaper/NEWSPAPER = new /obj/item/weapon/newspaper for(var/datum/newscaster/feed_channel/FC in GLOB.news_network.network_channels) NEWSPAPER.news_content += FC diff --git a/code/game/machinery/telecomms/broadcasting.dm.rej b/code/game/machinery/telecomms/broadcasting.dm.rej new file mode 100644 index 0000000000..7033970bd3 --- /dev/null +++ b/code/game/machinery/telecomms/broadcasting.dm.rej @@ -0,0 +1,33 @@ +diff a/code/game/machinery/telecomms/broadcasting.dm b/code/game/machinery/telecomms/broadcasting.dm (rejected hunks) +@@ -142,30 +142,7 @@ + // --- This following recording is intended for research and feedback in the use of department radio channels --- + + var/blackbox_msg = "[AM] [AM.say_quote(message, spans)]" +- if(istype(GLOB.blackbox)) +- switch(freq) +- if(1459) +- GLOB.blackbox.msg_common += blackbox_msg +- if(1351) +- GLOB.blackbox.msg_science += blackbox_msg +- if(1353) +- GLOB.blackbox.msg_command += blackbox_msg +- if(1355) +- GLOB.blackbox.msg_medical += blackbox_msg +- if(1357) +- GLOB.blackbox.msg_engineering += blackbox_msg +- if(1359) +- GLOB.blackbox.msg_security += blackbox_msg +- if(1441) +- GLOB.blackbox.msg_deathsquad += blackbox_msg +- if(1213) +- GLOB.blackbox.msg_syndicate += blackbox_msg +- if(1349) +- GLOB.blackbox.msg_service += blackbox_msg +- if(1347) +- GLOB.blackbox.msg_cargo += blackbox_msg +- else +- GLOB.blackbox.messages += blackbox_msg ++ SSblackbox.LogBroadcast(blackbox_msg, freq) + + spawn(50) + qdel(virt) diff --git a/code/game/machinery/vending.dm.rej b/code/game/machinery/vending.dm.rej new file mode 100644 index 0000000000..a487eb51a1 --- /dev/null +++ b/code/game/machinery/vending.dm.rej @@ -0,0 +1,10 @@ +diff a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm (rejected hunks) +@@ -528,7 +528,7 @@ + if(icon_vend) //Show the vending animation if needed + flick(icon_vend,src) + new R.product_path(get_turf(src)) +- feedback_add_details("vending_machine_usage","[R.product_path]|[src.type]") ++ SSblackbox.add_details("vending_machine_usage","[R.product_path]|[src.type]") + vend_ready = 1 + return + diff --git a/code/game/mecha/mecha_construction_paths.dm b/code/game/mecha/mecha_construction_paths.dm index b065de37ca..be6e85448b 100644 --- a/code/game/mecha/mecha_construction_paths.dm +++ b/code/game/mecha/mecha_construction_paths.dm @@ -277,7 +277,7 @@ /datum/construction/reversible/mecha/ripley/spawn_result() ..() - feedback_inc("mecha_ripley_created",1) + SSblackbox.inc("mecha_ripley_created",1) return @@ -564,7 +564,7 @@ var/obj/mecha/combat/gygax/M = new result(get_turf(holder)) M.CheckParts(holder.contents) qdel(holder) - feedback_inc("mecha_gygax_created",1) + SSblackbox.inc("mecha_gygax_created",1) return /datum/construction/mecha/firefighter_chassis @@ -786,7 +786,7 @@ /datum/construction/reversible/mecha/firefighter/spawn_result() ..() - feedback_inc("mecha_firefighter_created",1) + SSblackbox.inc("mecha_firefighter_created",1) return @@ -864,7 +864,7 @@ /datum/construction/mecha/honker/spawn_result() ..() - feedback_inc("mecha_honker_created",1) + SSblackbox.inc("mecha_honker_created",1) return /datum/construction/mecha/durand_chassis @@ -1149,7 +1149,7 @@ var/obj/mecha/combat/gygax/M = new result(get_turf(holder)) M.CheckParts(holder.contents) qdel(holder) - feedback_inc("mecha_durand_created",1) + SSblackbox.inc("mecha_durand_created",1) return //PHAZON @@ -1481,7 +1481,7 @@ var/obj/mecha/combat/gygax/M = new result(get_turf(holder)) M.CheckParts(holder.contents) qdel(holder) - feedback_inc("mecha_phazon_created",1) + SSblackbox.inc("mecha_phazon_created",1) return //ODYSSEUS @@ -1692,5 +1692,5 @@ /datum/construction/reversible/mecha/odysseus/spawn_result() ..() - feedback_inc("mecha_odysseus_created",1) + SSblackbox.inc("mecha_odysseus_created",1) return diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index 1028ca1429..1f923ddd5e 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -58,7 +58,7 @@ if(src.l_arm && src.r_arm) if(src.l_leg && src.r_leg) if(src.chest && src.head) - feedback_inc("cyborg_frames_built",1) + SSblackbox.inc("cyborg_frames_built",1) return 1 return 0 @@ -235,7 +235,7 @@ O.mmi = W //and give the real mmi to the borg. O.updatename() - feedback_inc("cyborg_birth",1) + SSblackbox.inc("cyborg_birth",1) forceMove(O) O.robot_suit = src diff --git a/code/game/objects/items/weapons/handcuffs.dm.rej b/code/game/objects/items/weapons/handcuffs.dm.rej new file mode 100644 index 0000000000..cfc1658267 --- /dev/null +++ b/code/game/objects/items/weapons/handcuffs.dm.rej @@ -0,0 +1,31 @@ +diff a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm (rejected hunks) +@@ -46,9 +46,9 @@ + apply_cuffs(C,user) + to_chat(user, "You handcuff [C].") + if(istype(src, /obj/item/weapon/restraints/handcuffs/cable)) +- feedback_add_details("handcuffs","C") ++ SSblackbox.add_details("handcuffs","C") + else +- feedback_add_details("handcuffs","H") ++ SSblackbox.add_details("handcuffs","H") + + add_logs(user, C, "handcuffed") + else +@@ -278,7 +278,7 @@ + C.legcuffed = src + src.loc = C + C.update_inv_legcuffed() +- feedback_add_details("handcuffs","B") //Yes, I know they're legcuffs. Don't change this, no need for an extra variable. The "B" is used to tell them apart. ++ SSblackbox.add_details("handcuffs","B") //Yes, I know they're legcuffs. Don't change this, no need for an extra variable. The "B" is used to tell them apart. + else if(isanimal(L)) + var/mob/living/simple_animal/SA = L + if(SA.mob_size > MOB_SIZE_TINY) +@@ -341,7 +341,7 @@ + C.legcuffed = src + src.loc = C + C.update_inv_legcuffed() +- feedback_add_details("handcuffs","B") ++ SSblackbox.add_details("handcuffs","B") + to_chat(C, "\The [src] ensnares you!") + C.Weaken(weaken) + diff --git a/code/game/objects/items/weapons/holy_weapons.dm b/code/game/objects/items/weapons/holy_weapons.dm index 571aece4c3..aa720f1979 100644 --- a/code/game/objects/items/weapons/holy_weapons.dm +++ b/code/game/objects/items/weapons/holy_weapons.dm @@ -39,7 +39,7 @@ SSreligion.holy_weapon_type = holy_weapon.type - feedback_set_details("chaplain_weapon","[choice]") + SSblackbox.set_details("chaplain_weapon","[choice]") if(holy_weapon) holy_weapon.reskinned = TRUE diff --git a/code/game/objects/items/weapons/storage/book.dm b/code/game/objects/items/weapons/storage/book.dm index 83805d969a..7775b3692a 100644 --- a/code/game/objects/items/weapons/storage/book.dm +++ b/code/game/objects/items/weapons/storage/book.dm @@ -62,7 +62,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible", SSreligion.bible_icon_state = B.icon_state SSreligion.bible_item_state = B.item_state - feedback_set_details("religion_book","[biblename]") + SSblackbox.set_details("religion_book","[biblename]") usr << browse(null, "window=editicon") /obj/item/weapon/storage/book/bible/proc/bless(mob/living/carbon/human/H, mob/living/user) diff --git a/code/game/objects/structures/ai_core.dm b/code/game/objects/structures/ai_core.dm index 3cf35daa03..7820031700 100644 --- a/code/game/objects/structures/ai_core.dm +++ b/code/game/objects/structures/ai_core.dm @@ -180,7 +180,7 @@ var/mob/living/silicon/ai/A = new /mob/living/silicon/ai(loc, laws, brain.brainmob) if(brain.force_replace_ai_name) A.fully_replace_character_name(A.name, brain.replacement_ai_name()) - feedback_inc("cyborg_ais_created",1) + SSblackbox.inc("cyborg_ais_created",1) qdel(src) else state = AI_READY_CORE diff --git a/code/game/turfs/simulated/floor/plating/asteroid.dm b/code/game/turfs/simulated/floor/plating/asteroid.dm index a17fcf2ca8..f4a3403ee5 100644 --- a/code/game/turfs/simulated/floor/plating/asteroid.dm +++ b/code/game/turfs/simulated/floor/plating/asteroid.dm @@ -63,7 +63,7 @@ if(istype(src, /turf/open/floor/plating/asteroid)) to_chat(user, "You dig a hole.") gets_dug() - feedback_add_details("pick_used_mining","[W.type]") + SSblackbox.add_details("pick_used_mining","[W.type]") if(istype(W,/obj/item/weapon/storage/bag/ore)) var/obj/item/weapon/storage/bag/ore/S = W diff --git a/code/game/turfs/simulated/minerals.dm.rej b/code/game/turfs/simulated/minerals.dm.rej new file mode 100644 index 0000000000..2ac5181cc8 --- /dev/null +++ b/code/game/turfs/simulated/minerals.dm.rej @@ -0,0 +1,19 @@ +diff a/code/game/turfs/simulated/minerals.dm b/code/game/turfs/simulated/minerals.dm (rejected hunks) +@@ -64,7 +64,7 @@ + if(ismineralturf(src)) + to_chat(user, "You finish cutting into the rock.") + gets_drilled(user) +- feedback_add_details("pick_used_mining","[P.type]") ++ SSblackbox.add_details("pick_used_mining","[P.type]") + else + return attack_hand(user) + return +@@ -74,7 +74,7 @@ + var/i + for (i=0;i[usr.client.holder.fakekey ? "Administrator" : usr.key] Announces:\n \t [message]") log_admin("Announce: [key_name(usr)] : [message]") - feedback_add_details("admin_verb","Announce") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Announce") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/set_admin_notice() set category = "Special Verbs" @@ -471,7 +471,7 @@ message_admins("[key_name(usr)] set the admin notice.") log_admin("[key_name(usr)] set the admin notice:\n[new_admin_notice]") to_chat(world, "Admin Notice:\n \t [new_admin_notice]") - feedback_add_details("admin_verb","Set Admin Notice") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Set Admin Notice") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! GLOB.admin_notice = new_admin_notice return @@ -482,7 +482,7 @@ toggle_ooc() log_admin("[key_name(usr)] toggled OOC.") message_admins("[key_name_admin(usr)] toggled OOC.") - feedback_add_details("admin_toggle","Toggle OOC|[GLOB.ooc_allowed]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_toggle","Toggle OOC|[GLOB.ooc_allowed]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/toggleoocdead() set category = "Server" @@ -492,7 +492,7 @@ log_admin("[key_name(usr)] toggled OOC.") message_admins("[key_name_admin(usr)] toggled Dead OOC.") - feedback_add_details("admin_toggle","Toggle Dead OOC|[GLOB.dooc_allowed]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_toggle","Toggle Dead OOC|[GLOB.dooc_allowed]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/startnow() set category = "Server" @@ -507,7 +507,7 @@ started as soon as possible.)" message_admins("\ [usr.key] has started the game.[msg]") - feedback_add_details("admin_verb","Start Now") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Start Now") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return 1 else to_chat(usr, "Error: Start Now: Game has already started.") @@ -526,7 +526,7 @@ log_admin("[key_name(usr)] toggled new player game entering.") message_admins("[key_name_admin(usr)] toggled new player game entering.") world.update_status() - feedback_add_details("admin_toggle","Toggle Entering|[GLOB.enter_allowed]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_toggle","Toggle Entering|[GLOB.enter_allowed]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/toggleAI() set category = "Server" @@ -539,7 +539,7 @@ to_chat(world, "The AI job is chooseable now.") log_admin("[key_name(usr)] toggled AI allowed.") world.update_status() - feedback_add_details("admin_toggle","Toggle AI|[config.allow_ai]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_toggle","Toggle AI|[config.allow_ai]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/toggleaban() set category = "Server" @@ -553,7 +553,7 @@ message_admins("[key_name_admin(usr)] toggled respawn to [GLOB.abandon_allowed ? "On" : "Off"].") log_admin("[key_name(usr)] toggled respawn to [GLOB.abandon_allowed ? "On" : "Off"].") world.update_status() - feedback_add_details("admin_toggle","Toggle Respawn|[GLOB.abandon_allowed]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_toggle","Toggle Respawn|[GLOB.abandon_allowed]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/delay() set category = "Server" @@ -572,7 +572,7 @@ to_chat(world, "The game will start in [newtime] seconds.") world << 'sound/ai/attention.ogg' log_admin("[key_name(usr)] set the pre-game delay to [newtime] seconds.") - feedback_add_details("admin_verb","Delay Game Start") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Delay Game Start") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/unprison(mob/M in GLOB.mob_list) set category = "Admin" @@ -583,7 +583,7 @@ log_admin("[key_name(usr)] has unprisoned [key_name(M)]") else alert("[M.name] is not prisoned.") - feedback_add_details("admin_verb","Unprison") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Unprison") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! ////////////////////////////////////////////////////////////////////////////////////////////////ADMIN HELPER PROCS @@ -624,7 +624,7 @@ A.admin_spawned = TRUE log_admin("[key_name(usr)] spawned [chosen] at ([usr.x],[usr.y],[usr.z])") - feedback_add_details("admin_verb","Spawn Atom") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Spawn Atom") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/show_traitor_panel(mob/M in GLOB.mob_list) @@ -640,7 +640,7 @@ return M.mind.edit_memory() - feedback_add_details("admin_verb","Traitor Panel") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Traitor Panel") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/toggletintedweldhelmets() @@ -654,7 +654,7 @@ to_chat(world, "The tinted_weldhelh has been disabled!") log_admin("[key_name(usr)] toggled tinted_weldhelh.") message_admins("[key_name_admin(usr)] toggled tinted_weldhelh.") - feedback_add_details("admin_toggle","Toggle Tinted Welding Helmets|[GLOB.tinted_weldhelh]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_toggle","Toggle Tinted Welding Helmets|[GLOB.tinted_weldhelh]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/toggleguests() set category = "Server" @@ -667,7 +667,7 @@ to_chat(world, "Guests may now enter the game.") log_admin("[key_name(usr)] toggled guests game entering [GLOB.guests_allowed?"":"dis"]allowed.") message_admins("[key_name_admin(usr)] toggled guests game entering [GLOB.guests_allowed?"":"dis"]allowed.") - feedback_add_details("admin_toggle","Toggle Guests|[GLOB.guests_allowed]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_toggle","Toggle Guests|[GLOB.guests_allowed]") //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 @@ -796,7 +796,7 @@ message_admins("[key_name_admin(usr)] has put [frommob.ckey] in control of [tomob.name].") log_admin("[key_name(usr)] stuffed [frommob.ckey] into [tomob.name].") - feedback_add_details("admin_verb","Ghost Drag Control") + SSblackbox.add_details("admin_verb","Ghost Drag Control") tomob.ckey = frommob.ckey qdel(frommob) diff --git a/code/modules/admin/admin.dm.rej b/code/modules/admin/admin.dm.rej new file mode 100644 index 0000000000..58a209fb70 --- /dev/null +++ b/code/modules/admin/admin.dm.rej @@ -0,0 +1,10 @@ +diff a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm (rejected hunks) +@@ -419,7 +419,7 @@ + return + if(confirm == "Yes") + SSticker.delay_end = 0 +- feedback_add_details("admin_verb","Hard Restart") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! ++ SSblackbox.add_details("admin_verb","Hard Restart") //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)" : ""]", 10) + + /datum/admins/proc/end_round() diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 22045b99ff..ba1cdd679e 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -331,7 +331,7 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, AVerbsHideable()) verbs += /client/proc/show_verbs to_chat(src, "Most of your adminverbs have been hidden.") - feedback_add_details("admin_verb","Hide Most Adminverbs") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Hide Most Adminverbs") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return /client/proc/hide_verbs() @@ -342,7 +342,7 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, AVerbsHideable()) verbs += /client/proc/show_verbs to_chat(src, "Almost all of your adminverbs have been hidden.") - feedback_add_details("admin_verb","Hide All Adminverbs") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Hide All Adminverbs") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return /client/proc/show_verbs() @@ -353,7 +353,7 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, AVerbsHideable()) add_admin_verbs() to_chat(src, "All of your adminverbs are now visible.") - feedback_add_details("admin_verb","Show Adminverbs") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Show Adminverbs") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -373,7 +373,7 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, AVerbsHideable()) message_admins("[key_name_admin(usr)] re-entered corpse") ghost.can_reenter_corpse = 1 //force re-entering even when otherwise not possible ghost.reenter_corpse() - feedback_add_details("admin_verb","Admin Reenter") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Admin Reenter") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! else if(isnewplayer(mob)) to_chat(src, "Error: Aghost: Can't admin-ghost whilst in the lobby. Join or Observe first.") else @@ -384,7 +384,7 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, AVerbsHideable()) body.ghostize(1) if(body && !body.key) body.key = "@[key]" //Haaaaaaaack. But the people have spoken. If it breaks; blame adminbus - feedback_add_details("admin_verb","Admin Ghost") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Admin Ghost") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/invisimin() @@ -404,7 +404,7 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, AVerbsHideable()) set category = "Admin" if(holder) holder.player_panel_new() - feedback_add_details("admin_verb","Player Panel New") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Player Panel New") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/check_antagonists() set name = "Check Antagonists" @@ -414,7 +414,7 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, AVerbsHideable()) log_admin("[key_name(usr)] checked antagonists.") //for tsar~ if(!isobserver(usr)) message_admins("[key_name_admin(usr)] checked antagonists.") - feedback_add_details("admin_verb","Check Antagonists") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Check Antagonists") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/unban_panel() set name = "Unban Panel" @@ -424,21 +424,21 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, AVerbsHideable()) holder.unbanpanel() else holder.DB_ban_panel() - feedback_add_details("admin_verb","Unban Panel") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Unban Panel") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/game_panel() set name = "Game Panel" set category = "Admin" if(holder) holder.Game() - feedback_add_details("admin_verb","Game Panel") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Game Panel") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/secrets() set name = "Secrets" set category = "Admin" if (holder) holder.Secrets() - feedback_add_details("admin_verb","Secrets Panel") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Secrets Panel") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/findStealthKey(txt) @@ -486,7 +486,7 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, AVerbsHideable()) mob.mouse_opacity = 0 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"]") - feedback_add_details("admin_verb","Stealth Mode") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Stealth Mode") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/drop_bomb() set category = "Special Verbs" @@ -528,7 +528,7 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, AVerbsHideable()) explosion(epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range, TRUE, TRUE) message_admins("[ADMIN_LOOKUPFLW(usr)] creating an admin explosion at [epicenter.loc].") log_admin("[key_name(usr)] created an admin explosion at [epicenter.loc].") - feedback_add_details("admin_verb","Drop Bomb") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Drop Bomb") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/drop_dynex_bomb() set category = "Special Verbs" @@ -541,7 +541,7 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, AVerbsHideable()) dyn_explosion(epicenter, ex_power) message_admins("[ADMIN_LOOKUPFLW(usr)] creating an admin explosion at [epicenter.loc].") log_admin("[key_name(usr)] created an admin explosion at [epicenter.loc].") - feedback_add_details("admin_verb","Drop Dynamic Bomb") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Drop Dynamic Bomb") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/get_dynex_range() set category = "Debug" @@ -586,7 +586,7 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, AVerbsHideable()) if(!S) return - feedback_add_details("admin_verb","Give Spell") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","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].") @@ -608,7 +608,7 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, AVerbsHideable()) T.mind.RemoveSpell(S) log_admin("[key_name(usr)] removed the spell [S] from [key_name(T)].") message_admins("[key_name_admin(usr)] removed the spell [S] from [key_name(T)].") - feedback_add_details("admin_verb","Remove Spell") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Remove Spell") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/give_disease(mob/T in GLOB.mob_list) set category = "Fun" @@ -617,7 +617,7 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, AVerbsHideable()) var/datum/disease/D = input("Choose the disease to give to that guy", "ACHOO") as null|anything in SSdisease.diseases if(!D) return T.ForceContractDisease(new D) - feedback_add_details("admin_verb","Give Disease") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","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("[key_name_admin(usr)] gave [key_name(T)] the disease [D].") @@ -631,13 +631,13 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, AVerbsHideable()) O.say(message) log_admin("[key_name(usr)] made [O] at [O.x], [O.y], [O.z] say \"[message]\"") message_admins("[key_name_admin(usr)] made [O] at [O.x], [O.y], [O.z]. say \"[message]\"") - feedback_add_details("admin_verb","Object Say") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Object Say") //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" set category = "Special Verbs" if(src.mob) togglebuildmode(src.mob) - feedback_add_details("admin_verb","Toggle Build Mode") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Toggle Build Mode") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/toggle_log_hrefs() set name = "Toggle href logging" @@ -679,7 +679,7 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, AVerbsHideable()) to_chat(src, "You are now a normal player.") log_admin("[src] deadmined themself.") message_admins("[src] deadmined themself.") - feedback_add_details("admin_verb","Deadmin") + SSblackbox.add_details("admin_verb","Deadmin") /client/proc/readmin() set name = "Readmin" @@ -697,7 +697,7 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, AVerbsHideable()) to_chat(src, "You are now an admin.") message_admins("[src] re-adminned themselves.") log_admin("[src] re-adminned themselves.") - feedback_add_details("admin_verb","Readmin") + SSblackbox.add_details("admin_verb","Readmin") /client/proc/populate_world(amount = 50 as num) set name = "Populate World" diff --git a/code/modules/admin/secrets.dm.rej b/code/modules/admin/secrets.dm.rej new file mode 100644 index 0000000000..5cf52e0fb0 --- /dev/null +++ b/code/modules/admin/secrets.dm.rej @@ -0,0 +1,291 @@ +diff a/code/modules/admin/secrets.dm b/code/modules/admin/secrets.dm (rejected hunks) +@@ -197,8 +197,8 @@ + if("moveminingshuttle") + if(!check_rights(R_ADMIN)) + return +- feedback_inc("admin_secrets_fun_used",1) +- feedback_add_details("admin_secrets_fun_used","ShM") ++ SSblackbox.inc("admin_secrets_fun_used",1) ++ SSblackbox.add_details("admin_secrets_fun_used","ShM") + 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") +@@ -206,8 +206,8 @@ + if("movelaborshuttle") + if(!check_rights(R_ADMIN)) + return +- feedback_inc("admin_secrets_fun_used",1) +- feedback_add_details("admin_secrets_fun_used","ShL") ++ SSblackbox.inc("admin_secrets_fun_used",1) ++ SSblackbox.add_details("admin_secrets_fun_used","ShL") + 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") +@@ -215,8 +215,8 @@ + if("moveferry") + if(!check_rights(R_ADMIN)) + return +- feedback_inc("admin_secrets_fun_used",1) +- feedback_add_details("admin_secrets_fun_used","ShF") ++ SSblackbox.inc("admin_secrets_fun_used",1) ++ SSblackbox.add_details("admin_secrets_fun_used","ShF") + 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") +@@ -228,8 +228,8 @@ + if(A) + var/new_perma = !A.perma_docked + A.perma_docked = new_perma +- feedback_inc("admin_secrets_fun_used",1) +- feedback_add_details("admin_secrets_fun_used","ShA[new_perma ? "s" : "g"]") ++ SSblackbox.inc("admin_secrets_fun_used",1) ++ SSblackbox.add_details("admin_secrets_fun_used","ShA[new_perma ? "s" : "g"]") + message_admins("[key_name_admin(usr)] [new_perma ? "stopped" : "started"] the arrivals shuttle") + log_admin("[key_name(usr)] [new_perma ? "stopped" : "started"] the arrivals shuttle") + else +@@ -279,8 +279,8 @@ + if("monkey") + if(!check_rights(R_FUN)) + return +- feedback_inc("admin_secrets_fun_used",1) +- feedback_add_details("admin_secrets_fun_used","M") ++ SSblackbox.inc("admin_secrets_fun_used",1) ++ SSblackbox.add_details("admin_secrets_fun_used","M") + for(var/mob/living/carbon/human/H in GLOB.mob_list) + spawn(0) + H.monkeyize() +@@ -300,8 +300,8 @@ + if("corgi") + if(!check_rights(R_FUN)) + return +- feedback_inc("admin_secrets_fun_used",1) +- feedback_add_details("admin_secrets_fun_used","M") ++ SSblackbox.inc("admin_secrets_fun_used",1) ++ SSblackbox.add_details("admin_secrets_fun_used","M") + for(var/mob/living/carbon/human/H in GLOB.mob_list) + spawn(0) + H.corgize() +@@ -311,14 +311,14 @@ + if(!check_rights(R_FUN)) + return + usr.client.triple_ai() +- feedback_inc("admin_secrets_fun_used",1) +- feedback_add_details("admin_secrets_fun_used","TriAI") ++ SSblackbox.inc("admin_secrets_fun_used",1) ++ SSblackbox.add_details("admin_secrets_fun_used","TriAI") + + if("power") + if(!check_rights(R_FUN)) + return +- feedback_inc("admin_secrets_fun_used",1) +- feedback_add_details("admin_secrets_fun_used","P") ++ SSblackbox.inc("admin_secrets_fun_used",1) ++ SSblackbox.add_details("admin_secrets_fun_used","P") + log_admin("[key_name(usr)] made all areas powered", 1) + message_admins("[key_name_admin(usr)] made all areas powered") + power_restore() +@@ -326,8 +326,8 @@ + if("unpower") + if(!check_rights(R_FUN)) + return +- feedback_inc("admin_secrets_fun_used",1) +- feedback_add_details("admin_secrets_fun_used","UP") ++ SSblackbox.inc("admin_secrets_fun_used",1) ++ SSblackbox.add_details("admin_secrets_fun_used","UP") + log_admin("[key_name(usr)] made all areas unpowered", 1) + message_admins("[key_name_admin(usr)] made all areas unpowered") + power_failure() +@@ -335,8 +335,8 @@ + if("quickpower") + if(!check_rights(R_FUN)) + return +- feedback_inc("admin_secrets_fun_used",1) +- feedback_add_details("admin_secrets_fun_used","QP") ++ SSblackbox.inc("admin_secrets_fun_used",1) ++ SSblackbox.add_details("admin_secrets_fun_used","QP") + log_admin("[key_name(usr)] made all SMESs powered", 1) + message_admins("[key_name_admin(usr)] made all SMESs powered") + power_restore_quick() +@@ -350,8 +350,8 @@ + var/objective = copytext(sanitize(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.inc("admin_secrets_fun_used",1) ++ SSblackbox.add_details("admin_secrets_fun_used","TA([objective])") + for(var/mob/living/carbon/human/H in GLOB.player_list) + if(H.stat == 2 || !H.client || !H.mind) continue + if(is_special_character(H)) continue +@@ -383,8 +383,8 @@ + if("changebombcap") + if(!check_rights(R_FUN)) + return +- feedback_inc("admin_secrets_fun_used",1) +- feedback_add_details("admin_secrets_fun_used","BC") ++ SSblackbox.inc("admin_secrets_fun_used",1) ++ SSblackbox.add_details("admin_secrets_fun_used","BC") + + 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 above 4)", "New Bomb Cap", GLOB.MAX_EX_LIGHT_RANGE) as num|null + if (newBombCap < 4) +@@ -404,16 +404,16 @@ + if("lightsout") + if(!check_rights(R_FUN)) + return +- feedback_inc("admin_secrets_fun_used",1) +- feedback_add_details("admin_secrets_fun_used","LO") ++ SSblackbox.inc("admin_secrets_fun_used",1) ++ SSblackbox.add_details("admin_secrets_fun_used","LO") + message_admins("[key_name_admin(usr)] has broke a lot of lights") + E = new /datum/round_event/electrical_storm{lightsoutAmount = 2}() + + if("blackout") + if(!check_rights(R_FUN)) + return +- feedback_inc("admin_secrets_fun_used",1) +- feedback_add_details("admin_secrets_fun_used","BO") ++ SSblackbox.inc("admin_secrets_fun_used",1) ++ SSblackbox.add_details("admin_secrets_fun_used","BO") + message_admins("[key_name_admin(usr)] broke all lights") + for(var/obj/machinery/light/L in GLOB.machines) + L.break_light_tube() +@@ -429,8 +429,8 @@ + + if(animetype == "Cancel" || droptype == "Cancel") + return +- feedback_inc("admin_secrets_fun_used",1) +- feedback_add_details("admin_secrets_fun_used","CC") ++ SSblackbox.inc("admin_secrets_fun_used",1) ++ SSblackbox.add_details("admin_secrets_fun_used","CC") + message_admins("[key_name_admin(usr)] made everything kawaii.") + for(var/mob/living/carbon/human/H in GLOB.mob_list) + H << sound('sound/AI/animes.ogg') +@@ -460,8 +460,8 @@ + if("whiteout") + if(!check_rights(R_FUN)) + return +- feedback_inc("admin_secrets_fun_used",1) +- feedback_add_details("admin_secrets_fun_used","WO") ++ SSblackbox.inc("admin_secrets_fun_used",1) ++ SSblackbox.add_details("admin_secrets_fun_used","WO") + message_admins("[key_name_admin(usr)] fixed all lights") + for(var/obj/machinery/light/L in GLOB.machines) + L.fix() +@@ -472,8 +472,8 @@ + if("virus") + if(!check_rights(R_FUN)) + return +- feedback_inc("admin_secrets_fun_used",1) +- feedback_add_details("admin_secrets_fun_used","V") ++ SSblackbox.inc("admin_secrets_fun_used",1) ++ SSblackbox.add_details("admin_secrets_fun_used","V") + switch(alert("Do you want this to be a random disease or do you have something in mind?",,"Make Your Own","Random","Choose")) + if("Make Your Own") + AdminCreateVirus(usr.client) +@@ -488,8 +488,8 @@ + if("retardify") + if(!check_rights(R_FUN)) + return +- feedback_inc("admin_secrets_fun_used",1) +- feedback_add_details("admin_secrets_fun_used","RET") ++ SSblackbox.inc("admin_secrets_fun_used",1) ++ SSblackbox.add_details("admin_secrets_fun_used","RET") + for(var/mob/living/carbon/human/H in GLOB.player_list) + to_chat(H, "You suddenly feel stupid.") + H.setBrainLoss(60) +@@ -498,8 +498,8 @@ + if("eagles")//SCRAW + if(!check_rights(R_FUN)) + return +- feedback_inc("admin_secrets_fun_used",1) +- feedback_add_details("admin_secrets_fun_used","EgL") ++ SSblackbox.inc("admin_secrets_fun_used",1) ++ SSblackbox.add_details("admin_secrets_fun_used","EgL") + for(var/obj/machinery/door/airlock/W in GLOB.machines) + if(W.z == ZLEVEL_STATION && !istype(get_area(W), /area/bridge) && !istype(get_area(W), /area/crew_quarters) && !istype(get_area(W), /area/security/prison)) + W.req_access = list() +@@ -509,8 +509,8 @@ + if("guns") + if(!check_rights(R_FUN)) + return +- feedback_inc("admin_secrets_fun_used",1) +- feedback_add_details("admin_secrets_fun_used","SG") ++ SSblackbox.inc("admin_secrets_fun_used",1) ++ SSblackbox.add_details("admin_secrets_fun_used","SG") + var/survivor_probability = 0 + switch(alert("Do you want this to create survivors antagonists?",,"No Antags","Some Antags","All Antags!")) + if("Some Antags") +@@ -523,8 +523,8 @@ + if("magic") + if(!check_rights(R_FUN)) + return +- feedback_inc("admin_secrets_fun_used",1) +- feedback_add_details("admin_secrets_fun_used","SM") ++ SSblackbox.inc("admin_secrets_fun_used",1) ++ SSblackbox.add_details("admin_secrets_fun_used","SM") + var/survivor_probability = 0 + switch(alert("Do you want this to create survivors antagonists?",,"No Antags","Some Antags","All Antags!")) + if("Some Antags") +@@ -540,15 +540,15 @@ + if(!SSevents.wizardmode) + if(alert("Do you want to toggle summon events on?",,"Yes","No") == "Yes") + summonevents() +- feedback_inc("admin_secrets_fun_used",1) +- feedback_add_details("admin_secrets_fun_used","SE") ++ SSblackbox.inc("admin_secrets_fun_used",1) ++ SSblackbox.add_details("admin_secrets_fun_used","SE") + + else + switch(alert("What would you like to do?",,"Intensify Summon Events","Turn Off Summon Events","Nothing")) + if("Intensify Summon Events") + summonevents() +- feedback_inc("admin_secrets_fun_used",1) +- feedback_add_details("admin_secrets_fun_used","SE") ++ SSblackbox.inc("admin_secrets_fun_used",1) ++ SSblackbox.add_details("admin_secrets_fun_used","SE") + if("Turn Off Summon Events") + SSevents.toggleWizardmode() + SSevents.resetFrequency() +@@ -556,8 +556,8 @@ + if("dorf") + if(!check_rights(R_FUN)) + return +- feedback_inc("admin_secrets_fun_used",1) +- feedback_add_details("admin_secrets_fun_used","DF") ++ SSblackbox.inc("admin_secrets_fun_used",1) ++ SSblackbox.add_details("admin_secrets_fun_used","DF") + for(var/mob/living/carbon/human/B in GLOB.mob_list) + B.facial_hair_style = "Dward Beard" + B.update_hair() +@@ -566,8 +566,8 @@ + if("onlyone") + if(!check_rights(R_FUN)) + return +- feedback_inc("admin_secrets_fun_used",1) +- feedback_add_details("admin_secrets_fun_used","OO") ++ SSblackbox.inc("admin_secrets_fun_used",1) ++ SSblackbox.add_details("admin_secrets_fun_used","OO") + usr.client.only_one() + send_to_playing_players('sound/misc/highlander.ogg') + // message_admins("[key_name_admin(usr)] has triggered a battle to the death (only one)") +@@ -575,16 +575,16 @@ + if("delayed_onlyone") + if(!check_rights(R_FUN)) + return +- feedback_inc("admin_secrets_fun_used",1) +- feedback_add_details("admin_secrets_fun_used","OO") ++ SSblackbox.inc("admin_secrets_fun_used",1) ++ SSblackbox.add_details("admin_secrets_fun_used","OO") + usr.client.only_one_delayed() + send_to_playing_players('sound/misc/highlander_delayed.ogg') + + if("onlyme") + if(!check_rights(R_FUN)) + return +- feedback_inc("admin_secrets_fun_used",1) +- feedback_add_details("admin_secrets_fun_used","OM") ++ SSblackbox.inc("admin_secrets_fun_used",1) ++ SSblackbox.add_details("admin_secrets_fun_used","OM") + only_me() + + if("maint_access_brig") diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index dd32085681..5d46c1d409 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -498,7 +498,7 @@ GLOB.Banlist["minutes"] << minutes GLOB.Banlist["bannedby"] << usr.ckey GLOB.Banlist.cd = "/base" - feedback_inc("ban_edit",1) + SSblackbox.inc("ban_edit",1) unbanpanel() /////////////////////////////////////new ban stuff @@ -520,7 +520,7 @@ if("Yes") ban_unban_log_save("[key_name(usr)] removed [key_name(M)]'s appearance ban.") log_admin_private("[key_name(usr)] removed [key_name(M)]'s appearance ban.") - feedback_inc("ban_appearance_unban", 1) + SSblackbox.inc("ban_appearance_unban", 1) DB_ban_unban(M.ckey, BANTYPE_ANY_JOB, "appearance") if(M.client) jobban_buildcache(M.client) @@ -539,7 +539,7 @@ jobban_buildcache(M.client) ban_unban_log_save("[key_name(usr)] appearance banned [key_name(M)]. reason: [reason]") log_admin_private("[key_name(usr)] appearance banned [key_name(M)]. \nReason: [reason]") - feedback_inc("ban_appearance",1) + SSblackbox.inc("ban_appearance",1) create_message("note", M.ckey, null, "Appearance banned - [reason]", null, null, 0, 0) message_admins("[key_name_admin(usr)] appearance banned [key_name_admin(M)].") to_chat(M, "You have been appearance banned by [usr.client.ckey].") @@ -924,8 +924,8 @@ jobban_buildcache(M.client) ban_unban_log_save("[key_name(usr)] temp-jobbanned [key_name(M)] from [job] for [mins] minutes. reason: [reason]") log_admin_private("[key_name(usr)] temp-jobbanned [key_name(M)] from [job] for [mins] minutes.") - feedback_inc("ban_job_tmp",1) - feedback_add_details("ban_job_tmp","- [job]") + SSblackbox.inc("ban_job_tmp",1) + SSblackbox.add_details("ban_job_tmp","- [job]") if(!msg) msg = job else @@ -949,8 +949,8 @@ jobban_buildcache(M.client) ban_unban_log_save("[key_name(usr)] perma-jobbanned [key_name(M)] from [job]. reason: [reason]") log_admin_private("[key_name(usr)] perma-banned [key_name(M)] from [job]") - feedback_inc("ban_job",1) - feedback_add_details("ban_job","- [job]") + SSblackbox.inc("ban_job",1) + SSblackbox.add_details("ban_job","- [job]") if(!msg) msg = job else @@ -980,8 +980,8 @@ DB_ban_unban(M.ckey, BANTYPE_ANY_JOB, job) if(M.client) jobban_buildcache(M.client) - feedback_inc("ban_job_unban",1) - feedback_add_details("ban_job_unban","- [job]") + SSblackbox.inc("ban_job_unban",1) + SSblackbox.add_details("ban_job_unban","- [job]") if(!msg) msg = job else @@ -1116,8 +1116,8 @@ ban_unban_log_save("[key_name(usr)] has banned [key_name(M)]. - Reason: [reason] - This will be removed in [mins] minutes.") to_chat(M, "You have been banned by [usr.client.ckey].\nReason: [reason]") to_chat(M, "This is a temporary ban, it will be removed in [mins] minutes.") - feedback_inc("ban_tmp",1) - feedback_inc("ban_tmp_mins",mins) + SSblackbox.inc("ban_tmp",1) + SSblackbox.inc("ban_tmp_mins",mins) if(config.banappeals) to_chat(M, "To try to resolve this matter head to [config.banappeals]") else @@ -1687,7 +1687,7 @@ log_admin("[key_name(H)] got their cookie, spawned by [key_name(src.owner)].") message_admins("[key_name(H)] got their cookie, spawned by [key_name(src.owner)].") - feedback_inc("admin_cookies_spawned",1) + SSblackbox.inc("admin_cookies_spawned",1) to_chat(H, "Your prayers have been answered!! You received the best cookie!") H << 'sound/effects/pray_chaplain.ogg' @@ -1987,7 +1987,7 @@ var/choice = alert("Please confirm Feed channel creation.","Network Channel Handler","Confirm","Cancel") if(choice=="Confirm") GLOB.news_network.CreateFeedChannel(src.admincaster_feed_channel.channel_name, src.admin_signature, src.admincaster_feed_channel.locked, 1) - feedback_inc("newscaster_channels",1) + SSblackbox.inc("newscaster_channels",1) log_admin("[key_name(usr)] created command feed channel: [src.admincaster_feed_channel.channel_name]!") src.admincaster_screen=5 src.access_news_network() @@ -2010,7 +2010,7 @@ src.admincaster_screen = 6 else GLOB.news_network.SubmitArticle(src.admincaster_feed_message.returnBody(-1), src.admin_signature, src.admincaster_feed_channel.channel_name, null, 1) - feedback_inc("newscaster_stories",1) + SSblackbox.inc("newscaster_stories",1) src.admincaster_screen=4 for(var/obj/machinery/newscaster/NEWSCASTER in GLOB.allCasters) diff --git a/code/modules/admin/topic.dm.rej b/code/modules/admin/topic.dm.rej new file mode 100644 index 0000000000..5cbae46c98 --- /dev/null +++ b/code/modules/admin/topic.dm.rej @@ -0,0 +1,10 @@ +diff a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm (rejected hunks) +@@ -1175,7 +1175,7 @@ + ban_unban_log_save("[key_name(usr)] has permabanned [key_name(M)]. - Reason: [reason] - This is a permanent ban.") + log_admin_private("[key_name(usr)] has banned [key_name_admin(M)].\nReason: [reason]\nThis is a permanent ban.") + message_admins("[key_name_admin(usr)] has banned [key_name_admin(M)].\nReason: [reason]\nThis is a permanent ban.") +- feedback_inc("ban_perma",1) ++ SSblackbox.inc("ban_perma",1) + qdel(M.client) + if("Cancel") + return diff --git a/code/modules/admin/verbs/adminhelp.dm.rej b/code/modules/admin/verbs/adminhelp.dm.rej new file mode 100644 index 0000000000..047041a5fc --- /dev/null +++ b/code/modules/admin/verbs/adminhelp.dm.rej @@ -0,0 +1,10 @@ +diff a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm (rejected hunks) +@@ -127,7 +127,7 @@ + log_admin_private("HELP: [key_name(src)]: [original_msg] - heard by [admin_number_present] non-AFK admins who have +BAN.") + if(admin_number_present <= 0) + to_chat(src, "No active admins are online, your adminhelp was sent to the admin irc.") +- feedback_add_details("admin_verb","Adminhelp") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! ++ SSblackbox.add_details("admin_verb","Adminhelp") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + return + + /proc/get_admin_counts(requiredflags = R_BAN) diff --git a/code/modules/admin/verbs/adminjump.dm b/code/modules/admin/verbs/adminjump.dm index e02b71a4d4..7a6167a986 100644 --- a/code/modules/admin/verbs/adminjump.dm +++ b/code/modules/admin/verbs/adminjump.dm @@ -23,7 +23,7 @@ usr.forceMove(T) log_admin("[key_name(usr)] jumped to [A]") message_admins("[key_name_admin(usr)] jumped to [A]") - feedback_add_details("admin_verb","Jump To Area") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Jump To Area") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/jumptoturf(turf/T in world) set name = "Jump to Turf" @@ -35,7 +35,7 @@ log_admin("[key_name(usr)] jumped to [T.x],[T.y],[T.z] in [T.loc]") message_admins("[key_name_admin(usr)] jumped to [T.x],[T.y],[T.z] in [T.loc]") usr.loc = T - feedback_add_details("admin_verb","Jump To Turf") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Jump To Turf") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return /client/proc/jumptomob(mob/M in GLOB.mob_list) @@ -52,7 +52,7 @@ var/mob/A = src.mob var/turf/T = get_turf(M) if(T && isturf(T)) - feedback_add_details("admin_verb","Jump To Mob") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Jump To Mob") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! A.forceMove(M.loc) else to_chat(A, "This mob is not located in the game world.") @@ -70,7 +70,7 @@ A.x = tx A.y = ty A.z = tz - feedback_add_details("admin_verb","Jump To Coordiate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Jump To Coordiate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! message_admins("[key_name_admin(usr)] jumped to coordinates [tx], [ty], [tz]") /client/proc/jumptokey() @@ -94,7 +94,7 @@ usr.forceMove(M.loc) - feedback_add_details("admin_verb","Jump To Key") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Jump To Key") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/Getmob(mob/M in GLOB.mob_list) set category = "Admin" @@ -138,7 +138,7 @@ if(M) M.forceMove(get_turf(usr)) usr.loc = M.loc - feedback_add_details("admin_verb","Get Key") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Get Key") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/sendmob(mob/M in sortmobs()) set category = "Admin" diff --git a/code/modules/admin/verbs/adminjump.dm.rej b/code/modules/admin/verbs/adminjump.dm.rej new file mode 100644 index 0000000000..d5eeea0944 --- /dev/null +++ b/code/modules/admin/verbs/adminjump.dm.rej @@ -0,0 +1,16 @@ +diff a/code/modules/admin/verbs/adminjump.dm b/code/modules/admin/verbs/adminjump.dm (rejected hunks) +@@ -107,7 +107,7 @@ + log_admin("[key_name(usr)] teleported [key_name(M)]") + message_admins("[key_name_admin(usr)] teleported [key_name_admin(M)]") + M.forceMove(get_turf(usr)) +- feedback_add_details("admin_verb","Get Mob") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! ++ SSblackbox.add_details("admin_verb","Get Mob") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + + /client/proc/Getkey() + set category = "Admin" +@@ -149,4 +149,4 @@ + message_admins("[key_name_admin(usr)] teleported [key_name_admin(M)] to [A]") + else + to_chat(src, "Failed to move mob to a valid location.") +- feedback_add_details("admin_verb","Send Mob") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! ++ SSblackbox.add_details("admin_verb","Send Mob") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 5c76df805a..df59c1a7bb 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -11,7 +11,7 @@ if( !ismob(M) || !M.client ) return cmd_admin_pm(M.client,null) - feedback_add_details("admin_verb","Admin PM Mob") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","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 /client/proc/cmd_admin_pm_panel() @@ -33,7 +33,7 @@ targets["(No Mob) - [T]"] = T var/target = input(src,"To whom shall we send a message?","Admin PM",null) as null|anything in sortList(targets) cmd_admin_pm(targets[target],null) - feedback_add_details("admin_verb","Admin PM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Admin PM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_ahelp_reply(whom) if(prefs.muted & MUTE_ADMINHELP) diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm index fff294e800..173b90edca 100644 --- a/code/modules/admin/verbs/adminsay.dm +++ b/code/modules/admin/verbs/adminsay.dm @@ -18,5 +18,5 @@ msg = "ADMIN: [key_name(usr, 1)]: [msg]" to_chat(GLOB.admins, msg) - feedback_add_details("admin_verb","Asay") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Asay") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/admin/verbs/atmosdebug.dm b/code/modules/admin/verbs/atmosdebug.dm index 03017f494e..9a16414132 100644 --- a/code/modules/admin/verbs/atmosdebug.dm +++ b/code/modules/admin/verbs/atmosdebug.dm @@ -4,7 +4,7 @@ if(!src.holder) to_chat(src, "Only administrators may use this command.") return - feedback_add_details("admin_verb","Check Plumbing") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Check Plumbing") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! //all plumbing - yes, some things might get stated twice, doesn't matter. for (var/obj/machinery/atmospherics/plumbing in GLOB.machines) @@ -27,7 +27,7 @@ if(!src.holder) to_chat(src, "Only administrators may use this command.") return - feedback_add_details("admin_verb","Check Power") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Check Power") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! for (var/datum/powernet/PN in GLOB.powernets) if (!PN.nodes || !PN.nodes.len) diff --git a/code/modules/admin/verbs/deadsay.dm b/code/modules/admin/verbs/deadsay.dm index 8703784fc6..37af9e8601 100644 --- a/code/modules/admin/verbs/deadsay.dm +++ b/code/modules/admin/verbs/deadsay.dm @@ -29,4 +29,4 @@ if (M.stat == DEAD || (M.client && M.client.holder && (M.client.prefs.chat_toggles & CHAT_DEAD))) //admins can toggle deadchat on and off. This is a proc in admin.dm and is only give to Administrators and above M.show_message(rendered, 2) - feedback_add_details("admin_verb","Dsay") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! \ No newline at end of file + SSblackbox.add_details("admin_verb","Dsay") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! \ No newline at end of file diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 54be219a48..38b0052eaf 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -13,7 +13,7 @@ message_admins("[key_name(src)] toggled debugging on.") log_admin("[key_name(src)] toggled debugging on.") - feedback_add_details("admin_verb","Toggle Debug Two") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Toggle Debug Two") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -201,7 +201,7 @@ GLOBAL_PROTECT(AdminProcCall) t+= "[env_gases[id][GAS_META][META_GAS_NAME]] : [env_gases[id][MOLES]]\n" to_chat(usr, t) - feedback_add_details("admin_verb","Air Status In Location") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Air Status In Location") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_robotize(mob/M in GLOB.mob_list) set category = "Fun" @@ -283,7 +283,7 @@ GLOBAL_PROTECT(AdminProcCall) for(var/datum/paiCandidate/candidate in SSpai.candidates) if(candidate.key == choice.key) SSpai.candidates.Remove(candidate) - feedback_add_details("admin_verb","Make pAI") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Make pAI") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_alienize(mob/M in GLOB.mob_list) set category = "Fun" @@ -296,7 +296,7 @@ GLOBAL_PROTECT(AdminProcCall) log_admin("[key_name(src)] has alienized [M.key].") spawn(0) M:Alienize() - feedback_add_details("admin_verb","Make Alien") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","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("[key_name_admin(usr)] made [key_name(M)] into an alien.") else @@ -313,7 +313,7 @@ GLOBAL_PROTECT(AdminProcCall) log_admin("[key_name(src)] has slimeized [M.key].") spawn(0) M:slimeize() - feedback_add_details("admin_verb","Make Slime") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","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("[key_name_admin(usr)] made [key_name(M)] into a slime.") else @@ -402,7 +402,7 @@ GLOBAL_PROTECT(AdminProcCall) CHECK_TICK log_admin("[key_name(src)] has deleted all ([counter]) instances of [hsbitem].") message_admins("[key_name_admin(src)] has deleted all ([counter]) instances of [hsbitem].", 0) - feedback_add_details("admin_verb","Delete All") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Delete All") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_debug_make_powernets() @@ -411,7 +411,7 @@ GLOBAL_PROTECT(AdminProcCall) 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","Make Powernets") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Make Powernets") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_grantfullaccess(mob/M in GLOB.mob_list) set category = "Admin" @@ -449,7 +449,7 @@ GLOBAL_PROTECT(AdminProcCall) else alert("Invalid mob") - feedback_add_details("admin_verb","Grant Full Access") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","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("[key_name_admin(usr)] has granted [M.key] full access.") @@ -470,7 +470,7 @@ GLOBAL_PROTECT(AdminProcCall) M.ckey = src.ckey if( isobserver(adminmob) ) qdel(adminmob) - feedback_add_details("admin_verb","Assume Direct Control") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Assume Direct Control") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_areatest() set category = "Mapping" @@ -605,7 +605,7 @@ GLOBAL_PROTECT(AdminProcCall) if(isnull(custom)) return - feedback_add_details("admin_verb","Select Equipment") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Select Equipment") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! for (var/obj/item/I in M.get_equipped_items()) qdel(I) switch(dresscode) @@ -770,7 +770,7 @@ GLOBAL_PROTECT(AdminProcCall) return SSshuttle.clear_transit = TRUE message_admins("[key_name_admin(src)] cleared dynamic transit space.") - feedback_add_details("admin_verb","Clear Dynamic Transit") // If... + SSblackbox.add_details("admin_verb","Clear Dynamic Transit") // If... log_admin("[key_name(src)] cleared dynamic transit space.") @@ -807,5 +807,5 @@ GLOBAL_PROTECT(AdminProcCall) SSevents.scheduled = world.time message_admins("[key_name_admin(src)] pumped a random event.") - feedback_add_details("admin_verb","Pump Random Event") + SSblackbox.add_details("admin_verb","Pump Random Event") log_admin("[key_name(src)] pumped a random event.") \ No newline at end of file diff --git a/code/modules/admin/verbs/debug.dm.rej b/code/modules/admin/verbs/debug.dm.rej new file mode 100644 index 0000000000..5849ad1f2c --- /dev/null +++ b/code/modules/admin/verbs/debug.dm.rej @@ -0,0 +1,28 @@ +diff a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm (rejected hunks) +@@ -79,7 +79,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that + . = get_callproc_returnval(returnval, procname) + if(.) + to_chat(usr, .) +- feedback_add_details("admin_verb","Advanced ProcCall") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! ++ SSblackbox.add_details("admin_verb","Advanced ProcCall") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + + /client/proc/callproc_datum(datum/A as null|area|mob|obj|turf) + set category = "Debug" +@@ -104,7 +104,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that + return + log_admin("[key_name(src)] called [A]'s [procname]() with [lst.len ? "the arguments [list2params(lst)]":"no arguments"].") + message_admins("[key_name(src)] called [A]'s [procname]() with [lst.len ? "the arguments [list2params(lst)]":"no arguments"].") +- feedback_add_details("admin_verb","Atom ProcCall") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! ++ SSblackbox.add_details("admin_verb","Atom ProcCall") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + + var/returnval = call(A,procname)(arglist(lst)) // Pass the lst as an argument list to the proc + . = get_callproc_returnval(returnval,procname) +@@ -758,7 +758,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that + GLOB.medals_enabled = !GLOB.medals_enabled + + message_admins("[key_name_admin(src)] [GLOB.medals_enabled ? "disabled" : "enabled"] the medal hub lockout.") +- feedback_add_details("admin_verb","Toggle Medal Disable") // If... ++ SSblackbox.add_details("admin_verb","Toggle Medal Disable") // If... + log_admin("[key_name(src)] [GLOB.medals_enabled ? "disabled" : "enabled"] the medal hub lockout.") + + /client/proc/view_runtimes() diff --git a/code/modules/admin/verbs/diagnostics.dm b/code/modules/admin/verbs/diagnostics.dm index 26bfe6883b..15b619f653 100644 --- a/code/modules/admin/verbs/diagnostics.dm +++ b/code/modules/admin/verbs/diagnostics.dm @@ -16,7 +16,7 @@ to_chat(usr, "@[target.x],[target.y]: [GM.temperature] Kelvin, [GM.return_pressure()] kPa [(burning)?("\red BURNING"):(null)]") for(var/id in GM_gases) to_chat(usr, "[GM_gases[id][GAS_META][META_GAS_NAME]]: [GM_gases[id][MOLES]]") - feedback_add_details("admin_verb","Show Air Status") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Show 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" @@ -46,7 +46,7 @@ message_admins("[key_name_admin(largest_move_mob)] had the largest move delay with [largest_move_time] frames / [largest_move_time/10] seconds!") message_admins("[key_name_admin(largest_click_mob)] had the largest click delay with [largest_click_time] frames / [largest_click_time/10] seconds!") message_admins("world.time = [world.time]") - feedback_add_details("admin_verb","Unfreeze Everyone") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Unfreeze Everyone") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return /client/proc/radio_report() @@ -84,7 +84,7 @@ output += "    [device]
" usr << browse(output,"window=radioreport") - feedback_add_details("admin_verb","Show Radio Report") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Show 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" @@ -98,5 +98,5 @@ return load_admins() - feedback_add_details("admin_verb","Reload All Admins") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Reload All Admins") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! message_admins("[key_name_admin(usr)] manually reloaded admins") diff --git a/code/modules/admin/verbs/fps.dm b/code/modules/admin/verbs/fps.dm index 7ec0569807..6f77ee7e50 100644 --- a/code/modules/admin/verbs/fps.dm +++ b/code/modules/admin/verbs/fps.dm @@ -19,6 +19,6 @@ var/msg = "[key_name(src)] has modified world.fps to [new_fps]" log_admin(msg, 0) message_admins(msg, 0) - feedback_add_details("admin_toggle","Set Server FPS|[new_fps]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_toggle","Set Server FPS|[new_fps]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! world.fps = new_fps diff --git a/code/modules/admin/verbs/getlogs.dm b/code/modules/admin/verbs/getlogs.dm index c4db5305d4..7624a9443e 100644 --- a/code/modules/admin/verbs/getlogs.dm +++ b/code/modules/admin/verbs/getlogs.dm @@ -90,7 +90,7 @@ else to_chat(src, "Server log not found, try using .getserverlog.") return - feedback_add_details("admin_verb","Show Server Log") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Show Server Log") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return //Shows today's attack log @@ -104,5 +104,5 @@ else to_chat(src, "Server attack log not found, try using .getserverlog.") return - feedback_add_details("admin_verb","Show Server Attack log") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Show Server Attack log") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return diff --git a/code/modules/admin/verbs/machine_upgrade.dm b/code/modules/admin/verbs/machine_upgrade.dm index 340130bb75..9a22623bfe 100644 --- a/code/modules/admin/verbs/machine_upgrade.dm +++ b/code/modules/admin/verbs/machine_upgrade.dm @@ -7,4 +7,4 @@ P.rating = new_rating M.RefreshParts() - feedback_add_details("admin_toggle","Machine Upgrade|[new_rating]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_toggle","Machine Upgrade|[new_rating]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/admin/verbs/mapping.dm b/code/modules/admin/verbs/mapping.dm index 9b8948cd13..66d04a4159 100644 --- a/code/modules/admin/verbs/mapping.dm +++ b/code/modules/admin/verbs/mapping.dm @@ -81,7 +81,7 @@ GLOBAL_LIST_INIT(admin_verbs_debug_mapping, list( seen[T]++ for(var/turf/T in seen) T.maptext = "[seen[T]]" - feedback_add_details("admin_verb","Show Camera Range") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Show Camera Range") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -123,7 +123,7 @@ GLOBAL_LIST_INIT(admin_verbs_debug_mapping, list( output += "" usr << browse(output,"window=airreport;size=1000x500") - feedback_add_details("admin_verb","Show Camera Report") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Show 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" @@ -144,7 +144,7 @@ GLOBAL_LIST_INIT(admin_verbs_debug_mapping, list( 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","Show Intercom Range") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Show Intercom Range") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_show_at_list() set category = "Mapping" @@ -160,7 +160,7 @@ GLOBAL_LIST_INIT(admin_verbs_debug_mapping, list( usr << browse(dat, "window=at_list") - feedback_add_details("admin_verb","Show Roundstart Active Turfs") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Show Roundstart Active Turfs") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/enable_debug_verbs() set category = "Debug" @@ -169,14 +169,14 @@ GLOBAL_LIST_INIT(admin_verbs_debug_mapping, list( return verbs -= /client/proc/enable_debug_verbs verbs.Add(/client/proc/disable_debug_verbs, GLOB.admin_verbs_debug_mapping) - feedback_add_details("admin_verb","Enable Debug Verbs") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Enable Debug Verbs") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/disable_debug_verbs() set category = "Debug" set name = "Debug verbs - Disable" verbs.Remove(/client/proc/disable_debug_verbs, GLOB.admin_verbs_debug_mapping) verbs += /client/proc/enable_debug_verbs - feedback_add_details("admin_verb", "Disable Debug Verbs") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb", "Disable Debug Verbs") //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" @@ -219,7 +219,7 @@ GLOBAL_LIST_INIT(admin_verbs_debug_mapping, list( to_chat(world, line)*/ to_chat(world, "There are [count] objects of type [type_path] on z-level [num_level]") - feedback_add_details("admin_verb","Count Objects Zlevel") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Count Objects Zlevel") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/count_objects_all() set category = "Mapping" @@ -246,7 +246,7 @@ GLOBAL_LIST_INIT(admin_verbs_debug_mapping, list( to_chat(world, line)*/ to_chat(world, "There are [count] objects of type [type_path] in the game world") - feedback_add_details("admin_verb","Count Objects All") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Count Objects All") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! //This proc is intended to detect lag problems relating to communication procs diff --git a/code/modules/admin/verbs/massmodvar.dm b/code/modules/admin/verbs/massmodvar.dm index 3423f9ebd9..eace5e471d 100644 --- a/code/modules/admin/verbs/massmodvar.dm +++ b/code/modules/admin/verbs/massmodvar.dm @@ -12,7 +12,7 @@ method = vv_subtype_prompt(A.type) src.massmodify_variables(A, var_name, method) - feedback_add_details("admin_verb","Mass Edit Variables") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","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)) diff --git a/code/modules/admin/verbs/panicbunker.dm.rej b/code/modules/admin/verbs/panicbunker.dm.rej new file mode 100644 index 0000000000..5a4748cc3a --- /dev/null +++ b/code/modules/admin/verbs/panicbunker.dm.rej @@ -0,0 +1,8 @@ +diff a/code/modules/admin/verbs/panicbunker.dm b/code/modules/admin/verbs/panicbunker.dm (rejected hunks) +@@ -11,5 +11,5 @@ + message_admins("[key_name_admin(usr)] has toggled the Panic Bunker, it is now [(config.panic_bunker?"enabled":"disabled")].") + if (config.panic_bunker && (!GLOB.dbcon || !GLOB.dbcon.IsConnected())) + message_admins("The Database is not connected! Panic bunker will not work until the connection is reestablished.") +- feedback_add_details("admin_toggle","Toggle Panic Bunker|[config.panic_bunker]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! ++ SSblackbox.add_details("admin_toggle","Toggle Panic Bunker|[config.panic_bunker]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + diff --git a/code/modules/admin/verbs/playsound.dm b/code/modules/admin/verbs/playsound.dm index cb2d0553b1..019fda5a23 100644 --- a/code/modules/admin/verbs/playsound.dm +++ b/code/modules/admin/verbs/playsound.dm @@ -25,7 +25,7 @@ if(M.client.prefs.toggles & SOUND_MIDI) M << admin_sound - feedback_add_details("admin_verb","Play Global Sound") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","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) @@ -37,7 +37,7 @@ log_admin("[key_name(src)] played a local sound [S]") message_admins("[key_name_admin(src)] played a local sound [S]") playsound(get_turf(src.mob), S, 50, 0, 0) - feedback_add_details("admin_verb","Play Local Sound") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Play Local Sound") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/set_round_end_sound(S as sound) set category = "Fun" @@ -52,7 +52,7 @@ log_admin("[key_name(src)] set the round end sound to [S]") message_admins("[key_name_admin(src)] set the round end sound to [S]") - feedback_add_details("admin_verb","Set Round End Sound") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Set Round End Sound") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/stop_sounds() set category = "Debug" @@ -65,4 +65,4 @@ for(var/mob/M in GLOB.player_list) if(M.client) M << sound(null) - feedback_add_details("admin_verb","Stop All Playing Sounds") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Stop All Playing Sounds") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/admin/verbs/possess.dm b/code/modules/admin/verbs/possess.dm index a7039512f7..86408df8a7 100644 --- a/code/modules/admin/verbs/possess.dm +++ b/code/modules/admin/verbs/possess.dm @@ -23,7 +23,7 @@ usr.name = O.name usr.client.eye = O usr.control_object = O - feedback_add_details("admin_verb","Possess Object") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Possess Object") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /proc/release(obj/O in world) set name = "Release Obj" @@ -41,7 +41,7 @@ usr.loc = O.loc usr.client.eye = usr usr.control_object = null - feedback_add_details("admin_verb","Release Object") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Release Object") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /proc/givetestverbs(mob/M in GLOB.mob_list) set desc = "Give this guy possess/release verbs" @@ -49,4 +49,4 @@ set name = "Give Possessing Verbs" M.verbs += /proc/possess M.verbs += /proc/release - feedback_add_details("admin_verb","Give Possessing Verbs") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Give Possessing Verbs") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm index 39f31183a2..5a1caafc43 100644 --- a/code/modules/admin/verbs/pray.dm +++ b/code/modules/admin/verbs/pray.dm @@ -43,7 +43,7 @@ C << 'sound/effects/pray.ogg' to_chat(usr, "Your prayers have been received by the gods.") - feedback_add_details("admin_verb","Prayer") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Prayer") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! //log_admin("HELP: [key_name(src)]: [msg]") /proc/Centcomm_announce(text , mob/Sender) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index b447c2a745..6e77b8daf8 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -62,7 +62,7 @@ to_chat(world, "[msg]") log_admin("GlobalNarrate: [key_name(usr)] : [msg]") message_admins("[key_name_admin(usr)] Sent a global narrate") - feedback_add_details("admin_verb","Global Narrate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Global Narrate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_direct_narrate(mob/M) set category = "Special Verbs" @@ -110,7 +110,7 @@ log_admin("LocalNarrate: [key_name(usr)] at ([get_area(A)]): [msg]") message_admins(" LocalNarrate: [key_name_admin(usr)] at ([get_area(A)]): [msg]
") - feedback_add_details("admin_verb","Local Narrate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Local Narrate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_godmode(mob/M in GLOB.mob_list) set category = "Special Verbs" @@ -187,7 +187,7 @@ message_admins("SPAM AUTOMUTE: [muteunmute] [key_name_admin(whom)] from [mute_string].") if(C) to_chat(C, "You have been [muteunmute] from [mute_string] by the SPAM AUTOMUTE system. Contact an admin.") - feedback_add_details("admin_toggle","Auto Mute [feedback_string]|1") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_toggle","Auto Mute [feedback_string]|1") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return if(P.muted & mute_type) @@ -201,7 +201,7 @@ message_admins("[key_name_admin(usr)] has [muteunmute] [key_name_admin(whom)] from [mute_string].") if(C) to_chat(C, "You have been [muteunmute] from [mute_string] by [key_name(usr, include_name = FALSE)].") - feedback_add_details("admin_toggle","Mute [feedback_string]|[P.muted & mute_type]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_toggle","Mute [feedback_string]|[P.muted & mute_type]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! //I use this proc for respawn character too. /N @@ -423,7 +423,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","Respawn Character") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Respawn Character") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return new_character /client/proc/cmd_admin_add_freeform_ai_law() @@ -446,7 +446,7 @@ Traitors and the like can also be revived with the previous role mostly intact. ion.announceEvent = announce_ion_laws ion.ionMessage = input - feedback_add_details("admin_verb","Add Custom AI Law") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","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 in GLOB.mob_list) set category = "Special Verbs" @@ -490,7 +490,7 @@ Traitors and the like can also be revived with the previous role mostly intact. log_admin("[key_name(src)] has created a command report: [input]") message_admins("[key_name_admin(src)] has created a command report") - feedback_add_details("admin_verb","Create Command Report") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Create Command Report") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_change_command_name() set category = "Special Verbs" @@ -516,7 +516,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[O]\nat ([O.x], [O.y], [O.z])?", "Confirmation", "Yes", "No") == "Yes") log_admin("[key_name(usr)] deleted [O] at ([O.x],[O.y],[O.z])") message_admins("[key_name_admin(usr)] deleted [O] at ([O.x],[O.y],[O.z])") - feedback_add_details("admin_verb","Delete") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Delete") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! if(isturf(O)) var/turf/T = O T.ChangeTurf(T.baseturf) @@ -531,7 +531,7 @@ Traitors and the like can also be revived with the previous role mostly intact. to_chat(src, "Only administrators may use this command.") return holder.manage_free_slots() - feedback_add_details("admin_verb","Manage Job Slots") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Manage Job 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 world) set category = "Special Verbs" @@ -560,7 +560,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","Explosion") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Explosion") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return else return @@ -583,7 +583,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])") - feedback_add_details("admin_verb","EM Pulse") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","EM Pulse") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return else @@ -614,7 +614,7 @@ Traitors and the like can also be revived with the previous role mostly intact. M.gib() else M.gib(1) - feedback_add_details("admin_verb","Gib") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","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" @@ -624,7 +624,7 @@ Traitors and the like can also be revived with the previous role mostly intact. if(confirm == "Yes") log_admin("[key_name(usr)] used gibself.") message_admins("[key_name_admin(usr)] used gibself.") - feedback_add_details("admin_verb","Gib Self") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Gib Self") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! mob.gib(1, 1, 1) /client/proc/cmd_admin_check_contents(mob/living/M in GLOB.mob_list) @@ -634,7 +634,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","Check Contents") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","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 = "Special Verbs" @@ -649,7 +649,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("\blue [key_name_admin(usr)] changed their view range to [view].") //why? removed by order of XSI - feedback_add_details("admin_toggle","Change View Range|[view]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_toggle","Change View Range|[view]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/admin_call_shuttle() @@ -668,7 +668,7 @@ Traitors and the like can also be revived with the previous role mostly intact. return SSshuttle.emergency.request() - feedback_add_details("admin_verb","Call Shuttle") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","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("[key_name_admin(usr)] admin-called the emergency shuttle.") return @@ -685,7 +685,7 @@ Traitors and the like can also be revived with the previous role mostly intact. return SSshuttle.emergency.cancel() - feedback_add_details("admin_verb","Cancel Shuttle") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","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("[key_name_admin(usr)] admin-recalled the emergency shuttle.") @@ -720,7 +720,7 @@ Traitors and the like can also be revived with the previous role mostly intact. to_chat(usr, "Remember: you can always disable the randomness by using the verb again, assuming the round hasn't started yet.") config.force_random_names = 1 - feedback_add_details("admin_verb","Make Everyone Random") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Make Everyone Random") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/toggle_random_events() @@ -735,7 +735,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.") - feedback_add_details("admin_toggle","Toggle Random Events|[config.allow_random_events]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_toggle","Toggle Random Events|[config.allow_random_events]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/admin_change_sec_level() @@ -753,7 +753,7 @@ Traitors and the like can also be revived with the previous role mostly intact. log_admin("[key_name(usr)] changed the security level to [level]") message_admins("[key_name_admin(usr)] changed the security level to [level]") - feedback_add_details("admin_verb","Set Security Level [capitalize(level)]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Set Security Level [capitalize(level)]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/toggle_nuke(obj/machinery/nuclearbomb/N in GLOB.nuke_list) set name = "Toggle Nuke" @@ -772,7 +772,7 @@ Traitors and the like can also be revived with the previous role mostly intact. log_admin("[key_name(usr)] [N.timing ? "activated" : "deactivated"] a nuke at ([N.x],[N.y],[N.z]).") message_admins("[ADMIN_LOOKUPFLW(usr)] [N.timing ? "activated" : "deactivated"] a nuke at [ADMIN_COORDJMP(N)].") - feedback_add_details("admin_toggle","Toggle Nuke|[N.timing]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_toggle","Toggle Nuke|[N.timing]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits @@ -970,7 +970,7 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits to_chat(usr, "You toggled your admin antag HUD [adding_hud ? "ON" : "OFF"].") message_admins("[key_name_admin(usr)] toggled their admin antag HUD [adding_hud ? "ON" : "OFF"].") log_admin("[key_name(usr)] toggled their admin antag HUD [adding_hud ? "ON" : "OFF"].") - feedback_add_details("admin_toggle","Toggle Antag HUD|[adding_hud]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_toggle","Toggle Antag HUD|[adding_hud]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/has_antag_hud() var/datum/atom_hud/A = GLOB.huds[ANTAG_HUD_TRAITOR] @@ -1002,7 +1002,7 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits message_admins("[key_name_admin(usr)] added a latent zombie infection to all humans.") log_admin("[key_name(usr)] added a latent zombie infection to all humans.") - feedback_add_details("admin_verb","Mass Zombie Infection") + SSblackbox.add_details("admin_verb","Mass Zombie Infection") /client/proc/mass_zombie_cure() set category = "Fun" @@ -1020,7 +1020,7 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits message_admins("[key_name_admin(usr)] cured all zombies.") log_admin("[key_name(usr)] cured all zombies.") - feedback_add_details("admin_verb","Mass Zombie Cure") + SSblackbox.add_details("admin_verb","Mass Zombie Cure") /client/proc/polymorph_all() set category = "Fun" @@ -1039,7 +1039,7 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits message_admins("[key_name_admin(usr)] started polymorphed all living mobs.") log_admin("[key_name(usr)] polymorphed all living mobs.") - feedback_add_details("admin_verb","Polymorph All") + SSblackbox.add_details("admin_verb","Polymorph All") for(var/mob/living/M in mobs) CHECK_TICK @@ -1080,7 +1080,7 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits message_admins("[key_name_admin(usr)] sent a tip of the round.") log_admin("[key_name(usr)] sent \"[input]\" as the Tip of the Round.") - feedback_add_details("admin_verb","Show Tip") + SSblackbox.add_details("admin_verb","Show Tip") #define ON_PURRBATION(H) (!(H.dna.features["tail_human"] == "None" && H.dna.features["ears"] == "None")) @@ -1157,7 +1157,7 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits if (world.visibility && !world.reachable) message_admins("WARNING: The server will not show up on the hub because byond is detecting that a filewall is blocking incoming connections.") - feedback_add_details("admin_toggle","Toggled Hub Visibility|[world.visibility]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_toggle","Toggled Hub Visibility|[world.visibility]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/smite(mob/living/carbon/human/target as mob) set name = "Smite" diff --git a/code/modules/admin/verbs/randomverbs.dm.rej b/code/modules/admin/verbs/randomverbs.dm.rej new file mode 100644 index 0000000000..5622cb5975 --- /dev/null +++ b/code/modules/admin/verbs/randomverbs.dm.rej @@ -0,0 +1,46 @@ +diff a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm (rejected hunks) +@@ -16,7 +16,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!") +- feedback_add_details("admin_verb","Drop Everything") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! ++ SSblackbox.add_details("admin_verb","Drop Everything") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + + + /client/proc/cmd_admin_subtle_message(mob/M in GLOB.mob_list) +@@ -42,7 +42,7 @@ + + log_admin("SubtlePM: [key_name(usr)] -> [key_name(M)] : [msg]") + message_admins(" SubtleMessage: [key_name_admin(usr)] -> [key_name_admin(M)] : [msg]") +- feedback_add_details("admin_verb","Subtle Message") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! ++ SSblackbox.add_details("admin_verb","Subtle Message") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + + /client/proc/cmd_admin_world_narrate() + set category = "Special Verbs" +@@ -83,7 +83,7 @@ + to_chat(M, msg) + log_admin("DirectNarrate: [key_name(usr)] to ([M.name]/[M.key]): [msg]") + message_admins(" DirectNarrate: [key_name(usr)] to ([M.name]/[M.key]): [msg]
") +- feedback_add_details("admin_verb","Direct Narrate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! ++ SSblackbox.add_details("admin_verb","Direct Narrate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + + /client/proc/cmd_admin_local_narrate(atom/A) + set category = "Special Verbs" +@@ -118,7 +118,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"]") +- feedback_add_details("admin_toggle","Godmode|[M.status_flags & GODMODE]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! ++ SSblackbox.add_details("admin_toggle","Godmode|[M.status_flags & GODMODE]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + + + /proc/cmd_admin_mute(whom, mute_type, automute = 0) +@@ -448,7 +448,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("Admin [key_name_admin(usr)] healed / revived [key_name_admin(M)]!") +- feedback_add_details("admin_verb","Rejuvinate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! ++ SSblackbox.add_details("admin_verb","Rejuvinate") //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 = "Special Verbs" diff --git a/code/modules/admin/verbs/reestablish_db_connection.dm.rej b/code/modules/admin/verbs/reestablish_db_connection.dm.rej new file mode 100644 index 0000000000..b0aca5351d --- /dev/null +++ b/code/modules/admin/verbs/reestablish_db_connection.dm.rej @@ -0,0 +1,15 @@ +diff a/code/modules/admin/verbs/reestablish_db_connection.dm b/code/modules/admin/verbs/reestablish_db_connection.dm (rejected hunks) +@@ -17,11 +17,11 @@ + GLOB.dbcon.Disconnect() + log_admin("[key_name(usr)] has forced the database to disconnect") + message_admins("[key_name_admin(usr)] has forced the database to disconnect!") +- feedback_add_details("admin_verb","Force Reestablished Database Connection") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! ++ SSblackbox.add_details("admin_verb","Force Reestablished Database Connection") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + + log_admin("[key_name(usr)] is attempting to re-established the DB Connection") + message_admins("[key_name_admin(usr)] is attempting to re-established the DB Connection") +- feedback_add_details("admin_verb","Reestablished Database Connection") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! ++ SSblackbox.add_details("admin_verb","Reestablished Database Connection") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + + GLOB.dbcon.failed_connections = 0 + if(!GLOB.dbcon.Connect()) diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm index 0b6f2db5b7..7b49145895 100644 --- a/code/modules/assembly/holder.dm +++ b/code/modules/assembly/holder.dm @@ -21,7 +21,7 @@ attach(A2,user) name = "[A.name]-[A2.name] assembly" update_icon() - feedback_add_details("assembly_made","[initial(A.name)]-[initial(A2.name)]") + SSblackbox.add_details("assembly_made","[initial(A.name)]-[initial(A2.name)]") /obj/item/device/assembly_holder/proc/attach(obj/item/device/assembly/A, mob/user) if(!A.remove_item_from_storage(src)) diff --git a/code/modules/cargo/exports.dm b/code/modules/cargo/exports.dm index dda86e5257..6f81d884e0 100644 --- a/code/modules/cargo/exports.dm +++ b/code/modules/cargo/exports.dm @@ -103,8 +103,8 @@ Credit dupes that require a lot of manual work shouldn't be removed, unless they var/amount = get_amount(O) total_cost += cost total_amount += amount - feedback_add_details("export_sold_amount","[O.type]|[amount]") - feedback_add_details("export_sold_cost","[O.type]|[cost]") + SSblackbox.add_details("export_sold_amount","[O.type]|[amount]") + SSblackbox.add_details("export_sold_cost","[O.type]|[cost]") // Total printout for the cargo console. // Called before the end of current export cycle. diff --git a/code/modules/client/preferences_toggles.dm b/code/modules/client/preferences_toggles.dm index 8ee179cdab..74cbc70b87 100644 --- a/code/modules/client/preferences_toggles.dm +++ b/code/modules/client/preferences_toggles.dm @@ -6,7 +6,7 @@ prefs.chat_toggles ^= CHAT_GHOSTEARS to_chat(src, "As a ghost, you will now [(prefs.chat_toggles & CHAT_GHOSTEARS) ? "see all speech in the world" : "only see speech from nearby mobs"].") prefs.save_preferences() - feedback_add_details("preferences_verb","Toggle Ghost Ears|[prefs.chat_toggles & CHAT_GHOSTEARS]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("preferences_verb","Toggle Ghost Ears|[prefs.chat_toggles & CHAT_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.chat_toggles ^= CHAT_GHOSTSIGHT to_chat(src, "As a ghost, you will now [(prefs.chat_toggles & CHAT_GHOSTSIGHT) ? "see all emotes in the world" : "only see emotes from nearby mobs"].") prefs.save_preferences() - feedback_add_details("preferences_verb","Toggle Ghost Sight|[prefs.chat_toggles & CHAT_GHOSTSIGHT]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("preferences_verb","Toggle Ghost Sight|[prefs.chat_toggles & CHAT_GHOSTSIGHT]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/verb/toggle_ghost_whispers() set name = "Show/Hide GhostWhispers" @@ -24,7 +24,7 @@ prefs.chat_toggles ^= CHAT_GHOSTWHISPER to_chat(src, "As a ghost, you will now [(prefs.chat_toggles & CHAT_GHOSTWHISPER) ? "see all whispers in the world" : "only see whispers from nearby mobs"].") prefs.save_preferences() - feedback_add_details("preferences_verb","Toggle Ghost Whispers|[prefs.chat_toggles & CHAT_GHOSTWHISPER]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("preferences_verb","Toggle Ghost Whispers|[prefs.chat_toggles & CHAT_GHOSTWHISPER]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/verb/toggle_ghost_radio() set name = "Show/Hide GhostRadio" @@ -33,7 +33,7 @@ prefs.chat_toggles ^= CHAT_GHOSTRADIO to_chat(src, "As a ghost, you will now [(prefs.chat_toggles & CHAT_GHOSTRADIO) ? "see radio chatter" : "not see radio chatter"].") prefs.save_preferences() - feedback_add_details("preferences_verb","Toggle Ghost Radio|[prefs.chat_toggles & CHAT_GHOSTRADIO]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! //social experiment, increase the generation whenever you copypaste this shamelessly GENERATION 1 + SSblackbox.add_details("preferences_verb","Toggle Ghost Radio|[prefs.chat_toggles & CHAT_GHOSTRADIO]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! //social experiment, increase the generation whenever you copypaste this shamelessly GENERATION 1 /client/verb/toggle_ghost_pda() set name = "Show/Hide GhostPDA" @@ -42,7 +42,7 @@ prefs.chat_toggles ^= CHAT_GHOSTPDA to_chat(src, "As a ghost, you will now [(prefs.chat_toggles & CHAT_GHOSTPDA) ? "see all pda messages in the world" : "only see pda messages from nearby mobs"].") prefs.save_preferences() - feedback_add_details("preferences_verb","Toggle Ghost PDA|[prefs.chat_toggles & CHAT_GHOSTPDA]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("preferences_verb","Toggle Ghost PDA|[prefs.chat_toggles & CHAT_GHOSTPDA]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! //please be aware that the following two verbs have inverted stat output, so that "Toggle Deathrattle|1" still means you activated it /client/verb/toggle_deathrattle() @@ -52,7 +52,7 @@ prefs.toggles ^= DISABLE_DEATHRATTLE prefs.save_preferences() to_chat(usr, "You will [(prefs.toggles & DISABLE_DEATHRATTLE) ? "no longer" : "now"] get messages when a sentient mob dies.") - feedback_add_details("preferences_verb", "Toggle Deathrattle|[!(prefs.toggles & DISABLE_DEATHRATTLE)]") //If you are copy-pasting this, maybe you should spend some time reading the comments. + SSblackbox.add_details("preferences_verb", "Toggle Deathrattle|[!(prefs.toggles & DISABLE_DEATHRATTLE)]") //If you are copy-pasting this, maybe you should spend some time reading the comments. /client/verb/toggle_arrivalrattle() set name = "Toggle Arrivalrattle" @@ -61,7 +61,7 @@ prefs.toggles ^= DISABLE_ARRIVALRATTLE to_chat(usr, "You will [(prefs.toggles & DISABLE_ARRIVALRATTLE) ? "no longer" : "now"] get messages when someone joins the station.") prefs.save_preferences() - feedback_add_details("preferences_verb", "Toggle Arrivalrattle|[!(prefs.toggles & DISABLE_ARRIVALRATTLE)]") //If you are copy-pasting this, maybe you should rethink where your life went so wrong. + SSblackbox.add_details("preferences_verb", "Toggle Arrivalrattle|[!(prefs.toggles & DISABLE_ARRIVALRATTLE)]") //If you are copy-pasting this, maybe you should rethink where your life went so wrong. /client/verb/togglemidroundantag() set name = "Toggle Midround Antagonist" @@ -70,7 +70,7 @@ prefs.toggles ^= MIDROUND_ANTAG prefs.save_preferences() to_chat(src, "You will [(prefs.toggles & MIDROUND_ANTAG) ? "now" : "no longer"] be considered for midround antagonist positions.") - feedback_add_details("preferences_verb","Toggle Midround Antag|[prefs.toggles & MIDROUND_ANTAG]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("preferences_verb","Toggle Midround Antag|[prefs.toggles & MIDROUND_ANTAG]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/verb/toggletitlemusic() set name = "Hear/Silence LobbyMusic" @@ -85,7 +85,7 @@ else to_chat(src, "You will no longer hear music in the game lobby.") mob.stop_sound_channel(CHANNEL_LOBBYMUSIC) - feedback_add_details("preferences_verb","Toggle Lobby Music|[prefs.toggles & SOUND_LOBBY]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("preferences_verb","Toggle Lobby Music|[prefs.toggles & SOUND_LOBBY]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/verb/togglemidis() set name = "Hear/Silence Midis" @@ -98,14 +98,14 @@ else to_chat(src, "You will no longer hear sounds uploaded by admins") mob.stop_sound_channel(CHANNEL_ADMIN) - feedback_add_details("preferences_verb","Toggle Hearing Midis|[prefs.toggles & SOUND_MIDI]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("preferences_verb","Toggle Hearing Midis|[prefs.toggles & SOUND_MIDI]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/verb/stop_client_sounds() set name = "Stop Sounds" set category = "Preferences" set desc = "Kills all currently playing sounds, use if admin taste in midis a shite" src << sound(null) - feedback_add_details("preferences_verb","Stop Self Sounds") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("preferences_verb","Stop Self Sounds") //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" @@ -114,7 +114,7 @@ prefs.chat_toggles ^= CHAT_OOC prefs.save_preferences() to_chat(src, "You will [(prefs.chat_toggles & CHAT_OOC) ? "now" : "no longer"] see messages on the OOC channel.") - feedback_add_details("preferences_verb","Toggle Seeing OOC|[prefs.chat_toggles & CHAT_OOC]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("preferences_verb","Toggle Seeing OOC|[prefs.chat_toggles & CHAT_OOC]") //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 set name = "Hear/Silence Ambience" @@ -128,7 +128,7 @@ to_chat(src, "You will no longer hear ambient sounds.") src << sound(null, repeat = 0, wait = 0, volume = 0, channel = 1) src << sound(null, repeat = 0, wait = 0, volume = 0, channel = 2) - feedback_add_details("preferences_verb","Toggle Ambience|[prefs.toggles & SOUND_AMBIENCE]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("preferences_verb","Toggle Ambience|[prefs.toggles & SOUND_AMBIENCE]") //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() @@ -141,7 +141,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("preferences_verb","Toggle Instruments|[prefs.toggles & SOUND_INSTRUMENTS]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("preferences_verb","Toggle Instruments|[prefs.toggles & SOUND_INSTRUMENTS]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! //Lots of people get headaches from the normal ship ambience, this is to prevent that /client/verb/toggle_ship_ambience() @@ -156,7 +156,7 @@ to_chat(src, "You will no longer hear ship ambience.") src << sound(null, repeat = 0, wait = 0, volume = 0, channel = 2) src.ambience_playing = 0 - feedback_add_details("preferences_verb", "Toggle Ship Ambience|[prefs.toggles & SOUND_SHIP_AMBIENCE]") //If you are copy-pasting this, I bet you read this comment expecting to see the same thing :^) + SSblackbox.add_details("preferences_verb", "Toggle Ship Ambience|[prefs.toggles & SOUND_SHIP_AMBIENCE]") //If you are copy-pasting this, I bet you read this comment expecting to see the same thing :^) GLOBAL_LIST_INIT(ghost_forms, list("ghost","ghostking","ghostian2","skeleghost","ghost_red","ghost_black", \ "ghost_blue","ghost_yellow","ghost_green","ghost_pink", \ @@ -244,7 +244,7 @@ GLOBAL_LIST_INIT(ghost_orbits, list(GHOST_ORBIT_CIRCLE,GHOST_ORBIT_TRIANGLE,GHOS prefs.toggles ^= INTENT_STYLE to_chat(src, "[(prefs.toggles & INTENT_STYLE) ? "Clicking directly on intents selects them." : "Clicking on intents rotates selection clockwise."]") prefs.save_preferences() - feedback_add_details("preferences_verb","Toggle Intent Selection|[prefs.toggles & INTENT_STYLE]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("preferences_verb","Toggle Intent Selection|[prefs.toggles & INTENT_STYLE]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/verb/setup_character() set name = "Game Preferences" @@ -263,7 +263,7 @@ GLOBAL_LIST_INIT(ghost_orbits, list(GHOST_ORBIT_CIRCLE,GHOST_ORBIT_TRIANGLE,GHOS prefs.save_preferences() if(isobserver(mob)) mob.hud_used.show_hud() - feedback_add_details("preferences_verb","Toggle Ghost HUD|[prefs.ghost_hud]") + SSblackbox.add_details("preferences_verb","Toggle Ghost HUD|[prefs.ghost_hud]") /client/verb/toggle_inquisition() // warning: unexpected inquisition set name = "Toggle Inquisitiveness" @@ -276,7 +276,7 @@ GLOBAL_LIST_INIT(ghost_orbits, list(GHOST_ORBIT_CIRCLE,GHOST_ORBIT_TRIANGLE,GHOS to_chat(src, "You will now examine everything you click on.") else to_chat(src, "You will no longer examine things you click on.") - feedback_add_details("preferences_verb","Toggle Ghost Inquisitiveness|[prefs.inquisitive_ghost]") + SSblackbox.add_details("preferences_verb","Toggle Ghost Inquisitiveness|[prefs.inquisitive_ghost]") /client/verb/toggle_announcement_sound() set name = "Hear/Silence Announcements" @@ -285,7 +285,7 @@ GLOBAL_LIST_INIT(ghost_orbits, list(GHOST_ORBIT_CIRCLE,GHOST_ORBIT_TRIANGLE,GHOS prefs.toggles ^= SOUND_ANNOUNCEMENTS to_chat(src, "You will now [(prefs.toggles & SOUND_ANNOUNCEMENTS) ? "hear announcement sounds" : "no longer hear announcements"].") prefs.save_preferences() - feedback_add_details("preferences_verb","Toggle Announcement Sound|[prefs.toggles & SOUND_ANNOUNCEMENTS]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("preferences_verb","Toggle Announcement Sound|[prefs.toggles & SOUND_ANNOUNCEMENTS]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! //Admin Preferences /client/proc/toggleadminhelpsound() @@ -297,7 +297,7 @@ GLOBAL_LIST_INIT(ghost_orbits, list(GHOST_ORBIT_CIRCLE,GHOST_ORBIT_TRIANGLE,GHOS prefs.toggles ^= SOUND_ADMINHELP prefs.save_preferences() to_chat(usr, "You will [(prefs.toggles & SOUND_ADMINHELP) ? "now" : "no longer"] hear a sound when adminhelps arrive.") - feedback_add_details("admin_toggle","Toggle Adminhelp Sound|[prefs.toggles & SOUND_ADMINHELP]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_toggle","Toggle Adminhelp Sound|[prefs.toggles & SOUND_ADMINHELP]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/toggleannouncelogin() set name = "Do/Don't Announce Login" @@ -308,7 +308,7 @@ GLOBAL_LIST_INIT(ghost_orbits, list(GHOST_ORBIT_CIRCLE,GHOST_ORBIT_TRIANGLE,GHOS prefs.toggles ^= ANNOUNCE_LOGIN prefs.save_preferences() to_chat(usr, "You will [(prefs.toggles & ANNOUNCE_LOGIN) ? "now" : "no longer"] have an announcement to other admins when you login.") - feedback_add_details("admin_toggle","Toggle Login Announcement|[prefs.toggles & ANNOUNCE_LOGIN]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_toggle","Toggle Login Announcement|[prefs.toggles & ANNOUNCE_LOGIN]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/toggle_hear_radio() set name = "Show/Hide Radio Chatter" @@ -318,7 +318,7 @@ GLOBAL_LIST_INIT(ghost_orbits, list(GHOST_ORBIT_CIRCLE,GHOST_ORBIT_TRIANGLE,GHOS prefs.chat_toggles ^= CHAT_RADIO prefs.save_preferences() to_chat(usr, "You will [(prefs.chat_toggles & CHAT_RADIO) ? "now" : "no longer"] see radio chatter from nearby radios or speakers") - feedback_add_details("admin_toggle","Toggle Radio Chatter|[prefs.chat_toggles & CHAT_RADIO]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_toggle","Toggle Radio Chatter|[prefs.chat_toggles & CHAT_RADIO]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/deadchat() set name = "Show/Hide Deadchat" @@ -327,7 +327,7 @@ GLOBAL_LIST_INIT(ghost_orbits, list(GHOST_ORBIT_CIRCLE,GHOST_ORBIT_TRIANGLE,GHOS prefs.chat_toggles ^= CHAT_DEAD prefs.save_preferences() to_chat(src, "You will [(prefs.chat_toggles & CHAT_DEAD) ? "now" : "no longer"] see deadchat.") - feedback_add_details("admin_toggle","Toggle Deadchat Visibility|[prefs.chat_toggles & CHAT_DEAD]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_toggle","Toggle Deadchat Visibility|[prefs.chat_toggles & CHAT_DEAD]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/toggleprayers() set name = "Show/Hide Prayers" @@ -336,7 +336,7 @@ GLOBAL_LIST_INIT(ghost_orbits, list(GHOST_ORBIT_CIRCLE,GHOST_ORBIT_TRIANGLE,GHOS prefs.chat_toggles ^= CHAT_PRAYER prefs.save_preferences() to_chat(src, "You will [(prefs.chat_toggles & CHAT_PRAYER) ? "now" : "no longer"] see prayerchat.") - feedback_add_details("admin_toggle","Toggle Prayer Visibility|[prefs.chat_toggles & CHAT_PRAYER]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_toggle","Toggle Prayer Visibility|[prefs.chat_toggles & CHAT_PRAYER]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/verb/toggleprayersounds() set name = "Hear/Silence Prayer Sounds" @@ -348,4 +348,4 @@ GLOBAL_LIST_INIT(ghost_orbits, list(GHOST_ORBIT_CIRCLE,GHOST_ORBIT_TRIANGLE,GHOS to_chat(src, "You will now hear prayer sounds.") else to_chat(src, "You will no longer prayer sounds.") - feedback_add_details("admin_toggle", "Toggle Prayer Sounds|[prefs.toggles & SOUND_PRAYERS]") + SSblackbox.add_details("admin_toggle", "Toggle Prayer Sounds|[prefs.toggles & SOUND_PRAYERS]") diff --git a/code/modules/client/verbs/ooc.dm b/code/modules/client/verbs/ooc.dm index 79b21dccee..97e05ee221 100644 --- a/code/modules/client/verbs/ooc.dm +++ b/code/modules/client/verbs/ooc.dm @@ -108,7 +108,7 @@ GLOBAL_VAR_INIT(normal_ooc_colour, OOC_COLOR) if(new_ooccolor) prefs.ooccolor = sanitize_ooccolor(new_ooccolor) prefs.save_preferences() - feedback_add_details("admin_verb","Set OOC Color") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.add_details("admin_verb","Set OOC Color") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return /client/verb/resetcolorooc() diff --git a/code/modules/crafting/craft.dm b/code/modules/crafting/craft.dm index 77d1e1d6d9..a14d301a31 100644 --- a/code/modules/crafting/craft.dm +++ b/code/modules/crafting/craft.dm @@ -124,7 +124,7 @@ var/atom/movable/I = new R.result (get_turf(user.loc)) I.CheckParts(parts, R) if(send_feedback) - feedback_add_details("object_crafted","[I.type]") + SSblackbox.add_details("object_crafted","[I.type]") return 0 return "." return ", missing tool." diff --git a/code/modules/events/_event.dm.rej b/code/modules/events/_event.dm.rej new file mode 100644 index 0000000000..fefa119632 --- /dev/null +++ b/code/modules/events/_event.dm.rej @@ -0,0 +1,17 @@ +diff a/code/modules/events/_event.dm b/code/modules/events/_event.dm (rejected hunks) +@@ -78,13 +78,13 @@ + triggering = FALSE + message_admins("[key_name_admin(usr)] cancelled event [name].") + log_admin_private("[key_name(usr)] cancelled event [name].") +- feedback_add_details("admin_verb","Cancel Event: [typepath]") ++ SSblackbox.add_details("admin_verb","Cancel Event: [typepath]") + + /datum/round_event_control/proc/runEvent(random) + var/datum/round_event/E = new typepath() + E.current_players = get_active_player_count(alive_check = 1, afk_check = 1, human_check = 1) + E.control = src +- feedback_add_details("event_ran","[E]") ++ SSblackbox.add_details("event_ran","[E]") + occurrences++ + + testing("[time2text(world.time, "hh:mm:ss")] [E.type]") diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index d50c80567a..148541922f 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -170,7 +170,7 @@ if(istype(A, B)) continue contents_loop qdel(A) - feedback_add_details("food_made","[type]") + SSblackbox.add_details("food_made","[type]") if(bonus_reagents && bonus_reagents.len) for(var/r_id in bonus_reagents) @@ -262,7 +262,7 @@ initialize_cooked_food(S, M.efficiency) else initialize_cooked_food(S, 1) - feedback_add_details("food_made","[type]") + SSblackbox.add_details("food_made","[type]") else new /obj/item/weapon/reagent_containers/food/snacks/badrecipe(src) if(M && M.dirty < 100) diff --git a/code/modules/food_and_drinks/kitchen_machinery/processor.dm b/code/modules/food_and_drinks/kitchen_machinery/processor.dm index 6274716f0d..4a2f0948d9 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/processor.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/processor.dm @@ -142,7 +142,7 @@ return for(var/i in 1 to (C+processor.rating_amount-1)) new S.coretype(loc) - feedback_add_details("slime_core_harvested","[replacetext(S.colour," ","_")]") + SSblackbox.add_details("slime_core_harvested","[replacetext(S.colour," ","_")]") ..() /datum/food_processor_process/mob/slime/input = /mob/living/simple_animal/slime diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm index 42e424d109..0d3cdea2fc 100644 --- a/code/modules/hydroponics/seeds.dm +++ b/code/modules/hydroponics/seeds.dm @@ -150,7 +150,7 @@ t_amount++ product_name = t_prod.name if(getYield() >= 1) - feedback_add_details("food_harvested","[product_name]|[getYield()]") + SSblackbox.add_details("food_harvested","[product_name]|[getYield()]") parent.update_tray() return result diff --git a/code/modules/jobs/job_types/civilian_chaplain.dm b/code/modules/jobs/job_types/civilian_chaplain.dm index 19ae279c50..a4eb96b745 100644 --- a/code/modules/jobs/job_types/civilian_chaplain.dm +++ b/code/modules/jobs/job_types/civilian_chaplain.dm @@ -82,8 +82,8 @@ Chaplain H.equip_to_slot_or_del(B, slot_in_backpack) - feedback_set_details("religion_name","[new_religion]") - feedback_set_details("religion_deity","[new_deity]") + SSblackbox.set_details("religion_name","[new_religion]") + SSblackbox.set_details("religion_deity","[new_deity]") /datum/outfit/job/chaplain name = "Chaplain" diff --git a/code/modules/mining/aux_base.dm b/code/modules/mining/aux_base.dm index b98a3cfd98..8c2d1ca281 100644 --- a/code/modules/mining/aux_base.dm +++ b/code/modules/mining/aux_base.dm @@ -131,7 +131,7 @@ interface with the mining shuttle at the landing site if a mobile beacon is also /obj/machinery/computer/auxillary_base/onShuttleMove(turf/T1, rotation) ..() if(z == ZLEVEL_MINING) //Avoids double logging and landing on other Z-levels due to badminnery - feedback_add_details("colonies_dropped", "[x]|[y]|[z]") //Number of times a base has been dropped! + SSblackbox.add_details("colonies_dropped", "[x]|[y]|[z]") //Number of times a base has been dropped! /obj/machinery/computer/auxillary_base/proc/set_mining_mode() if(z == ZLEVEL_MINING) //The console switches to controlling the mining shuttle once landed. diff --git a/code/modules/mining/equipment.dm b/code/modules/mining/equipment.dm index 36c3053143..144a2634ba 100644 --- a/code/modules/mining/equipment.dm +++ b/code/modules/mining/equipment.dm @@ -320,7 +320,7 @@ H.attack_same = 0 loaded = 0 user.visible_message("[user] injects [M] with [src], reviving it.") - feedback_add_details("lazarus_injector", "[M.type]") + SSblackbox.add_details("lazarus_injector", "[M.type]") playsound(src,'sound/effects/refill.ogg',50,1) icon_state = "lazarus_empty" return diff --git a/code/modules/mining/equipment.dm.rej b/code/modules/mining/equipment.dm.rej new file mode 100644 index 0000000000..b8c7edb1c9 --- /dev/null +++ b/code/modules/mining/equipment.dm.rej @@ -0,0 +1,26 @@ +diff a/code/modules/mining/equipment.dm b/code/modules/mining/equipment.dm (rejected hunks) +@@ -68,7 +68,7 @@ + + /obj/item/device/wormhole_jaunter/attack_self(mob/user) + user.visible_message("[user.name] activates the [src.name]!") +- feedback_add_details("jaunter", "U") // user activated ++ SSblackbox.add_details("jaunter", "U") // user activated + activate(user) + + /obj/item/device/wormhole_jaunter/proc/turf_check(mob/user) +@@ -124,13 +124,13 @@ + + if(triggered) + usr.visible_message("The [src] overloads and activates!") +- feedback_add_details("jaunter","E") // EMP accidental activation ++ SSblackbox.add_details("jaunter","E") // EMP accidental activation + activate(usr) + + /obj/item/device/wormhole_jaunter/proc/chasm_react(mob/user) + if(user.get_item_by_slot(slot_belt) == src) + to_chat(user, "Your [src] activates, saving you from the chasm!") +- feedback_add_details("jaunter","C") // chasm automatic activation ++ SSblackbox.add_details("jaunter","C") // chasm automatic activation + activate(user) + else + to_chat(user, "The [src] is not attached to your belt, preventing it from saving you from the chasm. RIP.") diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index 95f8d2d9bd..911a4d97df 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -140,7 +140,7 @@ return new /obj/effect/particle_effect/smoke(user.loc) user.forceMove(get_turf(linked)) - feedback_add_details("warp_cube","[src.type]") + SSblackbox.add_details("warp_cube","[src.type]") new /obj/effect/particle_effect/smoke(user.loc) /obj/item/device/warp_cube/red diff --git a/code/modules/mining/lavaland/necropolis_chests.dm.rej b/code/modules/mining/lavaland/necropolis_chests.dm.rej new file mode 100644 index 0000000000..60981a7456 --- /dev/null +++ b/code/modules/mining/lavaland/necropolis_chests.dm.rej @@ -0,0 +1,28 @@ +diff a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm (rejected hunks) +@@ -87,7 +87,7 @@ + user.sight |= SEE_MOBS + icon_state = "lantern" + wisp.orbit(user, 20) +- feedback_add_details("wisp_lantern","F") // freed ++ SSblackbox.add_details("wisp_lantern","F") // freed + + else + to_chat(user, "You return the wisp to the lantern.") +@@ -102,7 +102,7 @@ + wisp.stop_orbit() + wisp.loc = src + icon_state = "lantern-blue" +- feedback_add_details("wisp_lantern","R") // returned ++ SSblackbox.add_details("wisp_lantern","R") // returned + + /obj/item/device/wisp_lantern/Initialize() + ..() +@@ -229,7 +229,7 @@ + + /obj/item/device/immortality_talisman/attack_self(mob/user) + if(cooldown < world.time) +- feedback_add_details("immortality_talisman","U") // usage ++ SSblackbox.add_details("immortality_talisman","U") // usage + cooldown = world.time + 600 + user.visible_message("[user] vanishes from reality, leaving a a hole in [user.p_their()] place!") + var/obj/effect/immortality_talisman/Z = new(get_turf(src.loc)) diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index dc6bc87d18..0d651518b7 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -136,7 +136,7 @@ else inserted_id.mining_points -= prize.cost new prize.equipment_path(src.loc) - feedback_add_details("mining_equipment_bought", + SSblackbox.add_details("mining_equipment_bought", "[src.type]|[prize.equipment_path]") // Add src.type to keep track of free golem purchases // seperately. @@ -189,7 +189,7 @@ if("Mining Conscription Kit") new /obj/item/weapon/storage/backpack/dufflebag/mining_conscript(loc) - feedback_add_details("mining_voucher_redeemed", selection) + SSblackbox.add_details("mining_voucher_redeemed", selection) qdel(voucher) /obj/machinery/mineral/equipment_vendor/ex_act(severity, target) diff --git a/code/modules/mob/living/brain/MMI.dm b/code/modules/mob/living/brain/MMI.dm index 397824d830..6247083747 100644 --- a/code/modules/mob/living/brain/MMI.dm +++ b/code/modules/mob/living/brain/MMI.dm @@ -73,7 +73,7 @@ name = "Man-Machine Interface: [brainmob.real_name]" update_icon() - feedback_inc("cyborg_mmis_filled",1) + SSblackbox.inc("cyborg_mmis_filled",1) else if(brainmob) O.attack(brainmob, user) //Oh noooeeeee diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index daa72b55fb..6c4fd0b80c 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -33,7 +33,7 @@ dna.species.spec_death(gibbed, src) if(SSticker && SSticker.mode) - sql_report_death(src) + SSblackbox.ReportDeath(src) if(mind && mind.devilinfo) INVOKE_ASYNC(mind.devilinfo, /datum/devilinfo.proc/beginResurrectionCheck, src) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index e03844a82e..d7a2282a98 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -177,8 +177,8 @@ var/obj/item/bodypart/affecting = get_bodypart(ran_zone(user.zone_selected)) //what we're actually ending up trying to hit. var/target_area = parse_zone(check_zone(user.zone_selected)) //our intended target - feedback_add_details("item_used_for_combat","[I.type]|[I.force]") - feedback_add_details("zone_targeted","[target_area]") + SSblackbox.add_details("item_used_for_combat","[I.type]|[I.force]") + SSblackbox.add_details("zone_targeted","[target_area]") // the attacked_by code varies among species return dna.species.spec_attacked_by(I, user, affecting, a_intent, src) diff --git a/code/modules/mob/living/silicon/robot/death.dm b/code/modules/mob/living/silicon/robot/death.dm index 3e531eaaa0..6376ae4857 100644 --- a/code/modules/mob/living/silicon/robot/death.dm +++ b/code/modules/mob/living/silicon/robot/death.dm @@ -32,4 +32,4 @@ unbuckle_all_mobs(TRUE) - sql_report_death(src) + SSblackbox.ReportDeath(src) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 5795854ec9..834e053c07 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -222,7 +222,7 @@ if(R.hud_used) R.hud_used.update_robot_modules_display() if(feedback_key && !did_feedback) - feedback_inc(feedback_key, 1) + SSblackbox.inc(feedback_key, 1) /obj/item/weapon/robot_module/standard name = "Standard" diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm index 8af5c76f5b..0a0ff6bdd3 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm @@ -53,7 +53,7 @@ return else if(!admin_spawned) - feedback_set_details("megafauna_kills","[initial(name)]") + SSblackbox.set_details("megafauna_kills","[initial(name)]") if(!elimination) //used so the achievment only occurs for the last legion to die. grant_achievement(medal_type,score_type) ..() diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm index ca0ef6a7ea..a68ccc4884 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm @@ -48,7 +48,7 @@ ..() /mob/living/simple_animal/hostile/asteroid/death(gibbed) - feedback_add_details("mobs_killed_mining","[src.type]") + SSblackbox.add_details("mobs_killed_mining","[src.type]") ..(gibbed) /mob/living/simple_animal/hostile/asteroid/basilisk @@ -266,15 +266,15 @@ update_icon() if(implanted) - feedback_add_details("hivelord_core", "[type]|implanted") + SSblackbox.add_details("hivelord_core", "[type]|implanted") else - feedback_add_details("hivelord_core", "[type]|stabilizer") + SSblackbox.add_details("hivelord_core", "[type]|stabilizer") /obj/item/organ/hivelord_core/proc/go_inert() inert = TRUE desc = "The remains of a hivelord that have become useless, having been left alone too long after being harvested." - feedback_add_details("hivelord_core", "[src.type]|inert") + SSblackbox.add_details("hivelord_core", "[src.type]|inert") update_icon() /obj/item/organ/hivelord_core/ui_action_click() @@ -298,10 +298,10 @@ return if(H != user) H.visible_message("[user] forces [H] to apply [src]... [H.p_they()] quickly regenerate all injuries!") - feedback_add_details("hivelord_core","[src.type]|used|other") + SSblackbox.add_details("hivelord_core","[src.type]|used|other") else to_chat(user, "You start to smear [src] on yourself. It feels and smells disgusting, but you feel amazingly refreshed in mere moments.") - feedback_add_details("hivelord_core","[src.type]|used|self") + SSblackbox.add_details("hivelord_core","[src.type]|used|self") H.revive(full_heal = 1) qdel(src) ..() diff --git a/code/modules/mob/living/simple_animal/slime/powers.dm b/code/modules/mob/living/simple_animal/slime/powers.dm index aec971fb37..dab6b717a4 100644 --- a/code/modules/mob/living/simple_animal/slime/powers.dm +++ b/code/modules/mob/living/simple_animal/slime/powers.dm @@ -166,7 +166,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.add_details("slime_babies_born","slimebirth_[replacetext(M.colour," ","_")]") var/mob/living/simple_animal/slime/new_slime = pick(babies) new_slime.a_intent = INTENT_HARM diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 0d92f21494..64d4077a12 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -69,7 +69,7 @@ return 0 charge = (charge - amount) if(!istype(loc, /obj/machinery/power/apc)) - feedback_add_details("cell_used","[src.type]") + SSblackbox.add_details("cell_used","[src.type]") return 1 // recharge the cell diff --git a/code/modules/power/singularity/generator.dm b/code/modules/power/singularity/generator.dm index 6a1595043a..e07f97c6ca 100644 --- a/code/modules/power/singularity/generator.dm +++ b/code/modules/power/singularity/generator.dm @@ -32,7 +32,7 @@ if(energy > 0) if(energy >= 200) var/turf/T = get_turf(src) - feedback_add_details("engine_started","[src.type]") + SSblackbox.add_details("engine_started","[src.type]") var/obj/singularity/S = new creation_type(T, 50) transfer_fingerprints_to(S) qdel(src) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index f69d4cc23f..2dffe0a567 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -265,7 +265,7 @@ if(user) user.update_inv_hands() - feedback_add_details("gun_fired","[src.type]") + SSblackbox.add_details("gun_fired","[src.type]") return 1 /obj/item/weapon/gun/attack(mob/M as mob, mob/user) diff --git a/code/modules/projectiles/guns/medbeam.dm b/code/modules/projectiles/guns/medbeam.dm index da4346109a..32646ee1e8 100644 --- a/code/modules/projectiles/guns/medbeam.dm +++ b/code/modules/projectiles/guns/medbeam.dm @@ -55,7 +55,7 @@ current_beam = new(user,current_target,time=6000,beam_icon_state="medbeam",btype=/obj/effect/ebeam/medical) INVOKE_ASYNC(current_beam, /datum/beam.proc/Start) - feedback_add_details("gun_fired","[src.type]") + SSblackbox.add_details("gun_fired","[src.type]") /obj/item/weapon/gun/medbeam/process() diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index dbbb0b80b9..2c8ef5e065 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -396,7 +396,7 @@ remove_reagent(B, (multiplier * cached_required_reagents[B]), safety = 1) for(var/P in C.results) - feedback_add_details("chemical_reaction", "[P]|[cached_results[P]*multiplier]") + SSblackbox.add_details("chemical_reaction", "[P]|[cached_results[P]*multiplier]") multiplier = max(multiplier, 1) //this shouldnt happen ... add_reagent(P, cached_results[P]*multiplier, null, chem_temp) diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm.rej b/code/modules/reagents/chemistry/recipes/slime_extracts.dm.rej new file mode 100644 index 0000000000..7a34c24c52 --- /dev/null +++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm.rej @@ -0,0 +1,442 @@ +diff a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm (rejected hunks) +@@ -19,7 +19,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimespawn/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/mob/living/simple_animal/slime/S + S = new(get_turf(holder.my_atom), "grey") + S.visible_message("Infused with plasma, the \ +@@ -36,7 +36,7 @@ + required_container = /obj/item/slime_extract/grey + + /datum/chemical_reaction/slime/slimeinaprov/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + ..() + + /datum/chemical_reaction/slime/slimemonkey +@@ -47,7 +47,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimemonkey/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + for(var/i = 1, i <= 3, i++) + var /obj/item/weapon/reagent_containers/food/snacks/monkeycube/M = new /obj/item/weapon/reagent_containers/food/snacks/monkeycube + M.loc = get_turf(holder.my_atom) +@@ -63,7 +63,7 @@ + required_container = /obj/item/slime_extract/green + + /datum/chemical_reaction/slime/slimemutate/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + ..() + + //Mutated Green +@@ -77,7 +77,7 @@ + mix_message = "The mixture rapidly expands and contracts, its appearance shifting into a sickening green." + + /datum/chemical_reaction/slime/slimemutate_unstable/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + ..() + + //Metal +@@ -89,7 +89,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimemetal/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[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) +@@ -103,7 +103,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimeglass/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[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) +@@ -118,7 +118,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimecrit/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/turf/T = get_turf(holder.my_atom) + T.visible_message("The slime extract begins to vibrate violently !") + addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 5, "Gold Slime"), 50) +@@ -134,7 +134,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimecritlesser/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/turf/T = get_turf(holder.my_atom) + T.visible_message("The slime extract begins to vibrate violently !") + addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 3, "Lesser Gold Slime", "neutral"), 50) +@@ -150,7 +150,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimecritfriendly/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/turf/T = get_turf(holder.my_atom) + T.visible_message("The slime extract begins to vibrate adorably !") + addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 1, "Friendly Gold Slime", "neutral"), 50) +@@ -168,7 +168,7 @@ + + /datum/chemical_reaction/slime/slimebork/on_reaction(datum/reagents/holder) + +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/list/blocked = list(/obj/item/weapon/reagent_containers/food/snacks, + /obj/item/weapon/reagent_containers/food/snacks/store/bread, + /obj/item/weapon/reagent_containers/food/snacks/breadslice, +@@ -216,7 +216,7 @@ + + /datum/chemical_reaction/slime/slimebork2/on_reaction(datum/reagents/holder) + +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/list/borks = subtypesof(/obj/item/weapon/reagent_containers/food/drinks) + // BORK BORK BORK + +@@ -246,7 +246,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimefrost/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + ..() + + +@@ -258,7 +258,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimestabilizer/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/obj/item/slimepotion/stabilizer/P = new /obj/item/slimepotion/stabilizer + P.loc = get_turf(holder.my_atom) + ..() +@@ -273,7 +273,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimefoam/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + ..() + + +@@ -286,7 +286,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimefreeze/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/turf/T = get_turf(holder.my_atom) + T.visible_message("The slime extract begins to vibrate adorably!") + addtimer(CALLBACK(src, .proc/freeze, holder), 50) +@@ -310,7 +310,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimefireproof/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/obj/item/slimepotion/fireproof/P = new /obj/item/slimepotion/fireproof + P.loc = get_turf(holder.my_atom) + ..() +@@ -325,7 +325,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimecasp/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + ..() + + /datum/chemical_reaction/slime/slimefire +@@ -336,7 +336,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimefire/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/turf/TU = get_turf(holder.my_atom) + TU.visible_message("The slime extract begins to vibrate adorably!") + addtimer(CALLBACK(src, .proc/slime_burn, holder), 50) +@@ -360,7 +360,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimesmoke/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + ..() + + //Yellow +@@ -373,7 +373,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimeoverload/on_reaction(datum/reagents/holder, created_volume) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + empulse(get_turf(holder.my_atom), 3, 7) + ..() + +@@ -386,7 +386,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimecell/on_reaction(datum/reagents/holder, created_volume) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/obj/item/weapon/stock_parts/cell/high/slime/P = new /obj/item/weapon/stock_parts/cell/high/slime + P.loc = get_turf(holder.my_atom) + ..() +@@ -399,7 +399,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimeglow/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/turf/T = get_turf(holder.my_atom) + T.visible_message("The slime begins to emit a soft light. Squeezing it will cause it to grow brightly.") + var/obj/item/device/flashlight/slime/F = new /obj/item/device/flashlight/slime +@@ -416,7 +416,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimepsteroid/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/obj/item/slimepotion/steroid/P = new /obj/item/slimepotion/steroid + P.loc = get_turf(holder.my_atom) + ..() +@@ -430,7 +430,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimejam/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + ..() + + +@@ -443,7 +443,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimeplasma/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/turf/location = get_turf(holder.my_atom) + new /obj/item/stack/sheet/mineral/plasma (location, 3) + ..() +@@ -458,7 +458,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimemutator/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/obj/item/slimepotion/mutator/P = new /obj/item/slimepotion/mutator + P.loc = get_turf(holder.my_atom) + ..() +@@ -471,7 +471,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimebloodlust/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + for(var/mob/living/simple_animal/slime/slime in viewers(get_turf(holder.my_atom), null)) + slime.rabid = 1 + slime.visible_message("The [slime] is driven into a frenzy!") +@@ -486,7 +486,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimespeed/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/obj/item/slimepotion/speed/P = new /obj/item/slimepotion/speed + P.loc = get_turf(holder.my_atom) + ..() +@@ -501,7 +501,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/docility/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/obj/item/slimepotion/docility/P = new /obj/item/slimepotion/docility + P.loc = get_turf(holder.my_atom) + ..() +@@ -514,7 +514,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/gender/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/obj/item/slimepotion/genderchange/G = new /obj/item/slimepotion/genderchange + G.loc = get_turf(holder.my_atom) + ..() +@@ -529,7 +529,7 @@ + required_container = /obj/item/slime_extract/black + + /datum/chemical_reaction/slime/slimemutate2/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + ..() + + //Oil +@@ -541,7 +541,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimeexplosion/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/turf/T = get_turf(holder.my_atom) + var/lastkey = holder.my_atom.fingerprintslast + var/touch_msg = "N/A" +@@ -570,7 +570,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimecornoil/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + ..() + + //Light Pink +@@ -582,7 +582,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimepotion2/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/obj/item/slimepotion/sentience/P = new /obj/item/slimepotion/sentience + P.loc = get_turf(holder.my_atom) + ..() +@@ -596,7 +596,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimegolem/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/obj/effect/golemrune/Z = new /obj/effect/golemrune + Z.loc = get_turf(holder.my_atom) + notify_ghosts("Golem rune created in [get_area(Z)].", 'sound/effects/ghost2.ogg', source = Z) +@@ -610,7 +610,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimegolem2/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/obj/item/golem_shell/artificial/Z = new /obj/item/golem_shell/artificial + Z.loc = get_turf(holder.my_atom) + ..() +@@ -624,7 +624,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimefloor2/on_reaction(datum/reagents/holder, created_volume) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/obj/item/stack/tile/bluespace/P = new /obj/item/stack/tile/bluespace + P.amount = 25 + P.loc = get_turf(holder.my_atom) +@@ -639,7 +639,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimecrystal/on_reaction(datum/reagents/holder, created_volume) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + if(holder.my_atom) + var/obj/item/weapon/ore/bluespace_crystal/BC = new(get_turf(holder.my_atom)) + BC.visible_message("The [BC.name] appears out of thin air!") +@@ -654,7 +654,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimepsteroid2/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/obj/item/slimepotion/enhancer/P = new /obj/item/slimepotion/enhancer + P.loc = get_turf(holder.my_atom) + ..() +@@ -668,7 +668,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slime_territory/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/obj/item/areaeditor/blueprints/slime/P = new /obj/item/areaeditor/blueprints/slime + P.loc = get_turf(holder.my_atom) + ..() +@@ -682,7 +682,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimestop/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/mob/mob = get_mob_by_key(holder.my_atom.fingerprintslast) + var/obj/effect/timestop/T = new /obj/effect/timestop + T.loc = get_turf(holder.my_atom) +@@ -699,7 +699,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimecamera/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/obj/item/device/camera/P = new /obj/item/device/camera + P.loc = get_turf(holder.my_atom) + var/obj/item/device/camera_film/Z = new /obj/item/device/camera_film +@@ -714,7 +714,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimefloor/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/obj/item/stack/tile/sepia/P = new /obj/item/stack/tile/sepia + P.amount = 25 + P.loc = get_turf(holder.my_atom) +@@ -732,7 +732,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimepaint/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/list/paints = subtypesof(/obj/item/weapon/paint) + var/chosen = pick(paints) + var/obj/P = new chosen +@@ -749,7 +749,7 @@ + required_other = 1 + + /datum/chemical_reaction/slime/slimecrayon/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/list/crayons = difflist(subtypesof(/obj/item/toy/crayon),typesof(/obj/item/toy/crayon/spraycan)) + var/chosen = pick(crayons) + var/obj/P = new chosen +@@ -766,7 +766,7 @@ + required_container = /obj/item/slime_extract/rainbow + + /datum/chemical_reaction/slime/slimeRNG/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/mob/living/simple_animal/slime/random/S + S = new(get_turf(holder.my_atom)) + S.visible_message("Infused with plasma, the \ +@@ -782,7 +782,7 @@ + required_container = /obj/item/slime_extract/rainbow + + /datum/chemical_reaction/slime/slime_transfer/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + var/obj/item/slimepotion/transference/P = new /obj/item/slimepotion/transference + P.loc = get_turf(holder.my_atom) + ..() +@@ -795,7 +795,7 @@ + required_container = /obj/item/slime_extract/rainbow + + /datum/chemical_reaction/slime/flight_potion/on_reaction(datum/reagents/holder) +- feedback_add_details("slime_cores_used","[type]") ++ SSblackbox.add_details("slime_cores_used","[type]") + new/obj/item/weapon/reagent_containers/glass/bottle/potion/flight(get_turf(holder.my_atom)) + ..() + diff --git a/code/modules/recycling/disposal-unit.dm b/code/modules/recycling/disposal-unit.dm index 9b1d5e649f..1b4455e29c 100644 --- a/code/modules/recycling/disposal-unit.dm +++ b/code/modules/recycling/disposal-unit.dm @@ -391,7 +391,7 @@ if(contents.len) if(full_pressure) spawn(0) - feedback_inc("disposal_auto_flush",1) + SSblackbox.inc("disposal_auto_flush",1) flush() flush_count = 0 diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index ed5190a701..07a0cc6b8b 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -309,13 +309,13 @@ won't update every console in existence) but it's more of a hassle to do. Also, 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 + SSblackbox.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]) if(linked_lathe) //Also sends salvaged materials to a linked protolathe, if any. for(var/material in linked_destroy.loaded_item.materials) linked_lathe.materials.insert_amount(min((linked_lathe.materials.max_amount - linked_lathe.materials.total_amount), (linked_destroy.loaded_item.materials[material]*(linked_destroy.decon_mod/10))), material) - feedback_add_details("item_deconstructed","[linked_destroy.loaded_item.type]") + SSblackbox.add_details("item_deconstructed","[linked_destroy.loaded_item.type]") linked_destroy.loaded_item = null for(var/obj/I in linked_destroy.contents) for(var/mob/M in I.contents) @@ -452,7 +452,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, new_item.materials = efficient_mats.Copy() new_item.loc = linked_lathe.loc if(!already_logged) - feedback_add_details("item_printed","[new_item.type]|[amount]") + SSblackbox.add_details("item_printed","[new_item.type]|[amount]") already_logged = 1 screen = old_screen linked_lathe.busy = 0 @@ -519,7 +519,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, var/obj/item/new_item = new P(src) new_item.loc = linked_imprinter.loc new_item.materials = efficient_mats.Copy() - feedback_add_details("circuit_printed","[new_item.type]") + SSblackbox.add_details("circuit_printed","[new_item.type]") screen = old_screen linked_imprinter.busy = 0 else diff --git a/code/modules/security_levels/keycard_authentication.dm b/code/modules/security_levels/keycard_authentication.dm index 6f6533326b..2c37cd8757 100644 --- a/code/modules/security_levels/keycard_authentication.dm +++ b/code/modules/security_levels/keycard_authentication.dm @@ -95,10 +95,10 @@ GLOBAL_DATUM_INIT(keycard_events, /datum/events, new) switch(event) if("Red Alert") set_security_level(SEC_LEVEL_RED) - feedback_inc("alert_keycard_auth_red",1) + SSblackbox.inc("alert_keycard_auth_red",1) if("Emergency Maintenance Access") make_maint_all_access() - feedback_inc("alert_keycard_auth_maint",1) + SSblackbox.inc("alert_keycard_auth_maint",1) GLOBAL_VAR_INIT(emergency_access, FALSE) diff --git a/code/modules/shuttle/arrivals.dm b/code/modules/shuttle/arrivals.dm index b4af9d9e17..6bf1a134b7 100644 --- a/code/modules/shuttle/arrivals.dm +++ b/code/modules/shuttle/arrivals.dm @@ -190,5 +190,5 @@ /obj/docking_port/mobile/arrivals/vv_edit_var(var_name, var_value) switch(var_name) if("perma_docked") - feedback_add_details("admin_secrets_fun_used","ShA[var_value ? "s" : "g"]") + SSblackbox.add_details("admin_secrets_fun_used","ShA[var_value ? "s" : "g"]") return ..() diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index 553210a5f7..f13e29273e 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -290,7 +290,7 @@ setTimer(SSshuttle.emergencyDockTime) send2irc("Server", "The Emergency Shuttle has docked with the station.") priority_announce("The Emergency Shuttle has docked with the station. You have [timeLeft(600)] minutes to board the Emergency Shuttle.", null, 'sound/AI/shuttledock.ogg', "Priority") - feedback_add_details("emergency_shuttle", src.name) + SSblackbox.add_details("emergency_shuttle", src.name) // Gangs only have one attempt left if the shuttle has // docked with the station to prevent suffering from diff --git a/code/modules/shuttle/manipulator.dm b/code/modules/shuttle/manipulator.dm index 594a6855da..d9d4eb7a71 100644 --- a/code/modules/shuttle/manipulator.dm +++ b/code/modules/shuttle/manipulator.dm @@ -155,7 +155,7 @@ message_admins("[key_name_admin(usr)] fast travelled \ [M]") log_admin("[key_name(usr)] fast travelled [M]") - feedback_add_details("shuttle_fasttravel", M.name) + SSblackbox.add_details("shuttle_fasttravel", M.name) break if("preview") @@ -182,7 +182,7 @@ with the shuttle manipulator.") log_admin("[key_name(usr)] loaded [mdp] with the \ shuttle manipulator.") - feedback_add_details("shuttle_manipulator", mdp.name) + SSblackbox.add_details("shuttle_manipulator", mdp.name) update_icon() diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index f214d018b4..eda3c3e6c6 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -583,9 +583,9 @@ "You feel an immense \ crushing pressure as the space around you ripples.") if(M.key || M.get_ghost(TRUE)) - feedback_add_details("shuttle_gib", "[type]") + SSblackbox.add_details("shuttle_gib", "[type]") else - feedback_add_details("shuttle_gib_unintelligent", "[type]") + SSblackbox.add_details("shuttle_gib_unintelligent", "[type]") M.gib() else //non-living mobs shouldn't be affected by shuttles, which is why this is an else diff --git a/code/modules/shuttle/supply.dm b/code/modules/shuttle/supply.dm index 1e3b9906be..82d5db8b20 100644 --- a/code/modules/shuttle/supply.dm +++ b/code/modules/shuttle/supply.dm @@ -90,7 +90,7 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list( SSshuttle.orderhistory += SO SO.generate(pick_n_take(empty_turfs)) - feedback_add_details("cargo_imports", + SSblackbox.add_details("cargo_imports", "[SO.pack.type]|[SO.pack.name]|[SO.pack.cost]") investigate_log("Order #[SO.id] ([SO.pack.name], placed by [key_name(SO.orderer_ckey)]) has shipped.", "cargo") if(SO.pack.dangerous) diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm index f9a3b5c0cf..eb02b91735 100644 --- a/code/modules/surgery/surgery.dm +++ b/code/modules/surgery/surgery.dm @@ -54,7 +54,7 @@ return new step_type /datum/surgery/proc/complete() - feedback_add_details("surgeries_completed", "[type]") + SSblackbox.add_details("surgeries_completed", "[type]") qdel(src) diff --git a/code/modules/uplink/uplink_item.dm.rej b/code/modules/uplink/uplink_item.dm.rej new file mode 100644 index 0000000000..7709867051 --- /dev/null +++ b/code/modules/uplink/uplink_item.dm.rej @@ -0,0 +1,17 @@ +diff a/code/modules/uplink/uplink_item.dm b/code/modules/uplink/uplink_item.dm (rejected hunks) +@@ -88,7 +88,7 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once. + + /datum/uplink_item/proc/spawn_item(turf/loc, obj/item/device/uplink/U) + if(item) +- feedback_add_details("traitor_uplink_items_bought", "[item]") ++ SSblackbox.add_details("traitor_uplink_items_bought", "[item]") + return new item(loc) + + /datum/uplink_item/proc/buy(mob/user, obj/item/device/uplink/U) +@@ -1351,5 +1351,5 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once. + var/datum/uplink_item/I = pick(possible_items) + U.telecrystals -= I.cost + U.spent_telecrystals += I.cost +- feedback_add_details("traitor_uplink_items_bought","RN") ++ SSblackbox.add_details("traitor_uplink_items_bought","RN") + return new I.item(loc) diff --git a/code/world.dm.rej b/code/world.dm.rej new file mode 100644 index 0000000000..61fdf99e06 --- /dev/null +++ b/code/world.dm.rej @@ -0,0 +1,19 @@ +diff a/code/world.dm b/code/world.dm (rejected hunks) +@@ -208,7 +208,7 @@ + #undef WORLD_REBOOT + + /world/proc/OnReboot(reason, feedback_c, feedback_r, round_end_sound_sent) +- feedback_set_details("[feedback_c]","[feedback_r]") ++ SSblackbox.set_details("[feedback_c]","[feedback_r]") + log_game("Rebooting World. [reason]") + #ifdef dellogging + var/log = file("data/logs/del.log") +@@ -218,8 +218,6 @@ + if(count > 10) + log << "#[count]\t[index]" + #endif +- if(GLOB.blackbox) +- GLOB.blackbox.save_all_data_to_sql() + Master.Shutdown() //run SS shutdowns + RoundEndAnimation(round_end_sound_sent) + kick_clients_in_lobby("The round came to an end with you in the lobby.", 1) //second parameter ensures only afk clients are kicked diff --git a/tgstation.dme b/tgstation.dme index 1647912f6c..cead10a6c2 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -209,7 +209,6 @@ #include "code\controllers\subsystem\pai.dm" #include "code\controllers\subsystem\parallax.dm" #include "code\controllers\subsystem\persistence.dm" -#include "code\controllers\subsystem\ping.dm" #include "code\controllers\subsystem\radio.dm" #include "code\controllers\subsystem\religion.dm" #include "code\controllers\subsystem\server_maint.dm" diff --git a/tgstation.dme.rej b/tgstation.dme.rej new file mode 100644 index 0000000000..02c9418835 --- /dev/null +++ b/tgstation.dme.rej @@ -0,0 +1,17 @@ +diff a/tgstation.dme b/tgstation.dme (rejected hunks) +@@ -158,6 +158,7 @@ + #include "code\controllers\subsystem\assets.dm" + #include "code\controllers\subsystem\atoms.dm" + #include "code\controllers\subsystem\augury.dm" ++#include "code\controllers\subsystem\blackbox.dm" + #include "code\controllers\subsystem\communications.dm" + #include "code\controllers\subsystem\disease.dm" + #include "code\controllers\subsystem\events.dm" +@@ -2078,7 +2079,6 @@ + #include "code\orphaned_procs\AStar.dm" + #include "code\orphaned_procs\dbcore.dm" + #include "code\orphaned_procs\priority_announce.dm" +-#include "code\orphaned_procs\statistics.dm" + #include "interface\interface.dm" + #include "interface\stylesheet.dm" + #include "interface\skin.dmf"