Skip to content

Commit

Permalink
Finishes #5128 (Paygrade defines) & Fixes Syndie ID (#5260)
Browse files Browse the repository at this point in the history
# About the pull request
As title. This PR continues my work from #5128 and adds the defines for
PMCs, Mercenaries, VAI and TWE.
I have also changed how the global lists for highcommand (both USCM and
WY) work and have made a new global list of all USCM officers to allow
for easy reference in #5202.
To do the above I have added a default_faction var on paygrades, along
with a variable to indicate if a paygrade refers to an "officer" or not,
and if the officer is a "flag" officer, for senior leadership.
I have also updated the Syndicate ID card to work properly.
<!-- Remove this text and explain what the purpose of your PR is.

Mention if you have tested your changes. If you changed a map, make sure
you used the mapmerge tool.
If this is an Issue Correction, you can type "Fixes Issue #169420" to
link the PR to the corresponding Issue number #169420.

Remember: something that is self-evident to you might not be to others.
Explain your rationale fully, even if you feel it goes without saying.
-->

# Explain why it's good for the game
# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>

Put screenshots and videos here with an empty line between the
screenshots and the `<details>` tags.

</details>


# Changelog
:cl:
add: Adds paygrade defines for PMCs, VAI, Mercenaries and TWE.
code: Adds code to populate reference lists for certain paygrades.
fix: Fixes PMC synth not using the correct grade.
add: Syndicate ID card repathed and works with paygrades.
/:cl:
  • Loading branch information
realforest2001 authored Jan 25, 2024
1 parent 65ac121 commit 7830684
Show file tree
Hide file tree
Showing 36 changed files with 426 additions and 233 deletions.
5 changes: 4 additions & 1 deletion code/__DEFINES/paygrade_defs/civilian.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand Down
45 changes: 45 additions & 0 deletions code/__DEFINES/paygrade_defs/mercs.dm
Original file line number Diff line number Diff line change
@@ -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"
6 changes: 6 additions & 0 deletions code/__DEFINES/paygrade_defs/paygrade.dm
Original file line number Diff line number Diff line change
@@ -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
38 changes: 38 additions & 0 deletions code/__DEFINES/paygrade_defs/twe.dm
Original file line number Diff line number Diff line change
@@ -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"
48 changes: 47 additions & 1 deletion code/__DEFINES/paygrade_defs/weyland.dm
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Paygrade shorthand defines, to allow clearer designation.

// Weyland Yutani
// Weyland Yutani Corporate
/// WYC1, Trainee
#define PAY_SHORT_WYC1 "WYC1"

Expand Down Expand Up @@ -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"
8 changes: 4 additions & 4 deletions code/datums/emergency_calls/mercs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)"
Expand All @@ -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)"
Expand All @@ -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."))
Expand Down
4 changes: 2 additions & 2 deletions code/datums/medal_awards.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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

Expand Down
3 changes: 3 additions & 0 deletions code/datums/paygrades/factions/other/civilian.dm
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
name = "Professor"
prefix = "Prof."
pay_multiplier = 1
officer_grade = GRADE_OFFICER

/datum/paygrade/civillian/representative
paygrade = PAY_SHORT_CREP
Expand All @@ -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
Expand All @@ -50,3 +52,4 @@
paygrade = PAY_SHORT_REBC
name = "Rebel Commander"
prefix = "CMDR."
officer_grade = GRADE_OFFICER
1 change: 1 addition & 0 deletions code/datums/paygrades/factions/other/cmb.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
25 changes: 13 additions & 12 deletions code/datums/paygrades/factions/other/contractors.dm
Original file line number Diff line number Diff line change
@@ -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
1 change: 1 addition & 0 deletions code/datums/paygrades/factions/other/dutch_dozen.dm
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,5 @@
name = "Major"
prefix = "LDR."
pay_multiplier = 9
officer_grade = GRADE_OFFICER

32 changes: 18 additions & 14 deletions code/datums/paygrades/factions/other/freelancer.dm
Original file line number Diff line number Diff line change
@@ -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
8 changes: 7 additions & 1 deletion code/datums/paygrades/factions/other/misc.dm
Original file line number Diff line number Diff line change
@@ -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
Expand Down
Loading

0 comments on commit 7830684

Please sign in to comment.