Skip to content

Commit

Permalink
SEA tracking options (#6595)
Browse files Browse the repository at this point in the history
# About the pull request

Adds ability to track the CMP.
Adds a SEA headset that can track the CO, XO, and CMP.
Adds handheld crew monitor to SEATech vendor.


![image](https://github.com/cmss13-devs/cmss13/assets/14267245/3db56808-cbbe-4db1-83c1-a16c2f0e244e)

![image](https://github.com/cmss13-devs/cmss13/assets/14267245/b8dcd234-1bf2-408a-9f2e-346fc4f005e1)

<!-- Remove this text and explain what the purpose of your PR is.

Mention if you have tested your changes. If you changed a map, make sure
you used the mapmerge tool.
If this is an Issue Correction, you can type "Fixes Issue #169420" to
link the PR to the corresponding Issue number #169420.

Remember: something that is self-evident to you might not be to others.
Explain your rationale fully, even if you feel it goes without saying.
-->

# Explain why it's good for the game

Headset tracking is a convenience for SEAs to find command staff. Access
to handheld crew monitor is a convenience for SEAs to find people who
can't or don't know how to ask for help: namely, privates.

# Testing Photographs and Procedure

![image](https://github.com/cmss13-devs/cmss13/assets/14267245/1eacd6a8-a37d-4c73-bb59-7f31ab6e2319)

![image](https://github.com/cmss13-devs/cmss13/assets/14267245/ae60cb55-774c-401c-a5a4-ea6331d4f894)


# Changelog
:cl:
imageadd: adds CMP tracker sprites
add: adds a SEA headset, can track CO, XO, CMP
add: adds handheld crew monitor in SEATech vendor
/:cl:
  • Loading branch information
Doubleumc committed Jul 6, 2024
1 parent 8c063e4 commit 46a31c9
Show file tree
Hide file tree
Showing 7 changed files with 33 additions and 1 deletion.
1 change: 1 addition & 0 deletions code/__DEFINES/mob_hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@
#define TRACKER_LZ "track_lz"
#define TRACKER_CO "track_co"
#define TRACKER_XO "track_xo"
#define TRACKER_CMP "track_cmp"
#define TRACKER_CL "track_cl"

#define TRACKER_ASL "_asl" // Alpha Squad Leader
Expand Down
10 changes: 10 additions & 0 deletions code/game/jobs/job/command/police/chief_police.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,16 @@
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/uscm_police/cmp
entry_message_body = "<a href='"+WIKI_PLACEHOLDER+"'>You</a> are held by a higher standard and are required to obey not only the server rules but the <a href='"+LAW_PLACEHOLDER+"'>Marine Law</a>. Failure to do so may result in a job ban or server ban. You lead the Military Police, ensure your officers maintain peace and stability aboard the ship. Marines can get rowdy after a few weeks of cryosleep! In addition, you are tasked with the security of high-ranking personnel, including the command staff. Keep them safe!"
var/mob/living/carbon/human/active_cmp

/datum/job/command/warrant/generate_entry_conditions(mob/living/cmp, whitelist_status)
. = ..()
active_cmp = cmp
RegisterSignal(cmp, COMSIG_PARENT_QDELETING, PROC_REF(cleanup_active_cmp))

/datum/job/command/warrant/proc/cleanup_active_cmp(mob/cmp)
SIGNAL_HANDLER
active_cmp = null

AddTimelock(/datum/job/command/warrant, list(
JOB_POLICE_ROLES = 15 HOURS,
Expand Down
1 change: 1 addition & 0 deletions code/game/machinery/vending/vending_types.dm
Original file line number Diff line number Diff line change
Expand Up @@ -296,6 +296,7 @@
/obj/item/storage/firstaid/fire = 2,
/obj/item/storage/firstaid/rad = 1,
/obj/item/device/radio/headset = 6,
/obj/item/tool/crew_monitor = 1,
)
contraband = list(/obj/item/storage/fancy/cigar = 2,/obj/item/tool/lighter/zippo = 2)

Expand Down
15 changes: 15 additions & 0 deletions code/game/objects/items/devices/radio/headset.dm
Original file line number Diff line number Diff line change
Expand Up @@ -565,6 +565,21 @@
initial_keys = list(/obj/item/device/encryptionkey/cmpcom/cdrcom)
volume = RADIO_VOLUME_CRITICAL

/obj/item/device/radio/headset/almayer/mcom/sea
name = "marine senior enlisted advisor headset"
desc = "Issued only to senior enlisted advisors. Channels are as follows: :v - marine command, :p - military police, :a - alpha squad, :b - bravo squad, :c - charlie squad, :d - delta squad, :n - engineering, :m - medbay, :u - requisitions, :j - JTAC, :t - intel"
icon_state = "mco_headset"
initial_keys = list(/obj/item/device/encryptionkey/cmpcom/cdrcom)
volume = RADIO_VOLUME_CRITICAL
misc_tracking = TRUE
locate_setting = TRACKER_CO

inbuilt_tracking_options = list(
"Commanding Officer" = TRACKER_CO,
"Executive Officer" = TRACKER_XO,
"Chief MP" = TRACKER_CMP
)

/obj/item/device/radio/headset/almayer/mcom/synth
name = "marine synth headset"
desc = "Issued only to USCM synthetics. Channels are as follows: :v - marine command, :p - military police, :a - alpha squad, :b - bravo squad, :c - charlie squad, :d - delta squad, :n - engineering, :m - medbay, :u - requisitions, :j - JTAC, :t - intel"
Expand Down
2 changes: 1 addition & 1 deletion code/modules/gear_presets/uscm_ship.dm
Original file line number Diff line number Diff line change
Expand Up @@ -609,7 +609,7 @@
back_item = /obj/item/storage/backpack/marine
new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK)

new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/mcom/cdrcom(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/mcom/sea(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/shoes/marine/knife(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m44/custom(new_human), WEAR_WAIST)
Expand Down
5 changes: 5 additions & 0 deletions code/modules/mob/living/carbon/human/human.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1259,6 +1259,11 @@
if(TRACKER_XO)
H = GLOB.marine_leaders[JOB_XO]
tracking_suffix = "_xo"
if(TRACKER_CMP)
var/datum/job/command/warrant/cmp_job = GLOB.RoleAuthority.roles_for_mode[JOB_CHIEF_POLICE]
if(cmp_job?.active_cmp)
H = cmp_job.active_cmp
tracking_suffix = "_cmp"
if(TRACKER_CL)
var/datum/job/civilian/liaison/liaison_job = GLOB.RoleAuthority.roles_for_mode[JOB_CORPORATE_LIAISON]
if(liaison_job?.active_liaison)
Expand Down
Binary file modified icons/mob/hud/human_midnight.dmi
Binary file not shown.

0 comments on commit 46a31c9

Please sign in to comment.