diff --git a/code/__DEFINES/job.dm b/code/__DEFINES/job.dm index 0ea0f5bd7fb7..c51bbba863e4 100644 --- a/code/__DEFINES/job.dm +++ b/code/__DEFINES/job.dm @@ -335,11 +335,15 @@ GLOBAL_LIST_INIT(job_command_roles, JOB_COMMAND_ROLES_LIST) #define JOB_PROVOST_TML "Provost Team Leader" #define JOB_PROVOST_ADVISOR "Provost Advisor" #define JOB_PROVOST_INSPECTOR "Provost Inspector" +#define JOB_PROVOST_CINSPECTOR "Provost Chief Inspector" +#define JOB_PROVOST_UNDERCOVER "Provost Undercover Inspector" + +#define JOB_PROVOST_DMARSHAL "Provost Deputy Marshal" #define JOB_PROVOST_MARSHAL "Provost Marshal" #define JOB_PROVOST_SMARSHAL "Provost Sector Marshal" #define JOB_PROVOST_CMARSHAL "Provost Chief Marshal" -#define PROVOST_JOB_LIST list(JOB_PROVOST_ENFORCER, JOB_PROVOST_TML, JOB_PROVOST_ADVISOR, JOB_PROVOST_INSPECTOR, JOB_PROVOST_MARSHAL, JOB_PROVOST_SMARSHAL, JOB_PROVOST_CMARSHAL) +#define PROVOST_JOB_LIST list(JOB_PROVOST_ENFORCER, JOB_PROVOST_TML, JOB_PROVOST_ADVISOR, JOB_PROVOST_INSPECTOR, JOB_PROVOST_CINSPECTOR, JOB_PROVOST_DMARSHAL, JOB_PROVOST_MARSHAL, JOB_PROVOST_SMARSHAL, JOB_PROVOST_CMARSHAL) #define JOB_RIOT "Riot Control" #define JOB_RIOT_CHIEF "Chief Riot Control" diff --git a/code/__DEFINES/paygrade_defs/provost.dm b/code/__DEFINES/paygrade_defs/provost.dm index 5b2121642d52..c85fabc27bfe 100644 --- a/code/__DEFINES/paygrade_defs/provost.dm +++ b/code/__DEFINES/paygrade_defs/provost.dm @@ -1,9 +1,18 @@ // Paygrade shorthand defines, to allow clearer designation. // PROVOST OFFICE +/// PvI, Provost Advisor +#define PAY_SHORT_PVA"PvA" + /// PvI, Provost Inspector #define PAY_SHORT_PVI "PvI" +/// PvCI, Provost Chief Inspector +#define PAY_SHORT_PVCI "PvCI" + +/// PvDM, Provost Deputy Marshal +#define PAY_SHORT_PVDM "PvDM" + /// PvM, Provost Marshal #define PAY_SHORT_PVM "PvM" diff --git a/code/datums/factions/uscm.dm b/code/datums/factions/uscm.dm index 0df37c2f0c3c..c7b582553495 100644 --- a/code/datums/factions/uscm.dm +++ b/code/datums/factions/uscm.dm @@ -145,9 +145,18 @@ if(JOB_PROVOST_INSPECTOR) marine_rk = "pvi" border_rk = "command" + if(JOB_PROVOST_UNDERCOVER) + marine_rk = "pvuc" + border_rk = "command" + if(JOB_PROVOST_CINSPECTOR) + marine_rk = "pvci" + border_rk = "command" if(JOB_PROVOST_ADVISOR) marine_rk = "pva" border_rk = "command" + if(JOB_PROVOST_DMARSHAL) + marine_rk = "pvdm" + border_rk = "command" if(JOB_PROVOST_MARSHAL, JOB_PROVOST_CMARSHAL, JOB_PROVOST_SMARSHAL) marine_rk = "pvm" border_rk = "command" diff --git a/code/datums/paygrades/factions/uscm/provost.dm b/code/datums/paygrades/factions/uscm/provost.dm index c7e529d9fcb4..a89e3b7fa588 100644 --- a/code/datums/paygrades/factions/uscm/provost.dm +++ b/code/datums/paygrades/factions/uscm/provost.dm @@ -10,6 +10,19 @@ rank_pin = /obj/item/clothing/accessory/ranks/special/insp officer_grade = GRADE_FLAG //Not really a flag officer, but they have special access to things for their job. +/datum/paygrade/provost/inspector/chief + paygrade = PAY_SHORT_PVCI + name = "Provost Chief Inspector" + prefix = "Chief Insp." + rank_pin = /obj/item/clothing/accessory/ranks/special/insp + officer_grade = GRADE_FLAG //Not really a flag officer, but they have special access to things for their job. + +/datum/paygrade/provost/marshal/deputy + paygrade = PAY_SHORT_PVDM + name = "Provost Deputy Marshal" + prefix = "Dep. Marshal" + officer_grade = GRADE_FLAG + /datum/paygrade/provost/marshal paygrade = PAY_SHORT_PVM name = "Provost Marshal" diff --git a/code/game/jobs/job/special/provost.dm b/code/game/jobs/job/special/provost.dm index c746e9f500b0..d5dd9dc3940f 100644 --- a/code/game/jobs/job/special/provost.dm +++ b/code/game/jobs/job/special/provost.dm @@ -14,6 +14,14 @@ /datum/job/special/provost/inspector title = JOB_PROVOST_INSPECTOR +//Provost Inspector +/datum/job/special/provost/inspector/chief + title = JOB_PROVOST_CINSPECTOR + +//Provost Marshal +/datum/job/special/provost/marshal/deputy + title = JOB_PROVOST_DMARSHAL + //Provost Marshal /datum/job/special/provost/marshal title = JOB_PROVOST_MARSHAL diff --git a/code/modules/clothing/head/head.dm b/code/modules/clothing/head/head.dm index a441256ae450..f9c8adbf9a77 100644 --- a/code/modules/clothing/head/head.dm +++ b/code/modules/clothing/head/head.dm @@ -489,6 +489,10 @@ icon_state = "coblackberet" desc = "A beret with the USCM Military Police insignia emblazoned on it." +/obj/item/clothing/head/beret/marine/mp/provost/chief + name = "\improper USCM provost command beret" + icon_state = "pvciberet" + /obj/item/clothing/head/beret/marine/mp/tis name = "\improper UAAC-TIS Special Agent Beret" icon_state = "berettis" diff --git a/code/modules/clothing/suits/marine_coat.dm b/code/modules/clothing/suits/marine_coat.dm index a69f0922bf5b..fc2a76698029 100644 --- a/code/modules/clothing/suits/marine_coat.dm +++ b/code/modules/clothing/suits/marine_coat.dm @@ -253,6 +253,11 @@ flags_atom = NO_SNOW_TYPE|NO_NAME_OVERRIDE valid_accessory_slots = list(ACCESSORY_SLOT_ARMBAND, ACCESSORY_SLOT_RANK, ACCESSORY_SLOT_DECOR) +/obj/item/clothing/suit/storage/jacket/marine/provost/chief + name = "\improper Provost Command Jacket" + desc = "A crisp jacket with the Provost sigil." + icon_state = "provostci_jacket" + /obj/item/clothing/suit/storage/jacket/marine/provost/coat name = "\improper Provost Coat" desc = "The crisp coat of a Provost Officer." diff --git a/code/modules/clothing/under/marine_uniform.dm b/code/modules/clothing/under/marine_uniform.dm index 52635c63600a..a9aec9544641 100644 --- a/code/modules/clothing/under/marine_uniform.dm +++ b/code/modules/clothing/under/marine_uniform.dm @@ -381,6 +381,12 @@ icon_state = "provost_tml" worn_state = "provost_tml" +/obj/item/clothing/under/marine/mp/provost/chief + name = "\improper Provost Command Uniform" + desc = "The crisp uniform of a commanding member of the Provost Office." + icon_state = "provost_ci" + worn_state = "provost_ci" + /obj/item/clothing/under/marine/mp/provost/marshal name = "\improper Provost Marshal Uniform" desc = "The crisp uniform of a Provost Marshal." diff --git a/code/modules/cm_marines/marines_consoles.dm b/code/modules/cm_marines/marines_consoles.dm index bd7becf8f63e..778f3f4f18bf 100644 --- a/code/modules/cm_marines/marines_consoles.dm +++ b/code/modules/cm_marines/marines_consoles.dm @@ -925,9 +925,11 @@ GLOBAL_LIST_EMPTY_TYPED(crewmonitor, /datum/crewmonitor) JOB_PROVOST_CMARSHAL = 00, JOB_GENERAL = 00, JOB_PROVOST_SMARSHAL = 01,//Grade O9 - JOB_PROVOST_MARSHAL = 02,//Grade O8 + JOB_PROVOST_MARSHAL = 02,//Grade O7 + JOB_PROVOST_DMARSHAL = 03,//Grade O6 JOB_COLONEL = 04,//Grade O6 - JOB_PROVOST_INSPECTOR = 04, + JOB_PROVOST_CINSPECTOR = 05, + JOB_PROVOST_INSPECTOR = 06, // 10-19: Command JOB_CO = 10, JOB_XO = 11, diff --git a/code/modules/gear_presets/uscm_event.dm b/code/modules/gear_presets/uscm_event.dm index 96ebb63d3089..9ef15ff955ae 100644 --- a/code/modules/gear_presets/uscm_event.dm +++ b/code/modules/gear_presets/uscm_event.dm @@ -328,6 +328,46 @@ new_human.equip_to_slot_or_del(new /obj/item/device/flash(new_human), WEAR_IN_JACKET) new_human.equip_to_slot_or_del(new /obj/item/restraint/handcuffs(new_human), WEAR_IN_JACKET) +/datum/equipment_preset/uscm_event/provost/inspector/chief + name = "Provost Chief Inspector" + + assignment = JOB_PROVOST_CINSPECTOR + rank = JOB_PROVOST_CINSPECTOR + paygrades = list(PAY_SHORT_PVCI = JOB_PLAYTIME_TIER_0) + role_comm_title = "PvCI" + flags = EQUIPMENT_PRESET_EXTRA + + dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer) + +/datum/equipment_preset/uscm_event/provost/inspector/chief/load_gear(mob/living/carbon/human/new_human) + var/back_item = /obj/item/storage/backpack/satchel/sec + if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1)) + back_item = /obj/item/storage/backpack/security + + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/provost(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/mp/provost/chief(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(new_human), WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88(new_human), WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/jacket/marine/provost/chief(new_human), WEAR_JACKET) + if(new_human.disabilities & NEARSIGHTED) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud/prescription(new_human), WEAR_EYES) + else + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(new_human), WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/marine/mp/provost/chief(new_human), WEAR_HEAD) + new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/taperecorder(new_human), WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large(new_human), WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/listening_bug/radio_linked/hc/pvst(new_human), WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/listening_bug/radio_linked/hc/pvst(new_human), WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/listening_bug/radio_linked/hc/pvst(new_human), WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/MP/provost/light/flexi(new_human.back), WEAR_IN_BACK) + + new_human.equip_to_slot_or_del(new /obj/item/device/flash(new_human), WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/restraint/handcuffs(new_human), WEAR_IN_JACKET) + /datum/equipment_preset/uscm_event/provost/inspector/advisor name = "Provost Advisor" @@ -337,8 +377,19 @@ role_comm_title = "PvA" flags = EQUIPMENT_PRESET_EXTRA +/datum/equipment_preset/uscm_event/provost/marshal/deputy + name = "Provost Deputy Marshal (MO6)" + minimum_age = 45 + skills = /datum/skills/general + + assignment = JOB_PROVOST_DMARSHAL + rank = JOB_PROVOST_DMARSHAL + paygrades = list(PAY_SHORT_PVDM = JOB_PLAYTIME_TIER_0) + role_comm_title = PAY_SHORT_PVDM + flags = EQUIPMENT_PRESET_EXTRA + /datum/equipment_preset/uscm_event/provost/marshal - name = "Provost Marshal (MO6)" + name = "Provost Marshal (MO7)" minimum_age = 45 skills = /datum/skills/general @@ -376,7 +427,7 @@ new_human.equip_to_slot_or_del(new /obj/item/handheld_distress_beacon/provost(new_human.back), WEAR_IN_BACK) /datum/equipment_preset/uscm_event/provost/marshal/sector - name = "Provost Sector Marshal (MO7)" + name = "Provost Sector Marshal (MO9)" minimum_age = 50 assignment = JOB_PROVOST_SMARSHAL diff --git a/icons/mob/hud/marine_hud.dmi b/icons/mob/hud/marine_hud.dmi index 7d19ff2d852f..8be1ae31ba68 100644 Binary files a/icons/mob/hud/marine_hud.dmi and b/icons/mob/hud/marine_hud.dmi differ diff --git a/icons/mob/hud/sec_hud.dmi b/icons/mob/hud/sec_hud.dmi index f0fb3b318d0a..493727afac1b 100644 Binary files a/icons/mob/hud/sec_hud.dmi and b/icons/mob/hud/sec_hud.dmi differ diff --git a/icons/mob/humans/onmob/head_1.dmi b/icons/mob/humans/onmob/head_1.dmi index 5b2cbecdff22..5ee07890f72a 100644 Binary files a/icons/mob/humans/onmob/head_1.dmi and b/icons/mob/humans/onmob/head_1.dmi differ diff --git a/icons/mob/humans/onmob/suit_1.dmi b/icons/mob/humans/onmob/suit_1.dmi index 65040e9eef4f..c028f6eae887 100644 Binary files a/icons/mob/humans/onmob/suit_1.dmi and b/icons/mob/humans/onmob/suit_1.dmi differ diff --git a/icons/mob/humans/onmob/uniform_0.dmi b/icons/mob/humans/onmob/uniform_0.dmi index c957814e9f3b..36551630209d 100644 Binary files a/icons/mob/humans/onmob/uniform_0.dmi and b/icons/mob/humans/onmob/uniform_0.dmi differ diff --git a/icons/obj/items/clothing/cm_hats.dmi b/icons/obj/items/clothing/cm_hats.dmi index 3c11412ee69c..4710917b0870 100644 Binary files a/icons/obj/items/clothing/cm_hats.dmi and b/icons/obj/items/clothing/cm_hats.dmi differ diff --git a/icons/obj/items/clothing/cm_suits.dmi b/icons/obj/items/clothing/cm_suits.dmi index 691059e9cf6d..67590892bf67 100644 Binary files a/icons/obj/items/clothing/cm_suits.dmi and b/icons/obj/items/clothing/cm_suits.dmi differ diff --git a/icons/obj/items/clothing/uniforms.dmi b/icons/obj/items/clothing/uniforms.dmi index d08183faf920..19a8671a4faf 100644 Binary files a/icons/obj/items/clothing/uniforms.dmi and b/icons/obj/items/clothing/uniforms.dmi differ