Skip to content

Commit

Permalink
cdo
Browse files Browse the repository at this point in the history
e
  • Loading branch information
567Turtle committed Mar 16, 2024
1 parent 5a93a2d commit d095ea9
Show file tree
Hide file tree
Showing 13 changed files with 117 additions and 36 deletions.
7 changes: 4 additions & 3 deletions code/__DEFINES/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -75,14 +75,15 @@ GLOBAL_LIST_INIT(job_squad_roles, JOB_SQUAD_ROLES_LIST)
GLOBAL_LIST_INIT(job_command_roles, JOB_COMMAND_ROLES_LIST)

#define JOB_AUXILIARY_OFFICER "Auxiliary Support Officer"
#define JOB_PILOT "Pilot Officer"
#define JOB_CAS_PILOT "Gunship Pilot"
#define JOB_DROPSHIP_PILOT "Dropship Pilot"
#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_PILOT)
#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_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)

#define JOB_POLICE "Military Police"
#define JOB_WARDEN "Military Warden"
Expand Down
8 changes: 4 additions & 4 deletions code/__DEFINES/mode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -109,12 +109,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_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_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_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_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_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_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))
Expand All @@ -140,7 +140,7 @@ 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,\
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_PILOT, JOB_DROPSHIP_CREW_CHIEF
#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_MEDICAL JOB_CMO, JOB_RESEARCHER, JOB_DOCTOR, JOB_NURSE, JOB_WO_CMO, JOB_WO_RESEARCHER, JOB_WO_DOCTOR
Expand Down
3 changes: 2 additions & 1 deletion code/__HELPERS/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@
JOB_XO,
JOB_SO,
JOB_INTEL,
JOB_PILOT,
JOB_CAS_PILOT,
JOB_DROPSHIP_PILOT,
JOB_DROPSHIP_CREW_CHIEF,
JOB_CORPORATE_LIAISON,
JOB_COMBAT_REPORTER,
Expand Down
9 changes: 6 additions & 3 deletions code/datums/factions/uscm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@
if(JOB_XO) marine_rk = "xo"
if(JOB_CO) marine_rk = "co"
if(JOB_GENERAL) marine_rk = "general"
if(JOB_PILOT) marine_rk = "po"
if(JOB_CAS_PILOT) marine_rk = "gp"
if(JOB_DROPSHIP_PILOT) marine_rk = "dp"
if(JOB_INTEL) marine_rk = "io"
if(JOB_DROPSHIP_CREW_CHIEF) marine_rk = "dcc"
if(JOB_CREWMAN) marine_rk = "tc"
Expand Down Expand Up @@ -85,8 +86,10 @@
border_rk = "command"
if(JOB_INTEL)
marine_rk = "io"
if(JOB_PILOT)
marine_rk = "po"
if(JOB_CAS_PILOT)
marine_rk = "gp"
if(JOB_DROPSHIP_PILOT)
marine_rk = "dp"
if(JOB_DROPSHIP_CREW_CHIEF)
marine_rk = "dcc"
if(JOB_CHIEF_POLICE)
Expand Down
2 changes: 1 addition & 1 deletion code/game/gamemodes/colonialmarines/whiskey_outpost.dm
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
/datum/job/command/bridge/whiskey = JOB_SO,
/datum/job/command/tank_crew/whiskey = JOB_CREWMAN,
/datum/job/command/police/whiskey = JOB_POLICE,
/datum/job/command/pilot/whiskey = JOB_PILOT,
/datum/job/command/pilot/whiskey = JOB_CAS_PILOT,
/datum/job/logistics/requisition/whiskey = JOB_CHIEF_REQUISITION,
/datum/job/civilian/professor/whiskey = JOB_CMO,
/datum/job/civilian/doctor/whiskey = JOB_DOCTOR,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
/datum/job/command/pilot
title = JOB_PILOT
total_positions = 2
spawn_positions = 2
/datum/job/command/cas_pilot
title = JOB_CAS_PILOT
total_positions = 1
spawn_positions = 1
allow_additional = TRUE
scaled = TRUE
supervisors = "the auxiliary support officer"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/po
entry_message_body = "<a href='"+WIKI_PLACEHOLDER+"'>Your job is to fly, protect, and maintain the ship's dropship.</a> While you are an officer, your authority is limited to the dropship, where you have authority over the enlisted personnel. If you are not piloting, there is an autopilot fallback for command, but don't leave the dropship without reason."
entry_message_body = "<a href='"+WIKI_PLACEHOLDER+"'>Your job is to fly, protect, and maintain the ship's gunship.</a> While you are an officer, your authority is limited to the dropship, where you have authority over the enlisted personnel."

