diff --git a/code/__DEFINES/paygrade_defs/civilian.dm b/code/__DEFINES/paygrade_defs/civilian.dm index ed99a363dedd..ed25a3f50af5 100644 --- a/code/__DEFINES/paygrade_defs/civilian.dm +++ b/code/__DEFINES/paygrade_defs/civilian.dm @@ -19,9 +19,12 @@ /// SYN, Synthetic #define PAY_SHORT_SYN "SYN" -/// OPR, Operative +/// OPR, Operator #define PAY_SHORT_OPR "OPR" +/// CDNM, Operative (intended for codenamed people IE Operative Theta) +#define PAY_SHORT_CDNM "CDNM" + /// CPO, Officer #define PAY_SHORT_CPO "CPO" diff --git a/code/__DEFINES/paygrade_defs/mercs.dm b/code/__DEFINES/paygrade_defs/mercs.dm new file mode 100644 index 000000000000..4cad90496e24 --- /dev/null +++ b/code/__DEFINES/paygrade_defs/mercs.dm @@ -0,0 +1,45 @@ +// Paygrade shorthand defines, to allow clearer designation. + +// MERCENARIES +/// FL-S, Standard +#define PAY_SHORT_FL_S "FL-S" + +/// FL-M, Medic +#define PAY_SHORT_FL_M "FL-M" + +/// FL-WL, Warlord +#define PAY_SHORT_FL_WL "FL-WL" + +/// EFL-S, Elite Standard +#define PAY_SHORT_EFL_S "EFL-S" + +/// EFL-M, Elite Medic +#define PAY_SHORT_EFL_M "EFL-M" + +/// EFL-E, Elite Engineer +#define PAY_SHORT_EFL_E "EFL-E" + +/// EFL-H, Elite Heavy +#define PAY_SHORT_EFL_H "EFL-H" + +/// EFL-WL, Elite Warlord +#define PAY_SHORT_EFL_TL "EFL-TL" + +// VANGUARD'S ARROW INC +/// VAI-S, Standard +#define PAY_SHORT_VAI_S "VAI-S" + +/// VAI-M, Medic +#define PAY_SHORT_VAI_M "VAI-M" + +/// VAI-E, Engineer +#define PAY_SHORT_VAI_E "VAI-E" + +/// VAI-G, Machinegunner +#define PAY_SHORT_VAI_G "VAI-G" + +/// VAI-SN, Synthetic +#define PAY_SHORT_VAI_SN "VAI-SN" + +/// VAI-L, Team Leader +#define PAY_SHORT_VAI_L "VAI-L" diff --git a/code/__DEFINES/paygrade_defs/paygrade.dm b/code/__DEFINES/paygrade_defs/paygrade.dm new file mode 100644 index 000000000000..5bf9a58d7447 --- /dev/null +++ b/code/__DEFINES/paygrade_defs/paygrade.dm @@ -0,0 +1,6 @@ +/// Paygrade is equivalent to or is an enlisted position. +#define GRADE_ENLISTED 0 +/// Paygrade is equivalent to or is an officer. +#define GRADE_OFFICER 1 +/// Paygrade is for high command or senior leadership. Military flag officers. +#define GRADE_FLAG 2 diff --git a/code/__DEFINES/paygrade_defs/twe.dm b/code/__DEFINES/paygrade_defs/twe.dm new file mode 100644 index 000000000000..da1c6a5fa4fb --- /dev/null +++ b/code/__DEFINES/paygrade_defs/twe.dm @@ -0,0 +1,38 @@ +// Paygrade shorthand defines, to allow clearer designation. + +// THREE WORLD EMPIRE +/// RMC1, Heitai-Marine +#define PAY_SHORT_RMC1 "RMC1" + +/// RMC2, Santo-Lance Corporal +#define PAY_SHORT_RMC2 "RMC2" + +/// RMC3, Nito-Corporal +#define PAY_SHORT_RMC3 "RMC3" + +/// RMC4, Itto-Sergeant +#define PAY_SHORT_RMC4 "RMC4" + +/// RNOW, Warrant Officer +#define PAY_SHORT_RNOW "RNOW" + +/// RNO1, Second Lieutenant +#define PAY_SHORT_RNO1 "RNO1" + +/// RNO2, First Lieutenant +#define PAY_SHORT_RNO2 "RNO2" + +/// RNO3, Standing Officer +#define PAY_SHORT_RNO3 "RNO3" + +/// RNO4, Captain +#define PAY_SHORT_RNO4 "RNO4" + +/// RNO5, Admiral +#define PAY_SHORT_RNO5 "RNO5" + +/// RNO6, Grand Admiral +#define PAY_SHORT_RNO6 "RNO6" + +/// EMP, Emperor +#define PAY_SHORT_EMP "EMP" diff --git a/code/__DEFINES/paygrade_defs/weyland.dm b/code/__DEFINES/paygrade_defs/weyland.dm index 1b6c168e9b6e..dd65caa6db00 100644 --- a/code/__DEFINES/paygrade_defs/weyland.dm +++ b/code/__DEFINES/paygrade_defs/weyland.dm @@ -1,6 +1,6 @@ // Paygrade shorthand defines, to allow clearer designation. -// Weyland Yutani +// Weyland Yutani Corporate /// WYC1, Trainee #define PAY_SHORT_WYC1 "WYC1" @@ -30,3 +30,49 @@ /// WYC10, Director #define PAY_SHORT_WYC10 "WYC10" + +// Weyland Yutani Private Military +/// PMC-OP, Operator, standard PMC. +#define PAY_SHORT_PMC_OP "PMC-OP" + +/// PMC-EN, Enforcer +#define PAY_SHORT_PMC_EN "PMC-EN" + +/// PMC-SS, Support Specialist +#define PAY_SHORT_PMC_SS "PMC-SS" + +/// PMC-MS, Medical Specialist +#define PAY_SHORT_PMC_MS "PMC-MS" + +/// PMC-WS, Weapons Specialist +#define PAY_SHORT_PMC_WS "PMC-WS" + +/// PMC-VS, Vehicle Specialist +#define PAY_SHORT_PMC_VS "PMC-VS" + +/// PMC-XS, Xeno Specialist (Handler) +#define PAY_SHORT_PMC_XS "PMC-XS" + +/// PMC-TL, Team Leader +#define PAY_SHORT_PMC_TL "PMC-TL" + +/// PMC-DOC, Trauma Surgeon +#define PAY_SHORT_PMC_DOC "PMC-DOC" + +/// PMC-ENG, Technician +#define PAY_SHORT_PMC_TEC "PMC-TEC" + +/// PMC-ELR, Elite Responder +#define PAY_SHORT_PMC_ELR "PMC-ELR" + +/// PMC-ELM, Elite Medic +#define PAY_SHORT_PMC_ELM "PMC-ELM" + +/// PMC-ELG, Elite Gunner +#define PAY_SHORT_PMC_ELG "PMC-ELG" + +/// PMC-ETL, Elite Team Leader +#define PAY_SHORT_PMC_ETL "PMC-ETL" + +/// PMC-DIR, PMC Director +#define PAY_SHORT_PMC_DIR "PMC-DIR" diff --git a/code/datums/emergency_calls/mercs.dm b/code/datums/emergency_calls/mercs.dm index 67e09e8992f0..33a261a1da5e 100644 --- a/code/datums/emergency_calls/mercs.dm +++ b/code/datums/emergency_calls/mercs.dm @@ -13,9 +13,9 @@ hostility = pick(75;FALSE,25;TRUE) arrival_message = "[MAIN_SHIP_NAME], this is Freelancer shuttle [pick(GLOB.alphabet_lowercase)][pick(GLOB.alphabet_lowercase)]-[rand(1, 99)] responding to your distress call. Prepare for boarding." if(hostility) - objectives = "Ransack the [MAIN_SHIP_NAME] and kill anyone who gets in your way. Do what your Captain says. Ensure your survival at all costs." + objectives = "Ransack the [MAIN_SHIP_NAME] and kill anyone who gets in your way. Do what your Warlord says. Ensure your survival at all costs." else - objectives = "Help the crew of the [MAIN_SHIP_NAME] in exchange for payment, and choose your payment well. Do what your Captain says. Ensure your survival at all costs." + objectives = "Help the crew of the [MAIN_SHIP_NAME] in exchange for payment, and choose your payment well. Do what your Warlord says. Ensure your survival at all costs." /datum/emergency_call/mercs/friendly //if admins want to specifically call in friendly ones name = "Friendly Freelancers (Squad)" @@ -26,7 +26,7 @@ . = ..() hostility = FALSE arrival_message = "[MAIN_SHIP_NAME], this is Freelancer shuttle [pick(GLOB.alphabet_lowercase)][pick(GLOB.alphabet_lowercase)]-[rand(1, 99)] responding to your distress call. Prepare for boarding." - objectives = "Help the crew of the [MAIN_SHIP_NAME] in exchange for payment, and choose your payment well. Do what your Captain says. Ensure your survival at all costs." + objectives = "Help the crew of the [MAIN_SHIP_NAME] in exchange for payment, and choose your payment well. Do what your Warlord says. Ensure your survival at all costs." /datum/emergency_call/mercs/hostile //ditto name = "Hostile Freelancers (Squad)" @@ -37,7 +37,7 @@ . = ..() hostility = TRUE arrival_message = "[MAIN_SHIP_NAME], this is Freelancer shuttle [pick(GLOB.alphabet_lowercase)][pick(GLOB.alphabet_lowercase)]-[rand(1, 99)] responding to your distress call. Prepare for boarding." - objectives = "Ransack the [MAIN_SHIP_NAME] and kill anyone who gets in your way. Do what your Captain says. Ensure your survival at all costs." + objectives = "Ransack the [MAIN_SHIP_NAME] and kill anyone who gets in your way. Do what your Warlord says. Ensure your survival at all costs." /datum/emergency_call/mercs/print_backstory(mob/living/carbon/human/H) to_chat(H, SPAN_BOLD("You started off in the Neroid Sector as a colonist seeking work at one of the established colonies.")) diff --git a/code/datums/medal_awards.dm b/code/datums/medal_awards.dm index a3041c622bd6..818d623033d2 100644 --- a/code/datums/medal_awards.dm +++ b/code/datums/medal_awards.dm @@ -259,7 +259,7 @@ GLOBAL_LIST_INIT(human_medals, list(MARINE_CONDUCT_MEDAL, MARINE_BRONZE_HEART_ME to_chat(user, SPAN_WARNING("You must have an authenticated ID Card to award medals.")) return - if(!((card.paygrade in GLOB.co_paygrades) || (card.paygrade in GLOB.highcom_paygrades))) + if(!((card.paygrade in GLOB.co_paygrades) || (card.paygrade in GLOB.uscm_highcom_paygrades))) to_chat(user, SPAN_WARNING("Only a Senior Officer can award medals!")) return @@ -582,7 +582,7 @@ GLOBAL_DATUM_INIT(ic_medals_panel, /datum/ic_medal_panel, new) to_chat(user, SPAN_WARNING("You must have an authenticated ID Card to award medals.")) return - if(!((card.paygrade in GLOB.co_paygrades) || (card.paygrade in GLOB.highcom_paygrades))) + if(!((card.paygrade in GLOB.co_paygrades) || (card.paygrade in GLOB.uscm_highcom_paygrades))) to_chat(user, SPAN_WARNING("Only a Senior Officer can award medals!")) return diff --git a/code/datums/paygrades/factions/other/civilian.dm b/code/datums/paygrades/factions/other/civilian.dm index 6587a82a54d6..95213542f33b 100644 --- a/code/datums/paygrades/factions/other/civilian.dm +++ b/code/datums/paygrades/factions/other/civilian.dm @@ -23,6 +23,7 @@ name = "Professor" prefix = "Prof." pay_multiplier = 1 + officer_grade = GRADE_OFFICER /datum/paygrade/civillian/representative paygrade = PAY_SHORT_CREP @@ -41,6 +42,7 @@ name = "Senior Officer" prefix = "Sr. Off." pay_multiplier = 0.8 + officer_grade = GRADE_OFFICER /datum/paygrade/civilian/rebel paygrade = PAY_SHORT_REB @@ -50,3 +52,4 @@ paygrade = PAY_SHORT_REBC name = "Rebel Commander" prefix = "CMDR." + officer_grade = GRADE_OFFICER diff --git a/code/datums/paygrades/factions/other/cmb.dm b/code/datums/paygrades/factions/other/cmb.dm index eeeb061ea335..88af3f9ef78c 100644 --- a/code/datums/paygrades/factions/other/cmb.dm +++ b/code/datums/paygrades/factions/other/cmb.dm @@ -11,6 +11,7 @@ paygrade = PAY_SHORT_CMBM name = "CMB Marshal" prefix = "Marshal" + officer_grade = GRADE_OFFICER /datum/paygrade/cmb/syn paygrade = PAY_SHORT_CMBS diff --git a/code/datums/paygrades/factions/other/contractors.dm b/code/datums/paygrades/factions/other/contractors.dm index c83a5cb10870..a63e46bb47f2 100644 --- a/code/datums/paygrades/factions/other/contractors.dm +++ b/code/datums/paygrades/factions/other/contractors.dm @@ -1,38 +1,39 @@ /datum/paygrade/contractors name = "Contractor Paygrade" + fprefix = "VAI" pay_multiplier = 1.5 /datum/paygrade/contractors/standard - paygrade = "VAI" + paygrade = PAY_SHORT_VAI_S name = "VAI Mercenary" - prefix = "VAI" + prefix = "Merc." /datum/paygrade/contractors/med - paygrade = "VAI-M" + paygrade = PAY_SHORT_VAI_M name = "VAI Medical Specialist" - prefix = "VAI MED" + prefix = "Med." pay_multiplier = 1.75 /datum/paygrade/contractors/mg - paygrade = "VAI-G" + paygrade = PAY_SHORT_VAI_G name = "VAI Machinegunner" - prefix = "VAI MG" + prefix = "MG." pay_multiplier = 1.75 /datum/paygrade/contractors/engi - paygrade = "VAI-E" + paygrade = PAY_SHORT_VAI_E name = "VAI Engineering Specialist" - prefix = "VAI ENG" + prefix = "Eng." pay_multiplier = 1.75 /datum/paygrade/contractors/syn - paygrade = "VAI-S" + paygrade = PAY_SHORT_VAI_SN name = "VAI Synthetic" - prefix = "VAI Syn" pay_multiplier = 0 /datum/paygrade/contractors/lead - paygrade = "VAI-L" + paygrade = PAY_SHORT_VAI_L name = "VAI Team Leader" - prefix = "VAI TL" + prefix = "TL." pay_multiplier = 2.25 + officer_grade = GRADE_OFFICER diff --git a/code/datums/paygrades/factions/other/dutch_dozen.dm b/code/datums/paygrades/factions/other/dutch_dozen.dm index 8877bd11afbb..2927d6b80d29 100644 --- a/code/datums/paygrades/factions/other/dutch_dozen.dm +++ b/code/datums/paygrades/factions/other/dutch_dozen.dm @@ -30,4 +30,5 @@ name = "Major" prefix = "LDR." pay_multiplier = 9 + officer_grade = GRADE_OFFICER diff --git a/code/datums/paygrades/factions/other/freelancer.dm b/code/datums/paygrades/factions/other/freelancer.dm index 6de82b5bb344..2d7db7b0e042 100644 --- a/code/datums/paygrades/factions/other/freelancer.dm +++ b/code/datums/paygrades/factions/other/freelancer.dm @@ -1,49 +1,53 @@ /datum/paygrade/freelancer name = "Freelancer Paygrade" + fprefix = "Frl." pay_multiplier = 0.75 //these are shitty mercs. /datum/paygrade/freelancer/standard - paygrade = "Freelancer Standard" - name = "Freelancer Standard" + name = "Freelancer" + paygrade = PAY_SHORT_FL_S prefix = "Merc." /datum/paygrade/freelancer/medic - paygrade = "Freelancer Medic" name = "Freelancer Medic" + paygrade = PAY_SHORT_FL_M prefix = "Med." /datum/paygrade/freelancer/leader - paygrade = "Freelancer Leader" name = "Freelancer Leader" + paygrade = PAY_SHORT_FL_WL prefix = "Warlord" pay_multiplier = 1 + officer_grade = GRADE_OFFICER /datum/paygrade/freelancer/elite name = "Elite Freelancer Paygrade" + fprefix = "Elt." pay_multiplier = 1.25 /datum/paygrade/freelancer/elite/standard - paygrade = "Elite Freelancer Standard" - name = "Elite Freelancer Standard" - prefix = "MRC." + name = "Elite Freelancer" + paygrade = PAY_SHORT_EFL_S + prefix = "Merc." /datum/paygrade/freelancer/elite/heavy - paygrade = "Elite Freelancer Heavy" name = "Elite Freelancer Heavy" - prefix = "HVY." + paygrade = PAY_SHORT_EFL_H + prefix = "Hvy." /datum/paygrade/freelancer/elite/engineer - paygrade = "Elite Freelancer Engineer" name = "Elite Freelancer Engineer" - prefix = "ENGI." + paygrade = PAY_SHORT_EFL_E + prefix = "Eng." /datum/paygrade/freelancer/elite/medic - paygrade = "Elite Freelancer Medic" name = "Elite Freelancer Medic" - prefix = "MED." + paygrade = PAY_SHORT_EFL_M + prefix = "Med." /datum/paygrade/freelancer/elite/leader - paygrade = "Elite Freelancer Leader" name = "Elite Freelancer Leader" + paygrade = PAY_SHORT_EFL_TL prefix = "Warlord" pay_multiplier = 1.5 + officer_grade = GRADE_OFFICER diff --git a/code/datums/paygrades/factions/other/misc.dm b/code/datums/paygrades/factions/other/misc.dm index 04e522580b50..cc07e97b94da 100644 --- a/code/datums/paygrades/factions/other/misc.dm +++ b/code/datums/paygrades/factions/other/misc.dm @@ -1,8 +1,14 @@ /datum/paygrade/misc/operative - name = "Operative" + name = "Operator" + prefix = "OPR." paygrade = PAY_SHORT_OPR pay_multiplier = 1 //???? +/datum/paygrade/misc/codenamed + name = "Operative" + paygrade = PAY_SHORT_CDNM + pay_multiplier = 1 //???? + /datum/paygrade/misc/synth name = "Synthetic" paygrade = PAY_SHORT_SYN diff --git a/code/datums/paygrades/factions/twe/twe.dm b/code/datums/paygrades/factions/twe/twe.dm index 9707e89e6171..582030f9f80a 100644 --- a/code/datums/paygrades/factions/twe/twe.dm +++ b/code/datums/paygrades/factions/twe/twe.dm @@ -1,85 +1,86 @@ /datum/paygrade/twe name = "TWE Paygrade" pay_multiplier = 2 // less people = more to pay them + default_faction = FACTION_TWE //RMC Emlisted /datum/paygrade/twe/e1 - paygrade = "RMC E1" + paygrade = PAY_SHORT_RMC1 name = "Heitai-Marine" prefix = "Hti-Mne." /datum/paygrade/twe/e2 - paygrade = "RMC E2" + paygrade = PAY_SHORT_RMC2 name = "Santo-Lance Corporal" prefix = "St-LCpl." pay_multiplier = 2.1 /datum/paygrade/twe/e3 - paygrade = "RMC E3" + paygrade = PAY_SHORT_RMC3 name = "Nito-Corporal" prefix = "Nt-Cpl." pay_multiplier = 2.2 /datum/paygrade/twe/e4 - paygrade = "RMC E4" + paygrade = PAY_SHORT_RMC4 name = "Itto-Sergeant" prefix = "Sgt." pay_multiplier = 2.3 -//RMC Officer - -/datum/paygrade/twe/o1/rmc - paygrade = "RMC O1" - name = "Second Lieutenant" - prefix = "2nd LT." - pay_multiplier = 3 - //TWE Warrent Officer /datum/paygrade/twe/wo1 - paygrade = "TWE WO." + paygrade = PAY_SHORT_RNOW name = "Warrant Officer" prefix = "WO." pay_multiplier = 3.5 + officer_grade = GRADE_OFFICER //TWE Naval Officers /datum/paygrade/twe/o1 - paygrade = "TWE O1" + paygrade = PAY_SHORT_RNO1 name = "Second Lieutenant" prefix = "2nd LT" pay_multiplier = 3 + officer_grade = GRADE_OFFICER /datum/paygrade/twe/o2 - paygrade = "RMC O2" + paygrade = PAY_SHORT_RNO2 name = "First Lieutenant" prefix = "1st LT" pay_multiplier = 3.25 + officer_grade = GRADE_OFFICER /datum/paygrade/twe/o3 - paygrade = "TO3" - name = "Standing Officer" - prefix = "SO." + paygrade = PAY_SHORT_RNO3 + name = "Commander" + prefix = "Cdr." pay_multiplier = 3.5 + officer_grade = GRADE_OFFICER /datum/paygrade/twe/o4 - paygrade = "TO4" + paygrade = PAY_SHORT_RNO4 name = "Captain" prefix = "Cpt." pay_multiplier = 5 + officer_grade = GRADE_OFFICER /datum/paygrade/twe/o5 - paygrade = "TO5" + paygrade = PAY_SHORT_RNO5 name = "Admiral" - prefix = "ADM." + prefix = "Adm." pay_multiplier = 7 + officer_grade = GRADE_FLAG /datum/paygrade/twe/o6 - paygrade = "TO6" + paygrade = PAY_SHORT_RNO6 name = "Grand Admiral" - prefix = "GADM." + prefix = "GAdm." pay_multiplier = 9 + officer_grade = GRADE_FLAG /datum/paygrade/twe/o7 - paygrade = "TO7" + paygrade = PAY_SHORT_EMP name = "Emperor" - prefix = "ER." + prefix = "HRH." pay_multiplier = 1000 + officer_grade = GRADE_FLAG diff --git a/code/datums/paygrades/factions/upp/upp.dm b/code/datums/paygrades/factions/upp/upp.dm index 8670f99269dc..b9ce691fdb8d 100644 --- a/code/datums/paygrades/factions/upp/upp.dm +++ b/code/datums/paygrades/factions/upp/upp.dm @@ -1,6 +1,7 @@ /datum/paygrade/upp name = "UPP Paygrade" pay_multiplier = 0.1 //lol. lmao + default_faction = FACTION_UPP //UPP Enlisted @@ -56,12 +57,14 @@ name = "2nd Kommando" prefix = "2ndKdo." pay_multiplier = 2 + officer_grade = GRADE_OFFICER /datum/paygrade/upp/uc3 paygrade = PAY_SHORT_UC3 name = "1st Kommando" prefix = "1stKdo." pay_multiplier = 2.5 + officer_grade = GRADE_OFFICER //UPP Officers /datum/paygrade/upp/uo1 @@ -69,51 +72,60 @@ name = "Leytenant" prefix = "Lt." pay_multiplier = 1.25 + officer_grade = GRADE_OFFICER /datum/paygrade/upp/uo2 paygrade = PAY_SHORT_UO2 name = "Senior Leytenant" prefix = "Sr. LT." pay_multiplier = 1.5 + officer_grade = GRADE_OFFICER /datum/paygrade/upp/uo3 paygrade = PAY_SHORT_UO3 name = "Kapitan" prefix = "Kpt." pay_multiplier = 2 + officer_grade = GRADE_OFFICER /datum/paygrade/upp/uo4 paygrade = PAY_SHORT_UO4 name = "Mayjor" prefix = "May." pay_multiplier = 2.5 + officer_grade = GRADE_OFFICER /datum/paygrade/upp/uo5 paygrade = PAY_SHORT_UO5 name = "Leytenant Kolonel" prefix = "Lt. Kol." pay_multiplier = 3 + officer_grade = GRADE_OFFICER /datum/paygrade/upp/uo6 paygrade = PAY_SHORT_UO6 name = "Kolonel" prefix = "Kol." pay_multiplier = 4 + officer_grade = GRADE_OFFICER /datum/paygrade/upp/uo7 paygrade = PAY_SHORT_UO7 name = "Mayjor General" prefix = "May. Gen." pay_multiplier = 5 + officer_grade = GRADE_FLAG /datum/paygrade/upp/uo8 paygrade = PAY_SHORT_UO8 name = "Leytenant General" prefix = "Lt. Gen." pay_multiplier = 6 + officer_grade = GRADE_FLAG /datum/paygrade/upp/uo9 paygrade = PAY_SHORT_UO9 name = "Army General" prefix = "Gen." pay_multiplier = 7 + officer_grade = GRADE_FLAG diff --git a/code/datums/paygrades/factions/uscm/marine.dm b/code/datums/paygrades/factions/uscm/marine.dm index 7d315f364025..6a1446dd6b60 100644 --- a/code/datums/paygrades/factions/uscm/marine.dm +++ b/code/datums/paygrades/factions/uscm/marine.dm @@ -2,6 +2,7 @@ name = "Marine Paygrade" rank_pin = /obj/item/clothing/accessory/ranks/marine pay_multiplier = 1.6 + default_faction = FACTION_MARINE // ENLISTED PAYGRADES @@ -110,6 +111,7 @@ rank_pin = /obj/item/clothing/accessory/ranks/marine/o1 ranking = 12 pay_multiplier = 3 + officer_grade = GRADE_OFFICER /datum/paygrade/marine/o2 paygrade = PAY_SHORT_MO2 @@ -118,6 +120,7 @@ rank_pin = /obj/item/clothing/accessory/ranks/marine/o2 ranking = 13 pay_multiplier = 3.2 + officer_grade = GRADE_OFFICER /datum/paygrade/marine/o3 paygrade = PAY_SHORT_MO3 @@ -126,6 +129,7 @@ rank_pin = /obj/item/clothing/accessory/ranks/marine/o3 ranking = 14 pay_multiplier = 4 + officer_grade = GRADE_OFFICER /datum/paygrade/marine/o4 paygrade = PAY_SHORT_MO4 @@ -134,6 +138,7 @@ rank_pin = /obj/item/clothing/accessory/ranks/marine/o4 ranking = 15 pay_multiplier = 4 + officer_grade = GRADE_OFFICER /datum/paygrade/marine/o5 paygrade = PAY_SHORT_MO5 @@ -142,6 +147,7 @@ rank_pin = /obj/item/clothing/accessory/ranks/marine/o5 ranking = 16 pay_multiplier = 4.2 + officer_grade = GRADE_OFFICER //Platoon Commander /datum/paygrade/marine/o6 @@ -151,6 +157,7 @@ rank_pin = /obj/item/clothing/accessory/ranks/marine/o6 ranking = 17 pay_multiplier = 4.4 + officer_grade = GRADE_OFFICER /datum/paygrade/marine/o6e paygrade = PAY_SHORT_MO6E @@ -159,6 +166,7 @@ rank_pin = /obj/item/clothing/accessory/ranks/marine/o6e ranking = 18 pay_multiplier = 4.6 + officer_grade = GRADE_OFFICER /datum/paygrade/marine/o6c paygrade = PAY_SHORT_MO6C @@ -167,6 +175,7 @@ rank_pin = /obj/item/clothing/accessory/ranks/marine/o6c ranking = 19 pay_multiplier = 4.8 + officer_grade = GRADE_OFFICER //High Command /datum/paygrade/marine/o7 @@ -176,6 +185,7 @@ rank_pin = /obj/item/clothing/accessory/ranks/marine/o7 ranking = 20 pay_multiplier = 6 + officer_grade = GRADE_FLAG /datum/paygrade/marine/o8 paygrade = PAY_SHORT_MO8 @@ -184,6 +194,7 @@ rank_pin = /obj/item/clothing/accessory/ranks/marine/o8 ranking = 21 pay_multiplier = 6.2 + officer_grade = GRADE_FLAG /datum/paygrade/marine/o9 paygrade = PAY_SHORT_MO9 @@ -192,6 +203,7 @@ rank_pin = /obj/item/clothing/accessory/ranks/marine/o9 ranking = 22 pay_multiplier = 6.4 + officer_grade = GRADE_FLAG /datum/paygrade/marine/o10 paygrade = PAY_SHORT_MO10 @@ -200,6 +212,7 @@ rank_pin = /obj/item/clothing/accessory/ranks/marine/o10 ranking = 23 pay_multiplier = 6.6 + officer_grade = GRADE_FLAG /datum/paygrade/marine/o10c paygrade = PAY_SHORT_MO10C @@ -208,6 +221,7 @@ rank_pin = /obj/item/clothing/accessory/ranks/marine/o10c ranking = 24 pay_multiplier = 6.8 + officer_grade = GRADE_FLAG /datum/paygrade/marine/o10s paygrade = PAY_SHORT_MO10S @@ -216,3 +230,4 @@ rank_pin = /obj/item/clothing/accessory/ranks/marine/o10c ranking = 25 pay_multiplier = 7 + officer_grade = GRADE_FLAG diff --git a/code/datums/paygrades/factions/uscm/navy.dm b/code/datums/paygrades/factions/uscm/navy.dm index 9e22c72fe566..69fb63676bce 100644 --- a/code/datums/paygrades/factions/uscm/navy.dm +++ b/code/datums/paygrades/factions/uscm/navy.dm @@ -1,6 +1,7 @@ /datum/paygrade/navy name = "Navy Paygrade" rank_pin = /obj/item/clothing/accessory/ranks/navy + default_faction = FACTION_MARINE //someone else can do the multipliers for this one // ENLISTED PAYGRADES @@ -90,6 +91,7 @@ prefix = "ENS." rank_pin = /obj/item/clothing/accessory/ranks/navy/o1 ranking = 11 + officer_grade = GRADE_OFFICER /datum/paygrade/navy/o2 paygrade = PAY_SHORT_NO2 @@ -97,6 +99,7 @@ prefix = "LTJG." rank_pin = /obj/item/clothing/accessory/ranks/navy/o2 ranking = 12 + officer_grade = GRADE_OFFICER /datum/paygrade/navy/o3 paygrade = PAY_SHORT_NO3 @@ -104,6 +107,7 @@ prefix = "LT." rank_pin = /obj/item/clothing/accessory/ranks/navy/o3 ranking = 13 + officer_grade = GRADE_OFFICER /datum/paygrade/navy/o4 paygrade = PAY_SHORT_NO4 @@ -111,6 +115,7 @@ prefix = "LCDR." rank_pin = /obj/item/clothing/accessory/ranks/navy/o4 ranking = 14 + officer_grade = GRADE_OFFICER /datum/paygrade/navy/o5 paygrade = PAY_SHORT_NO5 @@ -118,6 +123,7 @@ prefix = "CDR." rank_pin = /obj/item/clothing/accessory/ranks/navy/o5 ranking = 15 + officer_grade = GRADE_OFFICER /datum/paygrade/navy/o6 paygrade = PAY_SHORT_NO6 @@ -125,6 +131,7 @@ prefix = "CAPT." rank_pin = /obj/item/clothing/accessory/ranks/navy/o6 ranking = 16 + officer_grade = GRADE_OFFICER /datum/paygrade/navy/o6e paygrade = PAY_SHORT_NO6E @@ -132,6 +139,7 @@ prefix = "CDRE." rank_pin = /obj/item/clothing/accessory/ranks/navy/o6e ranking = 17 + officer_grade = GRADE_OFFICER /datum/paygrade/navy/o6c paygrade = PAY_SHORT_NO6C @@ -139,6 +147,7 @@ prefix = "Snr CDRE." rank_pin = /obj/item/clothing/accessory/ranks/navy/o6e ranking = 18 + officer_grade = GRADE_OFFICER /datum/paygrade/navy/o7 paygrade = PAY_SHORT_NO7 @@ -146,6 +155,7 @@ prefix = "RDML." rank_pin = /obj/item/clothing/accessory/ranks/navy/o7 ranking = 19 + officer_grade = GRADE_FLAG /datum/paygrade/navy/o8 paygrade = PAY_SHORT_NO8 @@ -153,6 +163,7 @@ prefix = "RADM." rank_pin = /obj/item/clothing/accessory/ranks/navy/o8 ranking = 20 + officer_grade = GRADE_FLAG /datum/paygrade/navy/o9 paygrade = PAY_SHORT_NO9 @@ -160,6 +171,7 @@ prefix = "VADM." rank_pin = /obj/item/clothing/accessory/ranks/navy/o9 ranking = 21 + officer_grade = GRADE_FLAG /datum/paygrade/navy/o10 paygrade = PAY_SHORT_NO10 @@ -167,6 +179,7 @@ prefix = "ADM." rank_pin = /obj/item/clothing/accessory/ranks/navy/o10 ranking = 22 + officer_grade = GRADE_FLAG /datum/paygrade/navy/o10c paygrade = PAY_SHORT_NO10C @@ -174,3 +187,4 @@ prefix = "CNO." rank_pin = /obj/item/clothing/accessory/ranks/navy/o10c ranking = 23 + officer_grade = GRADE_FLAG diff --git a/code/datums/paygrades/factions/uscm/provost.dm b/code/datums/paygrades/factions/uscm/provost.dm index e378bd7beb61..c7e529d9fcb4 100644 --- a/code/datums/paygrades/factions/uscm/provost.dm +++ b/code/datums/paygrades/factions/uscm/provost.dm @@ -1,24 +1,29 @@ /datum/paygrade/provost name = "Provost Paygrade" pay_multiplier = 2 + default_faction = FACTION_MARINE /datum/paygrade/provost/inspector paygrade = PAY_SHORT_PVI name = "Provost Inspector" prefix = "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 paygrade = PAY_SHORT_PVM name = "Provost Marshal" prefix = "Marshal" + officer_grade = GRADE_FLAG /datum/paygrade/provost/sectormarshal paygrade = PAY_SHORT_PVSM name = "Provost Sector Marshal" prefix = "S. Marshal" + officer_grade = GRADE_FLAG /datum/paygrade/provost/chiefmarshal paygrade = PAY_SHORT_PVCM name = "Provost Chief Marshal" prefix = "Chief Marshal" + officer_grade = GRADE_FLAG diff --git a/code/datums/paygrades/factions/wy/pmc.dm b/code/datums/paygrades/factions/wy/pmc.dm index fc8e55f5eee2..b6acf2864578 100644 --- a/code/datums/paygrades/factions/wy/pmc.dm +++ b/code/datums/paygrades/factions/wy/pmc.dm @@ -2,96 +2,106 @@ name = "PMC Paygrade" fprefix = "PMC." pay_multiplier = 2.5 // they have money. but they sold their soul to the company. is it really worth it + default_faction = FACTION_PMC //Standard PMCs /datum/paygrade/pmc/standard - paygrade = "PMC-OP" + paygrade = PAY_SHORT_PMC_OP name = "Operator" prefix = "OPR." /datum/paygrade/pmc/enforcer - paygrade = "PMC-EN" + paygrade = PAY_SHORT_PMC_EN name = "Enforcer" prefix = "ENF." pay_multiplier = 2.6 //PMC Field Specialists /datum/paygrade/pmc/vehicle - paygrade = "PMC-VS" + paygrade = PAY_SHORT_PMC_VS name = "Vehicle Specialist" - prefix = "CRW." + prefix = "SPV." pay_multiplier = 2.8 /datum/paygrade/pmc/support - paygrade = "PMC-SS" + paygrade = PAY_SHORT_PMC_SS name = "Support Specialist" prefix = "SPS." pay_multiplier = 2.8 /datum/paygrade/pmc/medic - paygrade = "PMC-MS" + paygrade = PAY_SHORT_PMC_MS name = "Medical Specialist" prefix = "SPM." pay_multiplier = 2.8 /datum/paygrade/pmc/spec - paygrade = "PMC-WS" + paygrade = PAY_SHORT_PMC_WS name = "Weapon Specialist" prefix = "SPW." pay_multiplier = 3 /datum/paygrade/pmc/handler - paygrade = "PMC-XS" + paygrade = PAY_SHORT_PMC_XS name = "Xeno Specialist" prefix = "SPX." pay_multiplier = 4 + officer_grade = GRADE_OFFICER + +//PMC Support Staff +/datum/paygrade/pmc/doctor + paygrade = PAY_SHORT_PMC_DOC + name = "Trauma Surgeon" + prefix = "Dr." + pay_multiplier = 4 + officer_grade = GRADE_OFFICER + +/datum/paygrade/pmc/engineer + paygrade = PAY_SHORT_PMC_TEC + name = "Corporate Technician" + prefix = "TEC." + pay_multiplier = 4 //PMC Elite /datum/paygrade/pmc/elite - paygrade = "PMC-ELR" + paygrade = PAY_SHORT_PMC_ELR name = "Elite Responder" prefix = "ELR." pay_multiplier = 4 + officer_grade = GRADE_OFFICER /datum/paygrade/pmc/medic/elite - paygrade = "PMC-ELM" + paygrade = PAY_SHORT_PMC_ELM name = "Elite Medic" prefix = "ELM." pay_multiplier = 4.5 + officer_grade = GRADE_OFFICER /datum/paygrade/pmc/spec/elite - paygrade = "PMC-ELG" + paygrade = PAY_SHORT_PMC_ELG name = "Elite Gunner" prefix = "ELG." pay_multiplier = 5 + officer_grade = GRADE_OFFICER //PMC Command /datum/paygrade/pmc/teamlead - paygrade = "PMC-TL" + paygrade = PAY_SHORT_PMC_TL name = "Team Leader" prefix = "TML." pay_multiplier = 3.5 + officer_grade = GRADE_OFFICER /datum/paygrade/pmc/elitelead - paygrade = "PMC-ETL" + paygrade = PAY_SHORT_PMC_ETL name = "Elite Team Leader" prefix = "ETML." pay_multiplier = 5.5 - -/datum/paygrade/pmc/doctor - paygrade = "PMC-DOC" - name = "Trauma Surgeon" - prefix = "TRI." - pay_multiplier = 4 - -/datum/paygrade/pmc/engineer - paygrade = "PMC-TECH" - name = "Corporate Technician" - prefix = "TEC." - pay_multiplier = 4 + officer_grade = GRADE_OFFICER /datum/paygrade/pmc/director - paygrade = "PMC-DIR" + paygrade = PAY_SHORT_PMC_DIR name = "Site Director" prefix = "DIR." pay_multiplier = 10 //it's a corpo director. money is what they care about. + officer_grade = GRADE_FLAG diff --git a/code/datums/paygrades/factions/wy/wy.dm b/code/datums/paygrades/factions/wy/wy.dm index 58ec9eb3f197..b3ff70830603 100644 --- a/code/datums/paygrades/factions/wy/wy.dm +++ b/code/datums/paygrades/factions/wy/wy.dm @@ -1,6 +1,7 @@ /datum/paygrade/wy_ranks name = "WYC Paygrade" pay_multiplier = 1 + default_faction = FACTION_WEYLAND /datum/paygrade/wy_ranks/wyc1 paygrade = PAY_SHORT_WYC1 @@ -35,6 +36,7 @@ prefix = "Exec. Spc." ranking = 4 pay_multiplier = 5 + officer_grade = GRADE_OFFICER /datum/paygrade/wy_ranks/wyc6 paygrade = PAY_SHORT_WYC6 @@ -42,6 +44,7 @@ prefix = "Exec. Suvp." ranking = 5 pay_multiplier = 6 + officer_grade = GRADE_OFFICER /datum/paygrade/wy_ranks/wyc7 paygrade = PAY_SHORT_WYC7 @@ -49,6 +52,7 @@ prefix = "Assis. Mng." ranking = 6 pay_multiplier = 7 + officer_grade = GRADE_OFFICER /datum/paygrade/wy_ranks/wyc8 paygrade = PAY_SHORT_WYC8 @@ -56,6 +60,7 @@ prefix = "Div. Mng." ranking = 7 pay_multiplier = 8 + officer_grade = GRADE_FLAG /datum/paygrade/wy_ranks/wyc9 paygrade = PAY_SHORT_WYC9 @@ -63,6 +68,7 @@ prefix = "Chief. Exec." ranking = 8 pay_multiplier = 9 + officer_grade = GRADE_FLAG /datum/paygrade/wy_ranks/wyc10 paygrade = PAY_SHORT_WYC10 @@ -70,3 +76,4 @@ prefix = "Director" ranking = 9 pay_multiplier = 10 + officer_grade = GRADE_FLAG diff --git a/code/datums/paygrades/paygrade.dm b/code/datums/paygrades/paygrade.dm index cc336319278a..862dce0dfb0c 100644 --- a/code/datums/paygrades/paygrade.dm +++ b/code/datums/paygrades/paygrade.dm @@ -1,10 +1,13 @@ +GLOBAL_LIST_EMPTY(uscm_highcom_paygrades) +GLOBAL_LIST_EMPTY(uscm_officer_paygrades) +GLOBAL_LIST_EMPTY(wy_highcom_paygrades) GLOBAL_LIST_INIT_TYPED(paygrades, /datum/paygrade, setup_paygrades()) /datum/paygrade var/paygrade var/name var/prefix - ///Factional prefix, currently only used by PMCs. In essence, a pre-prefix. + /// Factional prefix, currently only used by PMCs. In essence, a pre-prefix. var/fprefix var/rank_pin @@ -13,33 +16,10 @@ GLOBAL_LIST_INIT_TYPED(paygrades, /datum/paygrade, setup_paygrades()) /// Actually gives you the fucking money from your paygrade in your ATM account. Multiplier of 1 equals PFC pay. var/pay_multiplier = 1 -/proc/setup_paygrades() - . = list() - for(var/I in subtypesof(/datum/paygrade)) - var/datum/paygrade/PG = I - var/pg_id = initial(PG.paygrade) - if(pg_id) - if(pg_id in .) - log_debug("Duplicate paygrade: '[pg_id]'.") - else - .[pg_id] = new PG - -GLOBAL_LIST_INIT(highcom_paygrades, list( - "PvI", - PAY_SHORT_NO7, - PAY_SHORT_MO7, - PAY_SHORT_NO8, - PAY_SHORT_MO8, - PAY_SHORT_NO9, - PAY_SHORT_MO9, - PAY_SHORT_NO10, - PAY_SHORT_MO10, - PAY_SHORT_NO10C, - PAY_SHORT_MO10C, - "PvO8", - "PvO9", - "PvCM" -)) + /// The faction this paygrade is usually assigned to. + var/default_faction + /// If the grade refers to an officer equivalent or not. + var/officer_grade = GRADE_ENLISTED GLOBAL_LIST_INIT(co_paygrades, list( PAY_SHORT_NO6, @@ -54,8 +34,24 @@ GLOBAL_LIST_INIT(co_paygrades, list( PAY_SHORT_MO4 )) -GLOBAL_LIST_INIT(wy_paygrades, list( - PAY_SHORT_WYC8, - PAY_SHORT_WYC9, - PAY_SHORT_WYC10 -)) +/datum/paygrade/New() + . = ..() + switch(default_faction) + if(FACTION_MARINE) + if(officer_grade) + GLOB.uscm_officer_paygrades += paygrade + if(officer_grade >= GRADE_FLAG) + GLOB.uscm_highcom_paygrades += paygrade + if(FACTION_WEYLAND,FACTION_PMC) + if(officer_grade >= GRADE_FLAG) + GLOB.wy_highcom_paygrades += paygrade + +/proc/setup_paygrades() + . = list() + for(var/datum/paygrade/PG as anything in subtypesof(/datum/paygrade)) + var/pg_id = initial(PG.paygrade) + if(pg_id) + if(pg_id in .) + log_debug("Duplicate paygrade: '[pg_id]'.") + else + .[pg_id] = new PG diff --git a/code/game/machinery/ARES/ARES_procs.dm b/code/game/machinery/ARES/ARES_procs.dm index ffcea5406856..8113614d9b92 100644 --- a/code/game/machinery/ARES/ARES_procs.dm +++ b/code/game/machinery/ARES/ARES_procs.dm @@ -179,9 +179,9 @@ GLOBAL_LIST_INIT(maintenance_categories, list( return ARES_ACCESS_CE if(JOB_SYNTH) return ARES_ACCESS_SYNTH - if(card.paygrade in GLOB.wy_paygrades) + if(card.paygrade in GLOB.wy_highcom_paygrades) return ARES_ACCESS_WY_COMMAND - if(card.paygrade in GLOB.highcom_paygrades) + if(card.paygrade in GLOB.uscm_highcom_paygrades) return ARES_ACCESS_HIGH if(card.paygrade in GLOB.co_paygrades) return ARES_ACCESS_CO diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 319a4c04e5d1..ef5ee7e859f5 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -436,7 +436,7 @@ What a mess.*/ temp += "" if("rank") //This was so silly before the change. Now it actually works without beating your head against the keyboard. /N - if (istype(active1, /datum/data/record) && GLOB.highcom_paygrades.Find(rank)) + if (istype(active1, /datum/data/record) && GLOB.uscm_highcom_paygrades.Find(rank)) temp = "
Occupation:
" temp += "