Skip to content

Commit

Permalink
UPP rank (#4380)
Browse files Browse the repository at this point in the history
# About the pull request

I filled this in bottom to top just read the explain why its good and
changelog it has literally everything

# Explain why it's good for the game

Presets to fill already existing ranks and complete the UPP officer
corps, no reason not to.
Kapitan serves as non-WLed XO, without the BE skill and tool, Maj-Kol
serve as CO ranks with possibility of including CO council status in UPP
CO roles, General roles for event purposes and the ranks already existed
in-code.

Conscript having its own rank being "conscript" makes it more of a meme
role, vast majority of UPP soldiers are conscripts lore-wise anyway so
doesn't make sense, making them E1 with standard soldiers being E2 makes
more sense and cleans up ranks a bit.

UPP rank code had multiple redundant ranks, O1 and O1M for the same
rank, but just doctors and normal LTs, no actual mechanical difference,
same with E3S and E3M, sapper and medic, acted the exact same ingame but
separated ranks for no reason and makes potentially adding new roles a
bit harder.

# Changelog
:cl:
add: Adds upp presets for the unused officer ranks, Kapitan, Lt Kolonel,
MajGen, LtGen, Gen, for use in admin events
add: Changes UPP conscript rank from weird conscript only rank to
Private, moves UPP soldier to PFC, removing the rank gap between soldier
and support
code: Cleans up UPP rank code by deleting redundant ranks
/:cl:
  • Loading branch information
CapCamIII committed Sep 26, 2023
1 parent b2f2eb6 commit 56fbf11
Show file tree
Hide file tree
Showing 6 changed files with 1,015 additions and 190 deletions.
4 changes: 4 additions & 0 deletions code/__DEFINES/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,11 @@ var/global/list/job_command_roles = JOB_COMMAND_ROLES_LIST
#define JOB_UPP_SRLT_OFFICER "UPP Senior Leytenant"
#define JOB_UPP_KPT_OFFICER "UPP Kapitan"
#define JOB_UPP_MAY_OFFICER "UPP Mayjor"
#define JOB_UPP_LTKOL_OFFICER "UPP Leytenant Kolonel"
#define JOB_UPP_KOL_OFFICER "UPP Kolonel"
#define JOB_UPP_MAY_GENERAL "UPP Mayjor General"
#define JOB_UPP_LT_GENERAL "UPP Leytenant General"
#define JOB_UPP_GENERAL "UPP Army General"

#define JOB_UPP_COMBAT_SYNTH "UPP Combat Synthetic"

Expand Down
14 changes: 12 additions & 2 deletions code/datums/factions/upp.dm
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,20 @@
hud_icon_state = "lt"
if(JOB_UPP_SRLT_OFFICER)
hud_icon_state = "slt"
if(JOB_UPP_KPT_OFFICER)
hud_icon_state = "xo"
if(JOB_UPP_MAY_OFFICER)
hud_icon_state = "may"
hud_icon_state = "co"
if(JOB_UPP_LTKOL_OFFICER)
hud_icon_state = "co"
if(JOB_UPP_KOL_OFFICER)
hud_icon_state = "kol"
hud_icon_state = "co"
if(JOB_UPP_MAY_GENERAL)
hud_icon_state = "co"
if(JOB_UPP_LT_GENERAL)
hud_icon_state = "co"
if(JOB_UPP_GENERAL)
hud_icon_state = "co"
if(JOB_UPP_COMBAT_SYNTH)
hud_icon_state = "synth"
if(JOB_UPP_COMMANDO)
Expand Down
59 changes: 24 additions & 35 deletions code/datums/paygrades/factions/upp/upp.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,11 @@
paygrade = "UE2"
name = "Private First Class"
prefix = "PFC."
pay_multiplier = 0.2

/datum/paygrade/upp/ue3m
paygrade = "UE3M"
name = "Korporal Medic"
prefix = "Kpl."
pay_multiplier = 0.3

/datum/paygrade/upp/ue3s
paygrade = "UE3S"
name = "Korporal Sapper"
/datum/paygrade/upp/ue3
paygrade = "UE3"
name = "Korporal"
prefix = "Kpl."
pay_multiplier = 0.3

Expand Down Expand Up @@ -75,56 +70,50 @@
prefix = "Lt."
pay_multiplier = 1.25

/datum/paygrade/upp/uo1m
paygrade = "UO1M"
name = "Leytenant Medic"
prefix = "Lt. Med."
pay_multiplier = 1.25

/datum/paygrade/upp/uo1e
paygrade = "UO1E"
/datum/paygrade/upp/uo2
paygrade = "UO2"
name = "Senior Leytenant"
prefix = "Sr. LT."
pay_multiplier = 1.5


/datum/paygrade/upp/uo2
paygrade = "UO2"
/datum/paygrade/upp/uo3
paygrade = "UO3"
name = "Kapitan"
prefix = "Kpt."
pay_multiplier = 2

/datum/paygrade/upp/uo3
paygrade = "UO3"
/datum/paygrade/upp/uo4
paygrade = "UO4"
name = "Mayjor."
prefix = "May."
pay_multiplier = 2.5

/datum/paygrade/upp/uo4
paygrade = "UO4"
/datum/paygrade/upp/uo5
paygrade = "UO5"
name = "Leytenant Kolonel"
prefix = "Lt. Kol."
pay_multiplier = 3

/datum/paygrade/upp/uo5
paygrade = "UO5"
/datum/paygrade/upp/uo6
paygrade = "UO6"
name = "Kolonel"
prefix = "Kol."
pay_multiplier = 4

/datum/paygrade/upp/uo6
paygrade = "UO6"
/datum/paygrade/upp/uo7
paygrade = "UO7"
name = "Mayjor General"
prefix = "MayGen."
prefix = "May. Gen."
pay_multiplier = 5

/datum/paygrade/upp/uo7
paygrade = "UO7"
/datum/paygrade/upp/uo8
paygrade = "UO8"
name = "Leytenant General"
prefix = "LtGen."
prefix = "Lt. Gen."
pay_multiplier = 6

/datum/paygrade/upp/uo8
paygrade = "UO8"
/datum/paygrade/upp/uo9
paygrade = "UO9"
name = "Army General"
prefix = "ArmGen."
prefix = "Gen."
pay_multiplier = 7
17 changes: 17 additions & 0 deletions code/datums/skills.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1314,6 +1314,23 @@ UNITED PROGRESSIVE PEOPLES
SKILL_JTAC = SKILL_JTAC_EXPERT,
)

/datum/skills/upp/kapitan
name = "UPP Kapitan"
skills = list(
SKILL_CQC = SKILL_CQC_SKILLED,
SKILL_POLICE = SKILL_POLICE_SKILLED,
SKILL_FIREMAN = SKILL_FIREMAN_EXPERT,
SKILL_LEADERSHIP = SKILL_LEAD_MASTER,
SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED,
SKILL_ENDURANCE = SKILL_ENDURANCE_MASTER,
SKILL_ENGINEER = SKILL_ENGINEER_ENGI,
SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI,
SKILL_MEDICAL = SKILL_MEDICAL_MEDIC,
SKILL_FIREARMS = SKILL_FIREARMS_EXPERT,
SKILL_VEHICLE = SKILL_VEHICLE_SMALL,
SKILL_JTAC = SKILL_JTAC_EXPERT,
)

/datum/skills/upp/commander
name = "UPP Command Officer"
skills = list(
Expand Down
Loading

0 comments on commit 56fbf11

Please sign in to comment.