From 5a7bb5d6a167128a5d2d4cc1f82bb34a1d946083 Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Tue, 7 May 2024 03:03:16 +0300 Subject: [PATCH 01/27] gg --- code/__DEFINES/mode.dm | 8 ++--- code/__DEFINES/urls.dm | 1 + code/__HELPERS/job.dm | 1 + .../jobs/job/command/auxiliary/tank_crew.dm | 34 +++++++++++++++++++ code/game/jobs/slot_scaling.dm | 3 ++ code/modules/cm_marines/marines_consoles.dm | 1 + .../mob/new_player/preferences_setup.dm | 2 ++ colonialmarines.dme | 1 + maps/map_files/USS_Almayer/USS_Almayer.dmm | 1 + maps/map_files/USS_Runtime/USS_Runtime.dmm | 6 ++++ 10 files changed, 54 insertions(+), 4 deletions(-) create mode 100644 code/game/jobs/job/command/auxiliary/tank_crew.dm diff --git a/code/__DEFINES/mode.dm b/code/__DEFINES/mode.dm index fea9ebeebb2c..3ffaa86f1f01 100644 --- a/code/__DEFINES/mode.dm +++ b/code/__DEFINES/mode.dm @@ -122,9 +122,9 @@ GLOBAL_LIST_INIT(ROLES_COMMAND, list(JOB_CO, JOB_XO, JOB_SO, JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_CREWMAN, JOB_POLICE, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_CHIEF_REQUISITION, JOB_CHIEF_ENGINEER, JOB_CMO, JOB_CHIEF_POLICE, JOB_SEA, JOB_SYNTH, JOB_WARDEN)) //Marine roles -#define ROLES_OFFICERS list(JOB_CO, JOB_XO, JOB_SO, JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_SEA, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_SYNTH, JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE) +#define ROLES_OFFICERS list(JOB_CO, JOB_XO, JOB_SO, JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_SEA, JOB_CREWMAN, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_SYNTH, JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE) GLOBAL_LIST_INIT(ROLES_CIC, list(JOB_CO, JOB_XO, JOB_SO, JOB_WO_CO, JOB_WO_XO)) -GLOBAL_LIST_INIT(ROLES_AUXIL_SUPPORT, list(JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_WO_CHIEF_POLICE, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_WO_PILOT)) +GLOBAL_LIST_INIT(ROLES_AUXIL_SUPPORT, list(JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_CREWMAN, JOB_WO_CHIEF_POLICE, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_WO_PILOT)) GLOBAL_LIST_INIT(ROLES_MISC, list(JOB_SYNTH, JOB_WORKING_JOE, JOB_SEA, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_MESS_SERGEANT, JOB_WO_CORPORATE_LIAISON, JOB_WO_SYNTH)) GLOBAL_LIST_INIT(ROLES_POLICE, list(JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE)) GLOBAL_LIST_INIT(ROLES_ENGINEERING, list(JOB_CHIEF_ENGINEER, JOB_ORDNANCE_TECH, JOB_MAINT_TECH, JOB_WO_CHIEF_ENGINEER, JOB_WO_ORDNANCE_TECH)) @@ -148,11 +148,11 @@ GLOBAL_LIST_INIT(ROLES_FACTION_CLASH, ROLES_USCM + JOB_PREDATOR) GLOBAL_LIST_INIT(ROLES_UNASSIGNED, list(JOB_SQUAD_MARINE)) //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,\ +#define BLURB_USCM_COMBAT JOB_CO, JOB_XO, JOB_SO, JOB_WO_CO, JOB_WO_XO, JOB_CREWMAN, JOB_WO_CHIEF_POLICE, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_SEA,\ JOB_SQUAD_LEADER, JOB_SQUAD_TEAM_LEADER, JOB_SQUAD_SPECIALIST, JOB_SQUAD_SMARTGUN, JOB_SQUAD_MEDIC, JOB_SQUAD_ENGI, JOB_SQUAD_MARINE #define BLURB_USCM_FLIGHT JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF #define BLURB_USCM_MP JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE -#define BLURB_USCM_ENGI JOB_CHIEF_ENGINEER, JOB_ORDNANCE_TECH, JOB_MAINT_TECH, JOB_WO_CHIEF_ENGINEER, JOB_WO_ORDNANCE_TECH, JOB_WO_PILOT +#define BLURB_USCM_ENGI JOB_CHIEF_ENGINEER, JOB_ORDNANCE_TECH, JOB_MAINT_TECH, JOB_WO_CHIEF_ENGINEER, JOB_WO_ORDNANCE_TECH, JOB_WO_PILOT, JOB_CREWMAN #define BLURB_USCM_MEDICAL JOB_CMO, JOB_RESEARCHER, JOB_DOCTOR, JOB_NURSE, JOB_WO_CMO, JOB_WO_RESEARCHER, JOB_WO_DOCTOR #define BLURB_USCM_REQ JOB_CHIEF_REQUISITION, JOB_CARGO_TECH, JOB_WO_CHIEF_REQUISITION, JOB_WO_REQUISITION #define BLURB_USCM_WY JOB_CORPORATE_LIAISON diff --git a/code/__DEFINES/urls.dm b/code/__DEFINES/urls.dm index 5d3fca1a2032..6e444a7a7ded 100644 --- a/code/__DEFINES/urls.dm +++ b/code/__DEFINES/urls.dm @@ -9,3 +9,4 @@ #define URL_WIKI_MACROS "Macros" #define URL_WIKI_SOP "Standard_Operating_Procedure" #define URL_WIKI_CO_RULES "CO_Council_Rulings" +#define URL_WIKI_VC_GUIDE "https://cm-ss13.com/wiki/Vehicle_Crewman" diff --git a/code/__HELPERS/job.dm b/code/__HELPERS/job.dm index ec36a485333c..9709664ea458 100644 --- a/code/__HELPERS/job.dm +++ b/code/__HELPERS/job.dm @@ -34,6 +34,7 @@ JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, + JOB_CREWMAN, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_CHIEF_ENGINEER, diff --git a/code/game/jobs/job/command/auxiliary/tank_crew.dm b/code/game/jobs/job/command/auxiliary/tank_crew.dm new file mode 100644 index 000000000000..e37390b89141 --- /dev/null +++ b/code/game/jobs/job/command/auxiliary/tank_crew.dm @@ -0,0 +1,34 @@ +/datum/job/command/tank_crew + title = JOB_CREWMAN + total_positions = 2 + spawn_positions = 2 + allow_additional = 1 + scaled = 0 + flags_startup_parameters = ROLE_ADD_TO_DEFAULT + gear_preset = /datum/equipment_preset/uscm/tank + entry_message_body = "Your job is to operate and maintain the ship's armored vehicles. You are in charge of representing the armored presence amongst the marines during the operation, as well as maintaining and repairing your own vehicles." + +AddTimelock(/datum/job/command/tank_crew, list( + JOB_SQUAD_ROLES = 10 HOURS, + JOB_ENGINEER_ROLES = 5 HOURS +)) + + +/datum/job/logistics/tanktech/set_spawn_positions(count) + spawn_positions = tank_crew_slot_formula(count) + +/datum/job/logistics/tanktech/get_total_positions(latejoin = 0) + var/positions = spawn_positions + if(latejoin) + positions = tank_crew_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/tank_crew + name = JOB_CREWMAN + job = /datum/job/command/tank_crew diff --git a/code/game/jobs/slot_scaling.dm b/code/game/jobs/slot_scaling.dm index 8bd4af908c07..439a18b0d3c6 100644 --- a/code/game/jobs/slot_scaling.dm +++ b/code/game/jobs/slot_scaling.dm @@ -12,6 +12,9 @@ return min return round(clamp((marine_count/factor)+c, min, max)) +/proc/tank_crew_slot_formula(playercount) + return job_slot_formula(playercount, 1,1,1,1) + /proc/medic_slot_formula(playercount) return job_slot_formula(playercount,40,1,3,5) diff --git a/code/modules/cm_marines/marines_consoles.dm b/code/modules/cm_marines/marines_consoles.dm index e02bb930d416..7bc36a159149 100644 --- a/code/modules/cm_marines/marines_consoles.dm +++ b/code/modules/cm_marines/marines_consoles.dm @@ -904,6 +904,7 @@ GLOBAL_LIST_EMPTY_TYPED(crewmonitor, /datum/crewmonitor) JOB_DROPSHIP_PILOT = 23, JOB_DROPSHIP_CREW_CHIEF = 24, JOB_INTEL = 25, + JOB_CREWMAN = 26, // 30-39: Security JOB_CHIEF_POLICE = 30, JOB_PROVOST_TML = 30, diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index 174c05783550..6b92b2617c70 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -259,6 +259,8 @@ return /datum/equipment_preset/uscm/intel/full if(JOB_CAS_PILOT) return /datum/equipment_preset/uscm_ship/gp/full + if(JOB_CREWMAN) + return /datum/equipment_preset/uscm/tank/full if(JOB_DROPSHIP_PILOT) return /datum/equipment_preset/uscm_ship/dp/full if(JOB_DROPSHIP_CREW_CHIEF) diff --git a/colonialmarines.dme b/colonialmarines.dme index 9392e74febea..6ef0875db07c 100644 --- a/colonialmarines.dme +++ b/colonialmarines.dme @@ -796,6 +796,7 @@ #include "code\game\jobs\job\command\auxiliary\dropship_pilot.dm" #include "code\game\jobs\job\command\auxiliary\intel.dm" #include "code\game\jobs\job\command\auxiliary\senior.dm" +#include "code\game\jobs\job\command\auxiliary\tank_crew.dm" #include "code\game\jobs\job\command\cic\captain.dm" #include "code\game\jobs\job\command\cic\executive.dm" #include "code\game\jobs\job\command\cic\staffofficer.dm" diff --git a/maps/map_files/USS_Almayer/USS_Almayer.dmm b/maps/map_files/USS_Almayer/USS_Almayer.dmm index 6bc6bfeb4a22..3836951878f7 100644 --- a/maps/map_files/USS_Almayer/USS_Almayer.dmm +++ b/maps/map_files/USS_Almayer/USS_Almayer.dmm @@ -59161,6 +59161,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, +/obj/effect/landmark/start/tank_crew, /area/almayer/living/tankerbunks) "qim" = ( /obj/structure/disposalpipe/segment, diff --git a/maps/map_files/USS_Runtime/USS_Runtime.dmm b/maps/map_files/USS_Runtime/USS_Runtime.dmm index 3ffdaf8a1814..2fb3b3a2326d 100644 --- a/maps/map_files/USS_Runtime/USS_Runtime.dmm +++ b/maps/map_files/USS_Runtime/USS_Runtime.dmm @@ -26,6 +26,12 @@ }, /area/event) "h" = ( +/obj/effect/landmark/start/tank_crew, +/turf/open/floor/almayer{ + icon_state = "plating" + }, +/area/event) +"h" = ( /obj/effect/landmark/start/police, /turf/open/floor/almayer{ icon_state = "plating" From 36f470b48e41d680b8430ce996ebb62af307b1df Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Tue, 7 May 2024 03:13:48 +0300 Subject: [PATCH 02/27] delete --- .../jobs/job/command/auxiliary/tank_crew.dm | 34 ------------------- 1 file changed, 34 deletions(-) delete mode 100644 code/game/jobs/job/command/auxiliary/tank_crew.dm diff --git a/code/game/jobs/job/command/auxiliary/tank_crew.dm b/code/game/jobs/job/command/auxiliary/tank_crew.dm deleted file mode 100644 index e37390b89141..000000000000 --- a/code/game/jobs/job/command/auxiliary/tank_crew.dm +++ /dev/null @@ -1,34 +0,0 @@ -/datum/job/command/tank_crew - title = JOB_CREWMAN - total_positions = 2 - spawn_positions = 2 - allow_additional = 1 - scaled = 0 - flags_startup_parameters = ROLE_ADD_TO_DEFAULT - gear_preset = /datum/equipment_preset/uscm/tank - entry_message_body = "Your job is to operate and maintain the ship's armored vehicles. You are in charge of representing the armored presence amongst the marines during the operation, as well as maintaining and repairing your own vehicles." - -AddTimelock(/datum/job/command/tank_crew, list( - JOB_SQUAD_ROLES = 10 HOURS, - JOB_ENGINEER_ROLES = 5 HOURS -)) - - -/datum/job/logistics/tanktech/set_spawn_positions(count) - spawn_positions = tank_crew_slot_formula(count) - -/datum/job/logistics/tanktech/get_total_positions(latejoin = 0) - var/positions = spawn_positions - if(latejoin) - positions = tank_crew_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/tank_crew - name = JOB_CREWMAN - job = /datum/job/command/tank_crew From e8f32bcdfe07e729a65307c29609f13bcf18f812 Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Tue, 7 May 2024 03:15:15 +0300 Subject: [PATCH 03/27] yeah --- colonialmarines.dme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/colonialmarines.dme b/colonialmarines.dme index 6ef0875db07c..b46402cfa0c8 100644 --- a/colonialmarines.dme +++ b/colonialmarines.dme @@ -793,10 +793,10 @@ #include "code\game\jobs\job\command\auxiliary\auxiliary_support_officer.dm" #include "code\game\jobs\job\command\auxiliary\cas_pilot.dm" #include "code\game\jobs\job\command\auxiliary\crew_chief.dm" +#include "code\game\jobs\job\command\auxiliary\crew_guy.dm" #include "code\game\jobs\job\command\auxiliary\dropship_pilot.dm" #include "code\game\jobs\job\command\auxiliary\intel.dm" #include "code\game\jobs\job\command\auxiliary\senior.dm" -#include "code\game\jobs\job\command\auxiliary\tank_crew.dm" #include "code\game\jobs\job\command\cic\captain.dm" #include "code\game\jobs\job\command\cic\executive.dm" #include "code\game\jobs\job\command\cic\staffofficer.dm" From 286fdac1809b73b98c03eeb3b445ca7528545bb1 Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Fri, 17 May 2024 21:20:29 +0300 Subject: [PATCH 04/27] introduces the job, makes the tank available again --- code/__DEFINES/job.dm | 3 +- code/__DEFINES/mode.dm | 6 +-- code/__HELPERS/job.dm | 2 +- code/datums/factions/uscm.dm | 2 +- .../jobs/job/command/auxiliary/crew_guy.dm | 14 ++++++ .../jobs/job/command/auxiliary/tank_crew.dm | 14 ++++++ .../vending/vendor_types/crew/vehicle_crew.dm | 47 +++++++++---------- code/game/supplyshuttle.dm | 9 ++-- code/modules/cm_marines/marines_consoles.dm | 2 +- code/modules/cm_tech/implements/tank.dm | 2 +- 10 files changed, 63 insertions(+), 38 deletions(-) create mode 100644 code/game/jobs/job/command/auxiliary/crew_guy.dm create mode 100644 code/game/jobs/job/command/auxiliary/tank_crew.dm diff --git a/code/__DEFINES/job.dm b/code/__DEFINES/job.dm index f869357efd1b..757aab59d97c 100644 --- a/code/__DEFINES/job.dm +++ b/code/__DEFINES/job.dm @@ -77,13 +77,14 @@ GLOBAL_LIST_INIT(job_command_roles, JOB_COMMAND_ROLES_LIST) #define JOB_AUXILIARY_OFFICER "Auxiliary Support Officer" #define JOB_CAS_PILOT "Gunship Pilot" #define JOB_DROPSHIP_PILOT "Dropship Pilot" +#define JOB_TANKCREW "Tank Crew" #define JOB_DROPSHIP_CREW_CHIEF "Dropship Crew Chief" #define JOB_CREWMAN "Vehicle Crewman" #define JOB_INTEL "Intelligence Officer" #define JOB_DROPSHIP_ROLES /datum/timelock/dropship #define JOB_DROPSHIP_ROLES_LIST list(JOB_DROPSHIP_CREW_CHIEF, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT) #define JOB_AUXILIARY_ROLES /datum/timelock/auxiliary -#define JOB_AUXILIARY_ROLES_LIST list(JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_CREWMAN, JOB_INTEL) +#define JOB_AUXILIARY_ROLES_LIST list(JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_CREWMAN, JOB_INTEL, JOB_TANKCREW) #define JOB_POLICE "Military Police" #define JOB_WARDEN "Military Warden" diff --git a/code/__DEFINES/mode.dm b/code/__DEFINES/mode.dm index 3ffaa86f1f01..bd5ebab28694 100644 --- a/code/__DEFINES/mode.dm +++ b/code/__DEFINES/mode.dm @@ -119,12 +119,12 @@ //================================================= //Role defines, specifically lists of roles for job bans, crew manifests and the like. -GLOBAL_LIST_INIT(ROLES_COMMAND, list(JOB_CO, JOB_XO, JOB_SO, JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_CREWMAN, JOB_POLICE, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_CHIEF_REQUISITION, JOB_CHIEF_ENGINEER, JOB_CMO, JOB_CHIEF_POLICE, JOB_SEA, JOB_SYNTH, JOB_WARDEN)) +GLOBAL_LIST_INIT(ROLES_COMMAND, list(JOB_CO, JOB_XO, JOB_SO, JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_TANKCREW, JOB_DROPSHIP_CREW_CHIEF, JOB_POLICE, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_CHIEF_REQUISITION, JOB_CHIEF_ENGINEER, JOB_CMO, JOB_CHIEF_POLICE, JOB_SEA, JOB_SYNTH, JOB_WARDEN)) //Marine roles -#define ROLES_OFFICERS list(JOB_CO, JOB_XO, JOB_SO, JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_SEA, JOB_CREWMAN, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_SYNTH, JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE) +#define ROLES_OFFICERS list(JOB_CO, JOB_XO, JOB_SO, JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_TANKCREW, JOB_DROPSHIP_CREW_CHIEF, JOB_SEA, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_SYNTH, JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE) GLOBAL_LIST_INIT(ROLES_CIC, list(JOB_CO, JOB_XO, JOB_SO, JOB_WO_CO, JOB_WO_XO)) -GLOBAL_LIST_INIT(ROLES_AUXIL_SUPPORT, list(JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_CREWMAN, JOB_WO_CHIEF_POLICE, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_WO_PILOT)) +GLOBAL_LIST_INIT(ROLES_AUXIL_SUPPORT, list(JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_TANKCREW, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF,JOB_WO_CHIEF_POLICE, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_WO_PILOT)) GLOBAL_LIST_INIT(ROLES_MISC, list(JOB_SYNTH, JOB_WORKING_JOE, JOB_SEA, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_MESS_SERGEANT, JOB_WO_CORPORATE_LIAISON, JOB_WO_SYNTH)) GLOBAL_LIST_INIT(ROLES_POLICE, list(JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE)) GLOBAL_LIST_INIT(ROLES_ENGINEERING, list(JOB_CHIEF_ENGINEER, JOB_ORDNANCE_TECH, JOB_MAINT_TECH, JOB_WO_CHIEF_ENGINEER, JOB_WO_ORDNANCE_TECH)) diff --git a/code/__HELPERS/job.dm b/code/__HELPERS/job.dm index 9709664ea458..165bc8931e5d 100644 --- a/code/__HELPERS/job.dm +++ b/code/__HELPERS/job.dm @@ -34,7 +34,7 @@ JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, - JOB_CREWMAN, + JOB_TANKCREW, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_CHIEF_ENGINEER, diff --git a/code/datums/factions/uscm.dm b/code/datums/factions/uscm.dm index a19faba32d81..df8309eed59c 100644 --- a/code/datums/factions/uscm.dm +++ b/code/datums/factions/uscm.dm @@ -24,9 +24,9 @@ if(JOB_GENERAL) marine_rk = "general" if(JOB_CAS_PILOT) marine_rk = "gp" if(JOB_DROPSHIP_PILOT) marine_rk = "dp" + if(JOB_TANKCREW) marine_rk = "cg" if(JOB_INTEL) marine_rk = "io" if(JOB_DROPSHIP_CREW_CHIEF) marine_rk = "dcc" - if(JOB_CREWMAN) marine_rk = "tc" if(JOB_MARINE_RAIDER) marine_rk = "soc" if(JOB_MARINE_RAIDER_SL) marine_rk = "soctl" if(JOB_MARINE_RAIDER_CMD) marine_rk = "soccmd" diff --git a/code/game/jobs/job/command/auxiliary/crew_guy.dm b/code/game/jobs/job/command/auxiliary/crew_guy.dm new file mode 100644 index 000000000000..c6f4835b9134 --- /dev/null +++ b/code/game/jobs/job/command/auxiliary/crew_guy.dm @@ -0,0 +1,14 @@ +/datum/job/command/vehicle_crewmen + title = JOB_TANKCREW + total_positions = 2 + spawn_positions = 2 + allow_additional = 1 + scaled = 0 + flags_startup_parameters = ROLE_ADD_TO_DEFAULT + gear_preset = /datum/equipment_preset/uscm/tank + entry_message_body = "Your job is to operate and maintain the ship's armored vehicles. You are in charge of representing the armored presence amongst the marines during the operation, as well as maintaining and repairing your own vehicles." + + +/obj/effect/landmark/start/vehicle_crewmen + name = JOB_TANKCREW + job = /datum/job/command/vehicle_crewmen diff --git a/code/game/jobs/job/command/auxiliary/tank_crew.dm b/code/game/jobs/job/command/auxiliary/tank_crew.dm new file mode 100644 index 000000000000..c6f4835b9134 --- /dev/null +++ b/code/game/jobs/job/command/auxiliary/tank_crew.dm @@ -0,0 +1,14 @@ +/datum/job/command/vehicle_crewmen + title = JOB_TANKCREW + total_positions = 2 + spawn_positions = 2 + allow_additional = 1 + scaled = 0 + flags_startup_parameters = ROLE_ADD_TO_DEFAULT + gear_preset = /datum/equipment_preset/uscm/tank + entry_message_body = "Your job is to operate and maintain the ship's armored vehicles. You are in charge of representing the armored presence amongst the marines during the operation, as well as maintaining and repairing your own vehicles." + + +/obj/effect/landmark/start/vehicle_crewmen + name = JOB_TANKCREW + job = /datum/job/command/vehicle_crewmen diff --git a/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm b/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm index 0586f4b72fa5..7f7ff5fe4c3d 100644 --- a/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm +++ b/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm @@ -56,8 +56,8 @@ UnregisterSignal(SSdcs, COMSIG_GLOB_VEHICLE_ORDERED) if(!selected_vehicle) - selected_vehicle = "APC" // The whole thing seems to be based upon the assumption you unlock tank as an override, defaulting to APC - if(selected_vehicle == "APC") + selected_vehicle = "TANK" // The whole thing seems to be based upon the assumption you unlock tank as an override, defaulting to APC + if(selected_vehicle == "TANK") available_categories &= ~(VEHICLE_ARMOR_AVAILABLE|VEHICLE_INTEGRAL_AVAILABLE) //APC lacks these, so we need to remove these flags to be able to access spare parts section /obj/structure/machinery/cm_vending/gear/vehicle_crew/get_listed_products(mob/user) @@ -79,7 +79,7 @@ else if(selected_vehicle == "ARC") display_list = GLOB.cm_vending_vehicle_crew_arc - else if(selected_vehicle == "APC") + else if(selected_vehicle == "TANK") if(available_categories) display_list = GLOB.cm_vending_vehicle_crew_apc else //APC stuff costs more to prevent 4000 points spent on shitton of ammunition @@ -161,7 +161,6 @@ GLOBAL_LIST_INIT(cm_vending_vehicle_crew_tank, list( list("Treads", 0, /obj/item/hardpoint/locomotion/treads, VEHICLE_TREADS_AVAILABLE, VENDOR_ITEM_RECOMMENDED))) GLOBAL_LIST_INIT(cm_vending_vehicle_crew_tank_spare, list( - list("SPARE PARTS SELECTION:", 0, null, null, null), list("INTEGRAL PARTS", 0, null, null, null), list("M34A2-A Multipurpose Turret", 500, /obj/item/hardpoint/holder/tank_turret, null, VENDOR_ITEM_REGULAR), @@ -170,44 +169,44 @@ GLOBAL_LIST_INIT(cm_vending_vehicle_crew_tank_spare, list( list("Turret Smoke Screen Magazine", 50, /obj/item/ammo_magazine/hardpoint/turret_smoke, null, VENDOR_ITEM_REGULAR), list("PRIMARY WEAPON", 0, null, null, null), - list("AC3-E Autocannon", 200, /obj/item/hardpoint/primary/autocannon, null, VENDOR_ITEM_REGULAR), + list("AC3-E Autocannon", 0, /obj/item/hardpoint/primary/autocannon, null, VENDOR_ITEM_REGULAR), list("DRG-N Offensive Flamer Unit", 200, /obj/item/hardpoint/primary/flamer, null, VENDOR_ITEM_REGULAR), - list("LTAA-AP Minigun", 200, /obj/item/hardpoint/primary/minigun, null, VENDOR_ITEM_REGULAR), - list("LTB Cannon", 400, /obj/item/hardpoint/primary/cannon, null, VENDOR_ITEM_RECOMMENDED), + list("LTAA-AP Minigun", 0, /obj/item/hardpoint/primary/minigun, null, VENDOR_ITEM_REGULAR), + list("LTB Cannon", 0, /obj/item/hardpoint/primary/cannon, null, VENDOR_ITEM_RECOMMENDED), list("PRIMARY AMMUNITION", 0, null, null, null), - list("AC3-E Autocannon Magazine", 100, /obj/item/ammo_magazine/hardpoint/ace_autocannon, null, VENDOR_ITEM_REGULAR), - list("DRG-N Offensive Flamer Unit Fuel Tank", 100, /obj/item/ammo_magazine/hardpoint/primary_flamer, null, VENDOR_ITEM_REGULAR), - list("LTAA-AP Minigun Magazine", 100, /obj/item/ammo_magazine/hardpoint/ltaaap_minigun, null, VENDOR_ITEM_REGULAR), - list("LTB Cannon Magazine", 100, /obj/item/ammo_magazine/hardpoint/ltb_cannon, null, VENDOR_ITEM_REGULAR), + list("AC3-E Autocannon Magazine", 0, /obj/item/ammo_magazine/hardpoint/ace_autocannon, null, VENDOR_ITEM_REGULAR), + list("DRG-N Offensive Flamer Unit Fuel Tank", 0, /obj/item/ammo_magazine/hardpoint/primary_flamer, null, VENDOR_ITEM_REGULAR), + list("LTAA-AP Minigun Magazine", 0, /obj/item/ammo_magazine/hardpoint/ltaaap_minigun, null, VENDOR_ITEM_REGULAR), + list("LTB Cannon Magazine", 0, /obj/item/ammo_magazine/hardpoint/ltb_cannon, null, VENDOR_ITEM_REGULAR), list("SECONDARY WEAPON", 0, null, null, null), list("M92T Grenade Launcher", 200, /obj/item/hardpoint/secondary/grenade_launcher, null, VENDOR_ITEM_REGULAR), - list("M56 Cupola", 200, /obj/item/hardpoint/secondary/m56cupola, null, VENDOR_ITEM_REGULAR), - list("LZR-N Flamer Unit", 200, /obj/item/hardpoint/secondary/small_flamer, null, VENDOR_ITEM_REGULAR), - list("TOW Launcher", 300, /obj/item/hardpoint/secondary/towlauncher, null, VENDOR_ITEM_REGULAR), + list("M56 Cupola", 0, /obj/item/hardpoint/secondary/m56cupola, null, VENDOR_ITEM_REGULAR), + list("LZR-N Flamer Unit", 0, /obj/item/hardpoint/secondary/small_flamer, null, VENDOR_ITEM_REGULAR), + list("TOW Launcher", 0, /obj/item/hardpoint/secondary/towlauncher, null, VENDOR_ITEM_REGULAR), list("SECONDARY AMMUNITION", 0, null, null, null), list("M92T Grenade Launcher Magazine", 50, /obj/item/ammo_magazine/hardpoint/tank_glauncher, null, VENDOR_ITEM_REGULAR), - list("M56 Cupola Magazine", 50, /obj/item/ammo_magazine/hardpoint/m56_cupola, null, VENDOR_ITEM_REGULAR), + list("M56 Cupola Magazine", 0, /obj/item/ammo_magazine/hardpoint/m56_cupola, null, VENDOR_ITEM_REGULAR), list("LZR-N Flamer Unit Fuel Tank", 50, /obj/item/ammo_magazine/hardpoint/secondary_flamer, null, VENDOR_ITEM_REGULAR), list("TOW Launcher Magazine", 50, /obj/item/ammo_magazine/hardpoint/towlauncher, null, VENDOR_ITEM_REGULAR), list("SUPPORT MODULE", 0, null, null, null), - list("Artillery Module", 300, /obj/item/hardpoint/support/artillery_module, null, VENDOR_ITEM_REGULAR), + list("Artillery Module", 0, /obj/item/hardpoint/support/artillery_module, null, VENDOR_ITEM_REGULAR), list("Integrated Weapons Sensor Array", 200, /obj/item/hardpoint/support/weapons_sensor, null, VENDOR_ITEM_REGULAR), - list("Overdrive Enhancer", 200, /obj/item/hardpoint/support/overdrive_enhancer, null, VENDOR_ITEM_REGULAR), + list("Overdrive Enhancer", 0, /obj/item/hardpoint/support/overdrive_enhancer, null, VENDOR_ITEM_REGULAR), list("ARMOR", 0, null, null, null), - list("Ballistic Armor", 300, /obj/item/hardpoint/armor/ballistic, null, VENDOR_ITEM_REGULAR), - list("Caustic Armor", 300, /obj/item/hardpoint/armor/caustic, null, VENDOR_ITEM_REGULAR), - list("Concussive Armor", 300, /obj/item/hardpoint/armor/concussive, null, VENDOR_ITEM_REGULAR), - list("Paladin Armor", 300, /obj/item/hardpoint/armor/paladin, null, VENDOR_ITEM_REGULAR), - list("Snowplow", 200, /obj/item/hardpoint/armor/snowplow, null, VENDOR_ITEM_REGULAR), + list("Ballistic Armor", 0, /obj/item/hardpoint/armor/ballistic, null, VENDOR_ITEM_REGULAR), + list("Caustic Armor", 0, /obj/item/hardpoint/armor/caustic, null, VENDOR_ITEM_REGULAR), + list("Concussive Armor", 0, /obj/item/hardpoint/armor/concussive, null, VENDOR_ITEM_REGULAR), + list("Paladin Armor", 0, /obj/item/hardpoint/armor/paladin, null, VENDOR_ITEM_REGULAR), + list("Snowplow", 0, /obj/item/hardpoint/armor/snowplow, null, VENDOR_ITEM_REGULAR), list("TREADS", 0, null, null, null), - list("Reinforced Treads", 200, /obj/item/hardpoint/locomotion/treads/robust, null, VENDOR_ITEM_REGULAR), - list("Treads", 200, /obj/item/hardpoint/locomotion/treads, null, VENDOR_ITEM_REGULAR))) + list("Reinforced Treads", 0, /obj/item/hardpoint/locomotion/treads/robust, null, VENDOR_ITEM_REGULAR), + list("Treads", 0, /obj/item/hardpoint/locomotion/treads, null, VENDOR_ITEM_REGULAR))) GLOBAL_LIST_INIT(cm_vending_vehicle_crew_apc, list( list("STARTING KIT SELECTION:", 0, null, null, null), diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm index 58db10080fbd..31af346fbe3f 100644 --- a/code/game/supplyshuttle.dm +++ b/code/game/supplyshuttle.dm @@ -1318,8 +1318,8 @@ GLOBAL_DATUM_INIT(supply_controller, /datum/controller/supply, new()) req_access = list(ACCESS_MARINE_CREWMAN) circuit = /obj/item/circuitboard/computer/supplycomp/vehicle // Can only retrieve one vehicle per round - var/spent = TRUE - var/tank_unlocked = FALSE + var/spent = FALSE + var/tank_unlocked = TRUE var/list/allowed_roles = list(JOB_CREWMAN) var/list/vehicles @@ -1379,9 +1379,7 @@ GLOBAL_DATUM_INIT(supply_controller, /datum/controller/supply, new()) . = ..() vehicles = list( - new /datum/vehicle_order/apc(), - new /datum/vehicle_order/apc/med(), - new /datum/vehicle_order/apc/cmd(), + new /datum/vehicle_order/tank/plain ) if(!GLOB.VehicleElevatorConsole) @@ -1472,7 +1470,6 @@ GLOBAL_DATUM_INIT(supply_controller, /datum/controller/supply, new()) if(VO?.has_vehicle_lock()) return - spent = TRUE ordered_vehicle = new VO.ordered_vehicle(middle_turf) SSshuttle.vehicle_elevator.request(SSshuttle.getDock("almayer vehicle")) diff --git a/code/modules/cm_marines/marines_consoles.dm b/code/modules/cm_marines/marines_consoles.dm index 7bc36a159149..bc9e89f765f2 100644 --- a/code/modules/cm_marines/marines_consoles.dm +++ b/code/modules/cm_marines/marines_consoles.dm @@ -904,7 +904,7 @@ GLOBAL_LIST_EMPTY_TYPED(crewmonitor, /datum/crewmonitor) JOB_DROPSHIP_PILOT = 23, JOB_DROPSHIP_CREW_CHIEF = 24, JOB_INTEL = 25, - JOB_CREWMAN = 26, + JOB_TANKCREW = 26, // 30-39: Security JOB_CHIEF_POLICE = 30, JOB_PROVOST_TML = 30, diff --git a/code/modules/cm_tech/implements/tank.dm b/code/modules/cm_tech/implements/tank.dm index ec1b81e9f675..9cd8a5c6a804 100644 --- a/code/modules/cm_tech/implements/tank.dm +++ b/code/modules/cm_tech/implements/tank.dm @@ -18,7 +18,7 @@ name = "tank coupon" desc = "We're done playing! This coupon allows the ship crew to retrieve a complete Longstreet tank from Vehicle ASRS. Make sure to send the ASRS lift down so it can be retrieved. One use only. LTB not included. Comes with free friendly fire." vehicle_type = /datum/vehicle_order/tank/broken - vehicle_category = "TANK" + vehicle_category = "LONGSTREET" /obj/item/vehicle_coupon/attack_self(mob/user) if(QDELETED(src)) From 6eb375d2aa6b8a12d5faaffa57eeedaf80afeda8 Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Fri, 17 May 2024 21:38:33 +0300 Subject: [PATCH 05/27] removes john crew_guy --- code/game/jobs/job/command/auxiliary/crew_guy.dm | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 code/game/jobs/job/command/auxiliary/crew_guy.dm diff --git a/code/game/jobs/job/command/auxiliary/crew_guy.dm b/code/game/jobs/job/command/auxiliary/crew_guy.dm deleted file mode 100644 index c6f4835b9134..000000000000 --- a/code/game/jobs/job/command/auxiliary/crew_guy.dm +++ /dev/null @@ -1,14 +0,0 @@ -/datum/job/command/vehicle_crewmen - title = JOB_TANKCREW - total_positions = 2 - spawn_positions = 2 - allow_additional = 1 - scaled = 0 - flags_startup_parameters = ROLE_ADD_TO_DEFAULT - gear_preset = /datum/equipment_preset/uscm/tank - entry_message_body = "Your job is to operate and maintain the ship's armored vehicles. You are in charge of representing the armored presence amongst the marines during the operation, as well as maintaining and repairing your own vehicles." - - -/obj/effect/landmark/start/vehicle_crewmen - name = JOB_TANKCREW - job = /datum/job/command/vehicle_crewmen From 9ae1d8ce752e7548ebd49cc35f93d5b8f7f026f2 Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Fri, 17 May 2024 22:00:05 +0300 Subject: [PATCH 06/27] makes the job work --- code/__DEFINES/mode.dm | 4 ++-- colonialmarines.dme | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/__DEFINES/mode.dm b/code/__DEFINES/mode.dm index bd5ebab28694..af0bdcd2dc91 100644 --- a/code/__DEFINES/mode.dm +++ b/code/__DEFINES/mode.dm @@ -148,11 +148,11 @@ GLOBAL_LIST_INIT(ROLES_FACTION_CLASH, ROLES_USCM + JOB_PREDATOR) GLOBAL_LIST_INIT(ROLES_UNASSIGNED, list(JOB_SQUAD_MARINE)) //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_CREWMAN, JOB_WO_CHIEF_POLICE, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_SEA,\ +#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,\ JOB_SQUAD_LEADER, JOB_SQUAD_TEAM_LEADER, JOB_SQUAD_SPECIALIST, JOB_SQUAD_SMARTGUN, JOB_SQUAD_MEDIC, JOB_SQUAD_ENGI, JOB_SQUAD_MARINE #define BLURB_USCM_FLIGHT JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF #define BLURB_USCM_MP JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE -#define BLURB_USCM_ENGI JOB_CHIEF_ENGINEER, JOB_ORDNANCE_TECH, JOB_MAINT_TECH, JOB_WO_CHIEF_ENGINEER, JOB_WO_ORDNANCE_TECH, JOB_WO_PILOT, JOB_CREWMAN +#define BLURB_USCM_ENGI JOB_CHIEF_ENGINEER, JOB_ORDNANCE_TECH, JOB_MAINT_TECH, JOB_WO_CHIEF_ENGINEER, JOB_WO_ORDNANCE_TECH, JOB_WO_PILOT #define BLURB_USCM_MEDICAL JOB_CMO, JOB_RESEARCHER, JOB_DOCTOR, JOB_NURSE, JOB_WO_CMO, JOB_WO_RESEARCHER, JOB_WO_DOCTOR #define BLURB_USCM_REQ JOB_CHIEF_REQUISITION, JOB_CARGO_TECH, JOB_WO_CHIEF_REQUISITION, JOB_WO_REQUISITION #define BLURB_USCM_WY JOB_CORPORATE_LIAISON diff --git a/colonialmarines.dme b/colonialmarines.dme index 1ef3e14dbdd2..7e5d12e12f3f 100644 --- a/colonialmarines.dme +++ b/colonialmarines.dme @@ -797,10 +797,10 @@ #include "code\game\jobs\job\command\auxiliary\auxiliary_support_officer.dm" #include "code\game\jobs\job\command\auxiliary\cas_pilot.dm" #include "code\game\jobs\job\command\auxiliary\crew_chief.dm" -#include "code\game\jobs\job\command\auxiliary\crew_guy.dm" #include "code\game\jobs\job\command\auxiliary\dropship_pilot.dm" #include "code\game\jobs\job\command\auxiliary\intel.dm" #include "code\game\jobs\job\command\auxiliary\senior.dm" +#include "code\game\jobs\job\command\auxiliary\tank_crew.dm" #include "code\game\jobs\job\command\cic\captain.dm" #include "code\game\jobs\job\command\cic\executive.dm" #include "code\game\jobs\job\command\cic\staffofficer.dm" From 92e3e4f7724809dd3bec181fb52a736366ca29a4 Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Fri, 17 May 2024 22:05:07 +0300 Subject: [PATCH 07/27] removes the wiki link and it from the description --- code/__DEFINES/urls.dm | 1 - code/game/jobs/job/command/auxiliary/tank_crew.dm | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/code/__DEFINES/urls.dm b/code/__DEFINES/urls.dm index 6e444a7a7ded..5d3fca1a2032 100644 --- a/code/__DEFINES/urls.dm +++ b/code/__DEFINES/urls.dm @@ -9,4 +9,3 @@ #define URL_WIKI_MACROS "Macros" #define URL_WIKI_SOP "Standard_Operating_Procedure" #define URL_WIKI_CO_RULES "CO_Council_Rulings" -#define URL_WIKI_VC_GUIDE "https://cm-ss13.com/wiki/Vehicle_Crewman" diff --git a/code/game/jobs/job/command/auxiliary/tank_crew.dm b/code/game/jobs/job/command/auxiliary/tank_crew.dm index c6f4835b9134..62e7c12b3fdd 100644 --- a/code/game/jobs/job/command/auxiliary/tank_crew.dm +++ b/code/game/jobs/job/command/auxiliary/tank_crew.dm @@ -6,7 +6,7 @@ scaled = 0 flags_startup_parameters = ROLE_ADD_TO_DEFAULT gear_preset = /datum/equipment_preset/uscm/tank - entry_message_body = "Your job is to operate and maintain the ship's armored vehicles. You are in charge of representing the armored presence amongst the marines during the operation, as well as maintaining and repairing your own vehicles." + entry_message_body = "Your job is to operate and maintain the ship's armored vehicles. You are in charge of representing the armored presence amongst the marines during the operation, as well as maintaining and repairing your own vehicles." /obj/effect/landmark/start/vehicle_crewmen From aeafa635bae2c457c694cb8c9ccd10522f504987 Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Fri, 17 May 2024 22:39:09 +0300 Subject: [PATCH 08/27] name consistency, removes the spawnmark --- code/__DEFINES/mode.dm | 4 ++-- code/datums/factions/uscm.dm | 2 +- code/game/jobs/job/command/auxiliary/tank_crew.dm | 2 +- maps/map_files/USS_Almayer/USS_Almayer.dmm | 1 - maps/map_files/USS_Runtime/USS_Runtime.dmm | 6 ------ 5 files changed, 4 insertions(+), 11 deletions(-) diff --git a/code/__DEFINES/mode.dm b/code/__DEFINES/mode.dm index af0bdcd2dc91..bb819d39dc0f 100644 --- a/code/__DEFINES/mode.dm +++ b/code/__DEFINES/mode.dm @@ -148,11 +148,11 @@ GLOBAL_LIST_INIT(ROLES_FACTION_CLASH, ROLES_USCM + JOB_PREDATOR) GLOBAL_LIST_INIT(ROLES_UNASSIGNED, list(JOB_SQUAD_MARINE)) //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,\ +#define BLURB_USCM_COMBAT JOB_CO, JOB_XO, JOB_SO, JOB_WO_CO, JOB_WO_XO, JOB_WO_CHIEF_POLICE, JOB_CREWMAN, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_SEA,\ JOB_SQUAD_LEADER, JOB_SQUAD_TEAM_LEADER, JOB_SQUAD_SPECIALIST, JOB_SQUAD_SMARTGUN, JOB_SQUAD_MEDIC, JOB_SQUAD_ENGI, JOB_SQUAD_MARINE #define BLURB_USCM_FLIGHT JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF #define BLURB_USCM_MP JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE -#define BLURB_USCM_ENGI JOB_CHIEF_ENGINEER, JOB_ORDNANCE_TECH, JOB_MAINT_TECH, JOB_WO_CHIEF_ENGINEER, JOB_WO_ORDNANCE_TECH, JOB_WO_PILOT +#define BLURB_USCM_ENGI JOB_CHIEF_ENGINEER, JOB_ORDNANCE_TECH, JOB_MAINT_TECH, JOB_WO_CHIEF_ENGINEER, JOB_WO_ORDNANCE_TECH, JOB_CREWMAN, JOB_WO_PILOT #define BLURB_USCM_MEDICAL JOB_CMO, JOB_RESEARCHER, JOB_DOCTOR, JOB_NURSE, JOB_WO_CMO, JOB_WO_RESEARCHER, JOB_WO_DOCTOR #define BLURB_USCM_REQ JOB_CHIEF_REQUISITION, JOB_CARGO_TECH, JOB_WO_CHIEF_REQUISITION, JOB_WO_REQUISITION #define BLURB_USCM_WY JOB_CORPORATE_LIAISON diff --git a/code/datums/factions/uscm.dm b/code/datums/factions/uscm.dm index df8309eed59c..e28e972cfc35 100644 --- a/code/datums/factions/uscm.dm +++ b/code/datums/factions/uscm.dm @@ -24,7 +24,7 @@ if(JOB_GENERAL) marine_rk = "general" if(JOB_CAS_PILOT) marine_rk = "gp" if(JOB_DROPSHIP_PILOT) marine_rk = "dp" - if(JOB_TANKCREW) marine_rk = "cg" + if(JOB_TANKCREW) marine_rk = "tc" if(JOB_INTEL) marine_rk = "io" if(JOB_DROPSHIP_CREW_CHIEF) marine_rk = "dcc" if(JOB_MARINE_RAIDER) marine_rk = "soc" diff --git a/code/game/jobs/job/command/auxiliary/tank_crew.dm b/code/game/jobs/job/command/auxiliary/tank_crew.dm index 62e7c12b3fdd..4d07655a4900 100644 --- a/code/game/jobs/job/command/auxiliary/tank_crew.dm +++ b/code/game/jobs/job/command/auxiliary/tank_crew.dm @@ -6,7 +6,7 @@ scaled = 0 flags_startup_parameters = ROLE_ADD_TO_DEFAULT gear_preset = /datum/equipment_preset/uscm/tank - entry_message_body = "Your job is to operate and maintain the ship's armored vehicles. You are in charge of representing the armored presence amongst the marines during the operation, as well as maintaining and repairing your own vehicles." + entry_message_body = "Your job is to operate and maintain the ship's armored vehicles. You are in charge of representing the armored presence amongst the marines during the operation, as well as maintaining and repairing your own vehicles." /obj/effect/landmark/start/vehicle_crewmen diff --git a/maps/map_files/USS_Almayer/USS_Almayer.dmm b/maps/map_files/USS_Almayer/USS_Almayer.dmm index efcfcaadac16..4d84eb26487f 100644 --- a/maps/map_files/USS_Almayer/USS_Almayer.dmm +++ b/maps/map_files/USS_Almayer/USS_Almayer.dmm @@ -59099,7 +59099,6 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/obj/effect/landmark/start/tank_crew, /area/almayer/living/tankerbunks) "qim" = ( /obj/structure/disposalpipe/segment, diff --git a/maps/map_files/USS_Runtime/USS_Runtime.dmm b/maps/map_files/USS_Runtime/USS_Runtime.dmm index 2fb3b3a2326d..3ffdaf8a1814 100644 --- a/maps/map_files/USS_Runtime/USS_Runtime.dmm +++ b/maps/map_files/USS_Runtime/USS_Runtime.dmm @@ -26,12 +26,6 @@ }, /area/event) "h" = ( -/obj/effect/landmark/start/tank_crew, -/turf/open/floor/almayer{ - icon_state = "plating" - }, -/area/event) -"h" = ( /obj/effect/landmark/start/police, /turf/open/floor/almayer{ icon_state = "plating" From 4db1f64da517622dd5e571c5468e97675bda67d6 Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Fri, 17 May 2024 22:45:12 +0300 Subject: [PATCH 09/27] TANKCREWMAN --- code/__DEFINES/mode.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/__DEFINES/mode.dm b/code/__DEFINES/mode.dm index bb819d39dc0f..9303f4a80298 100644 --- a/code/__DEFINES/mode.dm +++ b/code/__DEFINES/mode.dm @@ -148,11 +148,11 @@ GLOBAL_LIST_INIT(ROLES_FACTION_CLASH, ROLES_USCM + JOB_PREDATOR) GLOBAL_LIST_INIT(ROLES_UNASSIGNED, list(JOB_SQUAD_MARINE)) //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_CREWMAN, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_SEA,\ +#define BLURB_USCM_COMBAT JOB_CO, JOB_XO, JOB_SO, JOB_WO_CO, JOB_WO_XO, JOB_WO_CHIEF_POLICE, JOB_TANKCREW, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_SEA,\ JOB_SQUAD_LEADER, JOB_SQUAD_TEAM_LEADER, JOB_SQUAD_SPECIALIST, JOB_SQUAD_SMARTGUN, JOB_SQUAD_MEDIC, JOB_SQUAD_ENGI, JOB_SQUAD_MARINE #define BLURB_USCM_FLIGHT JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF #define BLURB_USCM_MP JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE -#define BLURB_USCM_ENGI JOB_CHIEF_ENGINEER, JOB_ORDNANCE_TECH, JOB_MAINT_TECH, JOB_WO_CHIEF_ENGINEER, JOB_WO_ORDNANCE_TECH, JOB_CREWMAN, JOB_WO_PILOT +#define BLURB_USCM_ENGI JOB_CHIEF_ENGINEER, JOB_ORDNANCE_TECH, JOB_MAINT_TECH, JOB_WO_CHIEF_ENGINEER, JOB_WO_ORDNANCE_TECH, JOB_TANKCREW, JOB_WO_PILOT #define BLURB_USCM_MEDICAL JOB_CMO, JOB_RESEARCHER, JOB_DOCTOR, JOB_NURSE, JOB_WO_CMO, JOB_WO_RESEARCHER, JOB_WO_DOCTOR #define BLURB_USCM_REQ JOB_CHIEF_REQUISITION, JOB_CARGO_TECH, JOB_WO_CHIEF_REQUISITION, JOB_WO_REQUISITION #define BLURB_USCM_WY JOB_CORPORATE_LIAISON From be0052f4909b916ee3707e26ae92107baf3323a5 Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Fri, 17 May 2024 23:02:44 +0300 Subject: [PATCH 10/27] job_changes --- code/__DEFINES/job.dm | 3 +-- code/modules/mob/new_player/preferences_setup.dm | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/code/__DEFINES/job.dm b/code/__DEFINES/job.dm index 757aab59d97c..a5bc696502c1 100644 --- a/code/__DEFINES/job.dm +++ b/code/__DEFINES/job.dm @@ -79,12 +79,11 @@ GLOBAL_LIST_INIT(job_command_roles, JOB_COMMAND_ROLES_LIST) #define JOB_DROPSHIP_PILOT "Dropship Pilot" #define JOB_TANKCREW "Tank Crew" #define JOB_DROPSHIP_CREW_CHIEF "Dropship Crew Chief" -#define JOB_CREWMAN "Vehicle Crewman" #define JOB_INTEL "Intelligence Officer" #define JOB_DROPSHIP_ROLES /datum/timelock/dropship #define JOB_DROPSHIP_ROLES_LIST list(JOB_DROPSHIP_CREW_CHIEF, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT) #define JOB_AUXILIARY_ROLES /datum/timelock/auxiliary -#define JOB_AUXILIARY_ROLES_LIST list(JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_CREWMAN, JOB_INTEL, JOB_TANKCREW) +#define JOB_AUXILIARY_ROLES_LIST list(JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_INTEL, JOB_TANKCREW) #define JOB_POLICE "Military Police" #define JOB_WARDEN "Military Warden" diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index 6b92b2617c70..4f43b93a2b78 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -259,7 +259,7 @@ return /datum/equipment_preset/uscm/intel/full if(JOB_CAS_PILOT) return /datum/equipment_preset/uscm_ship/gp/full - if(JOB_CREWMAN) + if(JOB_TANKCREW) return /datum/equipment_preset/uscm/tank/full if(JOB_DROPSHIP_PILOT) return /datum/equipment_preset/uscm_ship/dp/full From 38d8f4253b0b2ba9dc0f9d777fb1013059c728de Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Fri, 17 May 2024 23:05:25 +0300 Subject: [PATCH 11/27] migrates to tank_crew --- code/game/gamemodes/colonialmarines/whiskey_outpost.dm | 2 +- .../machinery/vending/vendor_types/crew/vehicle_crew.dm | 6 +++--- code/game/supplyshuttle.dm | 2 +- code/modules/character_traits/biology_traits.dm | 2 +- code/modules/gear_presets/other.dm | 4 ++-- code/modules/gear_presets/uscm.dm | 4 ++-- code/modules/vehicles/apc/apc.dm | 2 +- code/modules/vehicles/apc/apc_command.dm | 2 +- code/modules/vehicles/apc/apc_medical.dm | 2 +- .../vehicles/interior/interactable/vehicle_locker.dm | 2 +- code/modules/vehicles/tank/tank.dm | 2 +- 11 files changed, 15 insertions(+), 15 deletions(-) diff --git a/code/game/gamemodes/colonialmarines/whiskey_outpost.dm b/code/game/gamemodes/colonialmarines/whiskey_outpost.dm index c5b25d3e1538..0b8208d6d8fc 100644 --- a/code/game/gamemodes/colonialmarines/whiskey_outpost.dm +++ b/code/game/gamemodes/colonialmarines/whiskey_outpost.dm @@ -18,7 +18,7 @@ /datum/job/civilian/synthetic/whiskey = JOB_SYNTH, /datum/job/command/warrant/whiskey = JOB_CHIEF_POLICE, /datum/job/command/bridge/whiskey = JOB_SO, - /datum/job/command/tank_crew/whiskey = JOB_CREWMAN, + /datum/job/command/tank_crew/whiskey = JOB_TANKCREW, /datum/job/command/police/whiskey = JOB_POLICE, /datum/job/command/pilot/whiskey = JOB_CAS_PILOT, /datum/job/logistics/requisition/whiskey = JOB_CHIEF_REQUISITION, diff --git a/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm b/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm index 7f7ff5fe4c3d..333687599186 100644 --- a/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm +++ b/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm @@ -7,7 +7,7 @@ icon_state = "vehicle_gear" req_access = list(ACCESS_MARINE_CREWMAN) - vendor_role = list(JOB_CREWMAN) + vendor_role = list(JOB_TANKCREW) bound_width = 64 unslashable = TRUE @@ -260,7 +260,7 @@ GLOBAL_LIST_INIT(cm_vending_vehicle_crew_arc, list( desc = "An automated weapon rack hooked up to a small storage of standard-issue weapons. Can be accessed only by the Vehicle Crewmen." icon_state = "guns" req_access = list(ACCESS_MARINE_CREWMAN) - vendor_role = list(JOB_CREWMAN) + vendor_role = list(JOB_TANKCREW) vend_flags = VEND_CLUTTER_PROTECTION | VEND_LIMITED_INVENTORY | VEND_TO_HAND listed_products = list( @@ -399,7 +399,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_vehicle_crew, list( name = "\improper ColMarTech Vehicle Crewman Equipment Rack" desc = "An automated rack hooked up to a colossal storage of Vehicle Crewmen standard-issue equipment." req_access = list(ACCESS_MARINE_CREWMAN) - vendor_role = list(JOB_CREWMAN) + vendor_role = list(JOB_TANKCREW) /obj/structure/machinery/cm_vending/clothing/vehicle_crew/get_listed_products(mob/user) return GLOB.cm_vending_clothing_vehicle_crew diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm index 31af346fbe3f..a863c0dcdfac 100644 --- a/code/game/supplyshuttle.dm +++ b/code/game/supplyshuttle.dm @@ -1320,7 +1320,7 @@ GLOBAL_DATUM_INIT(supply_controller, /datum/controller/supply, new()) // Can only retrieve one vehicle per round var/spent = FALSE var/tank_unlocked = TRUE - var/list/allowed_roles = list(JOB_CREWMAN) + var/list/allowed_roles = list(JOB_TANKCREW) var/list/vehicles diff --git a/code/modules/character_traits/biology_traits.dm b/code/modules/character_traits/biology_traits.dm index a78dd0d38464..c6ffdfbfa44d 100644 --- a/code/modules/character_traits/biology_traits.dm +++ b/code/modules/character_traits/biology_traits.dm @@ -82,7 +82,7 @@ /datum/character_trait/biology/bad_leg/New() . = ..() // Not on definition as several lists are added - inapplicable_roles = list(JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_CREWMAN, JOB_INTEL, JOB_ORDNANCE_TECH, JOB_MARINE) + JOB_SQUAD_ROLES_LIST + JOB_MARINE_RAIDER_ROLES_LIST + JOB_ERT_GRUNT_LIST + inapplicable_roles = list(JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_TANKCREW, JOB_INTEL, JOB_ORDNANCE_TECH, JOB_MARINE) + JOB_SQUAD_ROLES_LIST + JOB_MARINE_RAIDER_ROLES_LIST + JOB_ERT_GRUNT_LIST bad_cane_roles = list(JOB_SURVIVOR, JOB_STOWAWAY) fancy_cane_roles = list(JOB_CO_SURVIVOR, CORPORATE_SURVIVOR, JOB_CMO, JOB_CORPORATE_LIAISON, JOB_SEA, JOB_CHIEF_ENGINEER) + JOB_COMMAND_ROLES_LIST inapplicable_species = list(SPECIES_SYNTHETIC, SPECIES_YAUTJA) diff --git a/code/modules/gear_presets/other.dm b/code/modules/gear_presets/other.dm index 99b8bf634eed..acdc7349f44f 100644 --- a/code/modules/gear_presets/other.dm +++ b/code/modules/gear_presets/other.dm @@ -881,8 +881,8 @@ flags = EQUIPMENT_PRESET_EXTRA idtype = /obj/item/card/id/dogtag - assignment = JOB_CREWMAN - rank = JOB_CREWMAN + assignment = JOB_TANKCREW + rank = JOB_TANKCREW paygrade = PAY_SHORT_ME4 role_comm_title = "CRMN" minimum_age = 30 diff --git a/code/modules/gear_presets/uscm.dm b/code/modules/gear_presets/uscm.dm index eec3b6157877..543b18874057 100644 --- a/code/modules/gear_presets/uscm.dm +++ b/code/modules/gear_presets/uscm.dm @@ -161,8 +161,8 @@ ACCESS_MARINE_CHARLIE, ACCESS_MARINE_DELTA, ) - assignment = JOB_CREWMAN - rank = JOB_CREWMAN + assignment = JOB_TANKCREW + rank = JOB_TANKCREW paygrade = PAY_SHORT_ME4 role_comm_title = "CRMN" minimum_age = 30 diff --git a/code/modules/vehicles/apc/apc.dm b/code/modules/vehicles/apc/apc.dm index 24b137a6804a..b60bae4612d5 100644 --- a/code/modules/vehicles/apc/apc.dm +++ b/code/modules/vehicles/apc/apc.dm @@ -87,7 +87,7 @@ GLOBAL_LIST_EMPTY(command_apc_list) /obj/vehicle/multitile/apc/load_role_reserved_slots() var/datum/role_reserved_slots/RRS = new RRS.category_name = "Crewmen" - RRS.roles = list(JOB_CREWMAN, JOB_WO_CREWMAN, JOB_UPP_CREWMAN, JOB_PMC_CREWMAN) + RRS.roles = list(JOB_TANKCREW, JOB_WO_CREWMAN, JOB_UPP_CREWMAN, JOB_PMC_CREWMAN) RRS.total = 2 role_reserved_slots += RRS diff --git a/code/modules/vehicles/apc/apc_command.dm b/code/modules/vehicles/apc/apc_command.dm index 54647279ec3b..3308b88c74c2 100644 --- a/code/modules/vehicles/apc/apc_command.dm +++ b/code/modules/vehicles/apc/apc_command.dm @@ -68,7 +68,7 @@ /obj/vehicle/multitile/apc/command/load_role_reserved_slots() var/datum/role_reserved_slots/RRS = new RRS.category_name = "Crewmen" - RRS.roles = list(JOB_CREWMAN, JOB_WO_CREWMAN, JOB_UPP_CREWMAN, JOB_PMC_CREWMAN) + RRS.roles = list(JOB_TANKCREW, JOB_WO_CREWMAN, JOB_UPP_CREWMAN, JOB_PMC_CREWMAN) RRS.total = 2 role_reserved_slots += RRS diff --git a/code/modules/vehicles/apc/apc_medical.dm b/code/modules/vehicles/apc/apc_medical.dm index f8809bedaa73..8a45a8e0bb54 100644 --- a/code/modules/vehicles/apc/apc_medical.dm +++ b/code/modules/vehicles/apc/apc_medical.dm @@ -32,7 +32,7 @@ /obj/vehicle/multitile/apc/medical/load_role_reserved_slots() var/datum/role_reserved_slots/RRS = new RRS.category_name = "Crewmen" - RRS.roles = list(JOB_CREWMAN, JOB_WO_CREWMAN, JOB_UPP_CREWMAN, JOB_PMC_CREWMAN) + RRS.roles = list(JOB_TANKCREW, JOB_WO_CREWMAN, JOB_UPP_CREWMAN, JOB_PMC_CREWMAN) RRS.total = 2 role_reserved_slots += RRS diff --git a/code/modules/vehicles/interior/interactable/vehicle_locker.dm b/code/modules/vehicles/interior/interactable/vehicle_locker.dm index 5571995594f0..f058673f3cb1 100644 --- a/code/modules/vehicles/interior/interactable/vehicle_locker.dm +++ b/code/modules/vehicles/interior/interactable/vehicle_locker.dm @@ -15,7 +15,7 @@ unslashable = TRUE indestructible = TRUE - var/list/role_restriction = list(JOB_CREWMAN, JOB_WO_CREWMAN, JOB_UPP_CREWMAN, JOB_PMC_CREWMAN) + var/list/role_restriction = list(JOB_TANKCREW, JOB_WO_CREWMAN, JOB_UPP_CREWMAN, JOB_PMC_CREWMAN) var/obj/item/storage/internal/container diff --git a/code/modules/vehicles/tank/tank.dm b/code/modules/vehicles/tank/tank.dm index 147e359471df..3f847faee04a 100644 --- a/code/modules/vehicles/tank/tank.dm +++ b/code/modules/vehicles/tank/tank.dm @@ -90,7 +90,7 @@ /obj/vehicle/multitile/tank/load_role_reserved_slots() var/datum/role_reserved_slots/RRS = new RRS.category_name = "Crewmen" - RRS.roles = list(JOB_CREWMAN, JOB_WO_CREWMAN, JOB_UPP_CREWMAN, JOB_PMC_CREWMAN) + RRS.roles = list(JOB_TANKCREW, JOB_WO_CREWMAN, JOB_UPP_CREWMAN, JOB_PMC_CREWMAN) RRS.total = 2 role_reserved_slots += RRS From 0f6af00903875cfae80e5a2ebd29af8001c10386 Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Wed, 22 May 2024 03:38:17 +0300 Subject: [PATCH 12/27] further job stuff --- code/__DEFINES/mode.dm | 2 +- code/game/jobs/job/command/auxiliary/tank_crew.dm | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/code/__DEFINES/mode.dm b/code/__DEFINES/mode.dm index 9303f4a80298..62965a20a5fa 100644 --- a/code/__DEFINES/mode.dm +++ b/code/__DEFINES/mode.dm @@ -124,7 +124,7 @@ GLOBAL_LIST_INIT(ROLES_COMMAND, list(JOB_CO, JOB_XO, JOB_SO, JOB_AUXILIARY_OFFIC //Marine roles #define ROLES_OFFICERS list(JOB_CO, JOB_XO, JOB_SO, JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_TANKCREW, JOB_DROPSHIP_CREW_CHIEF, JOB_SEA, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_SYNTH, JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE) GLOBAL_LIST_INIT(ROLES_CIC, list(JOB_CO, JOB_XO, JOB_SO, JOB_WO_CO, JOB_WO_XO)) -GLOBAL_LIST_INIT(ROLES_AUXIL_SUPPORT, list(JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_TANKCREW, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF,JOB_WO_CHIEF_POLICE, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_WO_PILOT)) +GLOBAL_LIST_INIT(ROLES_AUXIL_SUPPORT, list(JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_TANKCREW, JOB_WO_CHIEF_POLICE, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_WO_PILOT)) GLOBAL_LIST_INIT(ROLES_MISC, list(JOB_SYNTH, JOB_WORKING_JOE, JOB_SEA, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_MESS_SERGEANT, JOB_WO_CORPORATE_LIAISON, JOB_WO_SYNTH)) GLOBAL_LIST_INIT(ROLES_POLICE, list(JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE)) GLOBAL_LIST_INIT(ROLES_ENGINEERING, list(JOB_CHIEF_ENGINEER, JOB_ORDNANCE_TECH, JOB_MAINT_TECH, JOB_WO_CHIEF_ENGINEER, JOB_WO_ORDNANCE_TECH)) diff --git a/code/game/jobs/job/command/auxiliary/tank_crew.dm b/code/game/jobs/job/command/auxiliary/tank_crew.dm index 4d07655a4900..b69e27a5095b 100644 --- a/code/game/jobs/job/command/auxiliary/tank_crew.dm +++ b/code/game/jobs/job/command/auxiliary/tank_crew.dm @@ -2,8 +2,9 @@ title = JOB_TANKCREW total_positions = 2 spawn_positions = 2 - allow_additional = 1 - scaled = 0 + allow_additional = TRUE + scaled = FALSE + supervisors = "the acting commanding officer" flags_startup_parameters = ROLE_ADD_TO_DEFAULT gear_preset = /datum/equipment_preset/uscm/tank entry_message_body = "Your job is to operate and maintain the ship's armored vehicles. You are in charge of representing the armored presence amongst the marines during the operation, as well as maintaining and repairing your own vehicles." From ecec8d860bf996d4a6903401858de721c40264fc Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Thu, 23 May 2024 06:18:13 +0300 Subject: [PATCH 13/27] slot scaling --- .../jobs/job/command/auxiliary/tank_crew.dm | 17 ++++++++++++++++- code/game/jobs/slot_scaling.dm | 2 +- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/code/game/jobs/job/command/auxiliary/tank_crew.dm b/code/game/jobs/job/command/auxiliary/tank_crew.dm index b69e27a5095b..3124b1aaba1f 100644 --- a/code/game/jobs/job/command/auxiliary/tank_crew.dm +++ b/code/game/jobs/job/command/auxiliary/tank_crew.dm @@ -3,12 +3,27 @@ total_positions = 2 spawn_positions = 2 allow_additional = TRUE - scaled = FALSE + scaled = TRUE supervisors = "the acting commanding officer" flags_startup_parameters = ROLE_ADD_TO_DEFAULT gear_preset = /datum/equipment_preset/uscm/tank entry_message_body = "Your job is to operate and maintain the ship's armored vehicles. You are in charge of representing the armored presence amongst the marines during the operation, as well as maintaining and repairing your own vehicles." +/datum/job/command/vehicle_crewmen/set_spawn_positions(count) + spawn_positions = tank_crew_slot_formula(length(GLOB.clients)) + +/datum/job/command/vehicle_crewmen/get_total_positions(latejoin = FALSE) + var/positions = spawn_positions + if(!latejoin) + total_positions_so_far = positions + return positions + + positions = tank_crew_slot_formula(length(GLOB.clients)) + if(positions > total_positions_so_far) + total_positions_so_far = positions + return positions + positions = total_positions_so_far + return positions /obj/effect/landmark/start/vehicle_crewmen name = JOB_TANKCREW diff --git a/code/game/jobs/slot_scaling.dm b/code/game/jobs/slot_scaling.dm index 8c283d63df10..10585382b096 100644 --- a/code/game/jobs/slot_scaling.dm +++ b/code/game/jobs/slot_scaling.dm @@ -13,7 +13,7 @@ return floor(clamp((marine_count/factor)+c, min, max)) /proc/tank_crew_slot_formula(playercount) - return job_slot_formula(playercount, 1,1,1,1) + return job_slot_formula(playercount, 200,2,0,2) /proc/medic_slot_formula(playercount) return job_slot_formula(playercount,40,1,3,5) From d7a4c002a2590f137c1c36cccfbe04e2c2afccb8 Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Thu, 23 May 2024 17:58:15 +0300 Subject: [PATCH 14/27] Adds threads to the /plain/ because it bugged out without threads if soembody moved it without vending them. And allows xenos to "jump over" --- code/modules/vehicles/tank/tank.dm | 33 ++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/code/modules/vehicles/tank/tank.dm b/code/modules/vehicles/tank/tank.dm index 3f847faee04a..88ff3601cf2a 100644 --- a/code/modules/vehicles/tank/tank.dm +++ b/code/modules/vehicles/tank/tank.dm @@ -164,7 +164,39 @@ update_icon() return TRUE +/obj/vehicle/multitile/tank/MouseDrop_T(mob/M, mob/user) + . = ..() + if((M != user) || !isxeno(user)) + return + if(health > 0) + to_chat(user, SPAN_XENO("We can't jump over [src] until it is destroyed!")) + return + + var/turf/current_turf = get_turf(user) + var/dir_to_go = get_dir(current_turf, src) + for(var/i in 1 to 3) + current_turf = get_step(current_turf, dir_to_go) + if(!(current_turf in locs)) + break + + if(current_turf.density) + to_chat(user, SPAN_XENO("The path over [src] is obstructed!")) + return + + // Now we check to make sure the turf on the other side of the tank isn't dense too + current_turf = get_step(current_turf, dir_to_go) + if(current_turf.density) + to_chat(user, SPAN_XENO("The path over [src] is obstructed!")) + return + + to_chat(user, SPAN_XENO("We begin to jump over [src]...")) + if(!do_after(user, 3 SECONDS, INTERRUPT_ALL, BUSY_ICON_HOSTILE)) + to_chat(user, SPAN_XENO("We stop jumping over [src].")) + return + + user.forceMove(current_turf) + to_chat(user, SPAN_XENO("We jump to the other side of [src].")) /* ** PRESETS SPAWNERS */ @@ -193,6 +225,7 @@ /obj/effect/vehicle_spawner/tank/load_hardpoints(obj/vehicle/multitile/tank/V) V.add_hardpoint(new /obj/item/hardpoint/holder/tank_turret) + V.add_hardpoint(new /obj/item/hardpoint/locomotion/treads) //PRESET: turret, treads installed /obj/effect/vehicle_spawner/tank/plain/load_hardpoints(obj/vehicle/multitile/tank/V) From 499154b20159a6d6295964f425677c02c4457401 Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Thu, 23 May 2024 18:09:04 +0300 Subject: [PATCH 15/27] unreachable code in question --- code/game/jobs/job/command/auxiliary/tank_crew.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/jobs/job/command/auxiliary/tank_crew.dm b/code/game/jobs/job/command/auxiliary/tank_crew.dm index 3124b1aaba1f..0ee6d53a6abf 100644 --- a/code/game/jobs/job/command/auxiliary/tank_crew.dm +++ b/code/game/jobs/job/command/auxiliary/tank_crew.dm @@ -22,8 +22,8 @@ if(positions > total_positions_so_far) total_positions_so_far = positions return positions - positions = total_positions_so_far - return positions + positions = total_positions_so_far + return positions /obj/effect/landmark/start/vehicle_crewmen name = JOB_TANKCREW From 1409149e5b38e3c33de290df323594e03323384f Mon Sep 17 00:00:00 2001 From: InsaneRed <47158596+InsaneRed@users.noreply.github.com> Date: Sun, 26 May 2024 20:27:30 +0300 Subject: [PATCH 16/27] Apply suggestions from code review review Co-authored-by: Git-Nivrak <59925169+Git-Nivrak@users.noreply.github.com> --- code/__DEFINES/job.dm | 4 +-- code/__DEFINES/mode.dm | 10 +++--- code/__HELPERS/job.dm | 2 +- code/datums/factions/uscm.dm | 2 +- .../colonialmarines/whiskey_outpost.dm | 2 +- .../jobs/job/command/auxiliary/tank_crew.dm | 36 +++++++++---------- code/game/jobs/slot_scaling.dm | 2 -- .../vending/vendor_types/crew/vehicle_crew.dm | 6 ++-- code/game/supplyshuttle.dm | 2 +- .../character_traits/biology_traits.dm | 2 +- code/modules/cm_marines/marines_consoles.dm | 2 +- code/modules/gear_presets/other.dm | 4 +-- code/modules/gear_presets/uscm.dm | 4 +-- .../mob/new_player/preferences_setup.dm | 2 +- code/modules/vehicles/apc/apc.dm | 2 +- code/modules/vehicles/apc/apc_command.dm | 2 +- code/modules/vehicles/apc/apc_medical.dm | 2 +- .../interior/interactable/vehicle_locker.dm | 2 +- code/modules/vehicles/tank/tank.dm | 2 +- 19 files changed, 42 insertions(+), 48 deletions(-) diff --git a/code/__DEFINES/job.dm b/code/__DEFINES/job.dm index a5bc696502c1..58cc6ddeec18 100644 --- a/code/__DEFINES/job.dm +++ b/code/__DEFINES/job.dm @@ -77,13 +77,13 @@ GLOBAL_LIST_INIT(job_command_roles, JOB_COMMAND_ROLES_LIST) #define JOB_AUXILIARY_OFFICER "Auxiliary Support Officer" #define JOB_CAS_PILOT "Gunship Pilot" #define JOB_DROPSHIP_PILOT "Dropship Pilot" -#define JOB_TANKCREW "Tank Crew" +#define JOB_TANK_CREW "Tank Crew" #define JOB_DROPSHIP_CREW_CHIEF "Dropship Crew Chief" #define JOB_INTEL "Intelligence Officer" #define JOB_DROPSHIP_ROLES /datum/timelock/dropship #define JOB_DROPSHIP_ROLES_LIST list(JOB_DROPSHIP_CREW_CHIEF, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT) #define JOB_AUXILIARY_ROLES /datum/timelock/auxiliary -#define JOB_AUXILIARY_ROLES_LIST list(JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_INTEL, JOB_TANKCREW) +#define JOB_AUXILIARY_ROLES_LIST list(JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_INTEL, JOB_TANK_CREW) #define JOB_POLICE "Military Police" #define JOB_WARDEN "Military Warden" diff --git a/code/__DEFINES/mode.dm b/code/__DEFINES/mode.dm index 9626c6bf56b3..83b05342a0e6 100644 --- a/code/__DEFINES/mode.dm +++ b/code/__DEFINES/mode.dm @@ -120,12 +120,12 @@ //================================================= //Role defines, specifically lists of roles for job bans, crew manifests and the like. -GLOBAL_LIST_INIT(ROLES_COMMAND, list(JOB_CO, JOB_XO, JOB_SO, JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_TANKCREW, JOB_DROPSHIP_CREW_CHIEF, JOB_POLICE, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_CHIEF_REQUISITION, JOB_CHIEF_ENGINEER, JOB_CMO, JOB_CHIEF_POLICE, JOB_SEA, JOB_SYNTH, JOB_WARDEN)) +GLOBAL_LIST_INIT(ROLES_COMMAND, list(JOB_CO, JOB_XO, JOB_SO, JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_TANK_CREW, JOB_DROPSHIP_CREW_CHIEF, JOB_POLICE, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_CHIEF_REQUISITION, JOB_CHIEF_ENGINEER, JOB_CMO, JOB_CHIEF_POLICE, JOB_SEA, JOB_SYNTH, JOB_WARDEN)) //Marine roles -#define ROLES_OFFICERS list(JOB_CO, JOB_XO, JOB_SO, JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_TANKCREW, JOB_DROPSHIP_CREW_CHIEF, JOB_SEA, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_SYNTH, JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE) +#define ROLES_OFFICERS list(JOB_CO, JOB_XO, JOB_SO, JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_TANK_CREW, JOB_DROPSHIP_CREW_CHIEF, JOB_SEA, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_SYNTH, JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE) GLOBAL_LIST_INIT(ROLES_CIC, list(JOB_CO, JOB_XO, JOB_SO, JOB_WO_CO, JOB_WO_XO)) -GLOBAL_LIST_INIT(ROLES_AUXIL_SUPPORT, list(JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_TANKCREW, JOB_WO_CHIEF_POLICE, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_WO_PILOT)) +GLOBAL_LIST_INIT(ROLES_AUXIL_SUPPORT, list(JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_TANK_CREW, JOB_WO_CHIEF_POLICE, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_WO_PILOT)) GLOBAL_LIST_INIT(ROLES_MISC, list(JOB_SYNTH, JOB_WORKING_JOE, JOB_SEA, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_MESS_SERGEANT, JOB_WO_CORPORATE_LIAISON, JOB_WO_SYNTH)) GLOBAL_LIST_INIT(ROLES_POLICE, list(JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE)) GLOBAL_LIST_INIT(ROLES_ENGINEERING, list(JOB_CHIEF_ENGINEER, JOB_ORDNANCE_TECH, JOB_MAINT_TECH, JOB_WO_CHIEF_ENGINEER, JOB_WO_ORDNANCE_TECH)) @@ -149,11 +149,11 @@ GLOBAL_LIST_INIT(ROLES_FACTION_CLASH, ROLES_USCM + JOB_PREDATOR) GLOBAL_LIST_INIT(ROLES_UNASSIGNED, list(JOB_SQUAD_MARINE)) //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_TANKCREW, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_SEA,\ +#define BLURB_USCM_COMBAT JOB_CO, JOB_XO, JOB_SO, JOB_WO_CO, JOB_WO_XO, JOB_WO_CHIEF_POLICE, JOB_TANK_CREW, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_SEA,\ JOB_SQUAD_LEADER, JOB_SQUAD_TEAM_LEADER, JOB_SQUAD_SPECIALIST, JOB_SQUAD_SMARTGUN, JOB_SQUAD_MEDIC, JOB_SQUAD_ENGI, JOB_SQUAD_MARINE #define BLURB_USCM_FLIGHT JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF #define BLURB_USCM_MP JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE -#define BLURB_USCM_ENGI JOB_CHIEF_ENGINEER, JOB_ORDNANCE_TECH, JOB_MAINT_TECH, JOB_WO_CHIEF_ENGINEER, JOB_WO_ORDNANCE_TECH, JOB_TANKCREW, JOB_WO_PILOT +#define BLURB_USCM_ENGI JOB_CHIEF_ENGINEER, JOB_ORDNANCE_TECH, JOB_MAINT_TECH, JOB_WO_CHIEF_ENGINEER, JOB_WO_ORDNANCE_TECH, JOB_TANK_CREW, JOB_WO_PILOT #define BLURB_USCM_MEDICAL JOB_CMO, JOB_RESEARCHER, JOB_DOCTOR, JOB_NURSE, JOB_WO_CMO, JOB_WO_RESEARCHER, JOB_WO_DOCTOR #define BLURB_USCM_REQ JOB_CHIEF_REQUISITION, JOB_CARGO_TECH, JOB_WO_CHIEF_REQUISITION, JOB_WO_REQUISITION #define BLURB_USCM_WY JOB_CORPORATE_LIAISON diff --git a/code/__HELPERS/job.dm b/code/__HELPERS/job.dm index 165bc8931e5d..51cc496feeae 100644 --- a/code/__HELPERS/job.dm +++ b/code/__HELPERS/job.dm @@ -34,7 +34,7 @@ JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, - JOB_TANKCREW, + JOB_TANK_CREW, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_CHIEF_ENGINEER, diff --git a/code/datums/factions/uscm.dm b/code/datums/factions/uscm.dm index e28e972cfc35..b299e248d4ee 100644 --- a/code/datums/factions/uscm.dm +++ b/code/datums/factions/uscm.dm @@ -24,7 +24,7 @@ if(JOB_GENERAL) marine_rk = "general" if(JOB_CAS_PILOT) marine_rk = "gp" if(JOB_DROPSHIP_PILOT) marine_rk = "dp" - if(JOB_TANKCREW) marine_rk = "tc" + if(JOB_TANK_CREW) marine_rk = "tc" if(JOB_INTEL) marine_rk = "io" if(JOB_DROPSHIP_CREW_CHIEF) marine_rk = "dcc" if(JOB_MARINE_RAIDER) marine_rk = "soc" diff --git a/code/game/gamemodes/colonialmarines/whiskey_outpost.dm b/code/game/gamemodes/colonialmarines/whiskey_outpost.dm index 0b8208d6d8fc..e7a43debb5fc 100644 --- a/code/game/gamemodes/colonialmarines/whiskey_outpost.dm +++ b/code/game/gamemodes/colonialmarines/whiskey_outpost.dm @@ -18,7 +18,7 @@ /datum/job/civilian/synthetic/whiskey = JOB_SYNTH, /datum/job/command/warrant/whiskey = JOB_CHIEF_POLICE, /datum/job/command/bridge/whiskey = JOB_SO, - /datum/job/command/tank_crew/whiskey = JOB_TANKCREW, + /datum/job/command/tank_crew/whiskey = JOB_TANK_CREW, /datum/job/command/police/whiskey = JOB_POLICE, /datum/job/command/pilot/whiskey = JOB_CAS_PILOT, /datum/job/logistics/requisition/whiskey = JOB_CHIEF_REQUISITION, diff --git a/code/game/jobs/job/command/auxiliary/tank_crew.dm b/code/game/jobs/job/command/auxiliary/tank_crew.dm index 0ee6d53a6abf..aef99d0a0d4f 100644 --- a/code/game/jobs/job/command/auxiliary/tank_crew.dm +++ b/code/game/jobs/job/command/auxiliary/tank_crew.dm @@ -1,5 +1,5 @@ -/datum/job/command/vehicle_crewmen - title = JOB_TANKCREW +/datum/job/command/tank_crew + title = JOB_TANK_CREW total_positions = 2 spawn_positions = 2 allow_additional = TRUE @@ -7,24 +7,20 @@ supervisors = "the acting commanding officer" flags_startup_parameters = ROLE_ADD_TO_DEFAULT gear_preset = /datum/equipment_preset/uscm/tank - entry_message_body = "Your job is to operate and maintain the ship's armored vehicles. You are in charge of representing the armored presence amongst the marines during the operation, as well as maintaining and repairing your own vehicles." + entry_message_body = "Your job is to operate and maintain the ship's armored vehicles. You are in charge of representing the armored presence amongst the marines during the operation, as well as maintaining and repairing your own vehicles." -/datum/job/command/vehicle_crewmen/set_spawn_positions(count) - spawn_positions = tank_crew_slot_formula(length(GLOB.clients)) +/datum/job/command/tank_crew/set_spawn_positions(count) + if (length(GLOB.clients) >= 200) + spawn_positions = 2 + else + spawn_positions = 0 -/datum/job/command/vehicle_crewmen/get_total_positions(latejoin = FALSE) - var/positions = spawn_positions - if(!latejoin) - total_positions_so_far = positions - return positions +/datum/job/command/tank_crew/get_total_positions(latejoin = FALSE) + if (length(GLOB.clients) >= 200 || total_positions_so_far > 0) + return 2 + + return 0 - positions = tank_crew_slot_formula(length(GLOB.clients)) - if(positions > total_positions_so_far) - total_positions_so_far = positions - return positions - positions = total_positions_so_far - return positions - -/obj/effect/landmark/start/vehicle_crewmen - name = JOB_TANKCREW - job = /datum/job/command/vehicle_crewmen +/obj/effect/landmark/start/tank_crew + name = JOB_TANK_CREW + job = /datum/job/command/tank_crew diff --git a/code/game/jobs/slot_scaling.dm b/code/game/jobs/slot_scaling.dm index 10585382b096..e9f108d47f8f 100644 --- a/code/game/jobs/slot_scaling.dm +++ b/code/game/jobs/slot_scaling.dm @@ -12,8 +12,6 @@ return min return floor(clamp((marine_count/factor)+c, min, max)) -/proc/tank_crew_slot_formula(playercount) - return job_slot_formula(playercount, 200,2,0,2) /proc/medic_slot_formula(playercount) return job_slot_formula(playercount,40,1,3,5) diff --git a/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm b/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm index 333687599186..3bbef55f5e54 100644 --- a/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm +++ b/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm @@ -7,7 +7,7 @@ icon_state = "vehicle_gear" req_access = list(ACCESS_MARINE_CREWMAN) - vendor_role = list(JOB_TANKCREW) + vendor_role = list(JOB_TANK_CREW) bound_width = 64 unslashable = TRUE @@ -260,7 +260,7 @@ GLOBAL_LIST_INIT(cm_vending_vehicle_crew_arc, list( desc = "An automated weapon rack hooked up to a small storage of standard-issue weapons. Can be accessed only by the Vehicle Crewmen." icon_state = "guns" req_access = list(ACCESS_MARINE_CREWMAN) - vendor_role = list(JOB_TANKCREW) + vendor_role = list(JOB_TANK_CREW) vend_flags = VEND_CLUTTER_PROTECTION | VEND_LIMITED_INVENTORY | VEND_TO_HAND listed_products = list( @@ -399,7 +399,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_vehicle_crew, list( name = "\improper ColMarTech Vehicle Crewman Equipment Rack" desc = "An automated rack hooked up to a colossal storage of Vehicle Crewmen standard-issue equipment." req_access = list(ACCESS_MARINE_CREWMAN) - vendor_role = list(JOB_TANKCREW) + vendor_role = list(JOB_TANK_CREW) /obj/structure/machinery/cm_vending/clothing/vehicle_crew/get_listed_products(mob/user) return GLOB.cm_vending_clothing_vehicle_crew diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm index a863c0dcdfac..1a059f2c652f 100644 --- a/code/game/supplyshuttle.dm +++ b/code/game/supplyshuttle.dm @@ -1320,7 +1320,7 @@ GLOBAL_DATUM_INIT(supply_controller, /datum/controller/supply, new()) // Can only retrieve one vehicle per round var/spent = FALSE var/tank_unlocked = TRUE - var/list/allowed_roles = list(JOB_TANKCREW) + var/list/allowed_roles = list(JOB_TANK_CREW) var/list/vehicles diff --git a/code/modules/character_traits/biology_traits.dm b/code/modules/character_traits/biology_traits.dm index c6ffdfbfa44d..2220f8f82fd2 100644 --- a/code/modules/character_traits/biology_traits.dm +++ b/code/modules/character_traits/biology_traits.dm @@ -82,7 +82,7 @@ /datum/character_trait/biology/bad_leg/New() . = ..() // Not on definition as several lists are added - inapplicable_roles = list(JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_TANKCREW, JOB_INTEL, JOB_ORDNANCE_TECH, JOB_MARINE) + JOB_SQUAD_ROLES_LIST + JOB_MARINE_RAIDER_ROLES_LIST + JOB_ERT_GRUNT_LIST + inapplicable_roles = list(JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_TANK_CREW, JOB_INTEL, JOB_ORDNANCE_TECH, JOB_MARINE) + JOB_SQUAD_ROLES_LIST + JOB_MARINE_RAIDER_ROLES_LIST + JOB_ERT_GRUNT_LIST bad_cane_roles = list(JOB_SURVIVOR, JOB_STOWAWAY) fancy_cane_roles = list(JOB_CO_SURVIVOR, CORPORATE_SURVIVOR, JOB_CMO, JOB_CORPORATE_LIAISON, JOB_SEA, JOB_CHIEF_ENGINEER) + JOB_COMMAND_ROLES_LIST inapplicable_species = list(SPECIES_SYNTHETIC, SPECIES_YAUTJA) diff --git a/code/modules/cm_marines/marines_consoles.dm b/code/modules/cm_marines/marines_consoles.dm index bc9e89f765f2..a26bd487b3bd 100644 --- a/code/modules/cm_marines/marines_consoles.dm +++ b/code/modules/cm_marines/marines_consoles.dm @@ -904,7 +904,7 @@ GLOBAL_LIST_EMPTY_TYPED(crewmonitor, /datum/crewmonitor) JOB_DROPSHIP_PILOT = 23, JOB_DROPSHIP_CREW_CHIEF = 24, JOB_INTEL = 25, - JOB_TANKCREW = 26, + JOB_TANK_CREW = 26, // 30-39: Security JOB_CHIEF_POLICE = 30, JOB_PROVOST_TML = 30, diff --git a/code/modules/gear_presets/other.dm b/code/modules/gear_presets/other.dm index acdc7349f44f..51e02bd451b0 100644 --- a/code/modules/gear_presets/other.dm +++ b/code/modules/gear_presets/other.dm @@ -881,8 +881,8 @@ flags = EQUIPMENT_PRESET_EXTRA idtype = /obj/item/card/id/dogtag - assignment = JOB_TANKCREW - rank = JOB_TANKCREW + assignment = JOB_TANK_CREW + rank = JOB_TANK_CREW paygrade = PAY_SHORT_ME4 role_comm_title = "CRMN" minimum_age = 30 diff --git a/code/modules/gear_presets/uscm.dm b/code/modules/gear_presets/uscm.dm index 543b18874057..74e02a7a3533 100644 --- a/code/modules/gear_presets/uscm.dm +++ b/code/modules/gear_presets/uscm.dm @@ -161,8 +161,8 @@ ACCESS_MARINE_CHARLIE, ACCESS_MARINE_DELTA, ) - assignment = JOB_TANKCREW - rank = JOB_TANKCREW + assignment = JOB_TANK_CREW + rank = JOB_TANK_CREW paygrade = PAY_SHORT_ME4 role_comm_title = "CRMN" minimum_age = 30 diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index 4f43b93a2b78..60fadbbab0fb 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -259,7 +259,7 @@ return /datum/equipment_preset/uscm/intel/full if(JOB_CAS_PILOT) return /datum/equipment_preset/uscm_ship/gp/full - if(JOB_TANKCREW) + if(JOB_TANK_CREW) return /datum/equipment_preset/uscm/tank/full if(JOB_DROPSHIP_PILOT) return /datum/equipment_preset/uscm_ship/dp/full diff --git a/code/modules/vehicles/apc/apc.dm b/code/modules/vehicles/apc/apc.dm index b60bae4612d5..fd6c4a3b5e52 100644 --- a/code/modules/vehicles/apc/apc.dm +++ b/code/modules/vehicles/apc/apc.dm @@ -87,7 +87,7 @@ GLOBAL_LIST_EMPTY(command_apc_list) /obj/vehicle/multitile/apc/load_role_reserved_slots() var/datum/role_reserved_slots/RRS = new RRS.category_name = "Crewmen" - RRS.roles = list(JOB_TANKCREW, JOB_WO_CREWMAN, JOB_UPP_CREWMAN, JOB_PMC_CREWMAN) + RRS.roles = list(JOB_TANK_CREW, JOB_WO_CREWMAN, JOB_UPP_CREWMAN, JOB_PMC_CREWMAN) RRS.total = 2 role_reserved_slots += RRS diff --git a/code/modules/vehicles/apc/apc_command.dm b/code/modules/vehicles/apc/apc_command.dm index 3308b88c74c2..8d056daec2ea 100644 --- a/code/modules/vehicles/apc/apc_command.dm +++ b/code/modules/vehicles/apc/apc_command.dm @@ -68,7 +68,7 @@ /obj/vehicle/multitile/apc/command/load_role_reserved_slots() var/datum/role_reserved_slots/RRS = new RRS.category_name = "Crewmen" - RRS.roles = list(JOB_TANKCREW, JOB_WO_CREWMAN, JOB_UPP_CREWMAN, JOB_PMC_CREWMAN) + RRS.roles = list(JOB_TANK_CREW, JOB_WO_CREWMAN, JOB_UPP_CREWMAN, JOB_PMC_CREWMAN) RRS.total = 2 role_reserved_slots += RRS diff --git a/code/modules/vehicles/apc/apc_medical.dm b/code/modules/vehicles/apc/apc_medical.dm index 8a45a8e0bb54..7d462e7da27b 100644 --- a/code/modules/vehicles/apc/apc_medical.dm +++ b/code/modules/vehicles/apc/apc_medical.dm @@ -32,7 +32,7 @@ /obj/vehicle/multitile/apc/medical/load_role_reserved_slots() var/datum/role_reserved_slots/RRS = new RRS.category_name = "Crewmen" - RRS.roles = list(JOB_TANKCREW, JOB_WO_CREWMAN, JOB_UPP_CREWMAN, JOB_PMC_CREWMAN) + RRS.roles = list(JOB_TANK_CREW, JOB_WO_CREWMAN, JOB_UPP_CREWMAN, JOB_PMC_CREWMAN) RRS.total = 2 role_reserved_slots += RRS diff --git a/code/modules/vehicles/interior/interactable/vehicle_locker.dm b/code/modules/vehicles/interior/interactable/vehicle_locker.dm index f058673f3cb1..1ad6fb5bb8df 100644 --- a/code/modules/vehicles/interior/interactable/vehicle_locker.dm +++ b/code/modules/vehicles/interior/interactable/vehicle_locker.dm @@ -15,7 +15,7 @@ unslashable = TRUE indestructible = TRUE - var/list/role_restriction = list(JOB_TANKCREW, JOB_WO_CREWMAN, JOB_UPP_CREWMAN, JOB_PMC_CREWMAN) + var/list/role_restriction = list(JOB_TANK_CREW, JOB_WO_CREWMAN, JOB_UPP_CREWMAN, JOB_PMC_CREWMAN) var/obj/item/storage/internal/container diff --git a/code/modules/vehicles/tank/tank.dm b/code/modules/vehicles/tank/tank.dm index 88ff3601cf2a..1ad3c7630166 100644 --- a/code/modules/vehicles/tank/tank.dm +++ b/code/modules/vehicles/tank/tank.dm @@ -90,7 +90,7 @@ /obj/vehicle/multitile/tank/load_role_reserved_slots() var/datum/role_reserved_slots/RRS = new RRS.category_name = "Crewmen" - RRS.roles = list(JOB_TANKCREW, JOB_WO_CREWMAN, JOB_UPP_CREWMAN, JOB_PMC_CREWMAN) + RRS.roles = list(JOB_TANK_CREW, JOB_WO_CREWMAN, JOB_UPP_CREWMAN, JOB_PMC_CREWMAN) RRS.total = 2 role_reserved_slots += RRS From a96bb5d286a78c19d68df0c3ce90b872bd2ff58e Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Sun, 26 May 2024 20:30:54 +0300 Subject: [PATCH 17/27] indentation --- code/game/jobs/job/command/auxiliary/tank_crew.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/jobs/job/command/auxiliary/tank_crew.dm b/code/game/jobs/job/command/auxiliary/tank_crew.dm index aef99d0a0d4f..1a5926b53c05 100644 --- a/code/game/jobs/job/command/auxiliary/tank_crew.dm +++ b/code/game/jobs/job/command/auxiliary/tank_crew.dm @@ -16,9 +16,9 @@ spawn_positions = 0 /datum/job/command/tank_crew/get_total_positions(latejoin = FALSE) - if (length(GLOB.clients) >= 200 || total_positions_so_far > 0) - return 2 - + if(length(GLOB.clients) >= 200 || total_positions_so_far > 0) + return 2 + return 0 /obj/effect/landmark/start/tank_crew From 2118d38ab36ca61c94a74263dbfd885d98c45ed7 Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Mon, 27 May 2024 18:21:29 +0300 Subject: [PATCH 18/27] extra space removal --- code/game/jobs/slot_scaling.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/game/jobs/slot_scaling.dm b/code/game/jobs/slot_scaling.dm index e9f108d47f8f..8c8568130763 100644 --- a/code/game/jobs/slot_scaling.dm +++ b/code/game/jobs/slot_scaling.dm @@ -12,7 +12,6 @@ return min return floor(clamp((marine_count/factor)+c, min, max)) - /proc/medic_slot_formula(playercount) return job_slot_formula(playercount,40,1,3,5) From 0d54301296557f8913f6ef2c266f3d7f84646344 Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Mon, 27 May 2024 20:08:22 +0300 Subject: [PATCH 19/27] roles now work --- code/datums/factions/uscm.dm | 2 ++ code/game/jobs/role_authority.dm | 1 - .../machinery/vending/vendor_types/crew/vehicle_crew.dm | 6 ++---- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/code/datums/factions/uscm.dm b/code/datums/factions/uscm.dm index b299e248d4ee..690fb15921ea 100644 --- a/code/datums/factions/uscm.dm +++ b/code/datums/factions/uscm.dm @@ -97,6 +97,8 @@ border_rk = "command" if(JOB_POLICE) marine_rk = "mp" + if(JOB_TANK_CREW) + marine_rk = "tc" if(JOB_WARDEN) marine_rk = "warden" border_rk = "command" diff --git a/code/game/jobs/role_authority.dm b/code/game/jobs/role_authority.dm index 58c9ad5b5092..a9017e2cc8d3 100644 --- a/code/game/jobs/role_authority.dm +++ b/code/game/jobs/role_authority.dm @@ -61,7 +61,6 @@ GLOBAL_VAR_INIT(players_preassigned, 0) /datum/job/special/uaac, /datum/job/special/uaac/tis, /datum/job/special/uscm, - /datum/job/command/tank_crew //Rip VC ) var/squads_all[] = typesof(/datum/squad) - /datum/squad var/castes_all[] = subtypesof(/datum/caste_datum) diff --git a/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm b/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm index 3bbef55f5e54..b84858f0bffb 100644 --- a/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm +++ b/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm @@ -157,8 +157,7 @@ GLOBAL_LIST_INIT(cm_vending_vehicle_crew_tank, list( list("Snowplow", 0, /obj/item/hardpoint/armor/snowplow, VEHICLE_ARMOR_AVAILABLE, VENDOR_ITEM_REGULAR), list("TREADS", 0, null, null, null), - list("Reinforced Treads", 0, /obj/item/hardpoint/locomotion/treads/robust, VEHICLE_TREADS_AVAILABLE, VENDOR_ITEM_REGULAR), - list("Treads", 0, /obj/item/hardpoint/locomotion/treads, VEHICLE_TREADS_AVAILABLE, VENDOR_ITEM_RECOMMENDED))) + list("Reinforced Treads", 0, /obj/item/hardpoint/locomotion/treads/robust, VEHICLE_TREADS_AVAILABLE, VENDOR_ITEM_REGULAR))) GLOBAL_LIST_INIT(cm_vending_vehicle_crew_tank_spare, list( @@ -205,8 +204,7 @@ GLOBAL_LIST_INIT(cm_vending_vehicle_crew_tank_spare, list( list("Snowplow", 0, /obj/item/hardpoint/armor/snowplow, null, VENDOR_ITEM_REGULAR), list("TREADS", 0, null, null, null), - list("Reinforced Treads", 0, /obj/item/hardpoint/locomotion/treads/robust, null, VENDOR_ITEM_REGULAR), - list("Treads", 0, /obj/item/hardpoint/locomotion/treads, null, VENDOR_ITEM_REGULAR))) + list("Reinforced Treads", 0, /obj/item/hardpoint/locomotion/treads/robust, null, VENDOR_ITEM_REGULAR))) GLOBAL_LIST_INIT(cm_vending_vehicle_crew_apc, list( list("STARTING KIT SELECTION:", 0, null, null, null), From abe86e5cd1acc136ec922b027185d98a068a5cbb Mon Sep 17 00:00:00 2001 From: InsaneRed <47158596+InsaneRed@users.noreply.github.com> Date: Tue, 28 May 2024 23:07:49 +0300 Subject: [PATCH 20/27] Apply suggestions from code review review Co-authored-by: harryob <55142896+harryob@users.noreply.github.com> --- code/modules/vehicles/tank/tank.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/vehicles/tank/tank.dm b/code/modules/vehicles/tank/tank.dm index 1ad3c7630166..accc2b4da63f 100644 --- a/code/modules/vehicles/tank/tank.dm +++ b/code/modules/vehicles/tank/tank.dm @@ -164,9 +164,10 @@ update_icon() return TRUE -/obj/vehicle/multitile/tank/MouseDrop_T(mob/M, mob/user) + +/obj/vehicle/multitile/tank/MouseDrop_T(mob/dropped, mob/user) . = ..() - if((M != user) || !isxeno(user)) + if((dropped != user) || !isxeno(user)) return if(health > 0) From b952d7acb9127c60b3eac6fcb7ecf1fe323ba575 Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Thu, 30 May 2024 22:53:05 +0300 Subject: [PATCH 21/27] preferences --- code/modules/client/preferences.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 46d217ce25d4..a986059703b8 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -663,7 +663,7 @@ GLOBAL_LIST_INIT(bgstate_options, list( * * width - Screen' width. * * height - Screen's height. */ -/datum/preferences/proc/SetChoices(mob/user, limit = 20, list/splitJobs = list(JOB_CHIEF_REQUISITION, JOB_WO_CMO), width = 950, height = 750) +/datum/preferences/proc/SetChoices(mob/user, limit = 21, list/splitJobs = list(JOB_CHIEF_REQUISITION, JOB_WO_CMO), width = 950, height = 750) if(!GLOB.RoleAuthority) return @@ -781,7 +781,7 @@ GLOBAL_LIST_INIT(bgstate_options, list( * * width - Screen' width. * * height - Screen's height. */ -/datum/preferences/proc/set_job_slots(mob/user, limit = 20, list/splitJobs = list(JOB_CHIEF_REQUISITION, JOB_WO_CMO), width = 950, height = 750) +/datum/preferences/proc/set_job_slots(mob/user, limit = 21, list/splitJobs = list(JOB_CHIEF_REQUISITION, JOB_WO_CMO), width = 950, height = 750) if(!GLOB.RoleAuthority) return From c22026d21819eec29cdf9fd63a957c7734c5e5fc Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Sun, 2 Jun 2024 01:43:50 +0300 Subject: [PATCH 22/27] health changes, removes threads on spam so people now need to put it on. --- code/modules/vehicles/hardpoints/holder/tank_turret.dm | 2 +- code/modules/vehicles/hardpoints/wheels/treads.dm | 4 ++-- code/modules/vehicles/tank/tank.dm | 1 - 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/code/modules/vehicles/hardpoints/holder/tank_turret.dm b/code/modules/vehicles/hardpoints/holder/tank_turret.dm index 403c5871f36b..abde66fa0214 100644 --- a/code/modules/vehicles/hardpoints/holder/tank_turret.dm +++ b/code/modules/vehicles/hardpoints/holder/tank_turret.dm @@ -27,7 +27,7 @@ slot = HDPT_TURRET // big beefy chonk of metal - health = 750 + health = 450 damage_multiplier = 0.05 accepted_hardpoints = list( diff --git a/code/modules/vehicles/hardpoints/wheels/treads.dm b/code/modules/vehicles/hardpoints/wheels/treads.dm index b718d1c8e897..dd819ea2af03 100644 --- a/code/modules/vehicles/hardpoints/wheels/treads.dm +++ b/code/modules/vehicles/hardpoints/wheels/treads.dm @@ -8,7 +8,7 @@ slot = HDPT_TREADS - health = 500 + health = 300 //with this settings, takes 3 tiles to reach top speed move_delay = 3.8 @@ -20,7 +20,7 @@ name = "Reinforced Treads" desc = "These treads are made of a tougher material and are more durable. However, the extra weight slows the tank down slightly." - health = 750 + health = 500 acid_resistant = TRUE move_max_momentum = 5 //same top speed, but takes 5 tiles to reach it diff --git a/code/modules/vehicles/tank/tank.dm b/code/modules/vehicles/tank/tank.dm index accc2b4da63f..1cc1174c43fe 100644 --- a/code/modules/vehicles/tank/tank.dm +++ b/code/modules/vehicles/tank/tank.dm @@ -226,7 +226,6 @@ /obj/effect/vehicle_spawner/tank/load_hardpoints(obj/vehicle/multitile/tank/V) V.add_hardpoint(new /obj/item/hardpoint/holder/tank_turret) - V.add_hardpoint(new /obj/item/hardpoint/locomotion/treads) //PRESET: turret, treads installed /obj/effect/vehicle_spawner/tank/plain/load_hardpoints(obj/vehicle/multitile/tank/V) From d73e5d74f115b31a5fae785e7734408b0279fe59 Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Sun, 2 Jun 2024 02:18:32 +0300 Subject: [PATCH 23/27] adds treads back, removes it from the tank, and remvoes spares --- .../vending/vendor_types/crew/vehicle_crew.dm | 54 +------------------ 1 file changed, 2 insertions(+), 52 deletions(-) diff --git a/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm b/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm index b84858f0bffb..880deac4261f 100644 --- a/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm +++ b/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm @@ -65,16 +65,12 @@ if(!user) display_list += GLOB.cm_vending_vehicle_crew_tank - display_list += GLOB.cm_vending_vehicle_crew_tank_spare display_list += GLOB.cm_vending_vehicle_crew_apc - display_list += GLOB.cm_vending_vehicle_crew_apc_spare return display_list if(selected_vehicle == "TANK") if(available_categories) display_list = GLOB.cm_vending_vehicle_crew_tank - else - display_list = GLOB.cm_vending_vehicle_crew_tank_spare else if(selected_vehicle == "ARC") display_list = GLOB.cm_vending_vehicle_crew_arc @@ -157,54 +153,8 @@ GLOBAL_LIST_INIT(cm_vending_vehicle_crew_tank, list( list("Snowplow", 0, /obj/item/hardpoint/armor/snowplow, VEHICLE_ARMOR_AVAILABLE, VENDOR_ITEM_REGULAR), list("TREADS", 0, null, null, null), - list("Reinforced Treads", 0, /obj/item/hardpoint/locomotion/treads/robust, VEHICLE_TREADS_AVAILABLE, VENDOR_ITEM_REGULAR))) - -GLOBAL_LIST_INIT(cm_vending_vehicle_crew_tank_spare, list( - - list("INTEGRAL PARTS", 0, null, null, null), - list("M34A2-A Multipurpose Turret", 500, /obj/item/hardpoint/holder/tank_turret, null, VENDOR_ITEM_REGULAR), - - list("SUPPORT AMMUNITION", 0, null, null, null), - list("Turret Smoke Screen Magazine", 50, /obj/item/ammo_magazine/hardpoint/turret_smoke, null, VENDOR_ITEM_REGULAR), - - list("PRIMARY WEAPON", 0, null, null, null), - list("AC3-E Autocannon", 0, /obj/item/hardpoint/primary/autocannon, null, VENDOR_ITEM_REGULAR), - list("DRG-N Offensive Flamer Unit", 200, /obj/item/hardpoint/primary/flamer, null, VENDOR_ITEM_REGULAR), - list("LTAA-AP Minigun", 0, /obj/item/hardpoint/primary/minigun, null, VENDOR_ITEM_REGULAR), - list("LTB Cannon", 0, /obj/item/hardpoint/primary/cannon, null, VENDOR_ITEM_RECOMMENDED), - - list("PRIMARY AMMUNITION", 0, null, null, null), - list("AC3-E Autocannon Magazine", 0, /obj/item/ammo_magazine/hardpoint/ace_autocannon, null, VENDOR_ITEM_REGULAR), - list("DRG-N Offensive Flamer Unit Fuel Tank", 0, /obj/item/ammo_magazine/hardpoint/primary_flamer, null, VENDOR_ITEM_REGULAR), - list("LTAA-AP Minigun Magazine", 0, /obj/item/ammo_magazine/hardpoint/ltaaap_minigun, null, VENDOR_ITEM_REGULAR), - list("LTB Cannon Magazine", 0, /obj/item/ammo_magazine/hardpoint/ltb_cannon, null, VENDOR_ITEM_REGULAR), - - list("SECONDARY WEAPON", 0, null, null, null), - list("M92T Grenade Launcher", 200, /obj/item/hardpoint/secondary/grenade_launcher, null, VENDOR_ITEM_REGULAR), - list("M56 Cupola", 0, /obj/item/hardpoint/secondary/m56cupola, null, VENDOR_ITEM_REGULAR), - list("LZR-N Flamer Unit", 0, /obj/item/hardpoint/secondary/small_flamer, null, VENDOR_ITEM_REGULAR), - list("TOW Launcher", 0, /obj/item/hardpoint/secondary/towlauncher, null, VENDOR_ITEM_REGULAR), - - list("SECONDARY AMMUNITION", 0, null, null, null), - list("M92T Grenade Launcher Magazine", 50, /obj/item/ammo_magazine/hardpoint/tank_glauncher, null, VENDOR_ITEM_REGULAR), - list("M56 Cupola Magazine", 0, /obj/item/ammo_magazine/hardpoint/m56_cupola, null, VENDOR_ITEM_REGULAR), - list("LZR-N Flamer Unit Fuel Tank", 50, /obj/item/ammo_magazine/hardpoint/secondary_flamer, null, VENDOR_ITEM_REGULAR), - list("TOW Launcher Magazine", 50, /obj/item/ammo_magazine/hardpoint/towlauncher, null, VENDOR_ITEM_REGULAR), - - list("SUPPORT MODULE", 0, null, null, null), - list("Artillery Module", 0, /obj/item/hardpoint/support/artillery_module, null, VENDOR_ITEM_REGULAR), - list("Integrated Weapons Sensor Array", 200, /obj/item/hardpoint/support/weapons_sensor, null, VENDOR_ITEM_REGULAR), - list("Overdrive Enhancer", 0, /obj/item/hardpoint/support/overdrive_enhancer, null, VENDOR_ITEM_REGULAR), - - list("ARMOR", 0, null, null, null), - list("Ballistic Armor", 0, /obj/item/hardpoint/armor/ballistic, null, VENDOR_ITEM_REGULAR), - list("Caustic Armor", 0, /obj/item/hardpoint/armor/caustic, null, VENDOR_ITEM_REGULAR), - list("Concussive Armor", 0, /obj/item/hardpoint/armor/concussive, null, VENDOR_ITEM_REGULAR), - list("Paladin Armor", 0, /obj/item/hardpoint/armor/paladin, null, VENDOR_ITEM_REGULAR), - list("Snowplow", 0, /obj/item/hardpoint/armor/snowplow, null, VENDOR_ITEM_REGULAR), - - list("TREADS", 0, null, null, null), - list("Reinforced Treads", 0, /obj/item/hardpoint/locomotion/treads/robust, null, VENDOR_ITEM_REGULAR))) + list("Reinforced Treads", 0, /obj/item/hardpoint/locomotion/treads/robust, VEHICLE_TREADS_AVAILABLE, VENDOR_ITEM_REGULAR), + list("Treads", 0, /obj/item/hardpoint/locomotion/treads, VEHICLE_TREADS_AVAILABLE, VENDOR_ITEM_REGULAR))) GLOBAL_LIST_INIT(cm_vending_vehicle_crew_apc, list( list("STARTING KIT SELECTION:", 0, null, null, null), From b51bd40abee78cb3c1dd377425c27c31e419805f Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Sun, 2 Jun 2024 02:35:23 +0300 Subject: [PATCH 24/27] removes armor, makes snowplow available on everything and lowers its health --- .../machinery/vending/vendor_types/crew/vehicle_crew.dm | 6 +----- code/modules/vehicles/hardpoints/armor/snowplow.dm | 2 +- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm b/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm index 880deac4261f..1795b06dbf10 100644 --- a/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm +++ b/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm @@ -58,7 +58,7 @@ if(!selected_vehicle) selected_vehicle = "TANK" // The whole thing seems to be based upon the assumption you unlock tank as an override, defaulting to APC if(selected_vehicle == "TANK") - available_categories &= ~(VEHICLE_ARMOR_AVAILABLE|VEHICLE_INTEGRAL_AVAILABLE) //APC lacks these, so we need to remove these flags to be able to access spare parts section + available_categories &= ~(VEHICLE_INTEGRAL_AVAILABLE) //APC lacks these, so we need to remove these flags to be able to access spare parts section /obj/structure/machinery/cm_vending/gear/vehicle_crew/get_listed_products(mob/user) var/list/display_list = list() @@ -146,10 +146,6 @@ GLOBAL_LIST_INIT(cm_vending_vehicle_crew_tank, list( list("Overdrive Enhancer", 0, /obj/item/hardpoint/support/overdrive_enhancer, VEHICLE_SUPPORT_AVAILABLE, VENDOR_ITEM_RECOMMENDED), list("ARMOR", 0, null, null, null), - list("Ballistic Armor", 0, /obj/item/hardpoint/armor/ballistic, VEHICLE_ARMOR_AVAILABLE, VENDOR_ITEM_RECOMMENDED), - list("Caustic Armor", 0, /obj/item/hardpoint/armor/caustic, VEHICLE_ARMOR_AVAILABLE, VENDOR_ITEM_REGULAR), - list("Concussive Armor", 0, /obj/item/hardpoint/armor/concussive, VEHICLE_ARMOR_AVAILABLE, VENDOR_ITEM_REGULAR), - list("Paladin Armor", 0, /obj/item/hardpoint/armor/paladin, VEHICLE_ARMOR_AVAILABLE, VENDOR_ITEM_REGULAR), list("Snowplow", 0, /obj/item/hardpoint/armor/snowplow, VEHICLE_ARMOR_AVAILABLE, VENDOR_ITEM_REGULAR), list("TREADS", 0, null, null, null), diff --git a/code/modules/vehicles/hardpoints/armor/snowplow.dm b/code/modules/vehicles/hardpoints/armor/snowplow.dm index 84e589658029..a1b1a9dc800c 100644 --- a/code/modules/vehicles/hardpoints/armor/snowplow.dm +++ b/code/modules/vehicles/hardpoints/armor/snowplow.dm @@ -6,7 +6,7 @@ disp_icon = "tank" disp_icon_state = "snowplow" - health = 600 + health = 150 activatable = 1 /obj/item/hardpoint/armor/snowplow/livingmob_interact(mob/living/M) From f1680e1b60cdf8dcfc5288bbfa9dd1b8f6b3d833 Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Wed, 19 Jun 2024 16:47:08 +0300 Subject: [PATCH 25/27] locks it so you can only have arc or the tank, not both. Removes it from combat roles and adds announcements. --- code/__DEFINES/mode.dm | 2 +- code/game/jobs/job/command/auxiliary/tank_crew.dm | 2 ++ .../vending/vendor_types/crew/vehicle_crew.dm | 1 + code/modules/cm_tech/techs/marine/tier1/arc.dm | 13 +++++++++++++ 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/code/__DEFINES/mode.dm b/code/__DEFINES/mode.dm index 83b05342a0e6..4c3a658ff421 100644 --- a/code/__DEFINES/mode.dm +++ b/code/__DEFINES/mode.dm @@ -149,7 +149,7 @@ GLOBAL_LIST_INIT(ROLES_FACTION_CLASH, ROLES_USCM + JOB_PREDATOR) GLOBAL_LIST_INIT(ROLES_UNASSIGNED, list(JOB_SQUAD_MARINE)) //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_TANK_CREW, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_SEA,\ +#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,\ JOB_SQUAD_LEADER, JOB_SQUAD_TEAM_LEADER, JOB_SQUAD_SPECIALIST, JOB_SQUAD_SMARTGUN, JOB_SQUAD_MEDIC, JOB_SQUAD_ENGI, JOB_SQUAD_MARINE #define BLURB_USCM_FLIGHT JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF #define BLURB_USCM_MP JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE diff --git a/code/game/jobs/job/command/auxiliary/tank_crew.dm b/code/game/jobs/job/command/auxiliary/tank_crew.dm index 1a5926b53c05..88b289d48ace 100644 --- a/code/game/jobs/job/command/auxiliary/tank_crew.dm +++ b/code/game/jobs/job/command/auxiliary/tank_crew.dm @@ -16,6 +16,8 @@ spawn_positions = 0 /datum/job/command/tank_crew/get_total_positions(latejoin = FALSE) + if(SStechtree.trees[TREE_MARINE].get_node(/datum/tech/arc).unlocked) + return 0 if(length(GLOB.clients) >= 200 || total_positions_so_far > 0) return 2 diff --git a/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm b/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm index 1795b06dbf10..53853f7d4e8b 100644 --- a/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm +++ b/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm @@ -59,6 +59,7 @@ selected_vehicle = "TANK" // The whole thing seems to be based upon the assumption you unlock tank as an override, defaulting to APC if(selected_vehicle == "TANK") available_categories &= ~(VEHICLE_INTEGRAL_AVAILABLE) //APC lacks these, so we need to remove these flags to be able to access spare parts section + marine_announcement("A tank is being sent up to reinforce this operation.") /obj/structure/machinery/cm_vending/gear/vehicle_crew/get_listed_products(mob/user) var/list/display_list = list() diff --git a/code/modules/cm_tech/techs/marine/tier1/arc.dm b/code/modules/cm_tech/techs/marine/tier1/arc.dm index dc02762cc5f0..1e3a193626c4 100644 --- a/code/modules/cm_tech/techs/marine/tier1/arc.dm +++ b/code/modules/cm_tech/techs/marine/tier1/arc.dm @@ -12,6 +12,19 @@ flags = TREE_FLAG_MARINE + +/datum/tech/arc/can_unlock(mob/unlocking_mob) + . = ..() + + var/obj/structure/machinery/cm_vending/gear/vehicle_crew/gearcomp = GLOB.VehicleGearConsole + + if(gearcomp.selected_vehicle == "TANK") + to_chat(unlocking_mob, SPAN_WARNING ("A vehicle has already been selected for this operation.")) + return FALSE + + return TRUE + + /datum/tech/arc/on_unlock() . = ..() From 696e150681dcc52debbb09ea108d67ffaaf65e55 Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Wed, 19 Jun 2024 17:24:52 +0300 Subject: [PATCH 26/27] return type --- code/modules/cm_tech/techtree.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/cm_tech/techtree.dm b/code/modules/cm_tech/techtree.dm index 689600fcc5f2..fea2972cd391 100644 --- a/code/modules/cm_tech/techtree.dm +++ b/code/modules/cm_tech/techtree.dm @@ -180,6 +180,7 @@ /// `tech`: a typepath to a tech /datum/techtree/proc/get_node(tech) + RETURN_TYPE(/datum/tech/arc) return techs_by_type[tech] /datum/techtree/proc/on_node_gained(obj/structure/resource_node/RN) From c5690e370916cca92882ff7d05617b0023382460 Mon Sep 17 00:00:00 2001 From: harryob <55142896+harryob@users.noreply.github.com> Date: Wed, 19 Jun 2024 21:53:01 +0100 Subject: [PATCH 27/27] Update code/modules/cm_tech/techtree.dm --- code/modules/cm_tech/techtree.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/cm_tech/techtree.dm b/code/modules/cm_tech/techtree.dm index fea2972cd391..fbad30478081 100644 --- a/code/modules/cm_tech/techtree.dm +++ b/code/modules/cm_tech/techtree.dm @@ -180,7 +180,7 @@ /// `tech`: a typepath to a tech /datum/techtree/proc/get_node(tech) - RETURN_TYPE(/datum/tech/arc) + RETURN_TYPE(/datum/tech) return techs_by_type[tech] /datum/techtree/proc/on_node_gained(obj/structure/resource_node/RN)