diff --git a/aurorastation.dme b/aurorastation.dme index 81343162641..623be5eb423 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -1307,6 +1307,7 @@ #include "code\modules\client\preferences_spawnpoints.dm" #include "code\modules\client\preferences_toggles.dm" #include "code\modules\client\ui_style.dm" +#include "code\modules\client\preference_setup\_defines.dm" #include "code\modules\client\preference_setup\preference_setup.dm" #include "code\modules\client\preference_setup\preferences_sql.dm" #include "code\modules\client\preference_setup\antagonism\01_candidacy.dm" diff --git a/code/modules/client/preference_setup/_defines.dm b/code/modules/client/preference_setup/_defines.dm new file mode 100644 index 00000000000..424aa1dacb8 --- /dev/null +++ b/code/modules/client/preference_setup/_defines.dm @@ -0,0 +1,3 @@ +#define EQUIP_PREVIEW_LOADOUT 1 +#define EQUIP_PREVIEW_JOB 2 +#define EQUIP_PREVIEW_ALL (EQUIP_PREVIEW_LOADOUT|EQUIP_PREVIEW_JOB) \ No newline at end of file diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm index c94d051e33c..463dc5c6a43 100644 --- a/code/modules/client/preference_setup/general/03_body.dm +++ b/code/modules/client/preference_setup/general/03_body.dm @@ -1,5 +1,8 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O+", "O-") +/datum/preferences + var/equip_preview_mob = EQUIP_PREVIEW_ALL + /datum/category_item/player_setup_item/general/body name = "Body" sort_order = 3 @@ -195,7 +198,6 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O out += "
" out += "Species: [pref.species]
" out += "Blood Type: [pref.b_type]
" - out += "Cycle preview background
" if(has_flag(mob_species, HAS_SKIN_TONE)) out += "Skin Tone: [-pref.s_tone + 35]/220
" out += "Disabilities: Adjust
" @@ -282,7 +284,13 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O else out += "

" - out += "Hair
" + out += "Preview" + out += "
Cycle background" + out += "
[pref.equip_preview_mob & EQUIP_PREVIEW_LOADOUT ? "Hide loadout" : "Show loadout"]" + out += "
[pref.equip_preview_mob & EQUIP_PREVIEW_JOB ? "Hide job gear" : "Show job gear"]" + out += "" + + out += "Hair
" if(has_flag(mob_species, HAS_HAIR_COLOR)) out += "Change Color [HTML_RECT(rgb(pref.r_hair, pref.g_hair, pref.b_hair))] " out += " Style: [pref.h_style]
" @@ -671,6 +679,10 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O pref.bgstate = next_in_list(pref.bgstate, pref.bgstate_options) return TOPIC_REFRESH_UPDATE_PREVIEW + else if(href_list["toggle_preview_value"]) + pref.equip_preview_mob ^= text2num(href_list["toggle_preview_value"]) + return TOPIC_REFRESH_UPDATE_PREVIEW + return ..() /datum/category_item/player_setup_item/general/body/proc/SetSpecies(mob/user) diff --git a/code/modules/mob/abstract/new_player/preferences_setup.dm b/code/modules/mob/abstract/new_player/preferences_setup.dm index 8b837b2a4af..74060bd66f9 100644 --- a/code/modules/mob/abstract/new_player/preferences_setup.dm +++ b/code/modules/mob/abstract/new_player/preferences_setup.dm @@ -194,6 +194,9 @@ /datum/preferences/proc/dress_preview_mob(var/mob/living/carbon/human/mannequin) copy_to(mannequin) + if(!equip_preview_mob) + return + // Determine what job is marked as 'High' priority, and dress them up as such. var/datum/job/previewJob if(job_civilian_low & ASSISTANT) @@ -217,12 +220,15 @@ 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))) + SSjobs.EquipCustom(mannequin, previewJob, src, leftovers, null, used_slots) - SSjobs.EquipCustom(mannequin, previewJob, src, leftovers, null, used_slots) + if((equip_preview_mob & EQUIP_PREVIEW_JOB) && previewJob) + previewJob.equip_preview(mannequin, player_alt_titles[previewJob.title]) - previewJob.equip_preview(mannequin, player_alt_titles[previewJob.title]) - - SSjobs.EquipCustomDeferred(mannequin, src, leftovers, used_slots) + if(equip_preview_mob & EQUIP_PREVIEW_LOADOUT && leftovers.len) + SSjobs.EquipCustomDeferred(mannequin, src, leftovers, used_slots) if (!SSATOMS_IS_PROBABLY_DONE) SSatoms.ForceInitializeContents(mannequin) diff --git a/html/changelogs/Ferner-200913-coding_previewimprovement.yml b/html/changelogs/Ferner-200913-coding_previewimprovement.yml new file mode 100644 index 00000000000..3e357de3e1b --- /dev/null +++ b/html/changelogs/Ferner-200913-coding_previewimprovement.yml @@ -0,0 +1,4 @@ +author: Ferner +delete-after: True +changes: + - rscadd: "Added buttons to hide your character's loadout and/or job clothing in the character preview." \ No newline at end of file