From 6ae35c1fcef2dccbd7b59a1981b2ca1ef5d62328 Mon Sep 17 00:00:00 2001
From: harryob <55142896+harryob@users.noreply.github.com>
Date: Tue, 19 Sep 2023 22:34:14 +0100
Subject: [PATCH 1/5] good riddance
---
code/__DEFINES/urls.dm | 66 ++-----------------
.../configuration/entries/general.dm | 6 ++
code/datums/entities/player.dm | 2 +-
code/game/jobs/job/civilians/other/liaison.dm | 2 +-
.../jobs/job/civilians/other/mess_seargent.dm | 2 +-
code/game/jobs/job/civilians/support/cmo.dm | 2 +-
.../game/jobs/job/civilians/support/doctor.dm | 4 +-
code/game/jobs/job/civilians/support/nurse.dm | 2 +-
.../jobs/job/civilians/support/researcher.dm | 2 +-
.../jobs/job/civilians/support/synthetic.dm | 2 +-
.../jobs/job/civilians/support/working_joe.dm | 4 +-
.../auxiliary/auxiliary_support_officer.dm | 2 +-
.../jobs/job/command/auxiliary/crew_chief.dm | 2 +-
code/game/jobs/job/command/auxiliary/intel.dm | 2 +-
code/game/jobs/job/command/auxiliary/pilot.dm | 2 +-
.../game/jobs/job/command/auxiliary/senior.dm | 5 +-
code/game/jobs/job/command/cic/captain.dm | 2 +-
code/game/jobs/job/command/cic/executive.dm | 2 +-
.../game/jobs/job/command/cic/staffofficer.dm | 2 +-
.../jobs/job/command/police/chief_police.dm | 2 +-
code/game/jobs/job/command/police/police.dm | 2 +-
code/game/jobs/job/command/police/warden.dm | 2 +-
code/game/jobs/job/job.dm | 13 +++-
.../jobs/job/logistics/cargo/cargo_tech.dm | 2 +-
.../jobs/job/logistics/cargo/chief_req.dm | 2 +-
.../jobs/job/logistics/engi/chief_engineer.dm | 2 +-
.../jobs/job/logistics/engi/maint_tech.dm | 2 +-
.../jobs/job/logistics/engi/ordnance_tech.dm | 2 +-
code/game/jobs/job/marine/squad/engineer.dm | 2 +-
code/game/jobs/job/marine/squad/leader.dm | 2 +-
code/game/jobs/job/marine/squad/medic.dm | 2 +-
.../game/jobs/job/marine/squad/smartgunner.dm | 2 +-
code/game/jobs/job/marine/squad/specialist.dm | 2 +-
code/game/jobs/job/marine/squad/tl.dm | 2 +-
code/modules/admin/autoreply.dm | 15 +++--
code/modules/mentor/mentorhelp.dm | 10 +--
interface/interface.dm | 2 +-
37 files changed, 77 insertions(+), 104 deletions(-)
diff --git a/code/__DEFINES/urls.dm b/code/__DEFINES/urls.dm
index 4d9268220f2b..137095327a2c 100644
--- a/code/__DEFINES/urls.dm
+++ b/code/__DEFINES/urls.dm
@@ -1,61 +1,7 @@
-// ------ CHANGE LOG ------ //
-#define URL_CHANGELOG "https://cm-ss13.com/changelog"
-
-// ------ ISSUE TRACKER ------ //
-#define URL_ISSUE_TRACKER "https://github.com/cmss13-devs/cmss13/issues"
-
// ------ MISC WIKI LINKS ------ //
-#define URL_WIKI_RULES "https://cm-ss13.com/wiki/Rules"
-#define URL_WIKI_LANDING "https://cm-ss13.com/wiki/Main_Page"
-#define URL_WIKI_COC "https://cm-ss13.com/wiki/Rank"
-#define URL_WIKI_LAW "https://cm-ss13.com/wiki/Marine_Law"
-#define URL_WIKI_XENO_QUICKSTART "https://cm-ss13.com/wiki/Xeno_Quickstart_Guide"
-#define URL_WIKI_MARINE_QUICKSTART "https://cm-ss13.com/wiki/Marine_Quickstart_Guide"
-#define URL_WIKI_MACROS "https://cm-ss13.com/wiki/Macros"
-#define URL_WIKI_SOP "https://cm-ss13.com/wiki/Standard_Operating_Procedure"
-#define URL_WIKI_CO_RULES "https://cm-ss13.com/wiki/CO_Council_Rulings"
-#define URL_WIKI_CONSTRUCTION "https://cm-ss13.com/wiki/Guide_to_construction"
-#define URL_WIKI_ENGINEERING "https://cm-ss13.com/wiki/Guide_to_Engineering"
-#define URL_WIKI_HACKING "https://cm-ss13.com/wiki/Guide_to_Engineering#Hacking"
-#define URL_WIKI_SURGERY "https://cm-ss13.com/wiki/Surgery"
-#define URL_WIKI_MEDICAL "https://cm-ss13.com/wiki/Guide_to_Medicine"
-
-// ------ SPAWN GUIDES------ //
-#define URL_WIKI_CO_GUIDE "https://cm-ss13.com/wiki/Commanding_Officer" // Command //
-#define URL_WIKI_XO_GUIDE "https://cm-ss13.com/wiki/Executive_Officer"
-#define URL_WIKI_SO_GUIDE "https://cm-ss13.com/wiki/Staff_Officer"
-#define URL_WIKI_SEA_GUIDE "https://cm-ss13.com/wiki/Senior_Enlisted_Advisor"
-#define URL_WIKI_SL_GUIDE "https://cm-ss13.com/wiki/Squad_Leader"
-#define URL_WIKI_TL_GUIDE "https://cm-ss13.com/wiki/Squad_Radio_Telephone_Operator" // Squad Roles //
-#define URL_WIKI_SPEC_GUIDE "https://cm-ss13.com/wiki/Squad_Specialist"
-#define URL_WIKI_SG_GUIDE "https://cm-ss13.com/wiki/Squad_Smartgunner"
-#define URL_WIKI_MEDIC_GUIDE "https://cm-ss13.com/wiki/Squad_Hospital_Corpsman"
-#define URL_WIKI_COMTECH_GUIDE "https://cm-ss13.com/wiki/Squad_Combat_Technician"
-#define URL_WIKI_CMP_GUIDE "https://cm-ss13.com/wiki/Chief_MP" // MP Roles //
-#define URL_WIKI_MW_GUIDE "https://cm-ss13.com/wiki/Warden"
-#define URL_WIKI_MP_GUIDE "https://cm-ss13.com/wiki/Military_Police"
-#define URL_WIKI_ASO_GUIDE "https://cm-ss13.com/wiki/Auxiliary_Support_Officer" // Auxiliary Support
-#define URL_WIKI_PO_GUIDE "https://cm-ss13.com/wiki/Pilot_Officer"
-#define URL_WIKI_DCC_GUIDE "https://cm-ss13.com/wiki/Dropship_Crew_Chief"
-#define URL_WIKI_IO_GUIDE "https://cm-ss13.com/wiki/Intelligence_Officer"
-#define URL_WIKI_SYN_GUIDE "https://cm-ss13.com/wiki/Synthetic"
-#define URL_WIKI_CE_GUIDE "https://cm-ss13.com/wiki/Chief_Engineer" // Engineering
-#define URL_WIKI_OT_GUIDE "https://cm-ss13.com/wiki/Ordnance_Technician"
-#define URL_WIKI_MT_GUIDE "https://cm-ss13.com/wiki/Maintenance_Technician"
-#define URL_WIKI_CMO_GUIDE "https://cm-ss13.com/wiki/Chief_Medical_Officer" // Medical //
-#define URL_WIKI_DOC_GUIDE "https://cm-ss13.com/wiki/Doctor"
-#define URL_WIKI_NURSE_GUIDE "https://cm-ss13.com/wiki/Nurse"
-#define URL_WIKI_RSR_GUIDE "https://cm-ss13.com/wiki/Researcher"
-#define URL_WIKI_RO_GUIDE "https://cm-ss13.com/wiki/Requisitions_Officer" // Supply //
-#define URL_WIKI_CT_GUIDE "https://cm-ss13.com/wiki/Cargo_Technician"
-#define URL_WIKI_MST_GUIDE "https://cm-ss13.com/wiki/Mess_Technician"
-#define URL_WIKI_CL_GUIDE "https://cm-ss13.com/wiki/Corporate_Liaison" // Misc //
-#define URL_WIKI_SURV_GUIDE "https://cm-ss13.com/wiki/Survivor"
-#define URL_WIKI_WJ_GUIDE "https://cm-ss13.com/wiki/Seegson_Working_Joe_Manual"
-
-// ------ FORUM LINKS ------ //
-#define URL_FORUM "https://forum.cm-ss13.com/"
-#define URL_FORUM_APPEALS "https://forum.cm-ss13.com/w/in-game-appeal"
-#define URL_FORUM_PLAYER_REPORT "https://forum.cm-ss13.com/w/player-report"
-#define URL_FORUM_STAFF_REPORT "https://forum.cm-ss13.com/w/staff-report"
-#define URL_QUEEN_GUIDE "https://cm-ss13.com/forums/showthread.php?8404-Ultimate-Queen-Guide-Rip-amp-amp-Tear-(Image-Heavy)"
+#define URL_WIKI_LAW "Marine_Law"
+#define URL_WIKI_XENO_QUICKSTART "Xeno_Quickstart_Guide"
+#define URL_WIKI_MARINE_QUICKSTART "Marine_Quickstart_Guide"
+#define URL_WIKI_MACROS "Macros"
+#define URL_WIKI_SOP "Standard_Operating_Procedure"
+#define URL_WIKI_CO_RULES "CO_Council_Rulings"
diff --git a/code/controllers/configuration/entries/general.dm b/code/controllers/configuration/entries/general.dm
index 976256cb6c97..d41cc853cc93 100644
--- a/code/controllers/configuration/entries/general.dm
+++ b/code/controllers/configuration/entries/general.dm
@@ -21,8 +21,14 @@ Basics, the most important.
/datum/config_entry/string/wikiurl
+/datum/config_entry/string/wikiarticleurl
+
/datum/config_entry/string/forumurl
+/datum/config_entry/string/staffreport
+
+/datum/config_entry/string/playerreport
+
/datum/config_entry/string/rulesurl
/datum/config_entry/string/githuburl
diff --git a/code/datums/entities/player.dm b/code/datums/entities/player.dm
index ed97c4eafaae..febeb1fc73a9 100644
--- a/code/datums/entities/player.dm
+++ b/code/datums/entities/player.dm
@@ -97,7 +97,7 @@ BSQL_PROTECT_DATUM(/datum/entity/player)
if(!is_confidential && note_category == NOTE_ADMIN && owning_client)
to_chat_immediate(owning_client, SPAN_WARNING(FONT_SIZE_LARGE("You have been noted by [key_name_admin(admin.mob, FALSE)].")))
to_chat_immediate(owning_client, SPAN_WARNING(FONT_SIZE_BIG("The note is : [sanitize(note_text)]")))
- to_chat_immediate(owning_client, SPAN_WARNING(FONT_SIZE_BIG("If you believe this was filed in error or misplaced, make a staff report at The CM Forums")))
+ to_chat_immediate(owning_client, SPAN_WARNING(FONT_SIZE_BIG("If you believe this was filed in error or misplaced, make a staff report at The CM Forums")))
to_chat_immediate(owning_client, SPAN_WARNING(FONT_SIZE_BIG("You can also click the name of the staff member noting you to PM them.")))
// create new instance of player_note entity
var/datum/entity/player_note/note = DB_ENTITY(/datum/entity/player_note)
diff --git a/code/game/jobs/job/civilians/other/liaison.dm b/code/game/jobs/job/civilians/other/liaison.dm
index ba65720b8251..7f73376a05dd 100644
--- a/code/game/jobs/job/civilians/other/liaison.dm
+++ b/code/game/jobs/job/civilians/other/liaison.dm
@@ -6,7 +6,7 @@
selection_class = "job_cl"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/liaison
- entry_message_body = "As a representative of Weyland-Yutani Corporation, your job requires you to stay in character at all times. You are not required to follow military orders; however, you cannot give military orders. Your primary job is to observe and report back your findings to Weyland-Yutani. Follow regular game rules unless told otherwise by your superiors. Use your office fax machine to communicate with corporate headquarters or to acquire new directives. You may not receive anything back, and this is normal."
+ entry_message_body = "As a representative of Weyland-Yutani Corporation, your job requires you to stay in character at all times. You are not required to follow military orders; however, you cannot give military orders. Your primary job is to observe and report back your findings to Weyland-Yutani. Follow regular game rules unless told otherwise by your superiors. Use your office fax machine to communicate with corporate headquarters or to acquire new directives. You may not receive anything back, and this is normal."
var/mob/living/carbon/human/active_liaison
/datum/job/civilian/liaison/generate_entry_conditions(mob/living/liaison, whitelist_status)
diff --git a/code/game/jobs/job/civilians/other/mess_seargent.dm b/code/game/jobs/job/civilians/other/mess_seargent.dm
index 615df24ecb47..4b1975015a95 100644
--- a/code/game/jobs/job/civilians/other/mess_seargent.dm
+++ b/code/game/jobs/job/civilians/other/mess_seargent.dm
@@ -6,7 +6,7 @@
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
supervisors = "the auxiliary support officer"
gear_preset = /datum/equipment_preset/uscm_ship/chef
- entry_message_body = "Your job is to service the marines with excellent food, drinks and entertaining the shipside crew when needed. You have a lot of freedom and it is up to you, to decide what to do with it. Good luck!"
+ entry_message_body = "Your job is to service the marines with excellent food, drinks and entertaining the shipside crew when needed. You have a lot of freedom and it is up to you, to decide what to do with it. Good luck!"
/obj/effect/landmark/start/chef
name = JOB_MESS_SERGEANT
diff --git a/code/game/jobs/job/civilians/support/cmo.dm b/code/game/jobs/job/civilians/support/cmo.dm
index 9f3ff20cffb3..8c4690ea2057 100644
--- a/code/game/jobs/job/civilians/support/cmo.dm
+++ b/code/game/jobs/job/civilians/support/cmo.dm
@@ -6,7 +6,7 @@
selection_class = "job_cmo"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/uscm_medical/cmo
- entry_message_body = "You're a commissioned officer of the USCM. You have authority over everything related to Medbay and Research, only able to be overriden by the XO and CO. You are in charge of medical staff, surgery, chemistry, stimulants and keeping the marines healthy overall."
+ entry_message_body = "You're a commissioned officer of the USCM. You have authority over everything related to Medbay and Research, only able to be overriden by the XO and CO. You are in charge of medical staff, surgery, chemistry, stimulants and keeping the marines healthy overall."
AddTimelock(/datum/job/civilian/professor, list(
JOB_MEDIC_ROLES = 10 HOURS
diff --git a/code/game/jobs/job/civilians/support/doctor.dm b/code/game/jobs/job/civilians/support/doctor.dm
index 587c4727690f..9e0853d96e33 100644
--- a/code/game/jobs/job/civilians/support/doctor.dm
+++ b/code/game/jobs/job/civilians/support/doctor.dm
@@ -32,9 +32,9 @@
//check what job option you took and generate the corresponding the good texte.
/datum/job/civilian/doctor/generate_entry_message(mob/living/carbon/human/H)
if(doctor)
- . = {"You're a commissioned officer of the USCM, though you are not in the ship's chain of command. You are a doctor and tasked with keeping the marines healthy and strong, usually in the form of surgery. You are a jack of all trades in medicine: you can medicate, perform surgery and produce pharmaceuticals. If you do not know what you are doing, mentorhelp so a mentor can assist you."}
+ . = {"You're a commissioned officer of the USCM, though you are not in the ship's chain of command. You are a doctor and tasked with keeping the marines healthy and strong, usually in the form of surgery. You are a jack of all trades in medicine: you can medicate, perform surgery and produce pharmaceuticals. If you do not know what you are doing, mentorhelp so a mentor can assist you."}
else
- . = {"You're a commissioned officer of the USCM, though you are not in the ship's chain of command. You are a surgeon and tasked with keeping the marines healthy and strong, usually in the form of surgery. You are a doctor that specializes in surgery, but you are also very capable in pharmacy and triage. If you do not know what you are doing, mentorhelp so a mentor can assist you."}
+ . = {"You're a commissioned officer of the USCM, though you are not in the ship's chain of command. You are a surgeon and tasked with keeping the marines healthy and strong, usually in the form of surgery. You are a doctor that specializes in surgery, but you are also very capable in pharmacy and triage. If you do not know what you are doing, mentorhelp so a mentor can assist you."}
/datum/job/civilian/doctor/set_spawn_positions(count)
spawn_positions = doc_slot_formula(count)
diff --git a/code/game/jobs/job/civilians/support/nurse.dm b/code/game/jobs/job/civilians/support/nurse.dm
index 034421d799aa..7a0cab16f559 100644
--- a/code/game/jobs/job/civilians/support/nurse.dm
+++ b/code/game/jobs/job/civilians/support/nurse.dm
@@ -6,7 +6,7 @@
selection_class = "job_doctor"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/uscm_medical/nurse
- entry_message_body = "You are tasked with keeping the Marines healthy and strong. You are also an expert when it comes to medication and treatment, and can do minor surgical procedures. Focus on assisting doctors and triaging wounded marines."
+ entry_message_body = "You are tasked with keeping the Marines healthy and strong. You are also an expert when it comes to medication and treatment, and can do minor surgical procedures. Focus on assisting doctors and triaging wounded marines."
/obj/effect/landmark/start/nurse
name = JOB_NURSE
diff --git a/code/game/jobs/job/civilians/support/researcher.dm b/code/game/jobs/job/civilians/support/researcher.dm
index fd33d1f03f0a..61245c8164ab 100644
--- a/code/game/jobs/job/civilians/support/researcher.dm
+++ b/code/game/jobs/job/civilians/support/researcher.dm
@@ -10,7 +10,7 @@
selection_class = "job_researcher"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/uscm_medical/researcher
- entry_message_body = "You're a commissioned officer of the USCM, though you are not in the ship's chain of command. You are tasked with researching and developing new medical treatments, helping your fellow doctors, and generally learning new things. Your role involves a lot of roleplaying, but you can perform the function of a regular doctor. Do not hand out things to Marines without getting permission from your supervisor."
+ entry_message_body = "You're a commissioned officer of the USCM, though you are not in the ship's chain of command. You are tasked with researching and developing new medical treatments, helping your fellow doctors, and generally learning new things. Your role involves a lot of roleplaying, but you can perform the function of a regular doctor. Do not hand out things to Marines without getting permission from your supervisor."
/datum/job/civilian/researcher/set_spawn_positions(count)
spawn_positions = rsc_slot_formula(count)
diff --git a/code/game/jobs/job/civilians/support/synthetic.dm b/code/game/jobs/job/civilians/support/synthetic.dm
index 10ab895cf276..3e02385bc96c 100644
--- a/code/game/jobs/job/civilians/support/synthetic.dm
+++ b/code/game/jobs/job/civilians/support/synthetic.dm
@@ -9,7 +9,7 @@
flags_startup_parameters = ROLE_ADD_TO_DEFAULT|ROLE_ADMIN_NOTIFY|ROLE_WHITELISTED|ROLE_CUSTOM_SPAWN
flags_whitelist = WHITELIST_SYNTHETIC
gear_preset = /datum/equipment_preset/synth/uscm
- entry_message_body = "You are a Synthetic! You are held to a higher standard and are required to obey not only the Server Rules but Marine Law and Synthetic Rules. Failure to do so may result in your White-list Removal. Your primary job is to support and assist all USCM Departments and Personnel on-board. In addition, being a Synthetic gives you knowledge in every field and specialization possible on-board the ship. As a Synthetic you answer to the acting commanding officer. Special circumstances may change this!"
+ entry_message_body = "You are a Synthetic! You are held to a higher standard and are required to obey not only the Server Rules but Marine Law and Synthetic Rules. Failure to do so may result in your White-list Removal. Your primary job is to support and assist all USCM Departments and Personnel on-board. In addition, being a Synthetic gives you knowledge in every field and specialization possible on-board the ship. As a Synthetic you answer to the acting commanding officer. Special circumstances may change this!"
/datum/job/civilian/synthetic/New()
. = ..()
diff --git a/code/game/jobs/job/civilians/support/working_joe.dm b/code/game/jobs/job/civilians/support/working_joe.dm
index 00a848cce427..bc8f8c439900 100644
--- a/code/game/jobs/job/civilians/support/working_joe.dm
+++ b/code/game/jobs/job/civilians/support/working_joe.dm
@@ -42,9 +42,9 @@
/datum/job/civilian/working_joe/generate_entry_message(mob/living/carbon/human/H)
if(standard)
- . = {"You are a Working Joe. You are held to a higher standard and are required to obey not only the Server Rules but Marine Law, Roleplay Expectations and Synthetic Rules. Your primary task is to maintain the cleanliness of the ship, putting things in their proper place. Alternatively, your primary task may be to assist with manual labor in limited capacity, or clerical duties. Your capacities are limited, but you have all the equipment you need, and the central AI has a plan! Stay in character at all times. Use the APOLLO link to communicate with your uplink!"}
+ . = {"You are a Working Joe. You are held to a higher standard and are required to obey not only the Server Rules but Marine Law, Roleplay Expectations and Synthetic Rules. Your primary task is to maintain the cleanliness of the ship, putting things in their proper place. Alternatively, your primary task may be to assist with manual labor in limited capacity, or clerical duties. Your capacities are limited, but you have all the equipment you need, and the central AI has a plan! Stay in character at all times. Use the APOLLO link to communicate with your uplink!"}
else
- . = {"You are a Working Joe for Hazardous Environments! You are held to a higher standard and are required to obey not only the Server Rules but Marine Law, Roleplay Expectations and Synthetic Rules. You are a variant of the Working Joe built for tougher environments and fulfill the specific duty of dangerous repairs or maintenance. Your primary task is to maintain the reactor, SMES and AI Core. Your secondary task is to respond to hazardous environments, such as an atmospheric breach or biohazard spill, and assist with repairs when ordered to by either an AI Mainframe, or a Commisioned Officer. You should not be seen outside of emergencies besides in Engineering and the AI Core! Stay in character at all times. Use the APOLLO link to communicate with your uplink!"}
+ . = {"You are a Working Joe for Hazardous Environments! You are held to a higher standard and are required to obey not only the Server Rules but Marine Law, Roleplay Expectations and Synthetic Rules. You are a variant of the Working Joe built for tougher environments and fulfill the specific duty of dangerous repairs or maintenance. Your primary task is to maintain the reactor, SMES and AI Core. Your secondary task is to respond to hazardous environments, such as an atmospheric breach or biohazard spill, and assist with repairs when ordered to by either an AI Mainframe, or a Commisioned Officer. You should not be seen outside of emergencies besides in Engineering and the AI Core! Stay in character at all times. Use the APOLLO link to communicate with your uplink!"}
/datum/job/civilian/working_joe/announce_entry_message(mob/living/carbon/human/H)
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(ares_apollo_talk), "[H.real_name] has been activated."), 1.5 SECONDS)
diff --git a/code/game/jobs/job/command/auxiliary/auxiliary_support_officer.dm b/code/game/jobs/job/command/auxiliary/auxiliary_support_officer.dm
index 262ba271edbf..e5155c949a32 100644
--- a/code/game/jobs/job/command/auxiliary/auxiliary_support_officer.dm
+++ b/code/game/jobs/job/command/auxiliary/auxiliary_support_officer.dm
@@ -5,7 +5,7 @@
allow_additional = TRUE
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/auxiliary_officer
- entry_message_body = "Your job is to oversee the hangar crew, the intel officers, the engineering department, and requisition department. You have many responsibilities and a few plates to keep spinning but your subordinates are mostly self-reliant. Assist where you can and make sure command personnel are confident the auxiliary departments are operating at peak efficiency."
+ entry_message_body = "Your job is to oversee the hangar crew, the intel officers, the engineering department, and requisition department. You have many responsibilities and a few plates to keep spinning but your subordinates are mostly self-reliant. Assist where you can and make sure command personnel are confident the auxiliary departments are operating at peak efficiency."
AddTimelock(/datum/job/command/auxiliary_officer, list(
JOB_SQUAD_ROLES = 5 HOURS,
diff --git a/code/game/jobs/job/command/auxiliary/crew_chief.dm b/code/game/jobs/job/command/auxiliary/crew_chief.dm
index 5f846bf6581e..c8dfe2a8eb37 100644
--- a/code/game/jobs/job/command/auxiliary/crew_chief.dm
+++ b/code/game/jobs/job/command/auxiliary/crew_chief.dm
@@ -7,7 +7,7 @@
supervisors = "the pilot officers"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/dcc
- entry_message_body = "Your job is to assist the pilot officer maintain the ship's dropship. You have authority only on the dropship, but you are expected to maintain order, as not to disrupt the pilot."
+ entry_message_body = "Your job is to assist the pilot officer maintain the ship's dropship. You have authority only on the dropship, but you are expected to maintain order, as not to disrupt the pilot."
AddTimelock(/datum/job/command/crew_chief, list(
JOB_SQUAD_ROLES = 5 HOURS
diff --git a/code/game/jobs/job/command/auxiliary/intel.dm b/code/game/jobs/job/command/auxiliary/intel.dm
index 10b8381c417e..1da6a2ca2e7a 100644
--- a/code/game/jobs/job/command/auxiliary/intel.dm
+++ b/code/game/jobs/job/command/auxiliary/intel.dm
@@ -8,7 +8,7 @@
supervisors = "the auxiliary support officer"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = "USCM Intelligence Officer (IO) (Cryo)"
- entry_message_body = "Your job is to assist the marines in collecting intelligence related to the current operation to better inform command of their opposition. You are in charge of gathering any data disks, folders, and notes you may find on the operational grounds and decrypt them to grant the USCM additional resources."
+ entry_message_body = "Your job is to assist the marines in collecting intelligence related to the current operation to better inform command of their opposition. You are in charge of gathering any data disks, folders, and notes you may find on the operational grounds and decrypt them to grant the USCM additional resources."
/datum/job/command/intel/set_spawn_positions(count)
spawn_positions = int_slot_formula(count)
diff --git a/code/game/jobs/job/command/auxiliary/pilot.dm b/code/game/jobs/job/command/auxiliary/pilot.dm
index 57495fe8be28..82ac60b952f0 100644
--- a/code/game/jobs/job/command/auxiliary/pilot.dm
+++ b/code/game/jobs/job/command/auxiliary/pilot.dm
@@ -7,7 +7,7 @@
supervisors = "the auxiliary support officer"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/po
- entry_message_body = "Your job is to fly, protect, and maintain the ship's dropship. While you are an officer, your authority is limited to the dropship, where you have authority over the enlisted personnel. If you are not piloting, there is an autopilot fallback for command, but don't leave the dropship without reason."
+ entry_message_body = "Your job is to fly, protect, and maintain the ship's dropship. While you are an officer, your authority is limited to the dropship, where you have authority over the enlisted personnel. If you are not piloting, there is an autopilot fallback for command, but don't leave the dropship without reason."
AddTimelock(/datum/job/command/pilot, list(
JOB_SQUAD_ROLES = 5 HOURS
diff --git a/code/game/jobs/job/command/auxiliary/senior.dm b/code/game/jobs/job/command/auxiliary/senior.dm
index 68b9a99e4c4f..73c2b7ada8b0 100644
--- a/code/game/jobs/job/command/auxiliary/senior.dm
+++ b/code/game/jobs/job/command/auxiliary/senior.dm
@@ -3,10 +3,13 @@
flags_startup_parameters = ROLE_ADD_TO_DEFAULT|ROLE_ADMIN_NOTIFY|ROLE_WHITELISTED
flags_whitelist = WHITELIST_MENTOR
gear_preset = /datum/equipment_preset/uscm_ship/sea
- entry_message_body = "You are held to a higher standard and are required to obey not only the Server Rules but Marine Law and Standard Operating Procedure. Failure to do so may result in your Mentorship Removal. Your primary job is to teach others the game and its mechanics, and offer advice to all USCM Departments and Personnel on-board."
job_options = list("Gunnery Sergeant" = "GySGT", "Master Sergeant" = "MSgt", "First Sergeant" = "1Sgt", "Master Gunnery Sergeant" = "MGySgt", "Sergeant Major" = "SgtMaj")
+/datum/job/command/senior/New()
+ entry_message_body = "You are held to a higher standard and are required to obey not only the Server Rules but Marine Law and Standard Operating Procedure. Failure to do so may result in your Mentorship Removal. Your primary job is to teach others the game and its mechanics, and offer advice to all USCM Departments and Personnel on-board."
+ return ..()
+
/datum/job/command/senior/announce_entry_message(mob/living/carbon/human/H)
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(all_hands_on_deck), "Attention all hands, [H.get_paygrade(0)] [H.real_name] on deck!"), 1.5 SECONDS)
return ..()
diff --git a/code/game/jobs/job/command/cic/captain.dm b/code/game/jobs/job/command/cic/captain.dm
index 4049554f7799..98db585e1d07 100644
--- a/code/game/jobs/job/command/cic/captain.dm
+++ b/code/game/jobs/job/command/cic/captain.dm
@@ -16,7 +16,7 @@
)
/datum/job/command/commander/generate_entry_message()
- entry_message_body = "You are the Commanding Officer of the [MAIN_SHIP_NAME] as well as the operation. Your goal is to lead the Marines on their mission as well as protect and command the ship and her crew. Your job involves heavy roleplay and requires you to behave like a high-ranking officer and to stay in character at all times. As the Commanding Officer your only superior is High Command itself. You must abide by the Commanding Officer Code of Conduct. Failure to do so may result in punitive action against you. Godspeed."
+ entry_message_body = "You are the Commanding Officer of the [MAIN_SHIP_NAME] as well as the operation. Your goal is to lead the Marines on their mission as well as protect and command the ship and her crew. Your job involves heavy roleplay and requires you to behave like a high-ranking officer and to stay in character at all times. As the Commanding Officer your only superior is High Command itself. You must abide by the Commanding Officer Code of Conduct. Failure to do so may result in punitive action against you. Godspeed."
return ..()
/datum/job/command/commander/get_whitelist_status(list/roles_whitelist, client/player)
diff --git a/code/game/jobs/job/command/cic/executive.dm b/code/game/jobs/job/command/cic/executive.dm
index cc9b4f65e624..f717a03e1229 100644
--- a/code/game/jobs/job/command/cic/executive.dm
+++ b/code/game/jobs/job/command/cic/executive.dm
@@ -5,7 +5,7 @@
gear_preset = /datum/equipment_preset/uscm_ship/xo
/datum/job/command/executive/generate_entry_message(mob/living/carbon/human/H)
- entry_message_body = "You are second in command aboard the [MAIN_SHIP_NAME], and are in next in the chain of command after the Commanding Officer. Where applicable, you must abide by the Commanding Officer Code of Conduct. You may need to fill in for other duties if areas are understaffed, and you are given access to do so. Make the USCM proud!"
+ entry_message_body = "You are second in command aboard the [MAIN_SHIP_NAME], and are in next in the chain of command after the Commanding Officer. Where applicable, you must abide by the Commanding Officer Code of Conduct. You may need to fill in for other duties if areas are understaffed, and you are given access to do so. Make the USCM proud!"
return ..()
/datum/job/command/executive/generate_entry_conditions(mob/living/M, whitelist_status)
diff --git a/code/game/jobs/job/command/cic/staffofficer.dm b/code/game/jobs/job/command/cic/staffofficer.dm
index 82a537dc83f6..fff51624aa4b 100644
--- a/code/game/jobs/job/command/cic/staffofficer.dm
+++ b/code/game/jobs/job/command/cic/staffofficer.dm
@@ -6,7 +6,7 @@
scaled = FALSE
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/so
- entry_message_body = "Your job is to monitor the Marines, man the CIC, and listen to your superior officers. You are in charge of logistics and the overwatch system. You are also in line to take command after other eligible superior commissioned officers."
+ entry_message_body = "Your job is to monitor the Marines, man the CIC, and listen to your superior officers. You are in charge of logistics and the overwatch system. You are also in line to take command after other eligible superior commissioned officers."
/datum/job/command/bridge/set_spawn_positions(count)
spawn_positions = so_slot_formula(count)
diff --git a/code/game/jobs/job/command/police/chief_police.dm b/code/game/jobs/job/command/police/chief_police.dm
index 60bc564af3b1..b76943c4d0ac 100644
--- a/code/game/jobs/job/command/police/chief_police.dm
+++ b/code/game/jobs/job/command/police/chief_police.dm
@@ -4,7 +4,7 @@
selection_class = "job_cmp"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/uscm_police/cmp
- entry_message_body = "You are held by a higher standard and are required to obey not only the server rules but the Marine Law. Failure to do so may result in a job ban or server ban. You lead the Military Police, ensure your officers maintain peace and stability aboard the ship. Marines can get rowdy after a few weeks of cryosleep! In addition, you are tasked with the security of high-ranking personnel, including the command staff. Keep them safe!"
+ entry_message_body = "You are held by a higher standard and are required to obey not only the server rules but the Marine Law. Failure to do so may result in a job ban or server ban. You lead the Military Police, ensure your officers maintain peace and stability aboard the ship. Marines can get rowdy after a few weeks of cryosleep! In addition, you are tasked with the security of high-ranking personnel, including the command staff. Keep them safe!"
AddTimelock(/datum/job/command/warrant, list(
JOB_POLICE_ROLES = 15 HOURS,
diff --git a/code/game/jobs/job/command/police/police.dm b/code/game/jobs/job/command/police/police.dm
index 48cd9b33e99c..7285c5b278b1 100644
--- a/code/game/jobs/job/command/police/police.dm
+++ b/code/game/jobs/job/command/police/police.dm
@@ -8,7 +8,7 @@
selection_class = "job_mp"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/uscm_police/mp
- entry_message_body = "You are held by a higher standard and are required to obey not only the server rules but the Marine Law. Failure to do so may result in a job ban or server ban. Your primary job is to maintain peace and stability aboard the ship. Marines can get rowdy after a few weeks of cryosleep! In addition, you are tasked with the security of high-ranking personnel, including the command staff. Keep them safe!"
+ entry_message_body = "You are held by a higher standard and are required to obey not only the server rules but the Marine Law. Failure to do so may result in a job ban or server ban. Your primary job is to maintain peace and stability aboard the ship. Marines can get rowdy after a few weeks of cryosleep! In addition, you are tasked with the security of high-ranking personnel, including the command staff. Keep them safe!"
/datum/job/command/police/set_spawn_positions(count)
spawn_positions = mp_slot_formula(count)
diff --git a/code/game/jobs/job/command/police/warden.dm b/code/game/jobs/job/command/police/warden.dm
index 851b43debd3c..55cbea975401 100644
--- a/code/game/jobs/job/command/police/warden.dm
+++ b/code/game/jobs/job/command/police/warden.dm
@@ -5,7 +5,7 @@
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
supervisors = "the Chief MP"
gear_preset = /datum/equipment_preset/uscm_ship/uscm_police/warden
- entry_message_body = "You are held by a higher standard and are required to obey not only the server rules but the Marine Law. Failure to do so may result in a job ban or server ban. Your primary job is to maintain peace and stability aboard the ship. Marines can get rowdy after a few weeks of cryosleep! In addition, you are tasked with the mainting security records and overwatching any prisoners in Brig."
+ entry_message_body = "You are held by a higher standard and are required to obey not only the server rules but the Marine Law. Failure to do so may result in a job ban or server ban. Your primary job is to maintain peace and stability aboard the ship. Marines can get rowdy after a few weeks of cryosleep! In addition, you are tasked with the mainting security records and overwatching any prisoners in Brig."
AddTimelock(/datum/job/command/warden, list(
JOB_POLICE_ROLES = 10 HOURS
diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm
index 0785fc5c337f..d681be5515e3 100644
--- a/code/game/jobs/job/job.dm
+++ b/code/game/jobs/job/job.dm
@@ -44,7 +44,18 @@
. = ..()
minimum_playtimes = setup_requirements(list())
- if(!disp_title) disp_title = title
+ if(!disp_title)
+ disp_title = title
+
+ if(entry_message_body)
+ entry_message_body = replace_placeholders()
+
+/datum/job/proc/replace_placeholders(replacement_string)
+ replacement_string = replacetextEx(replacement_string, "%WIKIURL%", generate_wiki_link())
+ replacement_string = replacetextEx(replacement_string, "%LAWURL%", "[CONFIG_GET(string/wikiarticleurl)]/[URL_WIKI_LAW]")
+
+/datum/job/proc/generate_wiki_link()
+ return "[CONFIG_GET(string/wikiarticleurl)]/[replacetext(title, " ", "_")]"
/datum/job/proc/get_whitelist_status(list/roles_whitelist, client/player)
if(!roles_whitelist)
diff --git a/code/game/jobs/job/logistics/cargo/cargo_tech.dm b/code/game/jobs/job/logistics/cargo/cargo_tech.dm
index 8041e8c82c75..3b588022bd97 100644
--- a/code/game/jobs/job/logistics/cargo/cargo_tech.dm
+++ b/code/game/jobs/job/logistics/cargo/cargo_tech.dm
@@ -8,7 +8,7 @@
selection_class = "job_ct"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/cargo
- entry_message_body = "Your job is to dispense supplies to the marines, including weapon attachments. Stay in your department when possible to ensure the marines have full access to the supplies they may require. Listen to the radio in case someone requests a supply drop via the overwatch system."
+ entry_message_body = "Your job is to dispense supplies to the marines, including weapon attachments. Stay in your department when possible to ensure the marines have full access to the supplies they may require. Listen to the radio in case someone requests a supply drop via the overwatch system."
/datum/job/logistics/cargo/set_spawn_positions(count)
spawn_positions = ct_slot_formula(count)
diff --git a/code/game/jobs/job/logistics/cargo/chief_req.dm b/code/game/jobs/job/logistics/cargo/chief_req.dm
index 3b6fb7262a80..76b7e98f2db8 100644
--- a/code/game/jobs/job/logistics/cargo/chief_req.dm
+++ b/code/game/jobs/job/logistics/cargo/chief_req.dm
@@ -3,7 +3,7 @@
selection_class = "job_qm"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/qm
- entry_message_body = "Your job is to dispense supplies to the marines, including weapon attachments. Your cargo techs can help you out, but you have final say in your department. Make sure they're not goofing off. While you may request paperwork for supplies, do not go out of your way to screw with marines, unless you want to get deposed. A happy ship is a well-functioning ship."
+ entry_message_body = "Your job is to dispense supplies to the marines, including weapon attachments. Your cargo techs can help you out, but you have final say in your department. Make sure they're not goofing off. While you may request paperwork for supplies, do not go out of your way to screw with marines, unless you want to get deposed. A happy ship is a well-functioning ship."
AddTimelock(/datum/job/logistics/requisition, list(
JOB_REQUISITION_ROLES = 10 HOURS,
diff --git a/code/game/jobs/job/logistics/engi/chief_engineer.dm b/code/game/jobs/job/logistics/engi/chief_engineer.dm
index 9db14540e74a..3a15c8632953 100644
--- a/code/game/jobs/job/logistics/engi/chief_engineer.dm
+++ b/code/game/jobs/job/logistics/engi/chief_engineer.dm
@@ -3,7 +3,7 @@
selection_class = "job_ce"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/chief_engineer
- entry_message_body = "Your job is to maintain your department and keep your technicians in check. You are responsible for engineering, power, ordnance, and the orbital cannon. Should the commanding and executive officer be unavailable, you are next in the chain of command."
+ entry_message_body = "Your job is to maintain your department and keep your technicians in check. You are responsible for engineering, power, ordnance, and the orbital cannon. Should the commanding and executive officer be unavailable, you are next in the chain of command."
AddTimelock(/datum/job/logistics/engineering, list(
JOB_ENGINEER_ROLES = 10 HOURS,
diff --git a/code/game/jobs/job/logistics/engi/maint_tech.dm b/code/game/jobs/job/logistics/engi/maint_tech.dm
index 7aa380a0bd79..8562408360d7 100644
--- a/code/game/jobs/job/logistics/engi/maint_tech.dm
+++ b/code/game/jobs/job/logistics/engi/maint_tech.dm
@@ -6,7 +6,7 @@
selection_class = "job_ot"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/maint
- entry_message_body = "Your job is to maintain the integrity of the ship, including the orbital cannon. You remain one of the more flexible roles on the ship and as such may receive other menial tasks from your superiors."
+ entry_message_body = "Your job is to maintain the integrity of the ship, including the orbital cannon. You remain one of the more flexible roles on the ship and as such may receive other menial tasks from your superiors."
/obj/effect/landmark/start/maint
name = JOB_MAINT_TECH
diff --git a/code/game/jobs/job/logistics/engi/ordnance_tech.dm b/code/game/jobs/job/logistics/engi/ordnance_tech.dm
index e0df5f49a546..bed0acf15887 100644
--- a/code/game/jobs/job/logistics/engi/ordnance_tech.dm
+++ b/code/game/jobs/job/logistics/engi/ordnance_tech.dm
@@ -9,7 +9,7 @@
selection_class = "job_ot"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/ordn
- entry_message_body = "Your job is to maintain the integrity of the USCM weapons, munitions and equipment, including the orbital cannon. You can use the workshop in the portside hangar to construct new armaments for the marines. However you remain one of the more flexible roles on the ship and as such may receive other menial tasks from your superiors."
+ entry_message_body = "Your job is to maintain the integrity of the USCM weapons, munitions and equipment, including the orbital cannon. You can use the workshop in the portside hangar to construct new armaments for the marines. However you remain one of the more flexible roles on the ship and as such may receive other menial tasks from your superiors."
/datum/job/logistics/otech/set_spawn_positions(count)
spawn_positions = ot_slot_formula(count)
diff --git a/code/game/jobs/job/marine/squad/engineer.dm b/code/game/jobs/job/marine/squad/engineer.dm
index 7645d95948f3..00a6b91dcffd 100644
--- a/code/game/jobs/job/marine/squad/engineer.dm
+++ b/code/game/jobs/job/marine/squad/engineer.dm
@@ -5,7 +5,7 @@
allow_additional = 1
flags_startup_parameters = ROLE_ADD_TO_DEFAULT|ROLE_ADD_TO_SQUAD
gear_preset = /datum/equipment_preset/uscm/engineer
- entry_message_body = "You have the equipment and skill to build fortifications, reroute power lines, and bunker down. Your squaddies will look to you when it comes to construction in the field of battle."
+ entry_message_body = "You have the equipment and skill to build fortifications, reroute power lines, and bunker down. Your squaddies will look to you when it comes to construction in the field of battle."
/datum/job/marine/engineer/set_spawn_positions(count)
for(var/datum/squad/sq in RoleAuthority.squads)
diff --git a/code/game/jobs/job/marine/squad/leader.dm b/code/game/jobs/job/marine/squad/leader.dm
index aa2173d173d0..960a80d5f659 100644
--- a/code/game/jobs/job/marine/squad/leader.dm
+++ b/code/game/jobs/job/marine/squad/leader.dm
@@ -5,7 +5,7 @@
supervisors = "the acting commanding officer"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT|ROLE_ADD_TO_SQUAD
gear_preset = /datum/equipment_preset/uscm/leader
- entry_message_body = "You are responsible for the men and women of your squad. Make sure they are on task, working together, and communicating. You are also in charge of communicating with command and letting them know about the situation first hand. Keep out of harm's way."
+ entry_message_body = "You are responsible for the men and women of your squad. Make sure they are on task, working together, and communicating. You are also in charge of communicating with command and letting them know about the situation first hand. Keep out of harm's way."
/datum/job/marine/leader/whiskey
title = JOB_WO_SQUAD_LEADER
diff --git a/code/game/jobs/job/marine/squad/medic.dm b/code/game/jobs/job/marine/squad/medic.dm
index 637567d47d4d..cdbd74acefde 100644
--- a/code/game/jobs/job/marine/squad/medic.dm
+++ b/code/game/jobs/job/marine/squad/medic.dm
@@ -5,7 +5,7 @@
allow_additional = 1
flags_startup_parameters = ROLE_ADD_TO_DEFAULT|ROLE_ADD_TO_SQUAD
gear_preset = /datum/equipment_preset/uscm/medic
- entry_message_body = "You tend the wounds of your squad mates and make sure they are healthy and active. You may not be a fully-fledged doctor, but you stand between life and death when it matters."
+ entry_message_body = "You tend the wounds of your squad mates and make sure they are healthy and active. You may not be a fully-fledged doctor, but you stand between life and death when it matters."
/datum/job/marine/medic/set_spawn_positions(count)
for(var/datum/squad/sq in RoleAuthority.squads)
diff --git a/code/game/jobs/job/marine/squad/smartgunner.dm b/code/game/jobs/job/marine/squad/smartgunner.dm
index 5753434e62ee..aacc562f921b 100644
--- a/code/game/jobs/job/marine/squad/smartgunner.dm
+++ b/code/game/jobs/job/marine/squad/smartgunner.dm
@@ -6,7 +6,7 @@
scaled = 1
flags_startup_parameters = ROLE_ADD_TO_DEFAULT|ROLE_ADD_TO_SQUAD
gear_preset = /datum/equipment_preset/uscm/sg
- entry_message_body = "You are the smartgunner. Your task is to provide heavy weapons support."
+ entry_message_body = "You are the smartgunner. Your task is to provide heavy weapons support."
/datum/job/marine/smartgunner/set_spawn_positions(count)
spawn_positions = sg_slot_formula(count)
diff --git a/code/game/jobs/job/marine/squad/specialist.dm b/code/game/jobs/job/marine/squad/specialist.dm
index 539d3a158690..42ee69ef2d5c 100644
--- a/code/game/jobs/job/marine/squad/specialist.dm
+++ b/code/game/jobs/job/marine/squad/specialist.dm
@@ -6,7 +6,7 @@
scaled = 1
flags_startup_parameters = ROLE_ADD_TO_DEFAULT|ROLE_ADD_TO_SQUAD
gear_preset = /datum/equipment_preset/uscm/spec
- entry_message_body = "You are the very rare and valuable weapon expert, trained to use special equipment. You can serve a variety of roles, so choose carefully."
+ entry_message_body = "You are the very rare and valuable weapon expert, trained to use special equipment. You can serve a variety of roles, so choose carefully."
/datum/job/marine/specialist/set_spawn_positions(count)
spawn_positions = spec_slot_formula(count)
diff --git a/code/game/jobs/job/marine/squad/tl.dm b/code/game/jobs/job/marine/squad/tl.dm
index f6c58cce3e0d..ebebf360e830 100644
--- a/code/game/jobs/job/marine/squad/tl.dm
+++ b/code/game/jobs/job/marine/squad/tl.dm
@@ -5,7 +5,7 @@
allow_additional = 1
flags_startup_parameters = ROLE_ADD_TO_DEFAULT|ROLE_ADD_TO_SQUAD
gear_preset = /datum/equipment_preset/uscm/tl
- entry_message_body = "You are the Team Leader.Your task is to assist the squad leader in leading the squad as well as utilize ordnance such as orbital bombardments, CAS, and mortar as well as coordinating resupply with Requisitions and CIC. If the squad leader dies, you are expected to lead in their place."
+ entry_message_body = "You are the Team Leader.Your task is to assist the squad leader in leading the squad as well as utilize ordnance such as orbital bombardments, CAS, and mortar as well as coordinating resupply with Requisitions and CIC. If the squad leader dies, you are expected to lead in their place."
/datum/job/marine/tl/generate_entry_conditions(mob/living/carbon/human/spawning_human)
. = ..()
diff --git a/code/modules/admin/autoreply.dm b/code/modules/admin/autoreply.dm
index a90e21b7f311..25353a1d13f8 100644
--- a/code/modules/admin/autoreply.dm
+++ b/code/modules/admin/autoreply.dm
@@ -20,15 +20,21 @@ GLOBAL_REFERENCE_LIST_INDEXED(adminreplies, /datum/autoreply/admin, title)
/datum/autoreply/admin/bug
title = "Bug Report"
- message = "Please report all bugs on our Github. Administrative staff are unable to fix most bugs on a round to round basis and only round critical bugs, or exploits, should be ahelped."
+
+/datum/autoreply/admin/bug/New()
+ message = "Please report all bugs on our Github. Administrative staff are unable to fix most bugs on a round to round basis and only round critical bugs, or exploits, should be ahelped."
/datum/autoreply/admin/marine
title = "Marine Guide"
- message = "Your action can be answered by the Marine Quickstart Guide. If anything is unclear or you have another question please make a new mentorhelp or ahelp about it."
+
+/datum/autoreply/admin/marine/New()
+ message = "Your action can be answered by the Marine Quickstart Guide. If anything is unclear or you have another question please make a new mentorhelp or ahelp about it."
/datum/autoreply/admin/xeno
title = "Xeno Guide"
- message = "Your action can be answered by the Xeno Quickstart Guide. If anything is unclear or you have another question please make a new mentorhelp or ahelp about it."
+
+/datum/autoreply/admin/xeno/New()
+ message = "Your action can be answered by the Xeno Quickstart Guide. If anything is unclear or you have another question please make a new mentorhelp or ahelp about it."
/datum/autoreply/admin/changelog
title = "Changelog"
@@ -44,5 +50,6 @@ GLOBAL_REFERENCE_LIST_INDEXED(adminreplies, /datum/autoreply/admin, title)
/datum/autoreply/admin/whitelist
title = "Whitelist Issue"
- message = "Staff are unable to handle most whitelist rulebreaks in-game, please make a player report on the forums, here."
+/datum/autoreply/admin/whitelist/New()
+ message = "Staff are unable to handle most whitelist rulebreaks in-game, please make a player report on the forums, here."
diff --git a/code/modules/mentor/mentorhelp.dm b/code/modules/mentor/mentorhelp.dm
index 9aaf1cae517b..7746e90d960d 100644
--- a/code/modules/mentor/mentorhelp.dm
+++ b/code/modules/mentor/mentorhelp.dm
@@ -329,11 +329,11 @@
if("L: Discord")
msg += "You can join our Discord server by using this link!"
if("L: Xeno Quickstart Guide")
- msg += "Your answer can be found on the Xeno Quickstart Guide on our wiki. Check it out here."
+ msg += "Your answer can be found on the Xeno Quickstart Guide on our wiki. Check it out here."
if("L: Marine Quickstart Guide")
- msg += "Your answer can be found on the Marine Quickstart Guide on our wiki. Check it out here."
+ msg += "Your answer can be found on the Marine Quickstart Guide on our wiki. Check it out here."
if("L: Current Map")
- msg += "If you need a map overview of the current round, use Current Map verb in OOC tab to check name of the map. Then open our wiki front page and look for the map overview in the 'Maps' section. If the map is not listed, it's a new or rare map and the overview hasn't been finished yet."
+ msg += "If you need a map overview of the current round, use Current Map verb in OOC tab to check name of the map. Then open our wiki front page and look for the map overview in the 'Maps' section. If the map is not listed, it's a new or rare map and the overview hasn't been finished yet."
if("A: No plasma regen")
msg += "If you have low/no plasma regen, it's most likely because you are off weeds or are currently using a passive ability, such as the Runner's 'Hide' or emitting a pheromone."
if("A: Devour as Xeno")
@@ -351,9 +351,9 @@
if("L: Leaving the server")
msg += "If you need to leave the server as a marine, either go to cryo or ask someone to cryo you before leaving. If you are a xenomorph, find a safe place to rest and ghost before leaving, that will instantly unlock your xeno for observers to join."
if("M: Macros")
- msg += "This guide explains how to set up macros including examples of most common and useful ones."
+ msg += "This guide explains how to set up macros including examples of most common and useful ones."
if("C: Changelog")
- msg += "The answer to your question can be found in the changelog. Click the changelog button at the top-right of the screen to view it in-game, or visit changelog page on our wiki instead."
+ msg += "The answer to your question can be found in the changelog. Click the changelog button at the top-right of the screen to view it in-game."
if("H: Clear Cache")
msg += "In order to clear cache, you need to click on gear icon located in upper-right corner of your BYOND client and select preferences. Switch to Games tab and click Clear Cache button. In some cases you need to manually delete cache. To do that, select Advanced tab and click Open User Directory and delete \"cache\" folder there."
if("O: Combat Click-Drag Override")
diff --git a/interface/interface.dm b/interface/interface.dm
index b309e852b468..a37ab648b7f5 100644
--- a/interface/interface.dm
+++ b/interface/interface.dm
@@ -69,7 +69,7 @@
if(tgui_alert(src, "This will open the GitHub in your browser. Are you sure?", "Confirm", list("Yes", "No")) != "Yes")
return
- src << link(URL_ISSUE_TRACKER)
+ src << link(CONFIG_GET(string/githuburl))
return
/client/verb/set_fps()
From 59d68749ba580f8a868ddf1f5cc146bcff45653e Mon Sep 17 00:00:00 2001
From: harryob <55142896+harryob@users.noreply.github.com>
Date: Tue, 19 Sep 2023 22:34:39 +0100
Subject: [PATCH 2/5] this too
---
code/game/jobs/job/job.dm | 1 +
1 file changed, 1 insertion(+)
diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm
index d681be5515e3..020a4a20dee0 100644
--- a/code/game/jobs/job/job.dm
+++ b/code/game/jobs/job/job.dm
@@ -53,6 +53,7 @@
/datum/job/proc/replace_placeholders(replacement_string)
replacement_string = replacetextEx(replacement_string, "%WIKIURL%", generate_wiki_link())
replacement_string = replacetextEx(replacement_string, "%LAWURL%", "[CONFIG_GET(string/wikiarticleurl)]/[URL_WIKI_LAW]")
+ return replacement_string
/datum/job/proc/generate_wiki_link()
return "[CONFIG_GET(string/wikiarticleurl)]/[replacetext(title, " ", "_")]"
From 9ba581d038f679e08a095559a40cbd09f3012c3e Mon Sep 17 00:00:00 2001
From: harryob <55142896+harryob@users.noreply.github.com>
Date: Tue, 19 Sep 2023 22:49:09 +0100
Subject: [PATCH 3/5] kills snowflakey rule stuff
---
code/controllers/configuration/entries/general.dm | 2 ++
code/game/gamemodes/colonialmarines/xenovsxeno.dm | 2 +-
code/game/gamemodes/game_mode.dm | 2 +-
3 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/code/controllers/configuration/entries/general.dm b/code/controllers/configuration/entries/general.dm
index d41cc853cc93..54ec1548c108 100644
--- a/code/controllers/configuration/entries/general.dm
+++ b/code/controllers/configuration/entries/general.dm
@@ -37,6 +37,8 @@ Basics, the most important.
/datum/config_entry/string/banappeals
+/datum/config_entry/string/endofroundblurb
+
/datum/config_entry/string/dburl
/// Server to notify of game events
diff --git a/code/game/gamemodes/colonialmarines/xenovsxeno.dm b/code/game/gamemodes/colonialmarines/xenovsxeno.dm
index c2bb45d97fc0..5623295f1915 100644
--- a/code/game/gamemodes/colonialmarines/xenovsxeno.dm
+++ b/code/game/gamemodes/colonialmarines/xenovsxeno.dm
@@ -285,7 +285,7 @@
round_statistics.track_round_end()
log_game("Round end result: [round_finished]")
to_chat_spaced(world, margin_top = 2, type = MESSAGE_TYPE_SYSTEM, html = SPAN_ROUNDHEADER("|Round Complete|"))
- to_chat_spaced(world, type = MESSAGE_TYPE_SYSTEM, html = SPAN_ROUNDBODY("Thus ends the story of the battling hives on [SSmapping.configs[GROUND_MAP].map_name]. [round_finished]\nThe game-mode was: [master_mode]!\nEnd of Round Grief (EORG) is an IMMEDIATE 3 hour ban with no warnings, see rule #4 for more details."))
+ to_chat_spaced(world, type = MESSAGE_TYPE_SYSTEM, html = SPAN_ROUNDBODY("Thus ends the story of the battling hives on [SSmapping.configs[GROUND_MAP].map_name]. [round_finished]\nThe game-mode was: [master_mode]!\n[CONFIG_GET(string/endofroundblurb)]"))
// for the toolbox
/datum/game_mode/xenovs/end_round_message()
diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm
index 01209f816538..f6f75c6ba4e0 100644
--- a/code/game/gamemodes/game_mode.dm
+++ b/code/game/gamemodes/game_mode.dm
@@ -129,7 +129,7 @@ var/global/cas_tracking_id_increment = 0 //this var used to assign unique tracki
round_statistics.track_round_end()
log_game("Round end result: [round_finished]")
to_chat_spaced(world, margin_top = 2, type = MESSAGE_TYPE_SYSTEM, html = SPAN_ROUNDHEADER("|Round Complete|"))
- to_chat_spaced(world, type = MESSAGE_TYPE_SYSTEM, html = SPAN_ROUNDBODY("Thus ends the story of the brave men and women of the [MAIN_SHIP_NAME] and their struggle on [SSmapping.configs[GROUND_MAP].map_name].\nThe game-mode was: [master_mode]!\nEnd of Round Grief (EORG) is an IMMEDIATE 3 hour ban with no warnings, see rule #4 for more details."))
+ to_chat_spaced(world, type = MESSAGE_TYPE_SYSTEM, html = SPAN_ROUNDBODY("Thus ends the story of the brave men and women of the [MAIN_SHIP_NAME] and their struggle on [SSmapping.configs[GROUND_MAP].map_name].\nThe game-mode was: [master_mode]!\n[CONFIG_GET(string/endofroundblurb)]"))
/datum/game_mode/proc/declare_completion()
if(round_statistics)
From d574f153bdb422e5d71c960abe5bb1dca78e8d78 Mon Sep 17 00:00:00 2001
From: harryob <55142896+harryob@users.noreply.github.com>
Date: Tue, 19 Sep 2023 23:14:25 +0100
Subject: [PATCH 4/5] runtimez
---
code/__DEFINES/configuration.dm | 7 +++++++
code/__DEFINES/dcs/signals/signals_global.dm | 2 ++
code/controllers/configuration/configuration.dm | 2 ++
code/game/jobs/job/job.dm | 7 ++++++-
code/modules/admin/autoreply.dm | 10 +++++-----
5 files changed, 22 insertions(+), 6 deletions(-)
diff --git a/code/__DEFINES/configuration.dm b/code/__DEFINES/configuration.dm
index d702d4097195..f0d64efb6dd7 100644
--- a/code/__DEFINES/configuration.dm
+++ b/code/__DEFINES/configuration.dm
@@ -8,3 +8,10 @@
//flags
#define CONFIG_ENTRY_LOCKED (1<<0) //can't edit
#define CONFIG_ENTRY_HIDDEN (1<<1) //can't see value
+
+#define ON_CONFIG_LOAD(type) \
+##type/New() { \
+ . = ..(); \
+ RegisterSignal(SSdcs, COMSIG_GLOB_CONFIG_LOADED, PROC_REF(__on_config_load)); \
+}; \
+##type/proc/__on_config_load()
diff --git a/code/__DEFINES/dcs/signals/signals_global.dm b/code/__DEFINES/dcs/signals/signals_global.dm
index e33a75aee132..032a1891a808 100644
--- a/code/__DEFINES/dcs/signals/signals_global.dm
+++ b/code/__DEFINES/dcs/signals/signals_global.dm
@@ -25,6 +25,8 @@
/// called after a successful var edit somewhere in the world: (list/args)
#define COMSIG_GLOB_VAR_EDIT "!var_edit"
+#define COMSIG_GLOB_CONFIG_LOADED "!config_loaded"
+
///from /mob/living/carbon/xenomorph/initialize
#define COMSIG_GLOB_XENO_SPAWN "!xeno_spawn"
diff --git a/code/controllers/configuration/configuration.dm b/code/controllers/configuration/configuration.dm
index 08de7b5c02ff..e8b010669c0e 100644
--- a/code/controllers/configuration/configuration.dm
+++ b/code/controllers/configuration/configuration.dm
@@ -58,6 +58,8 @@
if(Master)
Master.OnConfigLoad()
+ SEND_GLOBAL_SIGNAL(COMSIG_GLOB_CONFIG_LOADED)
+
/datum/controller/configuration/proc/loadmaplist(filename, maptype)
log_config("Loading config file [filename]...")
diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm
index 020a4a20dee0..0d68d23e5524 100644
--- a/code/game/jobs/job/job.dm
+++ b/code/game/jobs/job/job.dm
@@ -43,12 +43,15 @@
/datum/job/New()
. = ..()
+ RegisterSignal(SSdcs, COMSIG_GLOB_CONFIG_LOADED, PROC_REF(on_config_load))
+
minimum_playtimes = setup_requirements(list())
if(!disp_title)
disp_title = title
+/datum/job/proc/on_config_load()
if(entry_message_body)
- entry_message_body = replace_placeholders()
+ entry_message_body = replace_placeholders(entry_message_body)
/datum/job/proc/replace_placeholders(replacement_string)
replacement_string = replacetextEx(replacement_string, "%WIKIURL%", generate_wiki_link())
@@ -56,6 +59,8 @@
return replacement_string
/datum/job/proc/generate_wiki_link()
+ if(!CONFIG_GET(string/wikiarticleurl))
+ return ""
return "[CONFIG_GET(string/wikiarticleurl)]/[replacetext(title, " ", "_")]"
/datum/job/proc/get_whitelist_status(list/roles_whitelist, client/player)
diff --git a/code/modules/admin/autoreply.dm b/code/modules/admin/autoreply.dm
index 25353a1d13f8..0b1d16c41009 100644
--- a/code/modules/admin/autoreply.dm
+++ b/code/modules/admin/autoreply.dm
@@ -21,19 +21,19 @@ GLOBAL_REFERENCE_LIST_INDEXED(adminreplies, /datum/autoreply/admin, title)
/datum/autoreply/admin/bug
title = "Bug Report"
-/datum/autoreply/admin/bug/New()
+ON_CONFIG_LOAD(/datum/autoreply/admin/bug)
message = "Please report all bugs on our Github. Administrative staff are unable to fix most bugs on a round to round basis and only round critical bugs, or exploits, should be ahelped."
/datum/autoreply/admin/marine
title = "Marine Guide"
-/datum/autoreply/admin/marine/New()
+ON_CONFIG_LOAD(/datum/autoreply/admin/marine)
message = "Your action can be answered by the Marine Quickstart Guide. If anything is unclear or you have another question please make a new mentorhelp or ahelp about it."
/datum/autoreply/admin/xeno
title = "Xeno Guide"
-/datum/autoreply/admin/xeno/New()
+ON_CONFIG_LOAD(/datum/autoreply/admin/xeno)
message = "Your action can be answered by the Xeno Quickstart Guide. If anything is unclear or you have another question please make a new mentorhelp or ahelp about it."
/datum/autoreply/admin/changelog
@@ -51,5 +51,5 @@ GLOBAL_REFERENCE_LIST_INDEXED(adminreplies, /datum/autoreply/admin, title)
/datum/autoreply/admin/whitelist
title = "Whitelist Issue"
-/datum/autoreply/admin/whitelist/New()
- message = "Staff are unable to handle most whitelist rulebreaks in-game, please make a player report on the forums, here."
+ON_CONFIG_LOAD(/datum/autoreply/admin/whitelist)
+ message = "Staff are unable to handle most whitelist rulebreaks in-game, please make a player report on the forums, here."
From 3ab5759d9ec4233bb14b5466db9b9af771c22a10 Mon Sep 17 00:00:00 2001
From: harryob <55142896+harryob@users.noreply.github.com>
Date: Tue, 19 Sep 2023 23:24:08 +0100
Subject: [PATCH 5/5] whoops
---
code/game/jobs/job/command/auxiliary/senior.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/game/jobs/job/command/auxiliary/senior.dm b/code/game/jobs/job/command/auxiliary/senior.dm
index 73c2b7ada8b0..5e9b7caf1f10 100644
--- a/code/game/jobs/job/command/auxiliary/senior.dm
+++ b/code/game/jobs/job/command/auxiliary/senior.dm
@@ -6,7 +6,7 @@
job_options = list("Gunnery Sergeant" = "GySGT", "Master Sergeant" = "MSgt", "First Sergeant" = "1Sgt", "Master Gunnery Sergeant" = "MGySgt", "Sergeant Major" = "SgtMaj")
-/datum/job/command/senior/New()
+/datum/job/command/senior/on_config_load()
entry_message_body = "You are held to a higher standard and are required to obey not only the Server Rules but Marine Law and Standard Operating Procedure. Failure to do so may result in your Mentorship Removal. Your primary job is to teach others the game and its mechanics, and offer advice to all USCM Departments and Personnel on-board."
return ..()