Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provost Rankpansion #6982

Merged
merged 15 commits into from
Aug 23, 2024
6 changes: 5 additions & 1 deletion code/__DEFINES/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
9 changes: 9 additions & 0 deletions code/__DEFINES/paygrade_defs/provost.dm
Original file line number Diff line number Diff line change
@@ -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"

Expand Down
9 changes: 9 additions & 0 deletions code/datums/factions/uscm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
13 changes: 13 additions & 0 deletions code/datums/paygrades/factions/uscm/provost.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
8 changes: 8 additions & 0 deletions code/game/jobs/job/special/provost.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 4 additions & 0 deletions code/modules/clothing/head/head.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
5 changes: 5 additions & 0 deletions code/modules/clothing/suits/marine_coat.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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."
Expand Down
6 changes: 6 additions & 0 deletions code/modules/clothing/under/marine_uniform.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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."
Expand Down
6 changes: 4 additions & 2 deletions code/modules/cm_marines/marines_consoles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
55 changes: 53 additions & 2 deletions code/modules/gear_presets/uscm_event.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand All @@ -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

Expand Down Expand Up @@ -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
Expand Down
Binary file modified icons/mob/hud/marine_hud.dmi
Binary file not shown.
Binary file modified icons/mob/hud/sec_hud.dmi
Binary file not shown.
Binary file modified icons/mob/humans/onmob/head_1.dmi
Binary file not shown.
Binary file modified icons/mob/humans/onmob/suit_1.dmi
Binary file not shown.
Binary file modified icons/mob/humans/onmob/uniform_0.dmi
Binary file not shown.
Binary file modified icons/obj/items/clothing/cm_hats.dmi
Binary file not shown.
Binary file modified icons/obj/items/clothing/cm_suits.dmi
Binary file not shown.
Binary file modified icons/obj/items/clothing/uniforms.dmi
Binary file not shown.
Loading