diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index c60eafbad2..5c45ab9172 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -685,26 +685,8 @@ GLOBAL_LIST_EMPTY(roundstart_races) S = GLOB.moth_wings_list[H.dna.features["moth_wings"]] if("caps") S = GLOB.caps_list[H.dna.features["caps"]] - - //Mammal Bodyparts - if("mam_tail") - S = GLOB.mam_tails_list[H.dna.features["mam_tail"]] - if("mam_waggingtail") - S.= GLOB.mam_tails_animated_list[H.dna.features["mam_tail"]] - if("mam_body_markings") - S = GLOB.mam_body_markings_list[H.dna.features["mam_body_markings"]] - if("mam_ears") - S = GLOB.mam_ears_list[H.dna.features["mam_ears"]] - if("taur") - S = GLOB.taur_list[H.dna.features["taur"]] - - //Xeno Bodyparts - if("xenodorsal") - S = GLOB.xeno_dorsal_list[H.dna.features["xenodorsal"]] - if("xenohead") - S = GLOB.xeno_head_list[H.dna.features["xenohead"]] - if("xenotail") - S = GLOB.xeno_tail_list[H.dna.features["xenotail"]] + else + S = citadel_mutant_bodyparts(bodypart, H) if(!S || S.icon_state == "none") continue diff --git a/modular_citadel/code/controllers/subsystem/job.dm b/modular_citadel/code/controllers/subsystem/job.dm index e9d7c65a34..846c17344c 100644 --- a/modular_citadel/code/controllers/subsystem/job.dm +++ b/modular_citadel/code/controllers/subsystem/job.dm @@ -1,4 +1,4 @@ -/datum/controller/subsystem/job/proc/equip_loadout(mob/dead/new_player/N, mob/living/M) +/datum/controller/subsystem/job/proc/equip_loadout(mob/dead/new_player/N, mob/living/M, equipbackpackstuff) var/mob/the_mob = N if(!the_mob) the_mob = M // cause this doesn't get assigned if player is a latejoiner @@ -11,18 +11,21 @@ if(!G) continue var/permitted = TRUE + if(G.restricted_roles && G.restricted_roles.len && !(M.mind.assigned_role in G.restricted_roles)) + permitted = FALSE if(G.ckeywhitelist && G.ckeywhitelist.len && !(the_mob.client.ckey in G.ckeywhitelist)) permitted = FALSE - if(G.restricted_roles && G.restricted_roles.len && !(M.job in G.restricted_roles)) + if(!equipbackpackstuff && G.category == slot_in_backpack)//snowflake check since plopping stuff in the backpack doesnt work for pre-job equip loadout stuffs + permitted = FALSE + if(equipbackpackstuff && G.category != slot_in_backpack)//ditto permitted = FALSE if(!permitted) continue var/obj/item/I = new G.path - if(!M.equip_to_slot_if_possible(I, G.category, disable_warning = TRUE, bypass_equip_delay_self = TRUE)) // Try to put it in its slot, first - if(!M.equip_to_slot_if_possible(I, slot_in_backpack, disable_warning = TRUE, bypass_equip_delay_self = TRUE)) // If it fails, try to put it in the backpack + if(!M.equip_to_slot_if_possible(I, G.category, disable_warning = TRUE, bypass_equip_delay_self = TRUE)) // If the job's dresscode compliant, try to put it in its slot, first + if(!M.equip_to_slot_if_possible(I, slot_in_backpack, disable_warning = TRUE, bypass_equip_delay_self = TRUE)) // Otherwise, try to put it in the backpack I.forceMove(get_turf(M)) // If everything fails, just put it on the floor under the mob. - /datum/controller/subsystem/job/proc/FreeRole(rank) if(!rank) return diff --git a/modular_citadel/code/modules/mob/living/carbon/human/species.dm b/modular_citadel/code/modules/mob/living/carbon/human/species.dm index 74b5404c09..d3ac99d61c 100644 --- a/modular_citadel/code/modules/mob/living/carbon/human/species.dm +++ b/modular_citadel/code/modules/mob/living/carbon/human/species.dm @@ -76,4 +76,20 @@ /datum/species/proc/citadel_mutant_bodyparts(bodypart, mob/living/carbon/human/H) switch(bodypart) if("ipc_screen") - return GLOB.ipc_screens_list[H.dna.features["ipc_screen"]] \ No newline at end of file + return GLOB.ipc_screens_list[H.dna.features["ipc_screen"]] + if("mam_tail") + return GLOB.mam_tails_list[H.dna.features["mam_tail"]] + if("mam_waggingtail") + return GLOB.mam_tails_animated_list[H.dna.features["mam_tail"]] + if("mam_body_markings") + return GLOB.mam_body_markings_list[H.dna.features["mam_body_markings"]] + if("mam_ears") + return GLOB.mam_ears_list[H.dna.features["mam_ears"]] + if("taur") + return GLOB.taur_list[H.dna.features["taur"]] + if("xenodorsal") + return GLOB.xeno_dorsal_list[H.dna.features["xenodorsal"]] + if("xenohead") + return GLOB.xeno_head_list[H.dna.features["xenohead"]] + if("xenotail") + return GLOB.xeno_tail_list[H.dna.features["xenotail"]] \ No newline at end of file diff --git a/modular_citadel/icons/obj/genitals/penis_onmob.dmi b/modular_citadel/icons/obj/genitals/penis_onmob.dmi index bdda4a94d5..733e0a08da 100644 Binary files a/modular_citadel/icons/obj/genitals/penis_onmob.dmi and b/modular_citadel/icons/obj/genitals/penis_onmob.dmi differ