Skip to content

Commit

Permalink
Pilot Rework 2.0 (#5958)
Browse files Browse the repository at this point in the history
# About the pull request

Removes the Pilot Officer role. Replaces it with the Gunship Pilot and
the Dropship Pilot. One mans the CAS ship, one mans the transport ship
always. No more petty arguing.

# Explain why it's good for the game

Currently with two pilot officers, the round goes one of two ways. 

Either A, there's only one at round start and they get CAS.

Or B, there's two POs and they argue and bicker over who gets CAS.
Eventually one of them gets CAS and the other one either cryo's or
spends the next 2~ hours bored out of their mind.

Dropship PO is NOT fun. It just isn't. Anybody who says they have ever
enjoyed dropship PO is a liar and a rube sent here by the CLF to spread
lies and deceit AND they're paid off by the Rothschilds. The whole point
of the second PO is to man the Alamo, but with how different CAS PO and
Dropship PO are they might as well be two roles.

I really enjoy playing CAS, but the issue is every time I want to roll
PO to do so I'm scared away by the thought that I'll get trapped playing
dropship for the whole round instead of a marine roll. By separating the
two roles like this, now whenever you role CAS pilot, if you get it, you
will always get the experience which you want. If you roll Dropship
pilot, you will always get the experience you want.

This PR will prevent the countless rounds wasted rolling PO, losing rock
paper scissors, and cryoing, having to sit and wait for the next round
to start to try again.

<details>
<summary>Screenshots & Videos</summary>

🐾🐾🐾🐾🐾🐾🐾🐾🐾

</details>


# Changelog
:cl:
add: PO has been split into two roles, the gunship pilot and the
dropship pilot, no more arguing over who gets CAS.
/:cl:

---------

Co-authored-by: Drathek <[email protected]>
  • Loading branch information
567Turtle and Drulikar authored Mar 18, 2024
1 parent 555cc74 commit 63903da
Show file tree
Hide file tree
Showing 18 changed files with 281 additions and 176 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
24 changes: 24 additions & 0 deletions code/game/jobs/job/command/auxiliary/cas_pilot.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/datum/job/command/pilot/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/gp
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."

/datum/job/command/pilot/whiskey
total_positions = 2
spawn_positions = 2

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

/obj/effect/landmark/start/pilot/cas_pilot
name = JOB_CAS_PILOT
icon_state = "po_spawn"
job = /datum/job/command/pilot/cas_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/pilot/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/dp
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 DP, GP and DCC combined to not force people to backtrack
AddTimelock(/datum/job/command/pilot/dropship_pilot, list(
JOB_DROPSHIP_ROLES = 2 HOURS
))

/obj/effect/landmark/start/pilot/dropship_pilot
name = JOB_DROPSHIP_PILOT
icon_state = "po_spawn"
job = /datum/job/command/pilot/dropship_pilot
20 changes: 0 additions & 20 deletions code/game/jobs/job/command/auxiliary/pilot.dm

This file was deleted.

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
30 changes: 20 additions & 10 deletions code/modules/client/preferences.dm
Original file line number Diff line number Diff line change
Expand Up @@ -648,11 +648,16 @@ GLOBAL_LIST_INIT(bgstate_options, list(
show_browser(user, dat, "Preferences", "preferencebrowser")
onclose(user, "preferencewindow", src)

//limit - The amount of jobs allowed per column. Defaults to 13 to make it look nice.
//splitJobs - Allows you split the table by job. You can make different tables for each department by including their heads. Defaults to CE to make it look nice.
//width - Screen' width. Defaults to 550 to make it look nice.
//height - Screen's height. Defaults to 500 to make it look nice.
/datum/preferences/proc/SetChoices(mob/user, limit = 19, list/splitJobs = list(JOB_CHIEF_REQUISITION), width = 950, height = 700)
/**
* Job Preferences: Preferences for role at round start.
*
* Arguments:
* * limit - The amount of jobs allowed per column. Defaults to 19 to make it look nice.
* * splitJobs - Allows you split the table by job. You can make different tables for each department by including their heads. Defaults to MS to make it look nice.
* * width - Screen' width. Defaults to 950 to make it look nice.
* * height - Screen's height. Defaults to 700 to make it look nice.
*/
/datum/preferences/proc/SetChoices(mob/user, limit = 19, list/splitJobs = list(JOB_MESS_SERGEANT), width = 950, height = 700)
if(!GLOB.RoleAuthority)
return

Expand Down Expand Up @@ -761,11 +766,16 @@ GLOBAL_LIST_INIT(bgstate_options, list(
onclose(user, "mob_occupation", user.client, list("_src_" = "prefs", "preference" = "job", "task" = "close"))
return

//limit - The amount of jobs allowed per column. Defaults to 13 to make it look nice.
//splitJobs - Allows you split the table by job. You can make different tables for each department by including their heads. Defaults to CE to make it look nice.
//width - Screen' width. Defaults to 550 to make it look nice.
//height - Screen's height. Defaults to 500 to make it look nice.
/datum/preferences/proc/set_job_slots(mob/user, limit = 19, list/splitJobs = list(JOB_CHIEF_REQUISITION), width = 950, height = 700)
/**
* Job Assignments window: Assign unique characters to a particular job.
*
* Arguments:
* * limit - The amount of jobs allowed per column. Defaults to 19 to make it look nice.
* * splitJobs - Allows you split the table by job. You can make different tables for each department by including their heads. Defaults to MS to make it look nice.
* * width - Screen' width. Defaults to 950 to make it look nice.
* * height - Screen's height. Defaults to 700 to make it look nice.
*/
/datum/preferences/proc/set_job_slots(mob/user, limit = 19, list/splitJobs = list(JOB_MESS_SERGEANT), width = 950, height = 700)
if(!GLOB.RoleAuthority)
return

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
66 changes: 58 additions & 8 deletions code/modules/gear_presets/uscm_ship.dm
Original file line number Diff line number Diff line change
Expand Up @@ -658,21 +658,71 @@

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

/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/gp/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

minimap_icon = "pilot"

/datum/equipment_preset/uscm_ship/po/load_gear(mob/living/carbon/human/new_human)
/datum/equipment_preset/uscm_ship/dp/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 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 @@ -788,9 +788,10 @@
#include "code\game\jobs\job\civilians\support\working_joe.dm"
#include "code\game\jobs\job\command\command.dm"
#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\dropship_pilot.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\senior.dm"
#include "code\game\jobs\job\command\cic\captain.dm"
#include "code\game\jobs\job\command\cic\executive.dm"
Expand Down
Binary file modified icons/mob/hud/marine_hud.dmi
Binary file not shown.
Loading

0 comments on commit 63903da

Please sign in to comment.