Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Auxiliary Support Officer #4081

Merged
merged 18 commits into from
Aug 7, 2023
Merged
1 change: 1 addition & 0 deletions code/__DEFINES/access.dm
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ most of them are tied into map-placed objects. This should be reworked in the fu
#define ACCESS_MARINE_OT 35

#define ACCESS_MARINE_SYNTH 36
#define ACCESS_MARINE_ASO 37

// AI Core Accesses
/// Used in temporary passes
Expand Down
7 changes: 5 additions & 2 deletions code/__DEFINES/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,13 @@ var/global/list/job_squad_roles = JOB_SQUAD_ROLES_LIST
#define JOB_COMMAND_ROLES_LIST list(JOB_CO, JOB_XO, JOB_SO)
var/global/list/job_command_roles = JOB_COMMAND_ROLES_LIST

#define JOB_AUXILIARY_OFFICER "Auxiliary Support Officer"
#define JOB_PILOT "Pilot Officer"
#define JOB_DROPSHIP_CREW_CHIEF "Dropship Crew Chief"
#define JOB_CREWMAN "Vehicle Crewman"
#define JOB_INTEL "Intelligence Officer"
#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_POLICE "Military Police"
#define JOB_WARDEN "Military Warden"
Expand All @@ -91,7 +94,7 @@ var/global/list/job_command_roles = JOB_COMMAND_ROLES_LIST
#define JOB_ENGINEER_ROLES /datum/timelock/engineer
#define JOB_ENGINEER_ROLES_LIST list(JOB_SQUAD_ENGI, JOB_MAINT_TECH, JOB_ORDNANCE_TECH, JOB_CHIEF_ENGINEER)

#define JOB_CHIEF_REQUISITION "Requisitions Officer"
#define JOB_CHIEF_REQUISITION "Quartermaster"
#define JOB_CARGO_TECH "Cargo Technician"
#define JOB_REQUISITION_ROLES /datum/timelock/requisition
#define JOB_REQUISITION_ROLES_LIST list(JOB_CHIEF_REQUISITION, JOB_CARGO_TECH)
Expand Down Expand Up @@ -143,7 +146,7 @@ var/global/list/job_command_roles = JOB_COMMAND_ROLES_LIST
#define JOB_WO_CHIEF_ENGINEER "Bunker Crew Master"
#define JOB_WO_ORDNANCE_TECH "Bunker Crew"

#define JOB_WO_CHIEF_REQUISITION "Quartermaster"
#define JOB_WO_CHIEF_REQUISITION "Bunker Quartermaster"
#define JOB_WO_REQUISITION "Bunker Crew Logistics"

#define JOB_WO_CMO "Head Surgeon"
Expand Down
6 changes: 3 additions & 3 deletions code/__DEFINES/mode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -107,12 +107,12 @@
//=================================================

//Role defines, specifically lists of roles for job bans, crew manifests and the like.
var/global/list/ROLES_COMMAND = list(JOB_CO, JOB_XO, JOB_SO, 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)
var/global/list/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)

