diff --git a/code/__DEFINES/jobs.dm b/code/__DEFINES/jobs.dm index 5b969dd6763..b9d48580b49 100644 --- a/code/__DEFINES/jobs.dm +++ b/code/__DEFINES/jobs.dm @@ -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) diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm index 9fef46478a2..329ce0540f9 100644 --- a/code/game/jobs/job/job.dm +++ b/code/game/jobs/job/job.dm @@ -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 diff --git a/code/game/jobs/job/outsider/representative.dm b/code/game/jobs/job/outsider/representative.dm index 39c8a76c272..092b85a4036 100644 --- a/code/game/jobs/job/outsider/representative.dm +++ b/code/game/jobs/job/outsider/representative.dm @@ -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" diff --git a/code/game/jobs/jobs.dm b/code/game/jobs/jobs.dm index 5beaf4791a8..c3ed6f2a775 100644 --- a/code/game/jobs/jobs.dm +++ b/code/game/jobs/jobs.dm @@ -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" ) diff --git a/code/modules/background/citizenship/citizenship.dm b/code/modules/background/citizenship/citizenship.dm index 4f872cdb3e4..2d167c59cda 100644 --- a/code/modules/background/citizenship/citizenship.dm +++ b/code/modules/background/citizenship/citizenship.dm @@ -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. diff --git a/code/modules/background/citizenship/dionae.dm b/code/modules/background/citizenship/dionae.dm index 0ebf13b39cd..cbb5e22376b 100644 --- a/code/modules/background/citizenship/dionae.dm +++ b/code/modules/background/citizenship/dionae.dm @@ -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) diff --git a/code/modules/background/citizenship/human.dm b/code/modules/background/citizenship/human.dm index 5bdc63042eb..4dd3a2c6d91 100644 --- a/code/modules/background/citizenship/human.dm +++ b/code/modules/background/citizenship/human.dm @@ -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 ) diff --git a/code/modules/background/citizenship/ipc.dm b/code/modules/background/citizenship/ipc.dm index 3cc1a157f72..71831743bb1 100644 --- a/code/modules/background/citizenship/ipc.dm +++ b/code/modules/background/citizenship/ipc.dm @@ -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 ) diff --git a/code/modules/background/citizenship/skrell.dm b/code/modules/background/citizenship/skrell.dm index 9df06613675..a6399342e12 100644 --- a/code/modules/background/citizenship/skrell.dm +++ b/code/modules/background/citizenship/skrell.dm @@ -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 diff --git a/code/modules/background/citizenship/tajara.dm b/code/modules/background/citizenship/tajara.dm index 544d1441c2c..a79494d444f 100644 --- a/code/modules/background/citizenship/tajara.dm +++ b/code/modules/background/citizenship/tajara.dm @@ -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 \ diff --git a/code/modules/background/citizenship/unathi.dm b/code/modules/background/citizenship/unathi.dm index 1fb72f11543..4adce8f0e99 100644 --- a/code/modules/background/citizenship/unathi.dm +++ b/code/modules/background/citizenship/unathi.dm @@ -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 + ) diff --git a/code/modules/background/citizenship/vaurca.dm b/code/modules/background/citizenship/vaurca.dm index 8a1e7f0be44..66e86c949c8 100644 --- a/code/modules/background/citizenship/vaurca.dm +++ b/code/modules/background/citizenship/vaurca.dm @@ -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 \ diff --git a/html/changelogs/greenjoe12345 - bodyguards.yml b/html/changelogs/greenjoe12345 - bodyguards.yml new file mode 100644 index 00000000000..6934faa4321 --- /dev/null +++ b/html/changelogs/greenjoe12345 - bodyguards.yml @@ -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."