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

[Not meant for this codebase] Platoon updates #6539

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions code/__DEFINES/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@

// Job name defines
#define JOB_SQUAD_MARINE "Rifleman"
#define JOB_SQUAD_LEADER "Squad Leader"
#define JOB_SQUAD_LEADER "Platoon Sergeant"
#define JOB_SQUAD_TEAM_LEADER "Squad Leader"
#define JOB_SQUAD_ENGI "Combat Technician"
#define JOB_SQUAD_MEDIC "Hospital Corpsman"
#define JOB_SQUAD_SPECIALIST "Weapons Specialist"
#define JOB_SQUAD_TEAM_LEADER "Fireteam Leader"
#define JOB_SQUAD_SMARTGUN "Smartgunner"
#define JOB_SQUAD_ROLES /datum/timelock/squad
#define JOB_SQUAD_ROLES_LIST list(JOB_SQUAD_MARINE, JOB_SQUAD_LEADER, JOB_SQUAD_ENGI, JOB_SQUAD_MEDIC, JOB_SQUAD_SPECIALIST, JOB_SQUAD_SMARTGUN, JOB_SQUAD_TEAM_LEADER)
Expand Down Expand Up @@ -67,14 +67,14 @@ GLOBAL_LIST_INIT(job_squad_roles, JOB_SQUAD_ROLES_LIST)
#define JOB_SYNTH "Synthetic"
#define JOB_WORKING_JOE "Working Joe"

#define JOB_CO "Commanding Officer"
#define JOB_CO "Company Commander"
#define JOB_XO "Executive Officer"
#define JOB_SO "Staff Officer"
#define JOB_SO "Platoon Commander"
#define JOB_COMMAND_ROLES /datum/timelock/command
#define JOB_COMMAND_ROLES_LIST list(JOB_CO, JOB_XO, JOB_SO)
GLOBAL_LIST_INIT(job_command_roles, JOB_COMMAND_ROLES_LIST)

#define JOB_AUXILIARY_OFFICER "Auxiliary Support Officer"
#define JOB_AUXILIARY_OFFICER "Logistics Officer"
#define JOB_CAS_PILOT "Gunship Pilot"
#define JOB_DROPSHIP_PILOT "Dropship Pilot"
#define JOB_TANK_CREW "Tank Crew"
Expand Down
6 changes: 5 additions & 1 deletion code/__DEFINES/mode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,11 @@ GLOBAL_LIST_INIT(ROLES_XENO, list(JOB_XENOMORPH_QUEEN, JOB_XENOMORPH))
GLOBAL_LIST_INIT(ROLES_WHITELISTED, list(JOB_SYNTH_SURVIVOR, JOB_CO_SURVIVOR, JOB_PREDATOR))
GLOBAL_LIST_INIT(ROLES_SPECIAL, list(JOB_SURVIVOR))

GLOBAL_LIST_INIT(ROLES_USCM, ROLES_CIC + GLOB.ROLES_POLICE + GLOB.ROLES_AUXIL_SUPPORT + GLOB.ROLES_MISC + GLOB.ROLES_ENGINEERING + GLOB.ROLES_REQUISITION + GLOB.ROLES_MEDICAL + GLOB.ROLES_MARINES - ROLES_WO)
GLOBAL_LIST_INIT(ROLES_USCM, list(JOB_CO, JOB_XO, JOB_DROPSHIP_PILOT, JOB_INTEL, JOB_POLICE,
JOB_AUXILIARY_OFFICER, JOB_CARGO_TECH, JOB_MAINT_TECH, JOB_CMO, JOB_DOCTOR,
JOB_SO, JOB_SQUAD_LEADER, JOB_SQUAD_TEAM_LEADER, JOB_SQUAD_SMARTGUN, JOB_SQUAD_SPECIALIST, JOB_SQUAD_ENGI, JOB_SQUAD_MEDIC, JOB_SQUAD_MARINE))


GLOBAL_LIST_INIT(ROLES_GROUND, GLOB.ROLES_XENO + ROLES_SPECIAL + ROLES_WHITELISTED)