//Marine roles
#define ROLES_OFFICERS list(JOB_CO, JOB_XO, JOB_SO, 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_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_SEA, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_SYNTH, JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE)
var/global/list/ROLES_CIC = list(JOB_CO, JOB_XO, JOB_SO, JOB_WO_CO, JOB_WO_XO)
var/global/list/ROLES_AUXIL_SUPPORT = list(JOB_INTEL, JOB_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_WO_CHIEF_POLICE, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_WO_PILOT)
var/global/list/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)
var/global/list/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)
var/global/list/ROLES_POLICE = list(JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE)
var/global/list/ROLES_ENGINEERING = list(JOB_CHIEF_ENGINEER, JOB_ORDNANCE_TECH, JOB_MAINT_TECH, JOB_WO_CHIEF_ENGINEER, JOB_WO_ORDNANCE_TECH)
Expand Down
3 changes: 2 additions & 1 deletion code/__DEFINES/urls.dm
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@
#define URL_WIKI_CMP_GUIDE "https://cm-ss13.com/wiki/Chief_MP" // MP Roles //
#define URL_WIKI_MW_GUIDE "https://cm-ss13.com/wiki/Warden"
#define URL_WIKI_MP_GUIDE "https://cm-ss13.com/wiki/Military_Police"
#define URL_WIKI_PO_GUIDE "https://cm-ss13.com/wiki/Pilot_Officer" // Auxiliary Support
#define URL_WIKI_ASO_GUIDE "https://cm-ss13.com/wiki/Auxiliary_Support_Officer" // Auxiliary Support
#define URL_WIKI_PO_GUIDE "https://cm-ss13.com/wiki/Pilot_Officer"
#define URL_WIKI_DCC_GUIDE "https://cm-ss13.com/wiki/Dropship_Crew_Chief"
#define URL_WIKI_IO_GUIDE "https://cm-ss13.com/wiki/Intelligence_Officer"
#define URL_WIKI_SYN_GUIDE "https://cm-ss13.com/wiki/Synthetic"
Expand Down
3 changes: 3 additions & 0 deletions code/datums/factions/uscm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,9 @@
if(JOB_SO)
marine_rk = "so"
border_rk = "command"
if(JOB_AUXILIARY_OFFICER)
marine_rk = "aso"
border_rk = "command"
if(JOB_GENERAL, JOB_COLONEL, JOB_ACMC, JOB_CMC)
marine_rk = "general"
border_rk = "command"
Expand Down
16 changes: 16 additions & 0 deletions code/datums/skills.dm
Original file line number Diff line number Diff line change
Expand Up @@ -699,6 +699,22 @@ COMMAND STAFF
SKILL_INTEL = SKILL_INTEL_TRAINED,
)

/datum/skills/auxiliary_officer
name = "Auxiliary Support Officer"
skills = list(
SKILL_PILOT = SKILL_PILOT_EXPERT,
SKILL_POWERLOADER = SKILL_POWERLOADER_MASTER,
SKILL_LEADERSHIP = SKILL_LEAD_MASTER,
SKILL_MEDICAL = SKILL_MEDICAL_MEDIC,
SKILL_SURGERY = SKILL_SURGERY_NOVICE,
SKILL_JTAC = SKILL_JTAC_EXPERT,
SKILL_INTEL = SKILL_INTEL_EXPERT,
SKILL_ENGINEER = SKILL_ENGINEER_ENGI,
SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI,
SKILL_POLICE = SKILL_POLICE_FLASH,
SKILL_NAVIGATIONS = SKILL_NAVIGATIONS_TRAINED,
)

/datum/skills/CE
name = "Chief Engineer"
skills = list(
Expand Down
5 changes: 5 additions & 0 deletions code/game/area/almayer.dm
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,11 @@
icon_state = "livingspace"
fake_zlevel = 2

/area/almayer/living/auxiliary_officer_office
name = "\improper Auxiliary Support Officer office"
icon_state = "livingspace"
fake_zlevel = 2

/area/almayer/squads/tankdeliveries
name = "\improper Vehicle ASRS"
icon_state = "req"
Expand Down
1 change: 1 addition & 0 deletions code/game/jobs/access.dm
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@
ACCESS_MARINE_KITCHEN,
ACCESS_MARINE_SYNTH,
ACCESS_PRESS,
ACCESS_MARINE_ASO,
)

/proc/get_all_weyland_access()
Expand Down
2 changes: 1 addition & 1 deletion code/game/jobs/job/civilians/other/mess_seargent.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
spawn_positions = 1
selection_class = "job_ot"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
supervisors = "the acting commanding officer"
supervisors = "the auxiliary support officer"
gear_preset = /datum/equipment_preset/uscm_ship/chef
entry_message_body = "<a href='"+URL_WIKI_MST_GUIDE+"'>Your job is to service the marines with excellent food</a>, drinks and entertaining the shipside crew when needed. You have a lot of freedom and it is up to you, to decide what to do with it. Good luck!"

