Diplomatic Bodyguards (#20733)

Adds diplomatic bodyguards, similar to aides, the consular can open this
role. The consular's gun has been given to the guard.
This commit is contained in:
Greenjoe12345
2025-07-13 00:16:05 +01:00
committed by GitHub
parent 228386bcc0
commit 6bb40a86e9
13 changed files with 606 additions and 31 deletions

View File

@@ -9,6 +9,7 @@
#define JOURNALIST_ROLE /datum/job/journalist
#define CHAPLAIN_ROLE /datum/job/chaplain
#define DIPLOMATIC_AIDE_ROLE /datum/job/diplomatic_aide
#define DIPLOMATIC_BODYGUARD_ROLE /datum/job/diplomatic_bodyguard
#define CORPORATE_AIDE_ROLE /datum/job/corporate_aide
//Event Roles
@@ -49,4 +50,4 @@
#define ZENG_ROLES list(SCIENCE_ROLES, MEDICAL_ROLES, CIVILIAN_ROLES, REPRESENTATIVE_ROLE)
#define HEPH_ROLES list(OPERATIONS_ROLES, ENGINEERING_ROLES, CIVILIAN_ROLES, REPRESENTATIVE_ROLE)
#define ORION_ROLES list(OPERATIONS_ROLES, CIVILIAN_ROLES, REPRESENTATIVE_ROLE, SERVICE_ROLES)
#define INDEP_ROLES list(NON_CREW_CIVILIAN_ROLES, CONSULAR_ROLE, JOURNALIST_ROLE, CHAPLAIN_ROLE, OFF_DUTY_CREW_MEMBER_ROLE, JOURNALIST_ROLE, DIPLOMATIC_AIDE_ROLE)
#define INDEP_ROLES list(NON_CREW_CIVILIAN_ROLES, CONSULAR_ROLE, JOURNALIST_ROLE, CHAPLAIN_ROLE, OFF_DUTY_CREW_MEMBER_ROLE, JOURNALIST_ROLE, DIPLOMATIC_AIDE_ROLE, DIPLOMATIC_BODYGUARD_ROLE)

View File

@@ -70,8 +70,9 @@
/// A blacklist of citizenships that can't be this job.
var/list/blacklisted_citizenship = list()
/// The job name of the aide slot. Used for consulars and representatives.
/// The job name of the aide and bodyguard slots. Used for consulars and representatives.
var/aide_job
var/bodyguard_job
//Only override this proc
/datum/job/proc/pre_spawn(mob/abstract/new_player/player)
@@ -282,13 +283,66 @@
*/
/mob/living/carbon/human/proc/summon_aide()
set name = "Open Aide Slot"
set desc = "Allows an aide to join you as an assistant, companion, or bodyguard."
set desc = "Allows an aide to join you as an assistant or companion."
set category = "IC"
var/datum/job/J = SSjobs.GetJob(job)
if(J.open_aide_slot(src))
remove_verb(src, /mob/living/carbon/human/proc/summon_aide)
/**
* This is the proc responsible for actually opening the bodyguard slot.
* The `bodyguard_job` on the job datum must be a valid, existing job. Blame the fact that we don't have job defines. Or singletons.
*/
/datum/job/proc/open_bodyguard_slot(mob/living/carbon/human/representative)
if(!bodyguard_job)
log_debug("Generic Open Bodyguard Slot called without an bodyguard job.")
return FALSE
if(!representative)
log_debug("Generic Open Bodyguard Slot called without a mob.")
return FALSE
var/confirm = tgui_alert(representative, "Are you sure you want to open a bodyguard slot? This can only be used once.", "Open Bodyguard Slot", list("Yes", "No"))
if(confirm != "Yes")
return FALSE
var/datum/job/J = SSjobs.GetJob(bodyguard_job)
// At this point, we add the relevant blacklists in the proc below.
post_open_bodyguard_slot(representative, J)
// Now that the blacklists are applied, open the job.
J.total_positions++
to_chat(representative, SPAN_NOTICE("A slot for a [bodyguard_job] has been opened."))
return TRUE
/**
* This proc is called when a job opens a bodyguard slot. It MUST be called manually.
* It is responsible for adding any relevant blacklists to the bodyguard job datum.
*/
/datum/job/proc/post_open_bodyguard_slot(mob/living/carbon/human/representative, datum/job/bodyguard)
return
/**
* This proc is called when a bodyguard slot is closed (cryoing or leaving the game).
* It is responsible for cleaning up existing slots and wiping any applied blacklists to the bodyguard's job datum.
*/
/datum/job/proc/close_bodyguard_slot(mob/living/carbon/human/representative, datum/job/bodyguard)
return
/**
* This is the verb you should give to a mob to allow it to summon an bodyguard.
*/
/mob/living/carbon/human/proc/summon_bodyguard()
set name = "Open Bodyguard Slot"
set desc = "Allows a bodyguard to join you to help protect you."
set category = "IC"
var/datum/job/J = SSjobs.GetJob(job)
if(J.open_bodyguard_slot(src))
remove_verb(src, /mob/living/carbon/human/proc/summon_bodyguard)
/obj/outfit/job
name = "Standard Gear"
var/base_name = null

View File

@@ -216,6 +216,7 @@
blacklisted_citizenship = list(CITIZENSHIP_ERIDANI, CITIZENSHIP_ELYRA_NCP, CITIZENSHIP_NONE, CITIZENSHIP_FREE_COUNCIL)
aide_job = "Diplomatic Aide"
bodyguard_job = "Diplomatic Bodyguard"
/datum/job/consular/get_outfit(mob/living/carbon/human/H, alt_title = null)
var/datum/citizenship/citizenship = SSrecords.citizenships[H.citizenship]
@@ -251,14 +252,17 @@
var/datum/citizenship/citizenship = SSrecords.citizenships[H.citizenship]
LAZYDISTINCTADD(blacklisted_citizenship, citizenship.name)
add_verb(H, /mob/living/carbon/human/proc/summon_aide)
add_verb(H, /mob/living/carbon/human/proc/summon_bodyguard)
/datum/job/consular/on_despawn(mob/living/carbon/human/H)
var/datum/citizenship/citizenship = SSrecords.citizenships[H.citizenship]
LAZYREMOVE(blacklisted_citizenship, citizenship.name)
// Handle the removal of aide blacklists and the slot.
// Handle the removal of aide/bodyguard blacklists and the slot.
var/datum/job/J = SSjobs.GetJob(aide_job)
var/datum/job/J2 = SSjobs.GetJob(bodyguard_job)
close_aide_slot(H, J)
close_bodyguard_slot(H, J2)
/datum/job/consular/post_open_aide_slot(mob/living/carbon/human/representative, datum/job/aide)
var/datum/citizenship/citizenship = SSrecords.citizenships[representative.citizenship]
@@ -267,6 +271,13 @@
else
LAZYREMOVE(aide.blacklisted_citizenship, representative.citizenship)
/datum/job/consular/post_open_bodyguard_slot(mob/living/carbon/human/representative, datum/job/bodyguard)
var/datum/citizenship/citizenship = SSrecords.citizenships[representative.citizenship]
if(citizenship.linked_citizenship) //if there's a secondary citizenship that this one should allow - e.g zo'ra and biesel
LAZYREMOVE(bodyguard.blacklisted_citizenship, citizenship.linked_citizenship)
else
LAZYREMOVE(bodyguard.blacklisted_citizenship, representative.citizenship)
/datum/job/consular/close_aide_slot(mob/living/carbon/human/representative, datum/job/aide)
var/datum/citizenship/citizenship = SSrecords.citizenships[representative.citizenship]
if(citizenship.linked_citizenship)
@@ -277,6 +288,16 @@
if(aide.total_positions > 0)
aide.total_positions--
/datum/job/consular/close_bodyguard_slot(mob/living/carbon/human/representative, datum/job/bodyguard)
var/datum/citizenship/citizenship = SSrecords.citizenships[representative.citizenship]
if(citizenship.linked_citizenship)
LAZYDISTINCTADD(bodyguard.blacklisted_citizenship, citizenship.linked_citizenship)
else
LAZYDISTINCTADD(bodyguard.blacklisted_citizenship, representative.citizenship)
if(bodyguard.total_positions > 0)
bodyguard.total_positions--
/datum/job/diplomatic_aide
title = "Diplomatic Aide"
flag = CONSULAR_ASST
@@ -323,9 +344,55 @@
/datum/job/diplomatic_aide/after_spawn(mob/living/carbon/human/H)
LAZYDISTINCTADD(blacklisted_citizenship, H.citizenship)
/datum/job/diplomatic_bodyguard
title = "Diplomatic Bodyguard"
flag = DIPLOMAT_GUARD
departments = SIMPLEDEPT(DEPARTMENT_COMMAND_SUPPORT)
department_flag = ENGSEC
faction = "Station"
total_positions = 0 //manually opened by consular
spawn_positions = 0
supervisors = "the Consular Officer"
selection_color = "#6186cf"
economic_modifier = 5
minimum_character_age = list(
SPECIES_HUMAN = 18,
SPECIES_SKRELL = 50,
SPECIES_SKRELL_AXIORI = 50
)
access = list(ACCESS_CONSULAR, ACCESS_MAINT_TUNNELS)
minimal_access = list(ACCESS_CONSULAR)
outfit = /obj/outfit/job/diplomatic_aide
blacklisted_citizenship = ALL_CITIZENSHIPS //removed based on consular citizensihp
/datum/job/diplomatic_bodyguard/get_outfit(mob/living/carbon/human/H, alt_title = null)
var/datum/citizenship/citizenship = SSrecords.citizenships[H.citizenship]
if(citizenship)
return citizenship.bodyguard_outfit
/obj/outfit/job/diplomatic_bodyguard
name = "Diplomatic Bodyguard"
jobtype = /datum/job/diplomatic_bodyguard
uniform = /obj/item/clothing/under/suit_jacket/navy
tab_pda = /obj/item/modular_computer/handheld/pda/civilian/lawyer
wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/civilian/lawyer
tablet = /obj/item/modular_computer/handheld/preset/civilian/lawyer
shoes = /obj/item/clothing/shoes/laceup
glasses = /obj/item/clothing/glasses/sunglasses/big
headset = /obj/item/device/radio/headset/representative
bowman = /obj/item/device/radio/headset/representative/alt
double_headset = /obj/item/device/radio/headset/alt/double/command/representative
wrist_radio = /obj/item/device/radio/headset/wrist/command/representative
/datum/job/diplomatic_bodyguard/after_spawn(mob/living/carbon/human/H)
LAZYDISTINCTADD(blacklisted_citizenship, H.citizenship)
/datum/job/corporate_aide
title = "Corporate Aide"
flag = DIPLOMAT_AIDE
flag = GLOB.DIPLOMAT_AIDE
departments = SIMPLEDEPT(DEPARTMENT_COMMAND_SUPPORT)
department_flag = ENGSEC
faction = "Station"

View File

@@ -19,7 +19,7 @@ var/const/BRIDGE_CREW =(1<<12)
var/const/OPERATIONS_MANAGER =(1<<13)
var/const/HRA =(1<<14)
var/const/CONSULAR_ASST =(1<<15)
var/const/DIPLOMAT_AIDE =(1<<16)
var/const/DIPLOMAT_GUARD =(1<<16)
// MEDSCI
var/const/MEDSCI =(1<<1)
@@ -59,6 +59,7 @@ var/const/CONSULAR =(1<<12)
var/const/MERCHANT =(1<<13)
var/const/JOURNALIST =(1<<14)
var/const/ASSISTANT =(1<<15)
GLOBAL_VAR_CONST(DIPLOMAT_AIDE, 1<<16)
//EVENTDEPT
//This is needed because there are just not enough bitflags available across the other departments
@@ -89,6 +90,7 @@ var/list/command_support_positions = list(
"Consular Officer",
"Bridge Crew",
"Diplomatic Aide",
"Diplomatic Bodyguard",
"Corporate Aide"
)

View File

@@ -3,6 +3,7 @@
var/description
var/obj/outfit/consular_outfit = /obj/outfit/job/representative/consular
var/obj/outfit/assistant_outfit = /obj/outfit/job/diplomatic_aide
var/obj/outfit/bodyguard_outfit
var/demonym
var/list/job_species_blacklist = list()
var/linked_citizenship //a secondary citizenship tied to this one. only used for vaurca snowflake code.

View File

@@ -3,6 +3,7 @@
description = "A nation of Hieroaetheria predating Nralakk discovery, the Consortium was a loose confederation of dozens of \
dionae groups across the region of Mede that have since unified into one alliance. The Consortium prides itself on progressive stances, \
aiming to foster a multicultural society inclusive of non-Dionae."
bodyguard_outfit = /obj/outfit/job/diplomatic_bodyguard/consortium
job_species_blacklist = list(
"Consular Officer" = list(
@@ -44,9 +45,37 @@
SPECIES_VAURCA_WARRIOR,
SPECIES_VAURCA_ATTENDANT,
SPECIES_VAURCA_BULWARK
),
"Diplomatic Bodyguard" = list(
SPECIES_HUMAN,
SPECIES_HUMAN_OFFWORLD,
SPECIES_IPC,
SPECIES_IPC_BISHOP,
SPECIES_IPC_G1,
SPECIES_IPC_G2,
SPECIES_IPC_SHELL,
SPECIES_IPC_UNBRANDED,
SPECIES_IPC_XION,
SPECIES_IPC_ZENGHU,
SPECIES_TAJARA,
SPECIES_TAJARA_MSAI,
SPECIES_TAJARA_ZHAN,
SPECIES_UNATHI,
SPECIES_VAURCA_WORKER,
SPECIES_VAURCA_WARRIOR,
SPECIES_VAURCA_ATTENDANT,
SPECIES_VAURCA_BULWARK
)
)
/obj/outfit/job/diplomatic_bodyguard/consortium
name = "Consortium of Hieroaetheria Diplomatic Bodyguard"
backpack_contents = list(
/obj/item/device/camera = 1,
/obj/item/gun/energy/pistol = 1
)
/datum/citizenship/consortium/get_objectives(mission_level, var/mob/living/carbon/human/H)
switch(mission_level)
if(REPRESENTATIVE_MISSION_LOW)
@@ -58,6 +87,7 @@
description = "An affront to the ideals of ther Consortium, the Union of Gla'orr is autocratic and xenophobic, opposed to the integration of non-Dionae \
into Hieroaetherian societies. Though opposed to the ideals of the Consortium and though wishing a more secular handling of issues compared to Ekane, \
they continue to engage in diplomatic relations with the other nations of the Commonwealth."
bodyguard_outfit = /obj/outfit/job/diplomatic_bodyguard/glaorr
job_species_blacklist = list(
"Consular Officer" = list(
@@ -101,9 +131,37 @@
SPECIES_VAURCA_WARRIOR,
SPECIES_VAURCA_ATTENDANT,
SPECIES_VAURCA_BULWARK
),
"Diplomatic Bodyguard" = list(
SPECIES_HUMAN,
SPECIES_HUMAN_OFFWORLD,
SPECIES_SKRELL,
SPECIES_IPC,
SPECIES_IPC_BISHOP,
SPECIES_IPC_G1,
SPECIES_IPC_G2,
SPECIES_IPC_SHELL,
SPECIES_IPC_UNBRANDED,
SPECIES_IPC_XION,
SPECIES_IPC_ZENGHU,
SPECIES_TAJARA,
SPECIES_TAJARA_MSAI,
SPECIES_TAJARA_ZHAN,
SPECIES_UNATHI,
SPECIES_VAURCA_WORKER,
SPECIES_VAURCA_WARRIOR,
SPECIES_VAURCA_ATTENDANT,
SPECIES_VAURCA_BULWARK
)
)
/obj/outfit/job/diplomatic_bodyguard/glaorr
name = "Union of Gla'orr Diplomatic Bodyguard"
backpack_contents = list(
/obj/item/device/camera = 1,
/obj/item/gun/energy/pistol = 1
)
/datum/citizenship/glaorr/get_objectives(mission_level, var/mob/living/carbon/human/H)
switch(mission_level)
if(REPRESENTATIVE_MISSION_LOW)
@@ -115,6 +173,7 @@
description = "Founded after first contact with the Nralakk Federation in communities gripped by Eternal thoughts, the Eternal Republic is an autocratic \
theocracy staunchly against propositions of reform, inclusion of non-dionae, centralisation and deeply entwined with Eternal schools of thoughts, with \
faith being a central component of all facets of life within the Eternal Republic."
bodyguard_outfit = /obj/outfit/job/diplomatic_bodyguard/ekane
job_species_blacklist = list(
"Consular Officer" = list(
@@ -158,9 +217,37 @@
SPECIES_VAURCA_WARRIOR,
SPECIES_VAURCA_ATTENDANT,
SPECIES_VAURCA_BULWARK
),
"Diplomatic Bodyguard" = list(
SPECIES_HUMAN,
SPECIES_HUMAN_OFFWORLD,
SPECIES_SKRELL,
SPECIES_IPC,
SPECIES_IPC_BISHOP,
SPECIES_IPC_G1,
SPECIES_IPC_G2,
SPECIES_IPC_SHELL,
SPECIES_IPC_UNBRANDED,
SPECIES_IPC_XION,
SPECIES_IPC_ZENGHU,
SPECIES_TAJARA,
SPECIES_TAJARA_MSAI,
SPECIES_TAJARA_ZHAN,
SPECIES_UNATHI,
SPECIES_VAURCA_WORKER,
SPECIES_VAURCA_WARRIOR,
SPECIES_VAURCA_ATTENDANT,
SPECIES_VAURCA_BULWARK
)
)
/obj/outfit/job/diplomatic_bodyguard/ekane
name = "Eternal Republic of The Ekane Diplomatic Bodyguard"
backpack_contents = list(
/obj/item/device/camera = 1,
/obj/item/gun/energy/pistol = 1
)
/datum/citizenship/ekane/get_objectives(mission_level, var/mob/living/carbon/human/H)
switch(mission_level)
if(REPRESENTATIVE_MISSION_LOW)

View File

@@ -16,6 +16,9 @@
),
"Diplomatic Aide" = list(
SPECIES_VAURCA_BREEDER
),
"Diplomatic Bodyguard" = list(
SPECIES_VAURCA_WORKER
)
)
@@ -68,6 +71,12 @@
name = "Tau Ceti Diplomatic Aide"
accessory = /obj/item/clothing/accessory/tc_pin
/obj/outfit/job/diplomatic_bodyguard/ceti
name = "Tau Ceti Diplomatic Bodyguard"
backpack_contents = list(
/obj/item/gun/energy/blaster/revolver
)
/obj/outfit/job/representative/consular/ceti/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H)
if(isvaurca(H))
@@ -77,9 +86,6 @@
H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/vaurca/filter(H), slot_wear_mask)
H.equip_to_slot_or_del(new /obj/item/clothing/suit/vaurca/breeder(H), slot_wear_suit)
H.equip_to_slot_or_del(new /obj/item/storage/backpack/typec(H), slot_back)
H.equip_to_slot_or_del(new /obj/item/gun/energy/vaurca/blaster(H), slot_belt)
else
H.equip_to_slot_or_del(new /obj/item/gun/energy/blaster/revolver(H), slot_belt)
if(!visualsOnly)
addtimer(CALLBACK(src, .proc/send_representative_mission, H), 5 MINUTES)
return TRUE
@@ -93,6 +99,7 @@
Though much of its former possessions are now occupied by warlord statelets and other interstellar powers, the Alliance still maintains a revanchist outlook, refusing to relinquish its claims to its lost territories."
consular_outfit = /obj/outfit/job/representative/consular/sol
assistant_outfit = /obj/outfit/job/diplomatic_aide/sol
bodyguard_outfit = /obj/outfit/job/diplomatic_bodyguard/sol
job_species_blacklist = list(
"Consular Officer" = list(
SPECIES_IPC,
@@ -139,6 +146,29 @@
SPECIES_VAURCA_ATTENDANT,
SPECIES_VAURCA_BULWARK,
SPECIES_VAURCA_BREEDER
),
"Diplomatic Bodyguard" = list(
SPECIES_IPC,
SPECIES_IPC_BISHOP,
SPECIES_IPC_G1,
SPECIES_IPC_G2,
SPECIES_IPC_SHELL,
SPECIES_IPC_UNBRANDED,
SPECIES_IPC_XION,
SPECIES_IPC_ZENGHU,
SPECIES_DIONA,
SPECIES_DIONA_COEUS,
SPECIES_SKRELL,
SPECIES_SKRELL_AXIORI,
SPECIES_TAJARA,
SPECIES_TAJARA_MSAI,
SPECIES_TAJARA_ZHAN,
SPECIES_UNATHI,
SPECIES_VAURCA_WORKER,
SPECIES_VAURCA_WARRIOR,
SPECIES_VAURCA_ATTENDANT,
SPECIES_VAURCA_BULWARK,
SPECIES_VAURCA_BREEDER
)
)
@@ -166,8 +196,7 @@
backpack_contents = list(
/obj/item/storage/box/sol_visa = 1,
/obj/item/stamp/sol = 1,
/obj/item/device/camera = 1,
/obj/item/gun/projectile/pistol/sol = 1
/obj/item/device/camera = 1
)
/obj/outfit/job/diplomatic_aide/sol
@@ -175,6 +204,12 @@
accessory = /obj/item/clothing/accessory/sol_pin
/obj/outfit/job/diplomatic_bodyguard/sol
name = "Sol Diplomatic Bodyguard"
backpack_contents = list(
/obj/item/gun/projectile/pistol/sol = 1
)
/datum/citizenship/sol_alliance/eridani
name = CITIZENSHIP_ERIDANI
description = "Eridani, or the Eridani Corporate Federation, is a dystopian oligarchic republic in the Epsilon Eridani system, dominated entirely by a council of mega-corporations \
@@ -194,6 +229,7 @@
tightly-knit. Almost anything and anyone can be found in these wild, mostly uncharted lands. "
demonym = "frontiersman"
consular_outfit = /obj/outfit/job/representative/consular/coalition
bodyguard_outfit = /obj/outfit/job/diplomatic_bodyguard/coalition
job_species_blacklist = list(
"Consular Officer" = list(
@@ -217,6 +253,17 @@
SPECIES_VAURCA_ATTENDANT,
SPECIES_VAURCA_BULWARK,
SPECIES_VAURCA_BREEDER
),
"Diplomatic Bodyguard" = list(
SPECIES_TAJARA,
SPECIES_TAJARA_MSAI,
SPECIES_TAJARA_ZHAN,
SPECIES_UNATHI,
SPECIES_VAURCA_WORKER,
SPECIES_VAURCA_WARRIOR,
SPECIES_VAURCA_ATTENDANT,
SPECIES_VAURCA_BULWARK,
SPECIES_VAURCA_BREEDER
)
)
@@ -224,7 +271,12 @@
name = "Coalition Consular Officer"
backpack_contents = list(
/obj/item/device/camera = 1,
/obj/item/device/camera = 1
)
/obj/outfit/job/diplomatic_bodyguard/coalition
name = "Coalition Diplomatic Bodyguard"
backpack_contents = list(
/obj/item/gun/projectile/xanupistol = 1
)
@@ -235,14 +287,15 @@
is \"For Greatness We Strive\". It's official language is Tau Ceti Basic, though several old-earth languages cling to life in small enclaves, such as arabic, persian, and farsi. \
The Republic has mixed relations with NanoTrasen, due to their own possession of phoron."
demonym = "elyran"
consular_outfit = /obj/outfit/job/representative/consular/elyra
bodyguard_outfit = /obj/outfit/job/diplomatic_bodyguard/elyra
/obj/outfit/job/representative/consular/elyra
name = "Elyra Consular Officer"
/obj/outfit/job/diplomatic_bodyguard/elyra
name = "Elyra Diplomatic Bodyguard"
backpack_contents = list(
/obj/item/gun/projectile/plasma/bolter/pistol = 1
)
/datum/citizenship/elyran_ncp
name = CITIZENSHIP_ELYRA_NCP
description = "\"Non-Citizen Persons,\" (NCPs) as they are officially called, make-up approximately one-third of the total population of the Republic Elyra. \
@@ -289,6 +342,7 @@
Imperial society is dominated by the Great and Minor Houses under the Emperor and is very socio-economically stratified due to the so-called blood debt, known as the Mor'iz'al."
consular_outfit = /obj/outfit/job/representative/consular/dominia
bodyguard_outfit = /obj/outfit/job/diplomatic_bodyguard/dominia
job_species_blacklist = list(
"Consular Officer" = list(
@@ -330,6 +384,26 @@
SPECIES_VAURCA_ATTENDANT,
SPECIES_VAURCA_BULWARK,
SPECIES_VAURCA_BREEDER
),
"Diplomatic Bodyguard" = list(
SPECIES_IPC,
SPECIES_IPC_BISHOP,
SPECIES_IPC_G1,
SPECIES_IPC_G2,
SPECIES_IPC_SHELL,
SPECIES_IPC_UNBRANDED,
SPECIES_IPC_XION,
SPECIES_IPC_ZENGHU,
SPECIES_SKRELL,
SPECIES_SKRELL_AXIORI,
SPECIES_TAJARA,
SPECIES_TAJARA_MSAI,
SPECIES_TAJARA_ZHAN,
SPECIES_VAURCA_WORKER,
SPECIES_VAURCA_WARRIOR,
SPECIES_VAURCA_ATTENDANT,
SPECIES_VAURCA_BULWARK,
SPECIES_VAURCA_BREEDER
)
)
@@ -354,6 +428,11 @@
name = "Empire of Dominia Consular Officer"
backpack_contents = list(
/obj/item/storage/box/dominia_honor = 1,
/obj/item/storage/box/dominia_honor = 1
)
/obj/outfit/job/diplomatic_bodyguard/dominia
name = "Empire of Dominia Diplomatic Bodyguard"
backpack_contents = list(
/obj/item/gun/projectile/pistol/dominia = 1
)

