Skip to content

Commit

Permalink
1
Browse files Browse the repository at this point in the history
  • Loading branch information
AndroBetel committed Mar 6, 2024
1 parent bab7c3e commit ce60847
Show file tree
Hide file tree
Showing 24 changed files with 27,689 additions and 5 deletions.
8 changes: 8 additions & 0 deletions code/__DEFINES/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
#define SQUAD_SOF "SOF"
#define SQUAD_CBRN "CBRN"
#define SQUAD_UPP "Red Dawn"
#define SQUAD_LRRP "LRRP"

// Job name defines
#define JOB_SQUAD_MARINE "Rifleman"
Expand All @@ -32,6 +33,13 @@
#define JOB_SQUAD_SMARTGUN_UPP "UPP Machinegunner"
#define JOB_SO_UPP "UPP Platoon Commander"

#define JOB_SQUAD_TEAM_LEADER_FORECON "FORECON Assistant Squad Leader"
#define JOB_SQUAD_LEADER_FORECON "FORECON Squad Leader"
#define JOB_SQUAD_MEDIC_FORECON "FORECON Squad Corpsman"
#define JOB_SQUAD_RTO "Radio Telephone Operator"
#define JOB_SQUAD_MARINE_FORECON "FORECON Rifleman"
#define JOB_SQUAD_SMARTGUN_FORECON "FORECON Smartgunner"

var/global/list/job_squad_roles = JOB_SQUAD_ROLES_LIST

#define JOB_COLONIST "Colonist"
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/mode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@ var/global/list/ROLES_FACTION_CLASH = ROLES_USCM + JOB_PREDATOR
var/global/list/ROLES_UNASSIGNED = list(JOB_SQUAD_MARINE)
var/global/list/ROLES_AI = list(JOB_SO, JOB_SQUAD_LEADER, JOB_SQUAD_MEDIC, JOB_SQUAD_TEAM_LEADER, JOB_SQUAD_SMARTGUN, JOB_SQUAD_MARINE)
var/global/list/ROLES_AI_UPP = list(JOB_SO_UPP, JOB_SQUAD_LEADER_UPP, JOB_SQUAD_MEDIC_UPP, JOB_SQUAD_TEAM_LEADER_UPP, JOB_SQUAD_SMARTGUN_UPP, JOB_SQUAD_MARINE_UPP)
var/global/list/ROLES_AI_FORECON = list(JOB_SQUAD_LEADER_FORECON, JOB_SQUAD_MEDIC_FORECON, JOB_SQUAD_TEAM_LEADER_FORECON, JOB_SQUAD_SMARTGUN_FORECON, JOB_SQUAD_MARINE_FORECON, JOB_SQUAD_RTO)
var/global/list/ROLES_WO = list(JOB_WO_CO, JOB_WO_XO, JOB_WO_CORPORATE_LIAISON, JOB_WO_SYNTH, JOB_WO_CHIEF_POLICE, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_WO_PILOT, JOB_WO_CHIEF_ENGINEER, JOB_WO_ORDNANCE_TECH, JOB_WO_CHIEF_REQUISITION, JOB_WO_REQUISITION, JOB_WO_CMO, JOB_WO_DOCTOR, JOB_WO_RESEARCHER, JOB_WO_SQUAD_MARINE, JOB_WO_SQUAD_MEDIC, JOB_WO_SQUAD_ENGINEER, JOB_WO_SQUAD_SMARTGUNNER, JOB_WO_SQUAD_SPECIALIST, JOB_WO_SQUAD_LEADER)
//Role lists used for switch() checks in show_blurb_uscm(). Cosmetic, determines ex. "Engineering, USS Almayer", "2nd Bat. 'Falling Falcons'" etc.
#define BLURB_USCM_COMBAT JOB_CO, JOB_XO, JOB_SO, JOB_WO_CO, JOB_WO_XO, JOB_WO_CHIEF_POLICE, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_SEA,\
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/shuttles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@
#define DROPSHIP_ALAMO "dropship_alamo"
#define DROPSHIP_NORMANDY "dropship_normandy"
#define DROPSHIP_UPP "dropship_upp"
#define DROPSHIP_CYCLON "dropship_cyclon"