GLOBAL_LIST_INIT(ROLES_DISTRESS_SIGNAL, GLOB.ROLES_USCM + GLOB.ROLES_GROUND)
Expand Down
4 changes: 2 additions & 2 deletions code/game/jobs/job/command/auxiliary/cas_pilot.dm
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/datum/job/command/pilot/cas_pilot
title = JOB_CAS_PILOT
total_positions = 1
spawn_positions = 1
total_positions = 0
spawn_positions = 0
allow_additional = TRUE
scaled = TRUE
supervisors = "the auxiliary support officer"
Expand Down
6 changes: 2 additions & 4 deletions code/game/jobs/job/command/auxiliary/crew_chief.dm
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
/datum/job/command/crew_chief
title = JOB_DROPSHIP_CREW_CHIEF
total_positions = 2
spawn_positions = 2
allow_additional = TRUE
scaled = TRUE
total_positions = 0
spawn_positions = 0
supervisors = "the pilot officers"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/dcc
Expand Down
3 changes: 1 addition & 2 deletions code/game/jobs/job/command/cic/captain.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@
title = JOB_CO
supervisors = "USCM high command"
selection_class = "job_co"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT|ROLE_ADMIN_NOTIFY|ROLE_WHITELISTED
flags_whitelist = WHITELIST_COMMANDER
flags_startup_parameters = ROLE_ADD_TO_DEFAULT|ROLE_ADMIN_NOTIFY
gear_preset = /datum/equipment_preset/uscm_ship/commander

/datum/job/command/commander/New()
Expand Down
2 changes: 1 addition & 1 deletion code/game/jobs/job/command/cic/executive.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
gear_preset = /datum/equipment_preset/uscm_ship/xo

/datum/job/command/executive/generate_entry_message(mob/living/carbon/human/H)
entry_message_body = "<a href='[generate_wiki_link()]'>You are second in command aboard the [MAIN_SHIP_NAME],</a> and are in next in the chain of command after the Commanding Officer. Where applicable, you must abide by the <a href='[CONFIG_GET(string/wikiarticleurl)][URL_WIKI_CO_RULES]'>Commanding Officer Code of Conduct</a>. You may need to fill in for other duties if areas are understaffed, and you are given access to do so. Make the USCM proud!"
entry_message_body = "<a href='[generate_wiki_link()]'>You are second in command aboard the [MAIN_SHIP_NAME],</a> You are in charge of all shipside dealings, to let the commanding officer deal with the operation."
return ..()

/datum/job/command/executive/generate_entry_conditions(mob/living/M, whitelist_status)
Expand Down
20 changes: 1 addition & 19 deletions code/game/jobs/job/command/cic/staffofficer.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,9 @@
title = JOB_SO
total_positions = 4
spawn_positions = 4
allow_additional = 1
scaled = FALSE
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/so
entry_message_body = "<a href='"+WIKI_PLACEHOLDER+"'>Your job is to monitor the Marines, man the CIC, and listen to your superior officers.</a> You are in charge of logistics and the overwatch system. You are also in line to take command after other eligible superior commissioned officers."

/datum/job/command/bridge/set_spawn_positions(count)
spawn_positions = so_slot_formula(count)

/datum/job/command/bridge/get_total_positions(latejoin = 0)
var/positions = spawn_positions
if(latejoin)
positions = so_slot_formula(get_total_marines())
if(positions <= total_positions_so_far)
positions = total_positions_so_far
else
total_positions_so_far = positions
else
total_positions_so_far = positions
return positions

entry_message_body = "<a href='"+WIKI_PLACEHOLDER+"'>Your job is to command a platoon from the ground</a> You are in charge of executing the commanding officer's orders."

/datum/job/command/bridge/generate_entry_conditions(mob/living/M, whitelist_status)
. = ..()
Expand Down
2 changes: 2 additions & 0 deletions code/game/jobs/job/command/police/chief_police.dm
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
//Chief MP
/datum/job/command/warrant
title = JOB_CHIEF_POLICE
total_positions = 0
spawn_positions = 0
selection_class = "job_cmp"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/uscm_police/cmp
Expand Down
21 changes: 2 additions & 19 deletions code/game/jobs/job/command/police/police.dm
Original file line number Diff line number Diff line change
@@ -1,30 +1,13 @@
//Military Police
/datum/job/command/police
title = JOB_POLICE
total_positions = 5
spawn_positions = 5
allow_additional = 1
scaled = 1
total_positions = 2
spawn_positions = 2
selection_class = "job_mp"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/uscm_police/mp
entry_message_body = "<a href='"+WIKI_PLACEHOLDER+"'>You</a> are held by a higher standard and are required to obey not only the server rules but the <a href='"+LAW_PLACEHOLDER+"'>Marine Law</a>. Failure to do so may result in a job ban or server ban. Your primary job is to maintain peace and stability aboard the ship. Marines can get rowdy after a few weeks of cryosleep! In addition, you are tasked with the security of high-ranking personnel, including the command staff. Keep them safe!"

/datum/job/command/police/set_spawn_positions(count)
spawn_positions = mp_slot_formula(count)

/datum/job/command/police/get_total_positions(latejoin = 0)
var/positions = spawn_positions
if(latejoin)
positions = mp_slot_formula(get_total_marines())
if(positions <= total_positions_so_far)
positions = total_positions_so_far
else
total_positions_so_far = positions
else
total_positions_so_far = positions
return positions

