Added options to shapeshifter verbs for gradients (#7348)

This commit is contained in:
cadyn
2020-07-22 06:01:47 -04:00
committed by VirgoBot
parent ebcfd0cc35
commit dc5ddb7d01
2 changed files with 38 additions and 0 deletions
@@ -48,6 +48,21 @@
update_hair()
return 1
/mob/living/carbon/human/proc/change_hair_gradient(var/hair_gradient)
if(!hair_gradient)
return
if(grad_style == hair_gradient)
return
if(!(hair_gradient in GLOB.hair_gradients))
return
grad_style = hair_gradient
update_hair()
return 1
/mob/living/carbon/human/proc/change_facial_hair(var/facial_hair_style)
if(!facial_hair_style)
@@ -104,6 +119,17 @@
update_hair()
return 1
/mob/living/carbon/human/proc/change_grad_color(var/red, var/green, var/blue)
if(red == r_grad && green == g_grad && blue == b_grad)
return
r_grad = red
g_grad = green
b_grad = blue
update_hair()
return 1
/mob/living/carbon/human/proc/change_facial_hair_color(var/red, var/green, var/blue)
if(red == r_facial && green == g_facial && blue == b_facial)
@@ -88,6 +88,7 @@ var/list/wrapped_species_by_ref = list()
var/list/valid_hairstyles = list()
var/list/valid_facialhairstyles = list()
var/list/valid_gradstyles = GLOB.hair_gradients
for(var/hairstyle in hair_styles_list)
var/datum/sprite_accessory/S = hair_styles_list[hairstyle]
if(gender == MALE && S.gender == FEMALE)
@@ -112,6 +113,9 @@ var/list/wrapped_species_by_ref = list()
if(valid_hairstyles.len)
var/new_hair = input("Select a hairstyle.", "Shapeshifter Hair") as null|anything in valid_hairstyles
change_hair(new_hair ? new_hair : "Bald")
if(valid_gradstyles.len)
var/new_hair = input("Select a hair gradient style.", "Shapeshifter Hair") as null|anything in valid_gradstyles
change_hair_gradient(new_hair ? new_hair : "None")
if(valid_facialhairstyles.len)
var/new_hair = input("Select a facial hair style.", "Shapeshifter Hair") as null|anything in valid_facialhairstyles
change_facial_hair(new_hair ? new_hair : "Shaved")
@@ -216,6 +220,10 @@ var/list/wrapped_species_by_ref = list()
if(!new_hair)
return
shapeshifter_set_hair_color(new_hair)
var/new_grad = input("Please select a new hair gradient color.", "Hair Gradient Colour") as color
if(!new_grad)
return
shapeshifter_set_grad_color(new_grad)
var/new_fhair = input("Please select a new facial hair color.", "Facial Hair Color") as color
if(!new_fhair)
return
@@ -225,6 +233,10 @@ var/list/wrapped_species_by_ref = list()
change_hair_color(hex2num(copytext(new_hair, 2, 4)), hex2num(copytext(new_hair, 4, 6)), hex2num(copytext(new_hair, 6, 8)))
/mob/living/carbon/human/proc/shapeshifter_set_grad_color(var/new_grad)
change_grad_color(hex2num(copytext(new_grad, 2, 4)), hex2num(copytext(new_grad, 4, 6)), hex2num(copytext(new_grad, 6, 8)))
/mob/living/carbon/human/proc/shapeshifter_set_facial_color(var/new_fhair)
change_facial_hair_color(hex2num(copytext(new_fhair, 2, 4)), hex2num(copytext(new_fhair, 4, 6)), hex2num(copytext(new_fhair, 6, 8)))