#define ALMAYER_DROPSHIP_LZ1 "almayer-hangar-lz1"
#define ALMAYER_DROPSHIP_LZ2 "almayer-hangar-lz2"
Expand Down
1 change: 1 addition & 0 deletions code/datums/factions/uscm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
if(JOB_INTEL) marine_rk = "io"
if(JOB_DROPSHIP_CREW_CHIEF) marine_rk = "dcc"
if(JOB_CREWMAN) marine_rk = "tc"
if(JOB_SQUAD_RTO) marine_rk = "rto"
if(JOB_MARINE_RAIDER) marine_rk = "soc"
if(JOB_MARINE_RAIDER_SL) marine_rk = "soctl"
if(JOB_MARINE_RAIDER_CMD) marine_rk = "soccmd"
Expand Down
14 changes: 11 additions & 3 deletions code/game/gamemodes/colonialmarines/ai/colonialmarines_ai.dm
Original file line number Diff line number Diff line change
Expand Up @@ -82,12 +82,20 @@ GLOBAL_LIST_INIT(platoon_to_jobs, list(/datum/squad/marine/alpha = list(/datum/j
/datum/job/marine/medic/ai = JOB_SQUAD_MEDIC,\
/datum/job/marine/tl/ai = JOB_SQUAD_TEAM_LEADER,
/datum/job/marine/smartgunner/ai = JOB_SQUAD_SMARTGUN,\
/datum/job/marine/standard/ai = JOB_SQUAD_MARINE), /datum/squad/marine/upp = list(/datum/job/command/bridge/ai/upp = JOB_SO,\
/datum/job/marine/standard/ai = JOB_SQUAD_MARINE), \
/datum/squad/marine/upp = list(/datum/job/command/bridge/ai/upp = JOB_SO,\
/datum/job/marine/leader/ai/upp = JOB_SQUAD_LEADER,\
/datum/job/marine/medic/ai/upp = JOB_SQUAD_MEDIC,\
/datum/job/marine/tl/ai/upp = JOB_SQUAD_TEAM_LEADER,
/datum/job/marine/smartgunner/ai/upp = JOB_SQUAD_SMARTGUN,\
/datum/job/marine/standard/ai/upp = JOB_SQUAD_MARINE)))
/datum/job/marine/standard/ai/upp = JOB_SQUAD_MARINE),\
/datum/squad/marine/forecon = list(/datum/job/marine/standard/ai/forecon = JOB_SQUAD_MARINE,\
/datum/job/marine/standard/ai/rto = JOB_SQUAD_RTO,\
/datum/job/marine/leader/ai/forecon = JOB_SQUAD_LEADER,\
/datum/job/marine/medic/ai/forecon = JOB_SQUAD_MEDIC,\
/datum/job/marine/tl/ai/forecon = JOB_SQUAD_TEAM_LEADER,\
/datum/job/marine/smartgunner/ai/forecon = JOB_SQUAD_SMARTGUN)))

