From d3c0a9ca0cc53cd7844fd3b20d978dfb5f8220da Mon Sep 17 00:00:00 2001 From: Hockaa <69127651+Hockaa@users.noreply.github.com> Date: Wed, 12 Aug 2020 19:40:16 +0100 Subject: [PATCH] Having something in the uniform slot in your loadout now puts your job uniform into your backpack when you spawn (#9663) --- code/controllers/subsystems/job.dm | 7 +++++++ code/modules/clothing/factions/dominia.dm | 1 + html/changelogs/hockaa-uniforms.yml | 7 +++++++ 3 files changed, 15 insertions(+) create mode 100644 html/changelogs/hockaa-uniforms.yml diff --git a/code/controllers/subsystems/job.dm b/code/controllers/subsystems/job.dm index 328becc35ce..50afb84d877 100644 --- a/code/controllers/subsystems/job.dm +++ b/code/controllers/subsystems/job.dm @@ -701,6 +701,7 @@ // H, job, and prefs MUST be supplied and not null. // leftovers, storage, custom_equip_slots can be passed if their return values are required (proc mutates passed list), or ignored if not required. /datum/controller/subsystem/jobs/proc/EquipCustom(mob/living/carbon/human/H, datum/job/job, datum/preferences/prefs, list/leftovers = null, list/storage = null, list/custom_equip_slots = list()) + var/keepuniform = job.get_outfit(H) Debug("EC/([H]): Entry.") if (!istype(H) || !job) Debug("EC/([H]): Abort: invalid arguments.") @@ -715,6 +716,8 @@ var/datum/gear/G = gear_datums[thing] if(G) + if(G.slot == slot_w_uniform) + UniformReturn(keepuniform, H) if(G.augment) //augments are handled somewhere else continue @@ -933,4 +936,8 @@ C.screen -= T qdel(T) +/datum/controller/subsystem/jobs/proc/UniformReturn(uniform, mob/living/carbon/human/H) + var/datum/outfit/U = new uniform + var/uniformspawn = new U.uniform(H) + H.equip_or_collect(uniformspawn, H.back) #undef Debug diff --git a/code/modules/clothing/factions/dominia.dm b/code/modules/clothing/factions/dominia.dm index c68fe64ca63..7b0e8dc0247 100644 --- a/code/modules/clothing/factions/dominia.dm +++ b/code/modules/clothing/factions/dominia.dm @@ -4,6 +4,7 @@ icon = 'icons/clothing/masks/lyodsuit.dmi' icon_state = "dom_thermal_mask" item_state = "dom_thermal_mask" + flags_inv = BLOCKHAIR contained_sprite = TRUE canremove = FALSE diff --git a/html/changelogs/hockaa-uniforms.yml b/html/changelogs/hockaa-uniforms.yml new file mode 100644 index 00000000000..d0b70ac4ba1 --- /dev/null +++ b/html/changelogs/hockaa-uniforms.yml @@ -0,0 +1,7 @@ +author: Hocka + +delete-after: True + +changes: + - bugfix: "If you have something else from the loadout equipped to your uniform slot your job's uniform will now be put in your backpack." + - bugfix: "Lyodsuit masks no longer show hair."