Skip to content

Commit

Permalink
Merge remote-tracking branch 'cmss13-devs/master' into attacktheDpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
blackcrystall committed Jul 6, 2024
2 parents fbffbfb + bd18351 commit 5ccb7c3
Show file tree
Hide file tree
Showing 66 changed files with 254 additions and 65 deletions.
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
3 changes: 3 additions & 0 deletions code/__DEFINES/sounds.dm
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,9 @@
#define SOUND_ENVIRONMENT_DIZZY 24
#define SOUND_ENVIRONMENT_PSYCHOTIC 25

#define SOUND_ECHO_REVERB_ON list(0, 0, 0, 0, 0, 0.0, 0, 0.25, 1.5, 1.0, 0, 1.0, 0, 0.0, 0.0, 0.0, 1.0, 0)
#define SOUND_ECHO_REVERB_OFF list(0, 0, -10000, -10000, 0, 0.0, 0, 0.25, 1.5, 1.0, 0, 1.0, 0, 0.0, 0.0, 0.0, 1.0, 0) //-10000 to Room & RoomHF makes enviromental reverb effectively inaudible

#define AMBIENCE_SHIP 'sound/ambience/shipambience.ogg'
#define AMBIENCE_JUNGLE 'sound/ambience/ambienceLV624.ogg'
#define AMBIENCE_RIVER 'sound/ambience/ambienceriver.ogg'
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,8 @@
#define TRAIT_IN_TUTORIAL "t_IN_TUTORIAL"
/// If the mob is cloaked in any form
#define TRAIT_CLOAKED "t_cloaked"
/// If the mob won't drop items held in face slot when downed
#define TRAIT_IRON_TEETH "t_iron_teeth"

// -- ability traits --
/// Xenos with this trait cannot have plasma transfered to them
Expand Down
7 changes: 4 additions & 3 deletions code/__HELPERS/logging.dm
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,10 @@ GLOBAL_VAR_INIT(log_end, world.system_type == UNIX ? ascii2text(13) : "")

GLOB.STUI?.debug.Add("\[[time]]DEBUG: [text]")
GLOB.STUI?.processing |= STUI_LOG_DEBUG
for(var/client/C in GLOB.admins)
if(C.prefs.toggles_chat & CHAT_DEBUGLOGS)
to_chat(C, "DEBUG: [text]", type = MESSAGE_TYPE_DEBUG)
for(var/client/client in GLOB.admins)
if(CLIENT_IS_STAFF(client))
if(client.prefs.toggles_chat & CHAT_DEBUGLOGS)
to_chat(client, "DEBUG: [text]", type = MESSAGE_TYPE_DEBUG)


/proc/log_game(text)
Expand Down
4 changes: 2 additions & 2 deletions code/controllers/mc/failsafe.dm
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ GLOBAL_REAL(Failsafe, /datum/controller/failsafe)
if (. == 1) //We were able to create a new master
SSticker.Recover(); //Recover the ticket system so the Masters runlevel gets set
Master.Initialize(10, FALSE, TRUE) //Need to manually start the MC, normally world.new would do this
to_chat(GLOB.admins, SPAN_ADMINNOTICE("MC successfully recreated after recovering all subsystems!"))
message_admins(SPAN_ADMINNOTICE("MC successfully recreated after recovering all subsystems!"))
else
message_admins(SPAN_BOLDANNOUNCE("Failed to create new MC!"))

Expand All @@ -169,7 +169,7 @@ GLOBAL_REAL(Failsafe, /datum/controller/failsafe)
if (. == 1) //We were able to create a new master
SSticker.Recover(); //Recover the ticket system so the Masters runlevel gets set
Master.Initialize(10, FALSE, TRUE) //Need to manually start the MC, normally world.new would do this
to_chat(GLOB.admins, SPAN_ADMINNOTICE("MC successfully recreated after deleting and recreating all subsystems!"))
message_admins(SPAN_ADMINNOTICE("MC successfully recreated after deleting and recreating all subsystems!"))
else
message_admins(SPAN_BOLDANNOUNCE("Failed to create new MC!"))

Expand Down
2 changes: 1 addition & 1 deletion code/controllers/mc/master.dm
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
msg = "The [BadBoy.name] subsystem seems to be destabilizing the MC and will be put offline."
BadBoy.flags |= SS_NO_FIRE
if(msg)
to_chat(GLOB.admins, SPAN_BOLDANNOUNCE("[msg]"))
message_admins(SPAN_BOLDANNOUNCE("[msg]"))
log_world(msg)

if (istype(Master.subsystems))
Expand Down
2 changes: 1 addition & 1 deletion code/datums/elements/mouth_drop_item.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
/datum/element/mouth_drop_item/proc/item_equipped(obj/item/I, mob/living/carbon/human/user, slot)
SIGNAL_HANDLER