GLOBAL_LIST_INIT(platoon_to_role_list, list(/datum/squad/marine/alpha = ROLES_AI,\
/datum/squad/marine/upp = ROLES_AI_UPP))
/datum/squad/marine/upp = ROLES_AI_UPP,\
/datum/squad/marine/forecon = ROLES_AI_FORECON))
10 changes: 10 additions & 0 deletions code/game/jobs/job/marine/squad/leader.dm
Original file line number Diff line number Diff line change
Expand Up @@ -59,10 +59,20 @@ AddTimelock(/datum/job/marine/leader, list(
gear_preset = /datum/equipment_preset/uscm/leader/upp
gear_preset_secondary = /datum/equipment_preset/uscm/leader/upp/lesser_rank

/datum/job/marine/leader/ai/forecon
title = JOB_SQUAD_LEADER_FORECON
gear_preset = /datum/equipment_preset/uscm/leader/forecon
gear_preset_secondary = /datum/equipment_preset/uscm/leader/forecon

/obj/effect/landmark/start/marine/leader/upp
name = JOB_SQUAD_LEADER_UPP
squad = SQUAD_UPP
job = /datum/job/marine/leader/ai/upp

/obj/effect/landmark/start/marine/leader/forecon
name = JOB_SQUAD_LEADER_FORECON
squad = SQUAD_LRRP
job = /datum/job/marine/leader/ai/forecon

#undef SSGT_VARIANT
#undef GYSGT_VARIANT
10 changes: 10 additions & 0 deletions code/game/jobs/job/marine/squad/medic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -86,10 +86,20 @@ AddTimelock(/datum/job/marine/medic, list(
gear_preset = /datum/equipment_preset/uscm/medic/upp
gear_preset_secondary = /datum/equipment_preset/uscm/medic/upp/lesser_rank

/datum/job/marine/medic/ai/forecon
title = JOB_SQUAD_MEDIC_FORECON
gear_preset = /datum/equipment_preset/uscm/medic/forecon
gear_preset_secondary = /datum/equipment_preset/uscm/medic/forecon

/obj/effect/landmark/start/marine/medic/upp
name = JOB_SQUAD_MEDIC_UPP
squad = SQUAD_UPP
job = /datum/job/marine/medic/ai/upp

/obj/effect/landmark/start/marine/medic/forecon
name = JOB_SQUAD_MEDIC_FORECON
squad = SQUAD_LRRP
job = /datum/job/marine/medic/ai/forecon

#undef LCPL_VARIANT
#undef CPL_VARIANT
10 changes: 10 additions & 0 deletions code/game/jobs/job/marine/squad/smartgunner.dm
Original file line number Diff line number Diff line change
Expand Up @@ -81,10 +81,20 @@ AddTimelock(/datum/job/marine/smartgunner, list(
gear_preset = /datum/equipment_preset/uscm/sg/upp
gear_preset_secondary = /datum/equipment_preset/uscm/sg/upp/lesser_rank

/datum/job/marine/smartgunner/ai/forecon
title = JOB_SQUAD_SMARTGUN_FORECON
total_positions = 1
spawn_positions = 1

/obj/effect/landmark/start/marine/smartgunner/upp
name = JOB_SQUAD_SMARTGUN_UPP
job = JOB_SQUAD_SMARTGUN_UPP
squad = SQUAD_UPP

/obj/effect/landmark/start/marine/smartgunner/forecon
name = JOB_SQUAD_SMARTGUN_FORECON
job = JOB_SQUAD_SMARTGUN_FORECON
squad = SQUAD_LRRP

#undef LCPL_VARIANT
#undef CPL_VARIANT
22 changes: 22 additions & 0 deletions code/game/jobs/job/marine/squad/standard.dm
Original file line number Diff line number Diff line change
Expand Up @@ -63,10 +63,32 @@
gear_preset = /datum/equipment_preset/uscm/pfc/upp
gear_preset_secondary = /datum/equipment_preset/uscm/pfc/upp/lesser_rank

/datum/job/marine/standard/ai/forecon
title = JOB_SQUAD_MARINE_FORECON
total_positions = 2
spawn_positions = 2

/datum/job/marine/standard/ai/rto
total_positions = 1
spawn_positions = 1
title = JOB_SQUAD_RTO
gear_preset = /datum/equipment_preset/uscm/prf/rto
gear_preset_secondary = /datum/equipment_preset/uscm/prf/rto

/obj/effect/landmark/start/marine/upp
name = JOB_SQUAD_MARINE_UPP
squad = SQUAD_UPP
job = /datum/job/marine/standard/ai/upp

/obj/effect/landmark/start/marine/forecon
name = JOB_SQUAD_MARINE_FORECON
squad = SQUAD_LRRP
job = /datum/job/marine/standard/ai/forecon

/obj/effect/landmark/start/marine/rto
name = JOB_SQUAD_RTO
squad = SQUAD_LRRP
job = /datum/job/marine/standard/ai/rto

#undef PVT_VARIANT
#undef PFC_VARIANT
11 changes: 11 additions & 0 deletions code/game/jobs/job/marine/squad/tl.dm
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,20 @@ AddTimelock(/datum/job/marine/tl, list(
title = JOB_SQUAD_TEAM_LEADER_UPP
gear_preset = /datum/equipment_preset/uscm/tl/upp

/datum/job/marine/tl/ai/forecon
total_positions = 1
spawn_positions = 1
title = JOB_SQUAD_TEAM_LEADER_FORECON
gear_preset = /datum/equipment_preset/uscm/tl/forecon

/obj/effect/landmark/start/marine/tl/upp
name = JOB_SQUAD_TEAM_LEADER_UPP
squad = SQUAD_UPP
job = /datum/job/marine/tl/ai/upp

/obj/effect/landmark/start/marine/tl/forecon
name = JOB_SQUAD_TEAM_LEADER_FORECON
squad = SQUAD_LRRP
job = /datum/job/marine/tl/ai/forecon

#undef SGT_VARIANT
12 changes: 12 additions & 0 deletions code/game/jobs/job/marine/squads.dm
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,16 @@

RegisterSignal(SSdcs, COMSIG_GLOB_PLATOON_NAME_CHANGE, PROC_REF(rename_platoon))

/datum/squad/marine/forecon
name = SQUAD_LRRP
access = list(ACCESS_MARINE_ALPHA)
radio_freq = ALPHA_FREQ
use_stripe_overlay = FALSE
equipment_color = "#32CD32"
chat_color = "#32CD32"
minimap_color = "#32CD32"
usable = TRUE

/datum/squad/marine/bravo
name = SQUAD_MARINE_2
equipment_color = "#ffc32d"
Expand Down Expand Up @@ -551,6 +561,8 @@

if(GET_DEFAULT_ROLE(M.job) == JOB_SQUAD_LEADER) //field promoted SL don't count as real ones
num_leaders++
if(JOB_SQUAD_RTO)
assignment = JOB_SQUAD_RTO

if(JOB_MARINE_RAIDER)
assignment = JOB_MARINE_RAIDER
Expand Down
10 changes: 10 additions & 0 deletions code/game/jobs/role_authority.dm
Original file line number Diff line number Diff line change
Expand Up @@ -692,6 +692,16 @@ I hope it's easier to tell what the heck this proc is even doing, unlike previou
lowest = S
else if(S.num_smartgun < lowest.num_smartgun)
lowest = S

if(JOB_SQUAD_RTO)
for(var/datum/squad/S in mixed_squads)
if(S.usable && S.roundstart)
if(pref_squad_name && S.name == pref_squad_name)
S.put_marine_in_squad(H) //fav squad has a spot for us.
return

if(!lowest)
lowest = S
if(!lowest)
var/ranpick = rand(1,4)
lowest = mixed_squads[ranpick]
Expand Down
Loading

0 comments on commit ce60847

Please sign in to comment.