AddTimelock(/datum/job/command/police, list(
JOB_SQUAD_ROLES = 10 HOURS
))
Expand Down
2 changes: 2 additions & 0 deletions code/game/jobs/job/command/police/warden.dm
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
// Warden
/datum/job/command/warden
title = JOB_WARDEN
total_positions = 0
spawn_positions = 0
selection_class = "job_mp"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
supervisors = "the Chief MP"
Expand Down
17 changes: 0 additions & 17 deletions code/game/jobs/job/logistics/cargo/cargo_tech.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,12 @@
title = JOB_CARGO_TECH
total_positions = 2
spawn_positions = 2
allow_additional = 1
scaled = 1
supervisors = "the requisitions officer"
selection_class = "job_ct"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/cargo
entry_message_body = "<a href='"+WIKI_PLACEHOLDER+"'>Your job</a> is to dispense supplies to the marines, including weapon attachments. Stay in your department when possible to ensure the marines have full access to the supplies they may require. Listen to the radio in case someone requests a supply drop via the overwatch system."

/datum/job/logistics/cargo/set_spawn_positions(count)
spawn_positions = ct_slot_formula(count)

/datum/job/logistics/cargo/get_total_positions(latejoin = 0)
var/positions = spawn_positions
if(latejoin)
positions = ct_slot_formula(get_total_marines())
if(positions <= total_positions_so_far)
positions = total_positions_so_far
else
total_positions_so_far = positions
else
total_positions_so_far = positions
return positions

/obj/effect/landmark/start/cargo
name = JOB_CARGO_TECH
icon_state = "ct_spawn"
Expand Down
2 changes: 2 additions & 0 deletions code/game/jobs/job/logistics/cargo/chief_req.dm
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
/datum/job/logistics/requisition
title = JOB_CHIEF_REQUISITION
total_positions = 0
spawn_positions = 0
selection_class = "job_qm"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/qm
Expand Down
4 changes: 2 additions & 2 deletions code/game/jobs/job/logistics/engi/maint_tech.dm
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/datum/job/logistics/maint
title = JOB_MAINT_TECH
total_positions = 3
spawn_positions = 3
total_positions = 2
spawn_positions = 2
supervisors = "the chief engineer"
selection_class = "job_ot"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
Expand Down
21 changes: 2 additions & 19 deletions code/game/jobs/job/logistics/engi/ordnance_tech.dm
Original file line number Diff line number Diff line change
@@ -1,31 +1,14 @@
//Ordnance Technician
/datum/job/logistics/otech
title = JOB_ORDNANCE_TECH
total_positions = 3
spawn_positions = 3
allow_additional = 1
scaled = 1
total_positions = 0
spawn_positions = 0
supervisors = "the chief engineer"
selection_class = "job_ot"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/ordn
entry_message_body = "<a href='"+WIKI_PLACEHOLDER+"'>Your job</a> is to maintain the integrity of the USCM weapons, munitions and equipment, including the orbital cannon. You can use the workshop in the portside hangar to construct new armaments for the marines. However you remain one of the more flexible roles on the ship and as such may receive other menial tasks from your superiors."

/datum/job/logistics/otech/set_spawn_positions(count)
spawn_positions = ot_slot_formula(count)

/datum/job/logistics/otech/get_total_positions(latejoin = 0)
var/positions = spawn_positions
if(latejoin)
positions = ot_slot_formula(get_total_marines())
if(positions <= total_positions_so_far)
positions = total_positions_so_far
else
total_positions_so_far = positions
else
total_positions_so_far = positions
return positions

AddTimelock(/datum/job/logistics/otech, list(
JOB_ENGINEER_ROLES = 1 HOURS
))
Expand Down
4 changes: 2 additions & 2 deletions code/game/jobs/job/marine/marine.dm
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
/datum/job/marine
supervisors = "the acting squad leader"
selection_class = "job_marine"
total_positions = 8
spawn_positions = 8
total_positions = 6
spawn_positions = 6
allow_additional = 1

/datum/job/marine/generate_entry_message(mob/living/carbon/human/current_human)
Expand Down
25 changes: 2 additions & 23 deletions code/game/jobs/job/marine/squad/engineer.dm
Original file line number Diff line number Diff line change
@@ -1,32 +1,11 @@
/datum/job/marine/engineer
title = JOB_SQUAD_ENGI
total_positions = 12
spawn_positions = 12
allow_additional = 1
total_positions = 6
spawn_positions = 6
flags_startup_parameters = ROLE_ADD_TO_DEFAULT|ROLE_ADD_TO_SQUAD
gear_preset = /datum/equipment_preset/uscm/engineer
entry_message_body = "You have the <a href='"+WIKI_PLACEHOLDER+"'>equipment and skill</a> to build fortifications, reroute power lines, and bunker down. Your squaddies will look to you when it comes to construction in the field of battle."