Expand Down
27 changes: 27 additions & 0 deletions code/game/jobs/job/command/auxiliary/auxiliary_support_officer.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/datum/job/command/auxiliary_officer
title = JOB_AUXILIARY_OFFICER
total_positions = 1
spawn_positions = 1
allow_additional = TRUE
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/auxiliary_officer
entry_message_body = "<a href='"+URL_WIKI_ASO_GUIDE+"'>Your job is to oversee</a> the hangar crew, the intel officers, the engineering department, and requisition department. You have many responsibilities and a few plates to keep spinning but your subordinates are mostly self-reliant. Assist where you can and make sure command personnel are confident the auxiliary departments are operating at peak efficiency."

AddTimelock(/datum/job/command/auxiliary_officer, list(
JOB_SQUAD_ROLES = 5 HOURS,
JOB_REQUISITION_ROLES = 5 HOURS,
JOB_ENGINEER_ROLES = 5 HOURS,
JOB_AUXILIARY_ROLES = 5 HOURS,
))

/obj/effect/landmark/start/auxiliary_officer
name = JOB_AUXILIARY_OFFICER
icon_state = "dcc_spawn" //add unique sprite here - Morrow
job = /datum/job/command/auxiliary_officer

/datum/timelock/auxiliary
name = "Auxiliary Roles"

/datum/timelock/auxiliary/New(name, time_required, list/roles)
. = ..()
src.roles = JOB_AUXILIARY_ROLES_LIST
morrowwolf marked this conversation as resolved.
Show resolved Hide resolved
1 change: 1 addition & 0 deletions code/game/jobs/job/command/auxiliary/crew_chief.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
spawn_positions = 2
allow_additional = TRUE
scaled = TRUE
supervisors = "the pilot officers"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/dcc
entry_message_body = "<a href='"+URL_WIKI_DCC_GUIDE+"'>Your job is to assist</a> the pilot officer maintain the ship's dropship. You have authority only on the dropship, but you are expected to maintain order, as not to disrupt the pilot."
Expand Down
1 change: 1 addition & 0 deletions code/game/jobs/job/command/auxiliary/intel.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
spawn_positions = 3
allow_additional = 1
scaled = 1
supervisors = "the auxiliary support officer"
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = "USCM Intelligence Officer (IO) (Cryo)"
entry_message_body = "<a href='"+URL_WIKI_IO_GUIDE+"'>Your job is to assist the marines in collecting intelligence related</a> to the current operation to better inform command of their opposition. You are in charge of gathering any data disks, folders, and notes you may find on the operational grounds and decrypt them to grant the USCM additional resources."
Expand Down
1 change: 1 addition & 0 deletions code/game/jobs/job/command/auxiliary/pilot.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
spawn_positions = 2
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='"+URL_WIKI_PO_GUIDE+"'>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."
Expand Down
2 changes: 1 addition & 1 deletion code/game/jobs/job/logistics/logistics.dm
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/datum/job/logistics
supervisors = "the acting commanding officer"
supervisors = "the auxiliary support officer"
total_positions = 1
spawn_positions = 1

Expand Down
39 changes: 38 additions & 1 deletion code/game/machinery/vending/vendor_types/crew/senior_officers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "\improper ColMarTech Senior Officer Equipment Rack"
desc = "An automated equipment vendor for Senior Officers."
req_access = list(ACCESS_MARINE_SENIOR)
vendor_role = list(JOB_CHIEF_POLICE,JOB_CMO,JOB_XO,JOB_CHIEF_ENGINEER,JOB_CHIEF_REQUISITION)
vendor_role = list(JOB_CHIEF_POLICE, JOB_CMO, JOB_XO, JOB_CHIEF_ENGINEER, JOB_CHIEF_REQUISITION, JOB_AUXILIARY_OFFICER)

/obj/structure/machinery/cm_vending/clothing/senior_officer/get_listed_products(mob/user)
if(!user)
Expand All @@ -23,6 +23,8 @@
return GLOB.cm_vending_clothing_cmo
else if(user.job == JOB_CHIEF_POLICE)
return GLOB.cm_vending_clothing_military_police_chief
else if(user.job == JOB_AUXILIARY_OFFICER)
return GLOB.cm_vending_clothing_auxiliary_officer
return ..()