// Dropship Roles is both PO and DCC combined to not force people to backtrack
AddTimelock(/datum/job/command/pilot, list(
AddTimelock(/datum/job/command/cas_pilot, list(
JOB_DROPSHIP_ROLES = 2 HOURS
))

/obj/effect/landmark/start/pilot
name = JOB_PILOT
name = JOB_CAS_PILOT
icon_state = "po_spawn"
job = /datum/job/command/pilot
20 changes: 20 additions & 0 deletions code/game/jobs/job/command/auxiliary/dropship_pilot.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
/datum/job/command/dropship_pilot
title = JOB_DROPSHIP_PILOT
total_positions = 1
spawn_positions = 1
allow_additional = TRUE
scaled = TRUE
supervisors = "the auxiliary support officer"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/po
entry_message_body = "<a href='"+WIKI_PLACEHOLDER+"'>Your job is to fly, protect, and maintain the ship's transport dropship.</a> While you are an officer, your authority is limited to the dropship, where you have authority over the enlisted personnel. If you are not piloting, there is an autopilot fallback for command, but don't leave the dropship without reason."

// Dropship Roles is both PO and DCC combined to not force people to backtrack
AddTimelock(/datum/job/command/cas_pilot, list(
JOB_DROPSHIP_ROLES = 2 HOURS
))

/obj/effect/landmark/start/pilot
name = JOB_DROPSHIP_PILOT
icon_state = "po_spawn"
job = /datum/job/command/pilot
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
desc = "An automated weapon rack hooked up to a small storage of standard-issue weapons. Can be accessed only by the dropship crew."
icon_state = "guns"
req_access = list(ACCESS_MARINE_PILOT)
vendor_role = list(JOB_PILOT, JOB_DROPSHIP_CREW_CHIEF)
vendor_role = list(JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF)
vend_flags = VEND_CLUTTER_PROTECTION | VEND_LIMITED_INVENTORY | VEND_TO_HAND

listed_products = list(
Expand Down Expand Up @@ -242,7 +242,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_dropship_crew_chief, list(
name = "\improper ColMarTech Dropship Crew Equipment Rack"
desc = "An automated rack hooked up to a colossal storage of Dropship Crew standard-issue equipment."
req_access = list(ACCESS_MARINE_PILOT)
vendor_role = list(JOB_PILOT, JOB_DROPSHIP_CREW_CHIEF)
vendor_role = list(JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF)

/obj/structure/machinery/cm_vending/clothing/pilot_officer/get_listed_products(mob/user)
if(!user)
Expand All @@ -252,6 +252,8 @@ GLOBAL_LIST_INIT(cm_vending_clothing_dropship_crew_chief, list(
return combined
if(user.job == JOB_DROPSHIP_CREW_CHIEF)
return GLOB.cm_vending_clothing_dropship_crew_chief
if(user.job == JOB_PILOT)
if(user.job == JOB_CAS_PILOT)
return GLOB.cm_vending_clothing_pilot_officer
if(user.job == JOB_DROPSHIP_PILOT)
return GLOB.cm_vending_clothing_pilot_officer
return ..()
2 changes: 1 addition & 1 deletion code/modules/character_traits/biology_traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@
/datum/character_trait/biology/bad_leg/New()
. = ..()
// Not on definition as several lists are added
inapplicable_roles = list(JOB_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_CREWMAN, 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)
Expand Down
7 changes: 4 additions & 3 deletions code/modules/cm_marines/marines_consoles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -904,9 +904,10 @@ GLOBAL_LIST_EMPTY_TYPED(crewmonitor, /datum/crewmonitor)
// 20-29: Aux Command
JOB_AUXILIARY_OFFICER = 20,
JOB_SYNTH = 21,
JOB_PILOT = 22,
JOB_DROPSHIP_CREW_CHIEF = 23,
JOB_INTEL = 24,
JOB_CAS_PILOT = 22,
JOB_DROPSHIP_PILOT = 23,
JOB_DROPSHIP_CREW_CHIEF = 24,
JOB_INTEL = 25,
// 30-39: Security
JOB_CHIEF_POLICE = 30,
JOB_PROVOST_TML = 30,
Expand Down
64 changes: 57 additions & 7 deletions code/modules/gear_presets/uscm_ship.dm
Original file line number Diff line number Diff line change
Expand Up @@ -658,14 +658,64 @@

//*****************************************************************************************************/

/datum/equipment_preset/uscm_ship/po
name = "USCM Pilot (DP) (Cryo)"
/datum/equipment_preset/uscm_ship/gp
name = "USCM Gunship Pilot (GP) (Cryo)"
flags = EQUIPMENT_PRESET_START_OF_ROUND|EQUIPMENT_PRESET_MARINE

idtype = /obj/item/card/id/silver
access = list(ACCESS_MARINE_COMMAND, ACCESS_MARINE_DROPSHIP, ACCESS_MARINE_PILOT)
assignment = JOB_PILOT
rank = JOB_PILOT
assignment = JOB_CAS_PILOT
rank = JOB_CAS_PILOT
paygrade = PAY_SHORT_MO1
role_comm_title = "GP"
skills = /datum/skills/pilot

minimap_icon = "pilot"

/datum/equipment_preset/uscm_ship/po/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/satchel
if(new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1))
back_item = /obj/item/storage/backpack/marine

new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/po(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/pilot(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)

//*****************************************************************************************************/

/datum/equipment_preset/uscm_ship/gp/full
name = "USCM Gunship Pilot (GP)"
flags = EQUIPMENT_PRESET_EXTRA|EQUIPMENT_PRESET_MARINE

utility_under = list(/obj/item/clothing/under/marine/officer/pilot)

/datum/equipment_preset/uscm_ship/gp/full/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/satchel
if(new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1))
back_item = /obj/item/storage/backpack/marine

new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/po(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/pilot(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88(new_human), WEAR_WAIST)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/pilot(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large(new_human), WEAR_R_STORE)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/pilot(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(new_human), WEAR_EYES)

//*****************************************************************************************************/

/datum/equipment_preset/uscm_ship/dp
name = "USCM Dropship Pilot (DP) (Cryo)"
flags = EQUIPMENT_PRESET_START_OF_ROUND|EQUIPMENT_PRESET_MARINE

idtype = /obj/item/card/id/silver
access = list(ACCESS_MARINE_COMMAND, ACCESS_MARINE_DROPSHIP, ACCESS_MARINE_PILOT)
assignment = JOB_DROPSHIP_PILOT
rank = JOB_DROPSHIP_PILOT
paygrade = PAY_SHORT_MO1
role_comm_title = "DP"
skills = /datum/skills/pilot
Expand All @@ -684,13 +734,13 @@

//*****************************************************************************************************/

/datum/equipment_preset/uscm_ship/po/full
name = "USCM Pilot Officer (PO)"
/datum/equipment_preset/uscm_ship/dp/full
name = "USCM Dropship Pilot (DP)"
flags = EQUIPMENT_PRESET_EXTRA|EQUIPMENT_PRESET_MARINE

utility_under = list(/obj/item/clothing/under/marine/officer/pilot)

/datum/equipment_preset/uscm_ship/po/full/load_gear(mob/living/carbon/human/new_human)
/datum/equipment_preset/uscm_ship/dp/full/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/satchel
if(new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1))
back_item = /obj/item/storage/backpack/marine
Expand Down
6 changes: 4 additions & 2 deletions code/modules/mob/new_player/preferences_setup.dm
Original file line number Diff line number Diff line change
Expand Up @@ -257,8 +257,10 @@
return /datum/equipment_preset/uscm_ship/auxiliary_officer
if(JOB_INTEL)
return /datum/equipment_preset/uscm/intel/full
if(JOB_PILOT)
return /datum/equipment_preset/uscm_ship/po/full
if(JOB_CAS_PILOT)
return /datum/equipment_preset/uscm_ship/gp/full
if(JOB_DROPSHIP_PILOT)
return /datum/equipment_preset/uscm_ship/dp/full
if(JOB_DROPSHIP_CREW_CHIEF)
return /datum/equipment_preset/uscm_ship/dcc/full
if(JOB_CORPORATE_LIAISON)
Expand Down
3 changes: 2 additions & 1 deletion colonialmarines.dme
Original file line number Diff line number Diff line change
Expand Up @@ -790,7 +790,8 @@
#include "code\game\jobs\job\command\auxiliary\auxiliary_support_officer.dm"
#include "code\game\jobs\job\command\auxiliary\crew_chief.dm"
#include "code\game\jobs\job\command\auxiliary\intel.dm"
#include "code\game\jobs\job\command\auxiliary\pilot.dm"
#include "code\game\jobs\job\command\auxiliary\cas_pilot.dm"
#include "code\game\jobs\job\command\auxiliary\dropship_pilot.dm"
#include "code\game\jobs\job\command\auxiliary\senior.dm"
#include "code\game\jobs\job\command\cic\captain.dm"
#include "code\game\jobs\job\command\cic\executive.dm"
Expand Down

0 comments on commit d095ea9

Please sign in to comment.