/datum/job/marine/engineer/set_spawn_positions(count)
for(var/datum/squad/sq in GLOB.RoleAuthority.squads)
if(sq)
sq.max_engineers = engi_slot_formula(count)

/datum/job/marine/engineer/get_total_positions(latejoin=0)
var/slots = engi_slot_formula(get_total_marines())

if(slots <= total_positions_so_far)
slots = total_positions_so_far
else
total_positions_so_far = slots

if(latejoin)
for(var/datum/squad/sq in GLOB.RoleAuthority.squads)
if(sq)
sq.max_engineers = slots

return (slots*4)

/datum/job/marine/engineer/whiskey
title = JOB_WO_SQUAD_ENGINEER
flags_startup_parameters = ROLE_ADD_TO_SQUAD
Expand Down
8 changes: 4 additions & 4 deletions code/game/jobs/job/marine/squad/leader.dm
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
/datum/job/marine/leader
title = JOB_SQUAD_LEADER
total_positions = 4
spawn_positions = 4
supervisors = "the acting commanding officer"
total_positions = 3
spawn_positions = 3
supervisors = "your platoon leader"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT|ROLE_ADD_TO_SQUAD
gear_preset = /datum/equipment_preset/uscm/leader
entry_message_body = "<a href='"+WIKI_PLACEHOLDER+"'>You are responsible for the men and women of your squad.</a> Make sure they are on task, working together, and communicating. You are also in charge of communicating with command and letting them know about the situation first hand. Keep out of harm's way."
entry_message_body = "<a href='"+WIKI_PLACEHOLDER+"'>You are responsible for the men and women of your platoon.</a> Make sure they are on task, working together, and communicating. You are also in charge of communicating with command and letting them know about the situation first hand. Keep out of harm's way."

/datum/job/marine/leader/whiskey
title = JOB_WO_SQUAD_LEADER
Expand Down
24 changes: 2 additions & 22 deletions code/game/jobs/job/marine/squad/medic.dm
Original file line number Diff line number Diff line change
@@ -1,31 +1,11 @@
/datum/job/marine/medic
title = JOB_SQUAD_MEDIC
total_positions = 16
spawn_positions = 16
allow_additional = 1
total_positions = 6
spawn_positions = 6
flags_startup_parameters = ROLE_ADD_TO_DEFAULT|ROLE_ADD_TO_SQUAD
gear_preset = /datum/equipment_preset/uscm/medic
entry_message_body = "<a href='"+WIKI_PLACEHOLDER+"'>You tend the wounds of your squad mates</a> and make sure they are healthy and active. You may not be a fully-fledged doctor, but you stand between life and death when it matters."

/datum/job/marine/medic/set_spawn_positions(count)
for(var/datum/squad/sq in GLOB.RoleAuthority.squads)
if(sq)
sq.max_medics = medic_slot_formula(count)

/datum/job/marine/medic/get_total_positions(latejoin=0)
var/slots = medic_slot_formula(get_total_marines())

if(slots <= total_positions_so_far)
slots = total_positions_so_far
else
total_positions_so_far = slots

if(latejoin)
for(var/datum/squad/sq in GLOB.RoleAuthority.squads)
if(sq)
sq.max_medics = slots

return (slots*4)

/datum/job/marine/medic/whiskey
title = JOB_WO_SQUAD_MEDIC
Expand Down
21 changes: 2 additions & 19 deletions code/game/jobs/job/marine/squad/smartgunner.dm
Original file line number Diff line number Diff line change
@@ -1,28 +1,11 @@
/datum/job/marine/smartgunner
title = JOB_SQUAD_SMARTGUN
total_positions = 4
spawn_positions = 4
allow_additional = 1
scaled = 1
total_positions = 3
spawn_positions = 3
flags_startup_parameters = ROLE_ADD_TO_DEFAULT|ROLE_ADD_TO_SQUAD
gear_preset = /datum/equipment_preset/uscm/sg
entry_message_body = "<a href='"+WIKI_PLACEHOLDER+"'>You are the smartgunner.</a> Your task is to provide heavy weapons support."

/datum/job/marine/smartgunner/set_spawn_positions(count)
spawn_positions = sg_slot_formula(count)

/datum/job/marine/smartgunner/get_total_positions(latejoin = 0)
var/positions = spawn_positions
if(latejoin)
positions = sg_slot_formula(get_total_marines())
if(positions <= total_positions_so_far)
positions = total_positions_so_far
else
total_positions_so_far = positions
else
total_positions_so_far = positions
return positions

/datum/job/marine/smartgunner/whiskey
title = JOB_WO_SQUAD_SMARTGUNNER
flags_startup_parameters = ROLE_ADD_TO_SQUAD
Expand Down
Loading
Loading