Noir Doesn't Grey out HUD, Adds Remaining Glasses for Vox, 'Yi' to Vox-pidgin syllables & Framework for Icon-based Skin Tone, Fixes #3138, Greyscales Vox Hair (#4614)

* Ports #9294 and #9322 from VG: 'Yi' to Vox-pidgin and Framework for Icon-based Skin Tone (Feat. Vox) and Glasses/Goggles for Vox.

Both ported PRs by Intigracy.

Also adds all remaining in-use glasses/goggle sprites for Vox. I cleaned up the code a bit while I was in there. Otherwise, that's it.

Furthermore, randomizing skin tone doesn't seem to work for Vox despite their being specified in the conditional lists and s_tone being not null.

* Morph Support

* CMA Support

* Ports Intigracy's vgstation13/pull/9460, Noir Vision No Longer Greys Out HUD.

* Fixes Positioning of Vox Jensen Shades East+West facing Sprites.

Fixes Heist Goofery

Game-mode (not one-click antag) Heist tweaked and returned to working order now that I've found out how to test the actual game-mode (after temporarily adjusting the population requirement).

Vox Raiders won't spawn in with whatever socks were in their selected spawn-character's preferences anymore.

Additionally, the set_species proc now zeroes out skin tone if the species doesn't have skin tone to avoid goofing up the icons on initial generation.

Also condenses the code in preferences_setup character creation icon generation. Made it use the individual species' skin-tone handling procs instead of code snowflaked into preferences_setup.dm.

* No More Vox Tail Colours, but they can Colour Their Hair.

* Removes unneeded 'src's and retroactively prohibits colouring tails on species without HAS_SKIN_COLOR.

Colouration won't be applied to src's tail unless HAS_SKIN_COLOR is in
src's species bodyflags.

* Tidies up some Lists in CharPrefs and Retroactively Prohibits Vox Hair Colouration

* Reverts unnecessary commenting out of vox armalis post-spawn handling parent call.

* Adds Emerald and Azure Vox Skin Tones.

* Stealthy Wryn Typo Fixed.

* Greyscales Vox Head+Facial Hair and Adds More Default Colours in Species Definitions

* Gives Vox Raiders Default Hair Colour and Fixes Bug where Roundstart Raiders don't get Random Skin
This commit is contained in:
KasparoVy
2016-06-19 11:35:36 -04:00
committed by Fox McCloud
parent ea1196b1ce
commit 3dba1b2886
36 changed files with 323 additions and 140 deletions
+22 -4
View File
@@ -38,9 +38,27 @@
return 1
if(href_list["skin_tone"])
if(can_change_skin_tone())
var/new_s_tone = input(usr, "Choose your character's skin-tone:\n(Light 1 - 220 Dark)", "Skin Tone", owner.s_tone) as num|null
if(isnum(new_s_tone) && can_still_topic(state))
new_s_tone = 35 - max(min( round(new_s_tone), 220),1)
var/new_s_tone = null
if(owner.species.bodyflags & HAS_SKIN_TONE)
new_s_tone = input(usr, "Choose your character's skin tone:\n(Light 1 - 220 Dark)", "Skin Tone", owner.s_tone) as num|null
if(isnum(new_s_tone) && can_still_topic(state))
new_s_tone = 35 - max(min(round(new_s_tone), 220),1)
else if(owner.species.bodyflags & HAS_ICON_SKIN_TONE)
var/const/MAX_LINE_ENTRIES = 4
var/prompt = "Choose your character's skin tone: 1-[owner.species.icon_skin_tones.len]\n("
for(var/i = 1; i <= owner.species.icon_skin_tones.len; i++)
if(i > MAX_LINE_ENTRIES && !((i - 1) % MAX_LINE_ENTRIES))
prompt += "\n"
prompt += "[i] = [owner.species.icon_skin_tones[i]]"
if(i != owner.species.icon_skin_tones.len)
prompt += ", "
prompt += ")"
new_s_tone = input(usr, prompt, "Skin Tone", owner.s_tone) as num|null
if(isnum(new_s_tone) && can_still_topic(state))
new_s_tone = max(min(round(new_s_tone), owner.species.icon_skin_tones.len), 1)
if(new_s_tone)
return owner.change_skin_tone(new_s_tone)
if(href_list["skin_color"])
if(can_change_skin_color())
@@ -209,7 +227,7 @@
return owner && (flags & flag)
/datum/nano_module/appearance_changer/proc/can_change_skin_tone()
return owner && (flags & APPEARANCE_SKIN) && (owner.species.bodyflags & HAS_SKIN_TONE)
return owner && (flags & APPEARANCE_SKIN) && ((owner.species.bodyflags & HAS_SKIN_TONE) || (owner.species.bodyflags & HAS_ICON_SKIN_TONE))
/datum/nano_module/appearance_changer/proc/can_change_skin_color()
return owner && (flags & APPEARANCE_SKIN) && (owner.species.bodyflags & HAS_SKIN_COLOR)