View File

@@ -11,6 +11,7 @@
Frontier collective. Due to their peerless skill in business and clerical duties, affiliates share warm relations with NanoTrasen and \
find themselves the target of job opportunities in exchange for citizenship."
consular_outfit = /obj/outfit/job/representative/consular/golden
bodyguard_outfit = /obj/outfit/job/diplomatic_bodyguard/golden
job_species_blacklist = list(
"Consular Officer" = list(
@@ -53,6 +54,9 @@
name = "Golden Deep Consular Officer"
uniform = /obj/item/clothing/under/goldendeep/suit
/obj/outfit/job/diplomatic_bodyguard/golden
name = "Golden Deep Diplomatic Bodyguard"
backpack_contents = list(
/obj/item/gun/energy/pistol/goldendeep = 1
)

View File

@@ -8,6 +8,7 @@
after a Federation tech leak provided them with the research required to create their own AI, as well as allowing them to create IPCs."
consular_outfit = /obj/outfit/job/representative/consular/nralakk
assistant_outfit = /obj/outfit/job/diplomatic_aide/nralakk
bodyguard_outfit = /obj/outfit/job/diplomatic_bodyguard/nralakk
job_species_blacklist = list(
"Consular Officer" = list(
@@ -47,6 +48,24 @@
SPECIES_TAJARA_ZHAN,
SPECIES_UNATHI,
SPECIES_VAURCA_BREEDER
),
"Diplomatic Bodyguard" = list(
SPECIES_HUMAN,
SPECIES_HUMAN_OFFWORLD,
SPECIES_IPC,
SPECIES_IPC_BISHOP,
SPECIES_IPC_G1,
SPECIES_IPC_G2,
SPECIES_IPC_SHELL,
SPECIES_IPC_UNBRANDED,
SPECIES_IPC_XION,
SPECIES_IPC_ZENGHU,
SPECIES_TAJARA,
SPECIES_TAJARA_MSAI,
SPECIES_TAJARA_ZHAN,
SPECIES_UNATHI,
SPECIES_VAURCA_BREEDER,
SPECIES_VAURCA_WORKER
)
)
@@ -97,8 +116,6 @@
/obj/outfit/job/representative/consular/nralakk/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H)
if(isskrell(H))
H.equip_to_slot_or_del(new /obj/item/gun/energy/fedpistol(H), slot_belt)
if(isvaurca(H)) // there should be a system for this but for now this will have to do i guess
H.equip_to_slot_or_del(new /obj/item/clothing/under/gearharness(H), slot_w_uniform)
H.equip_to_slot_or_del(new /obj/item/clothing/head/vaurca_breeder/nralakk(H), slot_head)
@@ -106,12 +123,22 @@
H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/vaurca/filter(H), slot_wear_mask)
H.equip_to_slot_or_del(new /obj/item/clothing/suit/vaurca/breeder/cthur(H), slot_wear_suit)
H.equip_to_slot_or_del(new /obj/item/storage/backpack/typec/cthur(H), slot_back)
H.equip_to_slot_or_del(new /obj/item/gun/energy/vaurca/blaster(H), slot_belt) // Federation Ta Consulars get a Thermic Blaster.
else
H.equip_to_slot_or_del(new /obj/item/gun/energy/fedpistol/nopsi(H), slot_belt)
if(!visualsOnly)
addtimer(CALLBACK(src, PROC_REF(send_representative_mission), H), 5 MINUTES)
return TRUE
/obj/outfit/job/diplomatic_aide/nralakk
name = "Nralakk Federation Diplomatic Aide"
uniform = /obj/item/clothing/under/skrell
/obj/outfit/job/diplomatic_bodyguard/nralakk
name = "Nralakk Federation Diplomatic Bodyguard"
uniform = /obj/item/clothing/under/skrell
/obj/outfit/job/diplomatic_bodyguard/nralakk/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H)
if(isskrell(H))
H.equip_to_slot_or_del(new /obj/item/gun/energy/fedpistol(H), slot_belt)
else
H.equip_to_slot_or_del(new /obj/item/gun/energy/fedpistol/nopsi(H), slot_belt)
return TRUE