Expand Down Expand Up @@ -308,3 +310,38 @@ GLOBAL_LIST_INIT(cm_vending_clothing_xo, list(
list("Patrol Cap", 0, /obj/item/clothing/head/cmcap, MARINE_CAN_BUY_MASK, VENDOR_ITEM_REGULAR),
list("Officer Cap", 0, /obj/item/clothing/head/cmcap/ro, MARINE_CAN_BUY_MASK, VENDOR_ITEM_REGULAR),
))

//------------ AUXILIARY SUPPORT OFFICER ---------------
GLOBAL_LIST_INIT(cm_vending_clothing_auxiliary_officer, list(

list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null),
list("Insulated Gloves", 0, /obj/item/clothing/gloves/yellow, MARINE_CAN_BUY_GLOVES, VENDOR_ITEM_MANDATORY),
list("Officer Uniform", 0, /obj/item/clothing/under/marine/officer/bridge, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY),
list("Headset", 0, /obj/item/device/radio/headset/almayer/ro, MARINE_CAN_BUY_EAR, VENDOR_ITEM_MANDATORY),
list("Satchel", 0, /obj/item/storage/backpack/marine/satchel/tech, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_MANDATORY),
list("Patrol Cap", 0, /obj/item/clothing/head/cmcap, MARINE_CAN_BUY_MASK, VENDOR_ITEM_MANDATORY),
list("Auxiliary Support Officer Jacket", 0, /obj/item/clothing/suit/storage/jacket/marine/service/aso, MARINE_CAN_BUY_MRE, VENDOR_ITEM_MANDATORY),

list("PERSONAL SIDEARM (CHOOSE 1)", 0, null, null, null),
list("M4A3 Service Pistol", 0, /obj/item/storage/belt/gun/m4a3/full, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_RECOMMENDED),
list("Mod 88 Pistol", 0, /obj/item/storage/belt/gun/m4a3/mod88, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_RECOMMENDED),
list("M44 Custom Revolver", 0, /obj/item/storage/belt/gun/m44/custom, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_RECOMMENDED),

list("COMBAT EQUIPMENT (TAKE ALL)", 0, null, null, null),
list("Officer M3 Armor", 0, /obj/item/clothing/suit/storage/marine/MP/SO, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_MANDATORY),
list("Officer M10 Helmet", 0, /obj/item/clothing/head/helmet/marine/MP/SO, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_MANDATORY),
list("Marine Combat Boots", 0, /obj/item/clothing/shoes/marine/knife, MARINE_CAN_BUY_SHOES, VENDOR_ITEM_MANDATORY),

list("POUCHES (CHOOSE 2)", 0, null, null, null),
list("First-Aid Pouch (Refillable Injectors)", 0, /obj/item/storage/pouch/firstaid/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
list("First-Aid Pouch (Splints, Gauze, Ointment)", 0, /obj/item/storage/pouch/firstaid/full/alternate, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
list("First-Aid Pouch (Pill Packets)", 0, /obj/item/storage/pouch/firstaid/full/pills, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_RECOMMENDED),
list("Large General Pouch", 0, /obj/item/storage/pouch/general/large, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
list("Tools Pouch (Empty)", 0, /obj/item/storage/pouch/tools, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
list("Construction Pouch", 0, /obj/item/storage/pouch/construction, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),

list("ACCESSORIES (CHOOSE 1)", 0, null, null, null),
list("Black Webbing Vest", 0, /obj/item/clothing/accessory/storage/black_vest, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR),
list("Brown Webbing Vest", 0, /obj/item/clothing/accessory/storage/black_vest/brown_vest, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_RECOMMENDED),
list("Webbing", 0, /obj/item/clothing/accessory/storage/webbing, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR),
))
3 changes: 3 additions & 0 deletions code/game/objects/items/devices/radio/encryptionkey.dm
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,9 @@
icon_state = "cap_key"
channels = list(RADIO_CHANNEL_COMMAND = TRUE, SQUAD_MARINE_1 = TRUE, SQUAD_MARINE_2 = TRUE, SQUAD_MARINE_3 = TRUE, SQUAD_MARINE_4 = TRUE, SQUAD_MARINE_5 = TRUE, SQUAD_MARINE_CRYO = TRUE, RADIO_CHANNEL_ENGI = TRUE, RADIO_CHANNEL_MEDSCI = TRUE, RADIO_CHANNEL_REQ = TRUE, RADIO_CHANNEL_JTAC = TRUE, RADIO_CHANNEL_INTEL = TRUE)

/obj/item/device/encryptionkey/mcom/alt
channels = list(RADIO_CHANNEL_COMMAND = TRUE, SQUAD_MARINE_1 = FALSE, SQUAD_MARINE_2 = FALSE, SQUAD_MARINE_3 = FALSE, SQUAD_MARINE_4 = FALSE, SQUAD_MARINE_5 = FALSE, SQUAD_MARINE_CRYO = FALSE, RADIO_CHANNEL_ENGI = TRUE, RADIO_CHANNEL_MEDSCI = TRUE, RADIO_CHANNEL_REQ = TRUE, RADIO_CHANNEL_JTAC = TRUE, RADIO_CHANNEL_INTEL = TRUE)

// MARINE ENGINEERING

/obj/item/device/encryptionkey/ce
Expand Down
3 changes: 3 additions & 0 deletions code/game/objects/items/devices/radio/headset.dm
Original file line number Diff line number Diff line change
Expand Up @@ -494,6 +494,9 @@
volume = RADIO_VOLUME_CRITICAL
multibroadcast_cooldown = LOW_MULTIBROADCAST_COOLDOWN

/obj/item/device/radio/headset/almayer/mcom/alt
initial_keys = list(/obj/item/device/encryptionkey/mcom/alt)

/obj/item/device/radio/headset/almayer/marine/mp_honor/com
name = "marine honor guard command radio headset"
desc = "Given to highly trusted marine honor guard only. It features a non-standard brace. Channels are as follows: :v - marine command, :p - military police, :n - engineering, :m - medbay, :u - requisitions, :a - alpha squad, :b - bravo squad, :c - charlie squad, :d - delta squad."
Expand Down
7 changes: 7 additions & 0 deletions code/modules/clothing/suits/marine_coat.dm
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,13 @@
icon_state = "bridge_coat_grey"
valid_accessory_slots = list(ACCESSORY_SLOT_ARMBAND, ACCESSORY_SLOT_RANK, ACCESSORY_SLOT_MEDAL)

/obj/item/clothing/suit/storage/jacket/marine/service/aso
name = "auxiliary support officer jacket"
desc = "A comfortable vest for officers who are expected to work long hours staring at rows of numbers and inspecting equipment from knives to torpedos to entire dropships."
icon_state = "aso_jacket"
blood_overlay_type = "coat"
flags_armor_protection = BODY_FLAG_CHEST
has_buttons = FALSE


//=========================//PROVOST\\================================\\
Expand Down
13 changes: 7 additions & 6 deletions code/modules/cm_marines/marines_consoles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -902,10 +902,11 @@ GLOBAL_LIST_EMPTY_TYPED(crewmonitor, /datum/crewmonitor)
RAIDER_OFFICER_SQUAD = 11,
JOB_SO = 12,
JOB_SEA = 13,
// 20-29: Aux Command (Synth isn't Aux head, but important - make him bold)
JOB_SYNTH = 20,
JOB_PILOT = 21,
JOB_DROPSHIP_CREW_CHIEF = 22,
// 20-29: Aux Command
JOB_AUXILIARY_OFFICER = 20,
JOB_SYNTH = 21,
JOB_PILOT = 22,
JOB_DROPSHIP_CREW_CHIEF = 23,
JOB_INTEL = 24,
// 30-39: Security
JOB_CHIEF_POLICE = 30,
Expand All @@ -929,11 +930,11 @@ GLOBAL_LIST_EMPTY_TYPED(crewmonitor, /datum/crewmonitor)
// 60-69: Cargo
JOB_CHIEF_REQUISITION = 60,
JOB_CARGO_TECH = 61,
JOB_MESS_SERGEANT = 62,
// 70-139: SQUADS (look below)
// 140+: Civilian/other
JOB_CORPORATE_LIAISON = 140,
JOB_MESS_SERGEANT = 141,
JOB_PASSENGER = 142,
JOB_PASSENGER = 141,
// Non Almayer jobs lower then registered
JOB_SYNTH_SURVIVOR = 150,
JOB_SURVIVOR = 151,
Expand Down
64 changes: 60 additions & 4 deletions code/modules/gear_presets/uscm_ship.dm
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@
)
assignment = JOB_CHIEF_ENGINEER
rank = JOB_CHIEF_ENGINEER
paygrade = "MO2"
paygrade = "MO1"
role_comm_title = "CE"
minimum_age = 27
skills = /datum/skills/CE
Expand Down Expand Up @@ -308,7 +308,7 @@
//*****************************************************************************************************/

/datum/equipment_preset/uscm_ship/ro
name = "USCM Requisitions Officer (RO)"
name = "USCM Quartermaster (QM)"
flags = EQUIPMENT_PRESET_START_OF_ROUND|EQUIPMENT_PRESET_MARINE

idtype = /obj/item/card/id/silver
Expand All @@ -326,8 +326,8 @@
)
assignment = JOB_CHIEF_REQUISITION
rank = JOB_CHIEF_REQUISITION
paygrade = "MO2"
role_comm_title = "RO"
paygrade = "ME7"
role_comm_title = "QM"
minimum_age = 27
skills = /datum/skills/RO

Expand Down Expand Up @@ -615,6 +615,62 @@

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

/datum/equipment_preset/uscm_ship/auxiliary_officer
name = "USCM Auxiliary Support Officer (ASO)"
flags = EQUIPMENT_PRESET_START_OF_ROUND|EQUIPMENT_PRESET_MARINE

idtype = /obj/item/card/id/silver
assignment = JOB_AUXILIARY_OFFICER
rank = JOB_AUXILIARY_OFFICER
paygrade = "MO2"
role_comm_title = "ASO"
minimum_age = 27
skills = /datum/skills/auxiliary_officer

minimap_icon = list("cic" = MINIMAP_ICON_COLOR_HEAD)
minimap_background = MINIMAP_ICON_BACKGROUND_CIC //Add unique sprite here and above - Morrow

/datum/equipment_preset/uscm_ship/auxiliary_officer/New()
. = ..()
access = list(
ACCESS_MARINE_ASO,
ACCESS_MARINE_COMMAND,
ACCESS_MARINE_BRIG,
ACCESS_MARINE_ARMORY,
ACCESS_MARINE_MEDBAY,
ACCESS_MARINE_CE,
ACCESS_MARINE_ENGINEERING,
ACCESS_MARINE_MAINT,
ACCESS_MARINE_OT,
ACCESS_MARINE_RO,
ACCESS_MARINE_CARGO,
ACCESS_MARINE_PREP,
ACCESS_MARINE_ALPHA,
ACCESS_MARINE_BRAVO,
ACCESS_MARINE_CHARLIE,
ACCESS_MARINE_DELTA,
ACCESS_MARINE_PILOT,
ACCESS_MARINE_DROPSHIP,
ACCESS_MARINE_KITCHEN,
ACCESS_PRESS,
)

/datum/equipment_preset/uscm_ship/auxiliary_officer/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/mcom/alt(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/bridge(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/jacket/marine/service/aso(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine(new_human), WEAR_FEET)
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_L_STORE)
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/device/binoculars/range(new_human), WEAR_L_STORE)

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

/datum/equipment_preset/uscm_ship/po
name = "USCM Pilot (DP) (Cryo)"
flags = EQUIPMENT_PRESET_START_OF_ROUND|EQUIPMENT_PRESET_MARINE
Expand Down
Loading