Adds Some Markings and a Vulp F.Hair Style, Fixes Preferences Marking Randomization, Fixes Species-change thru CMA Bug, Fixes Vulp Kita F.Hair Style Colouring, Fixes Fatness and Deformation.

Previously, your markings would only randomize if you clicked the randomize button and were of a species that had body markings. Fixes that and tidies up the proc calls for marking randomization a bit.

Furthermore, a bug existed where if you changed a mob's species via CMA, the mob's cosmetic attributes (hair, hair colour, skin colour, skin tone, marking styles and colours, head accessory style and colour) will not have changed correctly. Delaying appearance update fixed that.

Finally, a mob's body will now correctly render as fat if they become fat and skinny if they become skinny and show deformities immediately.
Further explaining this fix: It required an override to be implemented in update_body that re-cached the mob's bodyparts in order to reflect changes to the limbs (i.e. fatness/slimness).
As for deformation, I just needed to modify the existing update_body() proc call.
This commit is contained in:
KasparoVy
2016-08-23 05:46:53 -04:00
parent 9bc614a28e
commit e0bad95adc
9 changed files with 69 additions and 37 deletions

View File

@@ -301,7 +301,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
dat += "<b>Head Markings:</b> "
dat += "<a href='?_src_=prefs;preference=m_style_head;task=input'>[m_styles["head"]]</a>"
dat += "<a href='?_src_=prefs;preference=m_head_colour;task=input'>Color</a> [color_square(color2R(m_colours["head"]), color2G(m_colours["head"]), color2B(m_colours["head"]))]<br>"
if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox")) //Species with body markings/tattoos.
if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox", "Drask")) //Species with body markings/tattoos.
dat += "<b>Body Markings:</b> "
dat += "<a href='?_src_=prefs;preference=m_style_body;task=input'>[m_styles["body"]]</a>"
dat += "<a href='?_src_=prefs;preference=m_body_colour;task=input'>Color</a> [color_square(color2R(m_colours["body"]), color2G(m_colours["body"]), color2B(m_colours["body"]))]<br>"
@@ -1228,19 +1228,19 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
b_headacc = 0
if(species in list("Machine", "Tajaran", "Unathi", "Vulpkanin")) //Species with head markings.
m_styles["head"] = random_marking_style("head", species, robohead, body_accessory, alt_head)
m_styles["head"] = random_marking_style("head", species, robohead, null, alt_head)
else
m_styles["head"] = "None"
m_colours["head"] = "#000000"
if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox")) //Species with body markings/tattoos.
m_styles["body"] = random_marking_style("body", species, robohead, body_accessory, alt_head)
if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox", "Drask")) //Species with body markings/tattoos.
m_styles["body"] = random_marking_style("body", species)
else
m_styles["body"] = "None"
m_colours["body"] = "#000000"
if(species in list("Vox", "Vulpkanin")) //Species with tail markings.
m_styles["tail"] = random_marking_style("tail", species, robohead, body_accessory, alt_head)
m_styles["tail"] = random_marking_style("tail", species, null, body_accessory)
else
m_styles["tail"] = "None"
m_colours["tail"] = "#000000"
@@ -1453,7 +1453,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
m_colours["head"] = new_markings
if("m_style_body")
if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox")) //Species with body markings/tattoos.
if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox", "Drask")) //Species with body markings/tattoos.
var/list/valid_markings = list()
valid_markings["None"] = marking_styles_list["None"]
for(var/markingstyle in marking_styles_list)
@@ -1470,7 +1470,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
m_styles["body"] = new_marking_style
if("m_body_colour")
if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox")) //Species with body markings/tattoos.
if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox", "Drask")) //Species with body markings/tattoos.
var/input = "Choose the colour of your your character's body markings:"
var/new_markings = input(user, input, "Character Preference", m_colours["body"]) as color|null
if(new_markings)