From 3ea4e87ce6c481c192beb2f44729cc1f14d0f15f Mon Sep 17 00:00:00 2001
From: Drathek <76988376+Drulikar@users.noreply.github.com>
Date: Sun, 5 Nov 2023 18:41:30 -0800
Subject: [PATCH] Fix job entry message wiki links (#4823)
# About the pull request
This PR is a followup to the issues created by #4449 fixing job
entry_message_body links to the wiki.
/datum/controller/configuration now has a variable `is_loaded` that can
be checked to see if configuration has already occurred such as the case
for the ASO where subsequent creations of the job datum were not hitting
the proc that would be called on the config load signal.
# Explain why it's good for the game
Broken wiki links harm the new player experience.
# Testing Photographs and Procedure
Screenshots & Videos



# Changelog
:cl: Drathek
fix: Fixed various job's entry messages having broken links to the wiki
/:cl:
---
code/__DEFINES/urls.dm | 4 ++++
code/controllers/configuration/configuration.dm | 4 ++++
code/game/jobs/job/civilians/other/liaison.dm | 2 +-
code/game/jobs/job/civilians/other/mess_seargent.dm | 2 +-
code/game/jobs/job/civilians/support/cmo.dm | 2 +-
code/game/jobs/job/civilians/support/nurse.dm | 2 +-
code/game/jobs/job/civilians/support/researcher.dm | 2 +-
code/game/jobs/job/civilians/support/synthetic.dm | 2 +-
.../job/command/auxiliary/auxiliary_support_officer.dm | 2 +-
code/game/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 +-
code/game/jobs/job/command/auxiliary/senior.dm | 2 +-
code/game/jobs/job/command/cic/captain.dm | 2 +-
code/game/jobs/job/command/cic/staffofficer.dm | 2 +-
code/game/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 | 7 +++++--
code/game/jobs/job/logistics/cargo/cargo_tech.dm | 2 +-
code/game/jobs/job/logistics/cargo/chief_req.dm | 2 +-
code/game/jobs/job/logistics/engi/chief_engineer.dm | 2 +-
code/game/jobs/job/logistics/engi/maint_tech.dm | 2 +-
code/game/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 +-
code/game/jobs/job/marine/squad/smartgunner.dm | 2 +-
code/game/jobs/job/marine/squad/specialist.dm | 2 +-
code/game/jobs/job/marine/squad/standard.dm | 5 ++++-
code/game/jobs/job/marine/squad/tl.dm | 2 +-
config/example/config.txt | 1 +
32 files changed, 45 insertions(+), 30 deletions(-)
diff --git a/code/__DEFINES/urls.dm b/code/__DEFINES/urls.dm
index 137095327a2c..5d3fca1a2032 100644
--- a/code/__DEFINES/urls.dm
+++ b/code/__DEFINES/urls.dm
@@ -1,3 +1,7 @@
+// placeholder strings to be replaced
+#define WIKI_PLACEHOLDER "%WIKIURL%"
+#define LAW_PLACEHOLDER "%LAWURL%"
+
// ------ MISC WIKI LINKS ------ //
#define URL_WIKI_LAW "Marine_Law"
#define URL_WIKI_XENO_QUICKSTART "Xeno_Quickstart_Guide"
diff --git a/code/controllers/configuration/configuration.dm b/code/controllers/configuration/configuration.dm
index e8b010669c0e..0066fee5d256 100644
--- a/code/controllers/configuration/configuration.dm
+++ b/code/controllers/configuration/configuration.dm
@@ -22,6 +22,8 @@
var/static/regex/ic_filter_regex
var/list/fail_to_topic_whitelisted_ips
+ var/is_loaded = FALSE
+
/datum/controller/configuration/proc/admin_reload()
if(IsAdminAdvancedProcCall())
alert_proccall("configuration admin_reload")
@@ -55,6 +57,8 @@
LoadChatFilter()
LoadTopicRateWhitelist()
+ is_loaded = TRUE
+
if(Master)
Master.OnConfigLoad()
diff --git a/code/game/jobs/job/civilians/other/liaison.dm b/code/game/jobs/job/civilians/other/liaison.dm
index 7f73376a05dd..cbbb87124957 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 4b1975015a95..97578eb1159d 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 8c4690ea2057..835f16f7d814 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/nurse.dm b/code/game/jobs/job/civilians/support/nurse.dm
index 7a0cab16f559..8912011298dc 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 61245c8164ab..21163f27959d 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 3e02385bc96c..70060fb36a15 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/command/auxiliary/auxiliary_support_officer.dm b/code/game/jobs/job/command/auxiliary/auxiliary_support_officer.dm
index e5155c949a32..5f6293000365 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 c8dfe2a8eb37..0770bcd60ffa 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 8d83d49ed143..9905bc9d3747 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|ROLE_ADD_TO_SQUAD
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 a75846f92919..1a7a7c21d5a0 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."
// Dropship Roles is both PO and DCC combined to not force people to backtrack
AddTimelock(/datum/job/command/pilot, list(
diff --git a/code/game/jobs/job/command/auxiliary/senior.dm b/code/game/jobs/job/command/auxiliary/senior.dm
index 5e9b7caf1f10..014db9569b2a 100644
--- a/code/game/jobs/job/command/auxiliary/senior.dm
+++ b/code/game/jobs/job/command/auxiliary/senior.dm
@@ -7,7 +7,7 @@
job_options = list("Gunnery Sergeant" = "GySGT", "Master Sergeant" = "MSgt", "First Sergeant" = "1Sgt", "Master Gunnery Sergeant" = "MGySgt", "Sergeant Major" = "SgtMaj")
/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."
+ 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)
diff --git a/code/game/jobs/job/command/cic/captain.dm b/code/game/jobs/job/command/cic/captain.dm
index 98db585e1d07..72f861351912 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/staffofficer.dm b/code/game/jobs/job/command/cic/staffofficer.dm
index fff51624aa4b..94769de2158f 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 b76943c4d0ac..63e6d8023f17 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 7285c5b278b1..e05bc2e96256 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 55cbea975401..d2775e197537 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 0d68d23e5524..48ad372e1f33 100644
--- a/code/game/jobs/job/job.dm
+++ b/code/game/jobs/job/job.dm
@@ -49,13 +49,16 @@
if(!disp_title)
disp_title = title
+ if(global.config.is_loaded)
+ on_config_load()
+
/datum/job/proc/on_config_load()
if(entry_message_body)
entry_message_body = replace_placeholders(entry_message_body)
/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]")
+ replacement_string = replacetextEx(replacement_string, WIKI_PLACEHOLDER, generate_wiki_link())
+ replacement_string = replacetextEx(replacement_string, LAW_PLACEHOLDER, "[CONFIG_GET(string/wikiarticleurl)]/[URL_WIKI_LAW]")
return replacement_string
/datum/job/proc/generate_wiki_link()
diff --git a/code/game/jobs/job/logistics/cargo/cargo_tech.dm b/code/game/jobs/job/logistics/cargo/cargo_tech.dm
index 3b588022bd97..c4725289c3ff 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 76b7e98f2db8..5d5123e687ed 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 3a15c8632953..b6aa23f9c4a6 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 8562408360d7..b13062127a12 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 bed0acf15887..43a8a7122a8f 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 00a6b91dcffd..1910248a61a2 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 960a80d5f659..be78438db3d6 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 cdbd74acefde..3df0a3793ca5 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 aacc562f921b..1a89abf5d3be 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 42ee69ef2d5c..e69241cdc70b 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/standard.dm b/code/game/jobs/job/marine/squad/standard.dm
index e2502576e5ea..2fcd8a3cdd28 100644
--- a/code/game/jobs/job/marine/squad/standard.dm
+++ b/code/game/jobs/job/marine/squad/standard.dm
@@ -6,7 +6,10 @@
spawn_positions = -1
flags_startup_parameters = ROLE_ADD_TO_DEFAULT|ROLE_ADD_TO_SQUAD
gear_preset = /datum/equipment_preset/uscm/pfc
- entry_message_body = "You are a rank-and-file Marine of the USCM, and that is your strength. What you lack alone, you gain standing shoulder to shoulder with the men and women of the corps. Ooh-rah!"
+
+/datum/job/marine/standard/on_config_load()
+ entry_message_body = "You are a rank-and-file Marine of the USCM, and that is your strength. What you lack alone, you gain standing shoulder to shoulder with the men and women of the corps. Ooh-rah!"
+ return ..()
/datum/job/marine/standard/set_spawn_positions(count)
spawn_positions = max((round(count * STANDARD_MARINE_TO_TOTAL_SPAWN_RATIO)), 8)
diff --git a/code/game/jobs/job/marine/squad/tl.dm b/code/game/jobs/job/marine/squad/tl.dm
index ebebf360e830..2b0cff3ea3ed 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/config/example/config.txt b/config/example/config.txt
index dcce46434404..8e8bb2b754d5 100644
--- a/config/example/config.txt
+++ b/config/example/config.txt
@@ -132,6 +132,7 @@ FORUMURL https://forum.cm-ss13.com/
## Wiki address
WIKIURL https://cm-ss13.com/w
+WIKIARTICLEURL https://cm-ss13.com/wiki
## Rules address
RULESURL https://cm-ss13.com/viewtopic.php?f=57&t=5094