diff --git a/nsv13/code/modules/jobs/job_types/marine/midshipman.dm b/nsv13/code/modules/jobs/job_types/marine/midshipman.dm index 3b91a0580ad..d69e18252ce 100644 --- a/nsv13/code/modules/jobs/job_types/marine/midshipman.dm +++ b/nsv13/code/modules/jobs/job_types/marine/midshipman.dm @@ -21,7 +21,6 @@ Marine & all their unique stuff! display_order = JOB_DISPLAY_ORDER_ASSISTANT departments = DEPARTMENT_BITFLAG_SERVICE rpg_title = "Lout" - var/assign_squad = FALSE //If an assigned department is not essential to the ship, they get added to a squad instead species_outfits = list( SPECIES_PLASMAMAN = /datum/outfit/plasmaman @@ -76,7 +75,7 @@ Marine & all their unique stuff! var/department = M?.client?.prefs?.active_character?.preferred_security_department if(department == "None") to_chat(M, "You have not been assigned to any department. Help in any way you can!") - assign_squad = TRUE + return else if(!(department in GLOB.available_depts)) department = pick(GLOB.available_depts) @@ -88,7 +87,6 @@ Marine & all their unique stuff! ears = /obj/item/radio/headset/headset_cargo dep_access = list(ACCESS_MAILSORTING, ACCESS_CARGO) accessory = /obj/item/clothing/accessory/armband/cargo - assign_squad = TRUE if(SEC_DEPT_ENGINEERING) ears = /obj/item/radio/headset/headset_eng dep_access = list(ACCESS_CONSTRUCTION, ACCESS_ENGINE, ACCESS_AUX_BASE) @@ -101,7 +99,6 @@ Marine & all their unique stuff! ears = /obj/item/radio/headset/headset_sci dep_access = list(ACCESS_RESEARCH) accessory = /obj/item/clothing/accessory/armband/science - assign_squad = TRUE if(SEC_DEPT_MUNITIONS) ears = /obj/item/radio/headset/munitions/munitions_tech dep_access = list(ACCESS_MUNITIONS, ACCESS_MUNITIONS_STORAGE) @@ -121,6 +118,14 @@ Marine & all their unique stuff! to_chat(M, "You have been assigned to [department]!") /datum/job/assistant/register_squad(mob/living/H) - if(assign_squad == FALSE) + if(!ishuman(H)) + return + var/list/disallowed_access = list(ACCESS_ENGINE, ACCESS_MEDICAL, ACCESS_MUNITIONS) //If these departments are disallowed squads, so are the midshipmen assigned to them + var/mob/living/carbon/human/A = H + var/obj/item/card/id/I = A.get_idcard() + if(!I) return + for(var/B in disallowed_access) + if(B in I.access) + return . = ..()