View File

@@ -7,6 +7,7 @@
struggling to hold true to its radical ideals while an entrenched upper party stubbornly tries to hold onto power."
consular_outfit = /obj/outfit/job/representative/consular/pra
assistant_outfit = /obj/outfit/job/diplomatic_aide/pra
bodyguard_outfit = /obj/outfit/job/diplomatic_bodyguard/pra
job_species_blacklist = list(
"Consular Officer" = list(
@@ -55,6 +56,29 @@
SPECIES_VAURCA_BULWARK,
SPECIES_VAURCA_BREEDER,
SPECIES_TAJARA_ZHAN
),
"Diplomatic Bodyguard" = list(
SPECIES_HUMAN,
SPECIES_HUMAN_OFFWORLD,
SPECIES_IPC,
SPECIES_IPC_BISHOP,
SPECIES_IPC_G1,
SPECIES_IPC_G2,
SPECIES_IPC_SHELL,
SPECIES_IPC_UNBRANDED,
SPECIES_IPC_XION,
SPECIES_IPC_ZENGHU,
SPECIES_DIONA,
SPECIES_DIONA_COEUS,
SPECIES_SKRELL,
SPECIES_SKRELL_AXIORI,
SPECIES_UNATHI,
SPECIES_VAURCA_WORKER,
SPECIES_VAURCA_WARRIOR,
SPECIES_VAURCA_ATTENDANT,
SPECIES_VAURCA_BULWARK,
SPECIES_VAURCA_BREEDER,
SPECIES_TAJARA_ZHAN
)
)
@@ -72,7 +96,6 @@
backpack_contents = list(
/obj/item/storage/box/hadii_card = 1,
/obj/item/storage/box/hadii_manifesto = 1,
/obj/item/gun/projectile/pistol/adhomai = 1,
/obj/item/storage/field_ration = 1,
/obj/item/clothing/accessory/badge/hadii_card/member = 1,
/obj/item/storage/box/syndie_kit/spy/hidden = 1
@@ -80,6 +103,7 @@
accessory = /obj/item/clothing/accessory/hadii_pin
/obj/outfit/job/diplomatic_aide/pra
name = "PRA Diplomatic Aide"
glasses = null
uniform = /obj/item/clothing/under/tajaran/smart
backpack_contents = list(
@@ -90,6 +114,14 @@
)
accessory = /obj/item/clothing/accessory/hadii_pin
/obj/outfit/job/diplomatic_bodyguard/pra
name = "PRA Diplomatic Bodyguard"
uniform = /obj/item/clothing/under/tajaran/fancy/alt2
backpack_contents = list(
/obj/item/gun/projectile/pistol/adhomai = 1
)
accessory = /obj/item/clothing/accessory/hadii_pin
/datum/citizenship/dpra
name = CITIZENSHIP_DPRA
description = "The most pervasive and successful rebellion came from a group calling themselves the Adhomai Liberation Army, a group made up of Tajara from almost every walk of life. \
@@ -100,6 +132,7 @@
voluntarily turn over power to civilian governments, the DPRA's future faces many fundamental changes."
consular_outfit = /obj/outfit/job/representative/consular/dpra
assistant_outfit = /obj/outfit/job/diplomatic_aide/dpra
bodyguard_outfit = /obj/outfit/job/diplomatic_bodyguard/dpra
job_species_blacklist = list(
"Consular Officer" = list(
@@ -148,6 +181,29 @@
SPECIES_VAURCA_BULWARK,
SPECIES_VAURCA_BREEDER,
SPECIES_TAJARA_ZHAN
),
"Diplomatic Bodyguard" = list(
SPECIES_HUMAN,
SPECIES_HUMAN_OFFWORLD,
SPECIES_IPC,
SPECIES_IPC_BISHOP,
SPECIES_IPC_G1,
SPECIES_IPC_G2,
SPECIES_IPC_SHELL,
SPECIES_IPC_UNBRANDED,
SPECIES_IPC_XION,
SPECIES_IPC_ZENGHU,
SPECIES_DIONA,
SPECIES_DIONA_COEUS,
SPECIES_SKRELL,
SPECIES_SKRELL_AXIORI,
SPECIES_UNATHI,
SPECIES_VAURCA_WORKER,
SPECIES_VAURCA_WARRIOR,
SPECIES_VAURCA_ATTENDANT,
SPECIES_VAURCA_BULWARK,
SPECIES_VAURCA_BREEDER,
SPECIES_TAJARA_ZHAN
)
)
@@ -171,6 +227,7 @@
accessory = /obj/item/clothing/accessory/dpra_pin
/obj/outfit/job/diplomatic_aide/dpra
name = "DPRA Diplomatic Aide"
glasses = null
uniform = /obj/item/clothing/under/tajaran/smart
backpack_contents = list(
@@ -179,6 +236,13 @@
)
accessory = /obj/item/clothing/accessory/dpra_pin
/obj/outfit/job/diplomatic_bodyguard/dpra
name = "DPRA Diplomatic Bodyguard"
uniform = /obj/item/clothing/under/tajaran/fancy/alt2
backpack_contents = list(
/obj/item/gun/projectile/silenced = 1,
)
/datum/citizenship/nka
name = CITIZENSHIP_NKA
description = "The last major faction is the rebellious New Kingdom of Adhomai, which seceded and declared itself a nation in 2450. The New Kingdom is ruled by a Njarir'Akhran noble \
@@ -191,6 +255,7 @@
the Azunja dynasty finds itself struggling to function with their limited constitutional powers and factional in-fighting between the military and the civilian government."
consular_outfit = /obj/outfit/job/representative/consular/nka
assistant_outfit = /obj/outfit/job/diplomatic_aide/nka
bodyguard_outfit = /obj/outfit/job/diplomatic_bodyguard/nka
job_species_blacklist = list(
"Consular Officer" = list(
@@ -239,6 +304,29 @@
SPECIES_VAURCA_BULWARK,
SPECIES_VAURCA_BREEDER,
SPECIES_TAJARA_ZHAN
),
"Diplomatic Bodyguard" = list(
SPECIES_HUMAN,
SPECIES_HUMAN_OFFWORLD,
SPECIES_IPC,
SPECIES_IPC_BISHOP,
SPECIES_IPC_G1,
SPECIES_IPC_G2,
SPECIES_IPC_SHELL,
SPECIES_IPC_UNBRANDED,
SPECIES_IPC_XION,
SPECIES_IPC_ZENGHU,
SPECIES_DIONA,
SPECIES_DIONA_COEUS,
SPECIES_SKRELL,
SPECIES_SKRELL_AXIORI,
SPECIES_UNATHI,
SPECIES_VAURCA_WORKER,
SPECIES_VAURCA_WARRIOR,
SPECIES_VAURCA_ATTENDANT,
SPECIES_VAURCA_BULWARK,
SPECIES_VAURCA_BREEDER,
SPECIES_TAJARA_ZHAN
)
)
@@ -255,7 +343,6 @@
head = /obj/item/clothing/head/tajaran/consular/nka
backpack_contents = list(
/obj/item/folder/blue/nka = 1,
/obj/item/gun/projectile/revolver/adhomian = 1,
/obj/item/storage/box/nka_manifesto = 1,
/obj/item/storage/field_ration/nka = 1,
/obj/item/storage/box/syndie_kit/spy/hidden = 1
@@ -263,6 +350,7 @@
accessory = /obj/item/clothing/accessory/nka_pin
/obj/outfit/job/diplomatic_aide/nka
name = "NKA Diplomatic Aide"
glasses = null
uniform = /obj/item/clothing/under/tajaran/fancy
backpack_contents = list(
@@ -272,6 +360,13 @@
)
accessory = /obj/item/clothing/accessory/nka_pin
/obj/outfit/job/diplomatic_bodyguard/nka
name = "NKA Diplomatic Bodyguard"
uniform = /obj/item/clothing/under/tajaran/fancy/alt2
backpack_contents = list(
/obj/item/gun/projectile/revolver/adhomian = 1
)
/datum/citizenship/free_council
name = CITIZENSHIP_FREE_COUNCIL
description = "The Free Tajaran Council is the largest Tajaran community in Himeo. Its origins can be traced back to the First Revolution-era revolutionaries that fled Adhomai. Built upon \

View File

@@ -6,6 +6,7 @@
apocalyptic world war that nearly plunged the species into ruin, the Izweski Hegemony has rebounded and is currently working on making the Hegemony a galactic power."
consular_outfit = /obj/outfit/job/representative/consular/izweski
assistant_outfit = /obj/outfit/job/diplomatic_aide/izweski
bodyguard_outfit = /obj/outfit/job/diplomatic_bodyguard/izweski
job_species_blacklist = list(
"Consular Officer" = list(
@@ -46,6 +47,25 @@
SPECIES_TAJARA_MSAI,
SPECIES_TAJARA_ZHAN,
SPECIES_VAURCA_BREEDER
),
"Diplomatic Bodyguard" = list(
SPECIES_HUMAN,
SPECIES_HUMAN_OFFWORLD,
SPECIES_IPC,
SPECIES_IPC_BISHOP,
SPECIES_IPC_G1,
SPECIES_IPC_G2,
SPECIES_IPC_SHELL,
SPECIES_IPC_UNBRANDED,
SPECIES_IPC_XION,
SPECIES_IPC_ZENGHU,
SPECIES_SKRELL,
SPECIES_SKRELL_AXIORI,
SPECIES_TAJARA,
SPECIES_TAJARA_MSAI,
SPECIES_TAJARA_ZHAN,
SPECIES_VAURCA_BREEDER,
SPECIES_VAURCA_WORKER
)
)
@@ -97,16 +117,22 @@
H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/vaurca/filter(H), slot_wear_mask)
H.equip_to_slot_or_del(new /obj/item/clothing/suit/vaurca/breeder/klax(H), slot_wear_suit)
H.equip_to_slot_or_del(new /obj/item/storage/backpack/typec/klax(H), slot_back)
H.equip_to_slot_or_del(new /obj/item/gun/energy/vaurca/blaster(H), slot_belt) // Hegemony Ta Consulars get a Thermic Blaster.
else if(H.is_diona())
H.equip_or_collect(new /obj/item/device/uv_light(src), slot_in_backpack)
else
H.equip_to_slot_or_del(new /obj/item/clothing/accessory/poncho/unathimantle(H), slot_wear_suit)
H.equip_to_slot_or_del(new /obj/item/gun/energy/pistol/hegemony(H), slot_belt)
if(!visualsOnly)
addtimer(CALLBACK(src, .proc/send_representative_mission, H), 5 MINUTES)
return TRUE
/obj/outfit/job/diplomatic_aide/izweski
name = "Izweski Hegemony Diplomatic Aide"
uniform = /obj/item/clothing/under/unathi
suit = /obj/item/clothing/accessory/poncho/unathimantle
/obj/outfit/job/diplomatic_bodyguard/izweski
name = "Izweski Hegemony Diplomatic Bodyguard"
uniform = /obj/item/clothing/under/unathi
backpack_contents = list(
/obj/item/gun/energy/pistol/hegemony = 1
)

View File

@@ -6,6 +6,7 @@
Tau Ceti, this has lead to confrontations between them and other Hives arriving in the system. The Zo'ra are the most politically developed Hive, recently helping in the funding of \
the Tau Ceti Foreign Legion, and making active progress to spread their influence."
consular_outfit = /obj/outfit/job/representative/consular/zora
bodyguard_outfit = /obj/outfit/job/diplomatic_bodyguard/zora
linked_citizenship = CITIZENSHIP_BIESEL
job_species_blacklist = list(
@@ -33,7 +34,28 @@
SPECIES_VAURCA_ATTENDANT,
SPECIES_VAURCA_BULWARK
),
"Diplomatic Aide" = ALL_SPECIES
"Diplomatic Aide" = ALL_SPECIES,
"Diplomatic Bodyguard" = list(
SPECIES_HUMAN,
SPECIES_HUMAN_OFFWORLD,
SPECIES_IPC,
SPECIES_IPC_BISHOP,
SPECIES_IPC_G1,
SPECIES_IPC_G2,
SPECIES_IPC_SHELL,
SPECIES_IPC_UNBRANDED,
SPECIES_IPC_XION,
SPECIES_IPC_ZENGHU,
SPECIES_DIONA,
SPECIES_DIONA_COEUS,
SPECIES_SKRELL,
SPECIES_SKRELL_AXIORI,
SPECIES_TAJARA,
SPECIES_TAJARA_MSAI,
SPECIES_TAJARA_ZHAN,
SPECIES_UNATHI,
SPECIES_VAURCA_WORKER
)
)
/datum/citizenship/zora/get_objectives(mission_level, var/mob/living/carbon/human/H)
@@ -74,11 +96,14 @@
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/storage/backpack/typec(H), slot_back)
H.equip_to_slot_or_del(new /obj/item/storage/box/tcaf_pamphlet(H), slot_in_backpack)
H.equip_to_slot_or_del(new /obj/item/gun/energy/vaurca/blaster(H), slot_belt)
if(!visualsOnly)
addtimer(CALLBACK(src, PROC_REF(send_representative_mission), H), 5 MINUTES)
return TRUE
/obj/outfit/job/diplomatic_bodyguard/zora
name = "Zo'ra Diplomatic Bodyguard"
backpack_contents = list(/obj/item/gun/energy/vaurca/blaster = 1)
/datum/citizenship/klax
name = CITIZENSHIP_KLAX
description = "The second Hive discovered by humanity, Hiveship, Klo'zxera, appeared in the Skrellian system of Glorashi. \
@@ -87,6 +112,7 @@
They maintain subtly warm, if terse relations with the Hegemony as a whole, and have committed to its terraforming agenda, being instrumental in the implementation of such a monumental undertaking. \
The K'lax are the most technologically developed Hive, and are leading the way in reconstructing the species' superior technology."
consular_outfit = /obj/outfit/job/representative/consular/klax
bodyguard_outfit = /obj/outfit/job/diplomatic_bodyguard/klax
linked_citizenship = CITIZENSHIP_IZWESKI
job_species_blacklist = list(
@@ -113,9 +139,30 @@
SPECIES_VAURCA_ATTENDANT,
SPECIES_VAURCA_BULWARK
),
"Diplomatic Aide" = ALL_SPECIES
"Diplomatic Aide" = ALL_SPECIES,
"Diplomatic Bodyguard" = list(
SPECIES_HUMAN,
SPECIES_HUMAN_OFFWORLD,
SPECIES_IPC,
SPECIES_IPC_BISHOP,
SPECIES_IPC_G1,
SPECIES_IPC_G2,
SPECIES_IPC_SHELL,
SPECIES_IPC_UNBRANDED,
SPECIES_IPC_XION,
SPECIES_IPC_ZENGHU,
SPECIES_DIONA,
SPECIES_SKRELL,
SPECIES_SKRELL_AXIORI,
SPECIES_TAJARA,
SPECIES_TAJARA_MSAI,
SPECIES_TAJARA_ZHAN,
SPECIES_UNATHI,
SPECIES_VAURCA_WORKER
)
)
/datum/citizenship/klax/get_objectives(mission_level, var/mob/living/carbon/human/H)
var/rep_objectives
@@ -151,11 +198,14 @@
if(H)
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/storage/backpack/typec/klax(H), slot_back)
H.equip_to_slot_or_del(new /obj/item/gun/energy/vaurca/blaster(H), slot_belt)
if(!visualsOnly)
addtimer(CALLBACK(src, PROC_REF(send_representative_mission), H), 5 MINUTES)
return TRUE
/obj/outfit/job/diplomatic_bodyguard/klax
name = "K'lax Diplomatic Bodyguard"
backpack_contents = list(/obj/item/gun/energy/vaurca/blaster = 1)
/datum/citizenship/cthur
name = CITIZENSHIP_CTHUR
description = "They are the third Hive that has developed relationships with other sophonts of the Orion Spur. \
@@ -164,6 +214,7 @@
In this effort, the Hive has begun dealing with the multitude of governments and corporations of the galaxy, all under the auspices of their Skrellian saviors. \
The C'thur are the most economically developed Hive, having stakes in Einstein Engines and Zeng-Hu Pharmaceuticals."
consular_outfit = /obj/outfit/job/representative/consular/cthur
bodyguard_outfit = /obj/outfit/job/diplomatic_bodyguard/cthur
linked_citizenship = CITIZENSHIP_NRALAKK
job_species_blacklist = list(
@@ -190,7 +241,27 @@
SPECIES_VAURCA_ATTENDANT,
SPECIES_VAURCA_BULWARK
),
"Diplomatic Aide" = ALL_SPECIES
"Diplomatic Aide" = ALL_SPECIES,
"Diplomatic Bodyguard" = list(
SPECIES_HUMAN,
SPECIES_HUMAN_OFFWORLD,
SPECIES_IPC,
SPECIES_IPC_BISHOP,
SPECIES_IPC_G1,
SPECIES_IPC_G2,
SPECIES_IPC_SHELL,
SPECIES_IPC_UNBRANDED,
SPECIES_IPC_XION,
SPECIES_IPC_ZENGHU,
SPECIES_DIONA,
SPECIES_SKRELL,
SPECIES_SKRELL_AXIORI,
SPECIES_TAJARA,
SPECIES_TAJARA_MSAI,
SPECIES_TAJARA_ZHAN,
SPECIES_UNATHI,
SPECIES_VAURCA_WORKER
)
)
/datum/citizenship/cthur/get_objectives(mission_level, var/mob/living/carbon/human/H)
@@ -229,11 +300,14 @@
if(H)
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/storage/backpack/typec/cthur(H), slot_back)
H.equip_to_slot_or_del(new /obj/item/gun/energy/vaurca/blaster(H), slot_belt)
if(!visualsOnly)
addtimer(CALLBACK(src, PROC_REF(send_representative_mission), H), 5 MINUTES)
return TRUE
/obj/outfit/job/diplomatic_bodyguard/cthur
name = "C'thur Diplomatic Bodyguard"
backpack_contents = list(/obj/item/gun/energy/vaurca/blaster = 1)
/datum/citizenship/liikenka
name = CITIZENSHIP_LIIKENKA
description = "A group of Punished C'thur residing in Phoenixport and on Mictlan, the majority of Lii'kenka opt to remain undercover as \

View File

@@ -0,0 +1,58 @@
################################
# Example Changelog File
#
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
#
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# - (fixes bugs)
# wip
# - (work in progress)
# qol
# - (quality of life)
# soundadd
# - (adds a sound)
# sounddel
# - (removes a sound)
# rscadd
# - (adds a feature)
# rscdel
# - (removes a feature)
# imageadd
# - (adds an image or sprite)
# imagedel
# - (removes an image or sprite)
# spellcheck
# - (fixes spelling or grammar)
# experiment
# - (experimental change)
# balance
# - (balance changes)
# code_imp
# - (misc internal code change)
# refactor
# - (refactors code)
# config
# - (makes a change to the config files)
# admin
# - (makes changes to administrator tools)
# server
# - (miscellaneous changes to server)
#################################
# Your name.
author: Greenjoe
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit.
# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog.
changes:
- rscadd: "Adds a diplomatic bodyguard role, which can be opened by a consular in the same way as the aide role. Consulars no longer have a pistol on them, with the bodyguard carrying it instead."