if(slot == WEAR_FACE)
if(slot == WEAR_FACE && !HAS_TRAIT(user, TRAIT_IRON_TEETH))
I.RegisterSignal(user, COMSIG_LIVING_SET_BODY_POSITION, TYPE_PROC_REF(/obj/item, drop_to_floor))

/datum/element/mouth_drop_item/proc/item_dropped(obj/item/I, mob/living/carbon/human/user)
Expand Down
1 change: 0 additions & 1 deletion code/datums/event_info_text.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
return

if(msg == "")
to_chat(user, SPAN_WARNING("No [faction] custom event message has been found. Either no custom event is taking place, admin hasn't properly set this or deemed it unnecessary to be set."))
return

var/dat
Expand Down
75 changes: 63 additions & 12 deletions code/datums/soundOutput.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,25 @@
var/list/soundscape_playlist = list() //Updated on changing areas
var/ambience = null //The file currently being played as ambience
var/status_flags = 0 //For things like ear deafness, psychodelic effects, and other things that change how all sounds behave
var/list/echo
/datum/soundOutput/New(client/C)
if(!C)

/// Currently applied environmental reverb.
VAR_PROTECTED/owner_environment = SOUND_ENVIRONMENT_NONE

/datum/soundOutput/New(client/client)
if(!client)
qdel(src)
return
owner = C
. = ..()
owner = client
RegisterSignal(owner.mob, COMSIG_MOVABLE_MOVED, PROC_REF(on_mob_moved))
RegisterSignal(owner.mob, COMSIG_MOB_LOGOUT, PROC_REF(on_mob_logout))
RegisterSignal(owner, COMSIG_CLIENT_MOB_LOGGED_IN, PROC_REF(on_client_mob_logged_in))
return ..()

/datum/soundOutput/Destroy()
UnregisterSignal(owner.mob, list(COMSIG_MOVABLE_MOVED, COMSIG_MOB_LOGOUT))
UnregisterSignal(owner, COMSIG_CLIENT_MOB_LOGGED_IN)
owner = null
return ..()

/datum/soundOutput/proc/process_sound(datum/sound_template/T)
var/sound/S = sound(T.file, T.wait, T.repeat)
Expand All @@ -22,7 +34,6 @@
S.frequency = T.frequency
S.falloff = T.falloff
S.status = T.status
S.echo = T.echo
if(T.x && T.y && T.z)
var/turf/owner_turf = get_turf(owner.mob)
if(owner_turf)
Expand All @@ -38,16 +49,12 @@
S.x = T.x - owner_turf.x
S.y = 0
S.z = T.y - owner_turf.y
var/area/A = owner_turf.loc
S.environment = A.sound_environment
S.y += T.y_s_offset
S.x += T.x_s_offset
S.echo = SOUND_ECHO_REVERB_ON //enable environment reverb for positional sounds
if(owner.mob.ear_deaf > 0)
S.status |= SOUND_MUTE

if(owner.mob.sound_environment_override != SOUND_ENVIRONMENT_NONE)
S.environment = owner.mob.sound_environment_override

sound_to(owner,S)

/datum/soundOutput/proc/update_ambience(area/target_area, ambience_override, force_update = FALSE)
Expand Down Expand Up @@ -84,7 +91,6 @@
S.status = status_flags

if(target_area)
S.environment = target_area.sound_environment
var/muffle
if(target_area.ceiling_muffle)
switch(target_area.ceiling)
Expand Down Expand Up @@ -128,6 +134,51 @@
S.status = SOUND_UPDATE
sound_to(owner, S)

/// Pulls mob's area's sound_environment and applies if necessary and not overridden.
/datum/soundOutput/proc/update_area_environment()
var/area/owner_area = get_area(owner.mob)
var/new_environment = owner_area.sound_environment

if(owner.mob.sound_environment_override != SOUND_ENVIRONMENT_NONE) //override in effect, can't apply
return

set_owner_environment(new_environment)

/// Pulls mob's sound_environment_override and applies if necessary.
/datum/soundOutput/proc/update_mob_environment_override()
var/new_environment_override = owner.mob.sound_environment_override

if(new_environment_override == SOUND_ENVIRONMENT_NONE) //revert to area environment
update_area_environment()
return

set_owner_environment(new_environment_override)

/// Pushes new_environment to owner and updates owner_environment var.
/datum/soundOutput/proc/set_owner_environment(new_environment = SOUND_ENVIRONMENT_NONE)
if(new_environment ~= src.owner_environment) //no need to change
return

var/sound/sound = sound()
sound.environment = new_environment
sound_to(owner, sound)

src.owner_environment = new_environment

/datum/soundOutput/proc/on_mob_moved(datum/source, atom/oldloc, direction, Forced)
SIGNAL_HANDLER //COMSIG_MOVABLE_MOVED
update_area_environment()

