From f26aa1f5c569adbfd8ca02193debce12affcc1ab Mon Sep 17 00:00:00 2001 From: Kirie Saito <77302679+Kitsunemitsu@users.noreply.github.com> Date: Sat, 22 Jun 2024 23:45:55 -0400 Subject: [PATCH] platoon updates --- code/__DEFINES/job.dm | 10 +- code/__DEFINES/mode.dm | 6 +- .../jobs/job/command/auxiliary/cas_pilot.dm | 4 +- .../jobs/job/command/auxiliary/crew_chief.dm | 6 +- code/game/jobs/job/command/cic/captain.dm | 3 +- code/game/jobs/job/command/cic/executive.dm | 2 +- .../game/jobs/job/command/cic/staffofficer.dm | 20 +- .../jobs/job/command/police/chief_police.dm | 2 + code/game/jobs/job/command/police/police.dm | 21 +- code/game/jobs/job/command/police/warden.dm | 2 + .../jobs/job/logistics/cargo/cargo_tech.dm | 17 - .../jobs/job/logistics/cargo/chief_req.dm | 2 + .../jobs/job/logistics/engi/maint_tech.dm | 4 +- .../jobs/job/logistics/engi/ordnance_tech.dm | 21 +- code/game/jobs/job/marine/marine.dm | 4 +- code/game/jobs/job/marine/squad/engineer.dm | 25 +- code/game/jobs/job/marine/squad/leader.dm | 8 +- code/game/jobs/job/marine/squad/medic.dm | 24 +- .../game/jobs/job/marine/squad/smartgunner.dm | 21 +- code/game/jobs/job/marine/squad/specialist.dm | 21 +- code/game/jobs/job/marine/squad/standard.dm | 7 - code/game/jobs/job/marine/squad/tl.dm | 6 +- code/game/jobs/job/marine/squads.dm | 47 +- code/game/jobs/role_authority.dm | 2 +- .../vendor_types/squad_prep/squad_tl.dm | 2 +- .../objects/items/devices/radio/headset.dm | 9 + code/modules/gear_presets/uscm.dm | 32 +- code/modules/gear_presets/uscm_ship.dm | 16 +- code/modules/tents/folded_tents.dm | 18 + code/modules/tents/templates.dm | 12 + icons/mob/hud/marine_hud.dmi | Bin 13613 -> 13614 bytes .../obj/structures/tents_deployed_classic.dmi | Bin 5876 -> 7237 bytes icons/obj/structures/tents_folded.dmi | Bin 1181 -> 688 bytes map_config/shipmaps.txt | 3 + maps/fiveo.json | 8 + maps/map_files/USS_Fiveo/USS_Fiveo.dmm | 68562 ++++++++++++++++ maps/map_files/USS_Fiveo/sprinkles/.gitkeep | 1 + maps/tents/tent_cmd_alpha.dmm | 74 + maps/tents/tent_cmd_bravo.dmm | 74 + maps/tents/tent_cmd_charlie.dmm | 74 + 40 files changed, 68949 insertions(+), 221 deletions(-) create mode 100644 maps/fiveo.json create mode 100644 maps/map_files/USS_Fiveo/USS_Fiveo.dmm create mode 100644 maps/map_files/USS_Fiveo/sprinkles/.gitkeep create mode 100644 maps/tents/tent_cmd_alpha.dmm create mode 100644 maps/tents/tent_cmd_bravo.dmm create mode 100644 maps/tents/tent_cmd_charlie.dmm diff --git a/code/__DEFINES/job.dm b/code/__DEFINES/job.dm index bedc8234d9c9..802a7a2e8dda 100644 --- a/code/__DEFINES/job.dm +++ b/code/__DEFINES/job.dm @@ -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) @@ -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" diff --git a/code/__DEFINES/mode.dm b/code/__DEFINES/mode.dm index 4c3a658ff421..3fac39c403ae 100644 --- a/code/__DEFINES/mode.dm +++ b/code/__DEFINES/mode.dm @@ -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) diff --git a/code/game/jobs/job/command/auxiliary/cas_pilot.dm b/code/game/jobs/job/command/auxiliary/cas_pilot.dm index 083766576ad4..c47c661d389f 100644 --- a/code/game/jobs/job/command/auxiliary/cas_pilot.dm +++ b/code/game/jobs/job/command/auxiliary/cas_pilot.dm @@ -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" diff --git a/code/game/jobs/job/command/auxiliary/crew_chief.dm b/code/game/jobs/job/command/auxiliary/crew_chief.dm index 2608d8847966..45af5c3ebb04 100644 --- a/code/game/jobs/job/command/auxiliary/crew_chief.dm +++ b/code/game/jobs/job/command/auxiliary/crew_chief.dm @@ -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 diff --git a/code/game/jobs/job/command/cic/captain.dm b/code/game/jobs/job/command/cic/captain.dm index 30fa455beeee..beea0bf6d4b6 100644 --- a/code/game/jobs/job/command/cic/captain.dm +++ b/code/game/jobs/job/command/cic/captain.dm @@ -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() diff --git a/code/game/jobs/job/command/cic/executive.dm b/code/game/jobs/job/command/cic/executive.dm index f717a03e1229..a88d930fbe24 100644 --- a/code/game/jobs/job/command/cic/executive.dm +++ b/code/game/jobs/job/command/cic/executive.dm @@ -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 = "You are second in command aboard the [MAIN_SHIP_NAME], and are in next in the chain of command after the Commanding Officer. Where applicable, you must abide by the Commanding Officer Code of Conduct. 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 = "You are second in command aboard the [MAIN_SHIP_NAME], 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) diff --git a/code/game/jobs/job/command/cic/staffofficer.dm b/code/game/jobs/job/command/cic/staffofficer.dm index c73270944c3a..e459592f04b1 100644 --- a/code/game/jobs/job/command/cic/staffofficer.dm +++ b/code/game/jobs/job/command/cic/staffofficer.dm @@ -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 = "Your job is to monitor the Marines, man the CIC, and listen to your superior officers. 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 = "Your job is to command a platoon from the ground You are in charge of executing the commanding officer's orders." /datum/job/command/bridge/generate_entry_conditions(mob/living/M, whitelist_status) . = ..() diff --git a/code/game/jobs/job/command/police/chief_police.dm b/code/game/jobs/job/command/police/chief_police.dm index 63e6d8023f17..5cf9bf3f0cb4 100644 --- a/code/game/jobs/job/command/police/chief_police.dm +++ b/code/game/jobs/job/command/police/chief_police.dm @@ -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 diff --git a/code/game/jobs/job/command/police/police.dm b/code/game/jobs/job/command/police/police.dm index e05bc2e96256..88901c565232 100644 --- a/code/game/jobs/job/command/police/police.dm +++ b/code/game/jobs/job/command/police/police.dm @@ -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 = "You are held by a higher standard and are required to obey not only the server rules but the Marine Law. 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 )) diff --git a/code/game/jobs/job/command/police/warden.dm b/code/game/jobs/job/command/police/warden.dm index d2775e197537..881ac0e9404c 100644 --- a/code/game/jobs/job/command/police/warden.dm +++ b/code/game/jobs/job/command/police/warden.dm @@ -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" diff --git a/code/game/jobs/job/logistics/cargo/cargo_tech.dm b/code/game/jobs/job/logistics/cargo/cargo_tech.dm index c4725289c3ff..9097160738ff 100644 --- a/code/game/jobs/job/logistics/cargo/cargo_tech.dm +++ b/code/game/jobs/job/logistics/cargo/cargo_tech.dm @@ -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 = "Your job 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" diff --git a/code/game/jobs/job/logistics/cargo/chief_req.dm b/code/game/jobs/job/logistics/cargo/chief_req.dm index 5d5123e687ed..0a7b9996bbf7 100644 --- a/code/game/jobs/job/logistics/cargo/chief_req.dm +++ b/code/game/jobs/job/logistics/cargo/chief_req.dm @@ -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 diff --git a/code/game/jobs/job/logistics/engi/maint_tech.dm b/code/game/jobs/job/logistics/engi/maint_tech.dm index b13062127a12..5ace962ba5af 100644 --- a/code/game/jobs/job/logistics/engi/maint_tech.dm +++ b/code/game/jobs/job/logistics/engi/maint_tech.dm @@ -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 diff --git a/code/game/jobs/job/logistics/engi/ordnance_tech.dm b/code/game/jobs/job/logistics/engi/ordnance_tech.dm index 43a8a7122a8f..4c05baf63e9b 100644 --- a/code/game/jobs/job/logistics/engi/ordnance_tech.dm +++ b/code/game/jobs/job/logistics/engi/ordnance_tech.dm @@ -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 = "Your job 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 )) diff --git a/code/game/jobs/job/marine/marine.dm b/code/game/jobs/job/marine/marine.dm index e07c1edd3138..ca4dfc3b4096 100644 --- a/code/game/jobs/job/marine/marine.dm +++ b/code/game/jobs/job/marine/marine.dm @@ -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) diff --git a/code/game/jobs/job/marine/squad/engineer.dm b/code/game/jobs/job/marine/squad/engineer.dm index a4422572f218..e0bc96c3c9b7 100644 --- a/code/game/jobs/job/marine/squad/engineer.dm +++ b/code/game/jobs/job/marine/squad/engineer.dm @@ -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 equipment and skill 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 diff --git a/code/game/jobs/job/marine/squad/leader.dm b/code/game/jobs/job/marine/squad/leader.dm index be78438db3d6..ebff962be6ec 100644 --- a/code/game/jobs/job/marine/squad/leader.dm +++ b/code/game/jobs/job/marine/squad/leader.dm @@ -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 = "You are responsible for the men and women of your squad. 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 = "You are responsible for the men and women of your platoon. 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 diff --git a/code/game/jobs/job/marine/squad/medic.dm b/code/game/jobs/job/marine/squad/medic.dm index 450d1176658f..1fcda76b0698 100644 --- a/code/game/jobs/job/marine/squad/medic.dm +++ b/code/game/jobs/job/marine/squad/medic.dm @@ -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 = "You tend the wounds of your squad mates 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 diff --git a/code/game/jobs/job/marine/squad/smartgunner.dm b/code/game/jobs/job/marine/squad/smartgunner.dm index 1a89abf5d3be..6bb439a8763f 100644 --- a/code/game/jobs/job/marine/squad/smartgunner.dm +++ b/code/game/jobs/job/marine/squad/smartgunner.dm @@ -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 = "You are the smartgunner. 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 diff --git a/code/game/jobs/job/marine/squad/specialist.dm b/code/game/jobs/job/marine/squad/specialist.dm index e69241cdc70b..9f98087fc034 100644 --- a/code/game/jobs/job/marine/squad/specialist.dm +++ b/code/game/jobs/job/marine/squad/specialist.dm @@ -1,28 +1,11 @@ /datum/job/marine/specialist title = JOB_SQUAD_SPECIALIST - 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/spec entry_message_body = "You are the very rare and valuable weapon expert, trained to use special equipment. You can serve a variety of roles, so choose carefully." -/datum/job/marine/specialist/set_spawn_positions(count) - spawn_positions = spec_slot_formula(count) - -/datum/job/marine/specialist/get_total_positions(latejoin = 0) - var/positions = spawn_positions - if(latejoin) - positions = spec_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/specialist/whiskey title = JOB_WO_SQUAD_SPECIALIST diff --git a/code/game/jobs/job/marine/squad/standard.dm b/code/game/jobs/job/marine/squad/standard.dm index a926c3370a4b..cfcb57295ba8 100644 --- a/code/game/jobs/job/marine/squad/standard.dm +++ b/code/game/jobs/job/marine/squad/standard.dm @@ -7,13 +7,6 @@ flags_startup_parameters = ROLE_ADD_TO_DEFAULT|ROLE_ADD_TO_SQUAD gear_preset = /datum/equipment_preset/uscm/pfc -/datum/job/marine/standard/on_config_load() - entry_message_body = "You are a rank-and-file Marine of the USCM, and that is your strength. What you lack alone, you gain standing shoulder to shoulder with the men and women of the corps. Ooh-rah!" - return ..() - -/datum/job/marine/standard/set_spawn_positions(count) - spawn_positions = max((floor(count * STANDARD_MARINE_TO_TOTAL_SPAWN_RATIO)), 8) - /datum/job/marine/standard/whiskey title = JOB_WO_SQUAD_MARINE flags_startup_parameters = ROLE_ADD_TO_SQUAD diff --git a/code/game/jobs/job/marine/squad/tl.dm b/code/game/jobs/job/marine/squad/tl.dm index 2b0cff3ea3ed..f90dca6ec21a 100644 --- a/code/game/jobs/job/marine/squad/tl.dm +++ b/code/game/jobs/job/marine/squad/tl.dm @@ -1,11 +1,11 @@ /datum/job/marine/tl title = JOB_SQUAD_TEAM_LEADER - total_positions = 8 - spawn_positions = 8 + total_positions = 6 + spawn_positions = 6 allow_additional = 1 flags_startup_parameters = ROLE_ADD_TO_DEFAULT|ROLE_ADD_TO_SQUAD gear_preset = /datum/equipment_preset/uscm/tl - entry_message_body = "You are the Team Leader.Your task is to assist the squad leader in leading the squad as well as utilize ordnance such as orbital bombardments, CAS, and mortar as well as coordinating resupply with Requisitions and CIC. If the squad leader dies, you are expected to lead in their place." + entry_message_body = "You are the Team Leader.Your task is to lead the squads under the platoon leader and platoon sergeant." /datum/job/marine/tl/generate_entry_conditions(mob/living/carbon/human/spawning_human) . = ..() diff --git a/code/game/jobs/job/marine/squads.dm b/code/game/jobs/job/marine/squads.dm index 3285e75e45c3..51fdd1ab269d 100644 --- a/code/game/jobs/job/marine/squads.dm +++ b/code/game/jobs/job/marine/squads.dm @@ -153,6 +153,10 @@ radio_freq = DELTA_FREQ minimap_color = MINIMAP_SQUAD_DELTA + active = FALSE + roundstart = FALSE + locked = TRUE + /datum/squad/marine/echo name = SQUAD_MARINE_5 equipment_color = "#67d692" @@ -464,24 +468,57 @@ var/list/extra_access = list() switch(GET_DEFAULT_ROLE(M.job)) + if(JOB_SQUAD_MARINE) //Marines always get a random fireteam + var/rng_fireteam = pick("FT1", "FT2") + assign_fireteam(rng_fireteam, M) if(JOB_SQUAD_ENGI) assignment = JOB_SQUAD_ENGI num_engineers++ C.claimedgear = FALSE + switch(num_engineers) + if(1) //Every squad needs 1 engineer and one medic + assign_fireteam("FT1", M) + if(2) + assign_fireteam("FT2", M) + else //Should never happen except for admin bullshit + assign_fireteam("FT3", M) + if(JOB_SQUAD_MEDIC) assignment = JOB_SQUAD_MEDIC num_medics++ C.claimedgear = FALSE + switch(num_medics) + if(1) + assign_fireteam("FT1", M) + if(2) + assign_fireteam("FT2", M) + else + assign_fireteam("FT3", M) + if(JOB_SQUAD_SPECIALIST) assignment = JOB_SQUAD_SPECIALIST num_specialists++ + assign_fireteam("FT1", M) //Specialists are always first Fireteam. + if(JOB_SQUAD_SMARTGUN) + assignment = JOB_SQUAD_SMARTGUN + num_smartgun++ + assign_fireteam("FT2", M) //Smartgunners are always second Fireteam. + if(JOB_SQUAD_TEAM_LEADER) assignment = JOB_SQUAD_TEAM_LEADER num_tl++ M.important_radio_channels += radio_freq - if(JOB_SQUAD_SMARTGUN) - assignment = JOB_SQUAD_SMARTGUN - num_smartgun++ + switch(num_tl) + if(1) + assign_fireteam("FT1", M) //Can't set FTL without adding to fireteam. I tried - Kitsunemitu + assign_ft_leader("FT1", M) + if(2) + assign_fireteam("FT2", M) + assign_ft_leader("FT2", M) + if(3) //Again, should never happen + assign_fireteam("FT3", M) + assign_ft_leader("FT3", M) + if(JOB_SQUAD_LEADER) if(squad_leader && GET_DEFAULT_ROLE(squad_leader.job) != JOB_SQUAD_LEADER) //field promoted SL var/old_lead = squad_leader @@ -615,12 +652,12 @@ if(JOB_SQUAD_MEDIC) old_lead.comm_title = "HM" if(JOB_SQUAD_TEAM_LEADER) - old_lead.comm_title = "FTL" + old_lead.comm_title = "SL" if(JOB_SQUAD_SMARTGUN) old_lead.comm_title = "SG" if(JOB_SQUAD_LEADER) if(!leader_killed) - old_lead.comm_title = "Sgt" + old_lead.comm_title = "SSgt" if(JOB_MARINE_RAIDER) old_lead.comm_title = "Op." if(JOB_MARINE_RAIDER_SL) diff --git a/code/game/jobs/role_authority.dm b/code/game/jobs/role_authority.dm index a9017e2cc8d3..79e0ef7e46bd 100644 --- a/code/game/jobs/role_authority.dm +++ b/code/game/jobs/role_authority.dm @@ -701,7 +701,7 @@ I hope it's easier to tell what the heck this proc is even doing, unlike previou else if(S.num_smartgun < lowest.num_smartgun) lowest = S if(!lowest) - var/ranpick = rand(1,4) + var/ranpick = rand(1,3) lowest = mixed_squads[ranpick] if(lowest) lowest.put_marine_in_squad(H) else to_chat(H, "Something went badly with randomize_squad()! Tell a coder!") diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_tl.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_tl.dm index c37dd98ed263..4c61b23d3006 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_tl.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_tl.dm @@ -39,7 +39,6 @@ GLOBAL_LIST_INIT(cm_vending_gear_tl, list( list("CLOTHING ITEMS", 0, null, null, null), list("Machete Scabbard (Full)", 5, /obj/item/storage/large_holster/machete/full, null, VENDOR_ITEM_REGULAR), list("Machete Pouch (Full)", 15, /obj/item/storage/pouch/machete/full, null, VENDOR_ITEM_REGULAR), - list("USCM Radio Telephone Pack", 5, /obj/item/storage/backpack/marine/satchel/rto, null, VENDOR_ITEM_REGULAR), list("Welding Goggles", 3, /obj/item/clothing/glasses/welding, null, VENDOR_ITEM_REGULAR), list("M276 Pattern Combat Toolbelt Rig", 15, /obj/item/storage/belt/gun/utility, null, VENDOR_ITEM_REGULAR), list("Autoinjector Pouch (Full)", 15, /obj/item/storage/pouch/autoinjector/full, null, VENDOR_ITEM_REGULAR), @@ -95,6 +94,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_tl, list( list("MRE", 0, /obj/item/storage/box/MRE, MARINE_CAN_BUY_MRE, VENDOR_ITEM_MANDATORY), list("Map", 0, /obj/item/map/current_map, MARINE_CAN_BUY_KIT, VENDOR_ITEM_MANDATORY), list("Essential Fireteam Leader Utilities", 0, /obj/effect/essentials_set/tl, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY), + list("USCM Radio Telephone Pack", 0, /obj/item/storage/backpack/marine/satchel/rto, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY), list("BELT (CHOOSE 1)", 0, null, null, null), list("G8-A General Utility Pouch", 0, /obj/item/storage/backpack/general_belt, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR), diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index b9b7e94d9ae5..a843bee20228 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -592,6 +592,7 @@ /obj/item/device/radio/headset/almayer/marine initial_keys = list(/obj/item/device/encryptionkey/public) + locate_setting = TRACKER_FTL //############################## ALPHA ############################### /obj/item/device/radio/headset/almayer/marine/alpha @@ -605,12 +606,14 @@ desc = "This is used by the marine Alpha squad leader. Channels are as follows: :v - marine command, :j - JTAC. When worn, grants access to Squad Leader tracker. Click tracker with empty hand to open Squad Info window." initial_keys = list(/obj/item/device/encryptionkey/public, /obj/item/device/encryptionkey/squadlead) volume = RADIO_VOLUME_CRITICAL + locate_setting = TRACKER_SL /obj/item/device/radio/headset/almayer/marine/alpha/tl name = "marine alpha team leader radio headset" desc = "This is used by the marine Alpha team leader. Channels are as follows: :u - requisitions, :j - JTAC. When worn, grants access to Squad Leader tracker. Click tracker with empty hand to open Squad Info window." initial_keys = list(/obj/item/device/encryptionkey/public, /obj/item/device/encryptionkey/jtac) volume = RADIO_VOLUME_RAISED + locate_setting = TRACKER_SL /obj/item/device/radio/headset/almayer/marine/alpha/engi name = "marine alpha engineer radio headset" @@ -634,12 +637,14 @@ desc = "This is used by the marine Bravo squad leader. Channels are as follows: :v - marine command, :j - JTAC. When worn, grants access to Squad Leader tracker. Click tracker with empty hand to open Squad Info window." initial_keys = list(/obj/item/device/encryptionkey/public, /obj/item/device/encryptionkey/squadlead) volume = RADIO_VOLUME_CRITICAL + locate_setting = TRACKER_SL /obj/item/device/radio/headset/almayer/marine/bravo/tl name = "marine bravo team leader radio headset" desc = "This is used by the marine Bravo team leader. Channels are as follows: :u - requisitions, :j - JTAC. When worn, grants access to Squad Leader tracker. Click tracker with empty hand to open Squad Info window." initial_keys = list(/obj/item/device/encryptionkey/public, /obj/item/device/encryptionkey/jtac) volume = RADIO_VOLUME_RAISED + locate_setting = TRACKER_SL /obj/item/device/radio/headset/almayer/marine/bravo/engi name = "marine bravo engineer radio headset" @@ -663,12 +668,14 @@ desc = "This is used by the marine Charlie squad leader. Channels are as follows: :v - marine command, :j - JTAC. When worn, grants access to Squad Leader tracker. Click tracker with empty hand to open Squad Info window." initial_keys = list(/obj/item/device/encryptionkey/public, /obj/item/device/encryptionkey/squadlead) volume = RADIO_VOLUME_CRITICAL + locate_setting = TRACKER_SL /obj/item/device/radio/headset/almayer/marine/charlie/tl name = "marine charlie team leader radio headset" desc = "This is used by the marine Charlie team leader. Channels are as follows: :u - requisitions, :j - JTAC. When worn, grants access to Squad Leader tracker. Click tracker with empty hand to open Squad Info window." initial_keys = list(/obj/item/device/encryptionkey/public, /obj/item/device/encryptionkey/jtac) volume = RADIO_VOLUME_RAISED + locate_setting = TRACKER_SL /obj/item/device/radio/headset/almayer/marine/charlie/engi name = "marine charlie engineer radio headset" @@ -692,12 +699,14 @@ desc = "This is used by the marine Delta squad leader. Channels are as follows: :v - marine command, :j - JTAC. When worn, grants access to Squad Leader tracker. Click tracker with empty hand to open Squad Info window." initial_keys = list(/obj/item/device/encryptionkey/public, /obj/item/device/encryptionkey/squadlead) volume = RADIO_VOLUME_CRITICAL + locate_setting = TRACKER_SL /obj/item/device/radio/headset/almayer/marine/delta/tl name = "marine delta team leader radio headset" desc = "This is used by the marine Delta team leader. Channels are as follows: :u - requisitions, :j - JTAC. When worn, grants access to Squad Leader tracker. Click tracker with empty hand to open Squad Info window." initial_keys = list(/obj/item/device/encryptionkey/public, /obj/item/device/encryptionkey/jtac) volume = RADIO_VOLUME_RAISED + locate_setting = TRACKER_SL /obj/item/device/radio/headset/almayer/marine/delta/engi name = "marine delta engineer radio headset" diff --git a/code/modules/gear_presets/uscm.dm b/code/modules/gear_presets/uscm.dm index 4b018eea1d50..6cd00956fedd 100644 --- a/code/modules/gear_presets/uscm.dm +++ b/code/modules/gear_presets/uscm.dm @@ -105,7 +105,7 @@ access = list(ACCESS_MARINE_PREP, ACCESS_MARINE_SMARTPREP) assignment = JOB_SQUAD_SMARTGUN rank = JOB_SQUAD_SMARTGUN - paygrade = PAY_SHORT_ME3 + paygrade = PAY_SHORT_ME4 role_comm_title = "SG" skills = /datum/skills/smartgunner @@ -281,7 +281,7 @@ access = list(ACCESS_MARINE_PREP, ACCESS_MARINE_SPECPREP) assignment = JOB_SQUAD_SPECIALIST rank = JOB_SQUAD_SPECIALIST - paygrade = PAY_SHORT_ME3 + paygrade = PAY_SHORT_ME4 role_comm_title = "Spc" skills = /datum/skills/specialist @@ -368,14 +368,14 @@ //*****************************************************************************************************/ /datum/equipment_preset/uscm/tl - name = "USCM Fireteam Leader" + name = "USCM Squad Leader" flags = EQUIPMENT_PRESET_EXTRA|EQUIPMENT_PRESET_MARINE access = list(ACCESS_MARINE_PREP, ACCESS_MARINE_TL_PREP) assignment = JOB_SQUAD_TEAM_LEADER rank = JOB_SQUAD_TEAM_LEADER - paygrade = PAY_SHORT_ME4 - role_comm_title = "FTL" + paygrade = PAY_SHORT_ME5 + role_comm_title = "SL" skills = /datum/skills/tl minimap_icon = "tl" @@ -432,14 +432,14 @@ //*****************************************************************************************************/ /datum/equipment_preset/uscm/leader - name = "USCM Squad Leader" + name = "USCM Platoon Sergeant" flags = EQUIPMENT_PRESET_EXTRA|EQUIPMENT_PRESET_MARINE - access = list(ACCESS_MARINE_PREP, ACCESS_MARINE_LEADER, ACCESS_MARINE_DROPSHIP) + access = list(ACCESS_MARINE_PREP, ACCESS_MARINE_LEADER, ACCESS_MARINE_DROPSHIP, ACCESS_MARINE_TL_PREP) assignment = JOB_SQUAD_LEADER rank = JOB_SQUAD_LEADER - paygrade = PAY_SHORT_ME5 - role_comm_title = "SL" + paygrade = PAY_SHORT_ME6 + role_comm_title = "PSGT" minimum_age = 27 skills = /datum/skills/SL @@ -521,8 +521,8 @@ access = list(ACCESS_MARINE_PREP, ACCESS_MARINE_LEADER, ACCESS_MARINE_DROPSHIP) assignment = JOB_SQUAD_LEADER rank = JOB_SQUAD_LEADER - paygrade = PAY_SHORT_ME5 - role_comm_title = "SL" + paygrade = PAY_SHORT_ME6 + role_comm_title = "PSGT" minimum_age = 27 skills = /datum/skills/SL @@ -563,7 +563,7 @@ access = list(ACCESS_MARINE_PREP, ACCESS_MARINE_SMARTPREP) assignment = JOB_SQUAD_SMARTGUN rank = JOB_SQUAD_SMARTGUN - paygrade = PAY_SHORT_ME3 + paygrade = PAY_SHORT_ME4 role_comm_title = "SG" skills = /datum/skills/smartgunner @@ -706,7 +706,7 @@ access = list(ACCESS_MARINE_PREP, ACCESS_MARINE_SPECPREP) assignment = JOB_SQUAD_SPECIALIST rank = JOB_SQUAD_SPECIALIST - paygrade = PAY_SHORT_ME3 + paygrade = PAY_SHORT_ME4 role_comm_title = "Spc" skills = /datum/skills/specialist @@ -772,14 +772,14 @@ //*****************************************************************************************************/ /datum/equipment_preset/uscm/tl_equipped - name = "USCM Fireteam Leader (Equipped)" + name = "USCM Squad Leader (Equipped)" flags = EQUIPMENT_PRESET_EXTRA|EQUIPMENT_PRESET_MARINE access = list(ACCESS_MARINE_PREP, ACCESS_MARINE_TL_PREP) assignment = JOB_SQUAD_TEAM_LEADER rank = JOB_SQUAD_TEAM_LEADER - paygrade = PAY_SHORT_ME4 - role_comm_title = "TL" + paygrade = PAY_SHORT_ME5 + role_comm_title = "SL" skills = /datum/skills/tl minimap_icon = "tl" diff --git a/code/modules/gear_presets/uscm_ship.dm b/code/modules/gear_presets/uscm_ship.dm index a53504fec0c9..88876ea73f1f 100644 --- a/code/modules/gear_presets/uscm_ship.dm +++ b/code/modules/gear_presets/uscm_ship.dm @@ -396,13 +396,13 @@ //*****************************************************************************************************/ /datum/equipment_preset/uscm_ship/commander - name = "USCM Commanding Officer (CO)" + name = "USCM Company Commander (CO)" flags = EQUIPMENT_PRESET_START_OF_ROUND|EQUIPMENT_PRESET_MARINE idtype = /obj/item/card/id/gold assignment = JOB_CO rank = JOB_CO - paygrade = PAY_SHORT_MO4 + paygrade = PAY_SHORT_MO3 role_comm_title = "CO" minimum_age = 30 skills = /datum/skills/commander @@ -517,7 +517,7 @@ idtype = /obj/item/card/id/silver assignment = JOB_XO rank = JOB_XO - paygrade = PAY_SHORT_MO3 + paygrade = PAY_SHORT_MO2 role_comm_title = "XO" minimum_age = 35 skills = /datum/skills/XO @@ -549,7 +549,7 @@ //*****************************************************************************************************/ /datum/equipment_preset/uscm_ship/so - name = "USCM Staff Officer (SO)" + name = "USCM Platoon Commander (PCDR)" flags = EQUIPMENT_PRESET_START_OF_ROUND|EQUIPMENT_PRESET_MARINE idtype = /obj/item/card/id/silver @@ -557,7 +557,7 @@ assignment = JOB_SO rank = JOB_SO paygrade = PAY_SHORT_MO1 - role_comm_title = "SO" + role_comm_title = "PCDR" minimum_age = 25 skills = /datum/skills/SO @@ -628,14 +628,14 @@ //*****************************************************************************************************/ /datum/equipment_preset/uscm_ship/auxiliary_officer - name = "USCM Auxiliary Support Officer (ASO)" + name = "USCM Logistics Officer (LO)" flags = EQUIPMENT_PRESET_START_OF_ROUND|EQUIPMENT_PRESET_MARINE idtype = /obj/item/card/id/silver assignment = JOB_AUXILIARY_OFFICER rank = JOB_AUXILIARY_OFFICER - paygrade = PAY_SHORT_MO2 - role_comm_title = "ASO" + paygrade = PAY_SHORT_MO1 + role_comm_title = "LO" minimum_age = 27 skills = /datum/skills/auxiliary_officer diff --git a/code/modules/tents/folded_tents.dm b/code/modules/tents/folded_tents.dm index 6496810f1a85..5a1e89808a22 100644 --- a/code/modules/tents/folded_tents.dm +++ b/code/modules/tents/folded_tents.dm @@ -132,6 +132,24 @@ desc = "A standard USCM Command Tent. This one comes equipped with a self-powered Overwatch Console and a Telephone. Unfold in a suitable location to maximize usefulness. Staff Officer not included. ENTRANCE TO THE SOUTH." template_preset = "tent_cmd" +/obj/item/folded_tent/cmd/alpha + name = "folded USCM Alpha Platoon Tent" + icon_state = "cmd_alpha" + desc = "A standard USCM Command Tent. This one comes equipped with a self-powered Overwatch Console and a Telephone. Unfold in a suitable location to maximize usefulness. Staff Officer not included. ENTRANCE TO THE SOUTH." + template_preset = "tent_cmd_alpha" + +/obj/item/folded_tent/cmd/bravo + name = "folded USCM Bravo Platoon Tent" + icon_state = "cmd_bravo" + desc = "A standard USCM Command Tent. This one comes equipped with a self-powered Overwatch Console and a Telephone. Unfold in a suitable location to maximize usefulness. Staff Officer not included. ENTRANCE TO THE SOUTH." + template_preset = "tent_cmd_bravo" + +/obj/item/folded_tent/cmd/charlie + name = "folded USCM Charlie Platoon Tent" + icon_state = "cmd_charlie" + desc = "A standard USCM Command Tent. This one comes equipped with a self-powered Overwatch Console and a Telephone. Unfold in a suitable location to maximize usefulness. Staff Officer not included. ENTRANCE TO THE SOUTH." + template_preset = "tent_cmd_charlie" + /obj/item/folded_tent/med name = "folded USCM Medical Tent" icon_state = "med" diff --git a/code/modules/tents/templates.dm b/code/modules/tents/templates.dm index c32c0214999e..fb648bae9002 100644 --- a/code/modules/tents/templates.dm +++ b/code/modules/tents/templates.dm @@ -21,3 +21,15 @@ /datum/map_template/tent/reqs name = "Reqs Tent" map_id = "tent_reqs" + +/datum/map_template/tent/cmda + name = "CMD Tent alpha" + map_id = "tent_cmd_alpha" + +/datum/map_template/tent/cmdb + name = "CMD Tent bravo" + map_id = "tent_cmd_bravo" + +/datum/map_template/tent/cmdc + name = "CMD Tent charlie" + map_id = "tent_cmd_charlie" diff --git a/icons/mob/hud/marine_hud.dmi b/icons/mob/hud/marine_hud.dmi index def6cdd56a0ec7baf9e61e97df779ad23c8b526c..ad4bfdcb5c05f48cbfb3540b3811a31ce742f847 100644 GIT binary patch literal 13614 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 Bj(-3E literal 13613 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⪼f z>N*!m#0?z7;XQ_&zSu;(eEosLyQCx*5j8r}Y_$9=eu!2y>|5Ax>f;OjY1*wC_Ty56{S^kOk!bEKpf#WcPIYQG-UWrD#r6ME^uz`#kozqx zh0BJ_*=p!T?zpKkF#8Xdq+I$nvRek_KDechL`r)8t$3cV^ZueJsIq%6`Exycikwv- zm7N==FH6%f$IlS0T&c}mCNH)LdB2fPzlnPY87;}Cpv6Y8uJnyuDb*gLFDi2d>C_Ri zgQz_g&mdR&{!f5A?9iZUgzC*e6STY;;u*SKcpUN3I#Ck4m9*ygD|b+l?eT0YVRtaJ z{0CRk!%Q*4WA*gA01$9O#gQu}c8=3w0+y9m2{ZF(`cy7^r`OjKV*3R7Xk5J95Y`>l#2>&N#4D7%e; zEqK*`lm5bDXq92pG?4!PP#-3zTt|oIXJ)uwKnIG1|6Kz8KP~Nl&Z~pX!%*Y|@B4CX z1Q^71gEO7oN5NpYnSUGkKj|ggxx~1WakgL{|9`glPsZxMCh-54y{XX3&xFtBjWcuL Qe}e+_t{Nfpuh>2Le>+-oIsgCw diff --git a/icons/obj/structures/tents_deployed_classic.dmi b/icons/obj/structures/tents_deployed_classic.dmi index 4a7575aff83331bff553ee3e694a15fc8e0dff9d..ce1325a4c1e7a102dfb5d7f68915f62e5c1b1392 100644 GIT binary patch literal 7237 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 XV&Wu@C~tr>00000NkvXXu0mjftp@{) delta 1083 zcmdnMI+t^TIG+Ot8v_HwQR#7nLYR^+X>MNFMY@M)R)}$+Ygkrj; zh{pVlIk1m~LF22Vk`T`znrz8ALF2>9ycYCaLk1_+>m-lajTjyGfc>UTE?asMtTV9azVRvWC z!>P_!%B(jkFRm7MVXJRwZFQY`Htp(0=jm6MFI6?QHGX!bGivR!wco##tnOUCevaG0 zQ`hIqx-Pul*6gf&?(31Qw_p7@t9|b4ncMEyaxeUpdy+k6Uxp;(biH{if*&8bumCLiIr(3tuB%-_K0QmVertLHi}3cQ`#Klz+Z8^6nf?3#?e&(~I8 zO?`drkz~sW_n9ne_pR3c{@VIp#KhDz`|e7E0D*>opN}q6U?`Zd?(SC&#|cy3yD>g{ zE*`q^#_Cn^`&Q0-8|`#g=KBHR`SboIKH#WllHT|F-OAV9(^56ovg9Rz6*CV1m-v8R|0|tT`SnTRYc4eTLAE+z#QN_6?GP80cHA!^)7P-1*hYTFMxbaOL0TZjg89 zd%vm3Y{938)mi^TFLO<}@{q;;!p{>e2B~{luLdrPeZu_pZQ$1}T^Bwrw|RQJy}tBL zw7ccsM|%woy}s*pSjo4Xy?FiUlh-Z}>cp>@Fx_bvesH4k@8MSmAHRNeXQi}Xr?b@L z^Y2ael|PT0^(rs$MN7wh4+)tUc~4%5bFH@jYtwPeIilR6(du?I*S8O`tcs6HmnQUI z(RY4);-tUuu~ZG2%AZv+qTRda8co0bY>K00{m*;9vQAul?xO7=CF6hkXUmREL4}it zIn^{KOYAScZr%FHX|Lw1%tagdA6U#`DEZBxmdKI;Vst00(CX