Big Mob Preview Fixes (#17308)

* Big Mob Preview Fixes

* more cl
This commit is contained in:
Geeves
2023-09-11 12:21:56 +02:00
committed by GitHub
parent 9ee66369b5
commit a5dac3bc0a
5 changed files with 71 additions and 13 deletions
@@ -282,6 +282,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
out += "</td><td><b>Preview</b>"
out += "<br><a href='?src=\ref[src];cycle_bg=1'>Cycle background</a>"
out += "<br><a href='?src=\ref[src];set_preview_scale=1'>Set Preview Scale - [pref.scale_x] - [pref.scale_y]</a>"
out += "<br><a href='?src=\ref[src];toggle_preview_value=[EQUIP_PREVIEW_LOADOUT]'>[pref.equip_preview_mob & EQUIP_PREVIEW_LOADOUT ? "Hide loadout" : "Show loadout"]</a>"
out += "<br><a href='?src=\ref[src];toggle_preview_value=[EQUIP_PREVIEW_JOB]'>[pref.equip_preview_mob & EQUIP_PREVIEW_JOB ? "Hide job gear" : "Show job gear"]</a>"
out += "</td></tr></table>"
@@ -419,6 +420,24 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
//this shouldn't happen
pref.f_style = facial_hair_styles_list["Shaved"]
var/list/valid_hair_gradients = list()
for(var/hair_gradient in hair_gradient_styles_list)
var/datum/sprite_accessory/S = hair_gradient_styles_list[hair_gradient]
if(pref.gender == MALE && S.gender == FEMALE)
continue
if(pref.gender == FEMALE && S.gender == MALE)
continue
if(!(mob_species.type in S.species_allowed))
continue
valid_hair_gradients[hair_gradient] = valid_hair_gradients[hair_gradient]
if(length(valid_hair_gradients))
pref.g_style = pick(valid_hair_gradients)
else
//this shouldn't happen
pref.g_style = valid_hair_gradients["None"]
//reset hair colour and skin colour
pref.r_hair = 0//hex2num(copytext(new_hair, 2, 4))
pref.g_hair = 0//hex2num(copytext(new_hair, 4, 6))
@@ -809,6 +828,13 @@ 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["set_preview_scale"])
var/new_x = input(user, "Set X Scale for Preview", "Preview Preference") as null|num
pref.scale_x = new_x ? clamp(new_x, 0.1, 2) : 1
var/new_y = input(user, "Set Y Scale for Preview", "Preview Preference") as null|num
pref.scale_y = new_y ? clamp(new_y, 0.1, 2) : 1
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