diff --git a/code/controllers/subsystems/job.dm b/code/controllers/subsystems/job.dm index 0e9d729fbdd..8a2562f3157 100644 --- a/code/controllers/subsystems/job.dm +++ b/code/controllers/subsystems/job.dm @@ -655,10 +655,13 @@ SUBSYSTEM_DEF(jobs) log_loadout("EC/([H]): Abort: invalid arguments.") return FALSE - switch (job.title) - if ("AI", "Cyborg") - log_loadout("EC/([H]): Abort: synthetic.") - return FALSE + // if it's for their preview mob, let them wear it + // so they can customize their loadout for their hologram + if(!istype(H, /mob/living/carbon/human/dummy/mannequin)) + switch (job.title) + if ("AI", "Cyborg") + log_loadout("EC/([H]): Abort: synthetic.") + return FALSE for(var/thing in prefs.gear) var/datum/gear/G = gear_datums[thing] diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm index 2230fca558a..7e3ab6c29fb 100644 --- a/code/game/jobs/job/job.dm +++ b/code/game/jobs/job/job.dm @@ -147,7 +147,7 @@ H.drop_from_inventory(H.w_uniform) qdel(H.w_uniform) - if(!(equip_preview_mob & EQUIP_PREVIEW_JOB_UNIFORM) && H.wear_suit && REF(H.wear_suit) != pre_suit_ref) + if(!(equip_preview_mob & EQUIP_PREVIEW_JOB_SUIT) && H.wear_suit && REF(H.wear_suit) != pre_suit_ref) H.drop_from_inventory(H.wear_suit) qdel(H.wear_suit) diff --git a/code/game/jobs/job/silicon.dm b/code/game/jobs/job/silicon.dm index 753ad887fdc..25c72651431 100644 --- a/code/game/jobs/job/silicon.dm +++ b/code/game/jobs/job/silicon.dm @@ -50,10 +50,17 @@ economic_modifier = 0 /datum/job/cyborg/equip(var/mob/living/carbon/human/H, var/alt_title) - if(!H) return 0 - return 1 + if(!H) + return FALSE + return TRUE -/datum/job/cyborg/equip_preview(mob/living/carbon/human/H) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/cardborg(H), slot_wear_suit) - H.equip_to_slot_or_del(new /obj/item/clothing/head/cardborg(H), slot_head) - return 1 +/datum/job/cyborg/equip_preview(mob/living/carbon/human/H, datum/preferences/prefs, var/alt_title, var/faction_override) + var/equip_preview_mob = prefs.equip_preview_mob + + if(equip_preview_mob & EQUIP_PREVIEW_JOB_HAT) + H.equip_to_slot_or_del(new /obj/item/clothing/head/cardborg(H), slot_head) + + if(equip_preview_mob & EQUIP_PREVIEW_JOB_SUIT) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/cardborg(H), slot_wear_suit) + + return TRUE diff --git a/code/modules/mob/abstract/new_player/preferences_setup.dm b/code/modules/mob/abstract/new_player/preferences_setup.dm index eb42c9cfc21..5dab3c7d195 100644 --- a/code/modules/mob/abstract/new_player/preferences_setup.dm +++ b/code/modules/mob/abstract/new_player/preferences_setup.dm @@ -217,7 +217,7 @@ var/list/leftovers = list() var/list/used_slots = list() - if((equip_preview_mob & EQUIP_PREVIEW_LOADOUT) && !(previewJob && (equip_preview_mob & EQUIP_PREVIEW_JOB) && (previewJob.type == /datum/job/ai || previewJob.type == /datum/job/cyborg))) + if((equip_preview_mob & EQUIP_PREVIEW_LOADOUT)) SSjobs.EquipCustom(mannequin, previewJob, src, leftovers, null, used_slots) if((equip_preview_mob & EQUIP_PREVIEW_JOB) && previewJob) diff --git a/html/changelogs/geeves-ai_loadout_fixes.yml b/html/changelogs/geeves-ai_loadout_fixes.yml new file mode 100644 index 00000000000..84a1a10ada4 --- /dev/null +++ b/html/changelogs/geeves-ai_loadout_fixes.yml @@ -0,0 +1,8 @@ +author: Geeves + +delete-after: True + +changes: + - rscadd: "AIs can now dress up their preview mob." + - rscadd: "Cyborgs now have the cardboard outfit in the loadout again. You can toggle it by deselecting the job suit and hat options." + - bugfix: "Job suits are now hidden correctly when the job suit is deselected."