/datum/soundOutput/proc/on_mob_logout(datum/source)
SIGNAL_HANDLER //COMSIG_MOB_LOGOUT
UnregisterSignal(owner.mob, list(COMSIG_MOVABLE_MOVED, COMSIG_MOB_LOGOUT))

/datum/soundOutput/proc/on_client_mob_logged_in(datum/source, mob/new_mob)
SIGNAL_HANDLER //COMSIG_CLIENT_MOB_LOGGED_IN
RegisterSignal(owner.mob, COMSIG_MOVABLE_MOVED, PROC_REF(on_mob_moved))
RegisterSignal(owner.mob, COMSIG_MOB_LOGOUT, PROC_REF(on_mob_logout))
update_mob_environment_override()

/client/proc/adjust_volume_prefs(volume_key, prompt = "", channel_update = 0)
volume_preferences[volume_key] = (tgui_input_number(src, prompt, "Volume", volume_preferences[volume_key]*100)) / 100
if(volume_preferences[volume_key] > 1)
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
1 change: 1 addition & 0 deletions code/game/machinery/vending/vendor_types/crew/synthetic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_synth_snowflake, list(
list("Marine Helmet (Desert)", 12, /obj/item/clothing/head/helmet/marine/desert, null, VENDOR_ITEM_REGULAR),
list("Technician Helmet", 12, /obj/item/clothing/head/helmet/marine/tech, null, VENDOR_ITEM_REGULAR),
list("Corpsman Helmet", 12, /obj/item/clothing/head/helmet/marine/medic, null, VENDOR_ITEM_REGULAR),
list("White Corpsman Helmet", 12, /obj/item/clothing/head/helmet/marine/medic/white, null, VENDOR_ITEM_REGULAR),
list("Attachable Helmet Shield", 12, /obj/item/prop/helmetgarb/riot_shield, null, VENDOR_ITEM_REGULAR),

list("MASK", 0, null, null, null),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ GLOBAL_LIST_INIT(cm_vending_gear_medic, list(

GLOBAL_LIST_INIT(cm_vending_clothing_medic, list(
list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null),
list("Standard Marine Apparel", 0, list(/obj/item/clothing/under/marine/medic, /obj/item/clothing/shoes/marine/knife, /obj/item/clothing/gloves/marine, /obj/item/device/radio/headset/almayer/marine, /obj/item/clothing/head/helmet/marine/medic), MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY),
list("Standard Marine Apparel", 0, list(/obj/item/clothing/under/marine/medic, /obj/item/clothing/shoes/marine/knife, /obj/item/clothing/gloves/marine, /obj/item/device/radio/headset/almayer/marine), MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY),
list("Combat Sterile Gloves", 0, /obj/item/clothing/gloves/marine/medical, MARINE_CAN_BUY_GLOVES, VENDOR_ITEM_REGULAR),
list("MRE", 0, /obj/item/storage/box/MRE, MARINE_CAN_BUY_MRE, VENDOR_ITEM_MANDATORY),
list("Map", 0, /obj/item/map/current_map, MARINE_CAN_BUY_KIT, VENDOR_ITEM_MANDATORY),
Expand All @@ -137,6 +137,10 @@ GLOBAL_LIST_INIT(cm_vending_clothing_medic, list(
list("Medium Armor", 0, /obj/item/clothing/suit/storage/marine/medium, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_RECOMMENDED),
list("Heavy Armor", 0, /obj/item/clothing/suit/storage/marine/heavy, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_REGULAR),

list("HELMET (CHOOSE 1)", 0, null, null, null),
list("M10 Corpsman Helmet", 0, /obj/item/clothing/head/helmet/marine/medic, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR),
list("M10 White Corpsman Helmet", 0, /obj/item/clothing/head/helmet/marine/medic/white, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR),

list("BACKPACK (CHOOSE 1)", 0, null, null, null),
list("Medical Backpack", 0, /obj/item/storage/backpack/marine/medic, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR),
list("Medical Satchel", 0, /obj/item/storage/backpack/marine/satchel/medic, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_RECOMMENDED),
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ cases. Override_icon_state should be a list.*/
size = "huge"
if(SIZE_MASSIVE)
size = "massive"
. += "This is a [blood_color ? blood_color != COLOR_OIL ? "bloody " : "oil-stained " : ""][icon2html(src, user)][src.name]. It is a [size] item."
. += "[p_are() == "are" ? "These are " : "This is a "][blood_color ? blood_color != COLOR_OIL ? "bloody " : "oil-stained " : ""][icon2html(src, user)][src.name]. [p_they(TRUE)] [p_are()] a [size] item."
if(desc)
. += desc
if(desc_lore)
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/game/objects/items/storage/belt.dm
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@

/obj/item/storage/belt/medical
name = "\improper M276 pattern medical storage rig"
desc = "The M276 is the standard load-bearing equipment of the USCM. It consists of a modular belt with various clips. This version is a less common configuration, designed to transport medical supplies and pistol ammunition. \nRight click its sprite and click \"toggle belt mode\" to take pills out of bottles by simply clicking them."
desc = "The M276 is the standard load-bearing equipment of the USCM. It consists of a modular belt with various clips. This version is a less common configuration, designed to transport bulkier medical supplies. \nRight click its sprite and click \"toggle belt mode\" to take pills out of bottles by simply clicking them."
icon_state = "medicalbelt"
item_state = "medical"
storage_slots = 14
Expand Down
2 changes: 2 additions & 0 deletions code/game/sound.dm
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
/sound
echo = SOUND_ECHO_REVERB_OFF //disable enviroment reverb by default, soundOutput re-enables for positional sounds

/datum/sound_template //Basically a sound datum, but only serves as a way to carry info to soundOutput
var/file //The sound itself
Expand Down
6 changes: 3 additions & 3 deletions code/game/turfs/floors/desert.dm
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@
set_light(2)
icon = 'icons/turf/floors/desert_water_toxic.dmi'
if(0)
set_light(1)
set_light(0)
icon = 'icons/turf/floors/desert_water.dmi'
if(-1)
set_light(1)
Expand Down Expand Up @@ -199,7 +199,7 @@
set_light(2)
icon = 'icons/turf/floors/desert_water_toxic.dmi'
if(0)
set_light(1)
set_light(0)
icon = 'icons/turf/floors/desert_water.dmi'
if(-1)
set_light(1)
Expand All @@ -224,7 +224,7 @@
set_light(2)
icon = 'icons/turf/floors/desert_water_toxic.dmi'
if(0)
set_light(1)
set_light(0)
icon = 'icons/turf/floors/desert_water.dmi'
if(-1)
set_light(1)
Expand Down
3 changes: 2 additions & 1 deletion code/game/verbs/ooc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@
if(!display_colour)
display_colour = CONFIG_GET(string/ooc_color_normal)
if(admin_holder && !admin_holder.fakekey)
display_colour = CONFIG_GET(string/ooc_color_other)
if(admin_holder.rights & R_MENTOR)
display_colour = CONFIG_GET(string/ooc_color_other)
if(admin_holder.rights & R_DEBUG)
display_colour = CONFIG_GET(string/ooc_color_debug)
if(admin_holder.rights & R_MOD)
Expand Down
14 changes: 14 additions & 0 deletions code/modules/character_traits/biology_traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -130,3 +130,17 @@
/datum/character_trait/biology/hardcore/unapply_trait(mob/living/carbon/human/target)
REMOVE_TRAIT(target, TRAIT_HARDCORE, ROUNDSTART_TRAIT)
..()

/datum/character_trait/biology/iron_teeth
trait_name = "Iron Teeth"
trait_desc = "You've got iron teeth or really good dental insurance. Items in your face slot won't fall out when you go down."
applyable = TRUE
cost = 1

/datum/character_trait/biology/iron_teeth/apply_trait(mob/living/carbon/human/target, datum/equipment_preset/preset)
ADD_TRAIT(target, TRAIT_IRON_TEETH, ROUNDSTART_TRAIT)
..()

/datum/character_trait/biology/iron_teeth/unapply_trait(mob/living/carbon/human/target)
REMOVE_TRAIT(target, TRAIT_IRON_TEETH, ROUNDSTART_TRAIT)
..()
8 changes: 8 additions & 0 deletions code/modules/clothing/head/helmet.dm
Original file line number Diff line number Diff line change
Expand Up @@ -800,6 +800,14 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list(
built_in_visors = list(new /obj/item/device/helmet_visor, new /obj/item/device/helmet_visor/medical/advanced)
start_down_visor_type = /obj/item/device/helmet_visor/medical/advanced

/obj/item/clothing/head/helmet/marine/medic/white
name = "\improper M10 white corpsman helmet"
desc = "An M10 marine helmet version worn by marine hospital corpsmen. Painted in medical white and has white cross in a red square painted on its front."
icon_state = "med_helmet_white"
specialty = "M10 pattern medic white"
flags_atom = NO_SNOW_TYPE|NO_NAME_OVERRIDE
flags_marine_helmet = HELMET_GARB_OVERLAY|HELMET_DAMAGE_OVERLAY

/obj/item/clothing/head/helmet/marine/covert
name = "\improper M10 covert helmet"
desc = "An M10 marine helmet version designed for use in darkened environments. It is coated with a special anti-reflective paint."
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
Loading

0 comments on commit 5ccb7c3

Please sign in to comment.