Merge pull request #7482 from Aurorablade/DreamFluff

Phantasmic Dream Fluff:Zekes Tendrils
This commit is contained in:
tigercat2000
2017-10-15 13:53:02 -07:00
committed by GitHub
22 changed files with 80 additions and 39 deletions
@@ -21,7 +21,7 @@
gender = new_gender
var/datum/sprite_accessory/hair/current_hair = hair_styles_list[H.h_style]
var/datum/sprite_accessory/hair/current_hair = hair_styles_full_list[H.h_style]
if(current_hair.gender != NEUTER && current_hair.gender != gender)
reset_head_hair()
@@ -35,9 +35,12 @@
update_body()
return 1
/mob/living/carbon/human/proc/change_hair(var/hair_style)
/mob/living/carbon/human/proc/change_hair(var/hair_style, var/fluff)
var/obj/item/organ/external/head/H = get_organ("head")
if(!hair_style || !H || H.h_style == hair_style || !(hair_style in hair_styles_list))
if(!hair_style || !H || H.h_style == hair_style)
return
if(!(fluff || (hair_style in hair_styles_public_list)))
return
H.h_style = hair_style
@@ -339,8 +342,8 @@
if(!H)
return //No head, no hair.
for(var/hairstyle in hair_styles_list)
var/datum/sprite_accessory/S = hair_styles_list[hairstyle]
for(var/hairstyle in hair_styles_public_list)
var/datum/sprite_accessory/S = hair_styles_public_list[hairstyle]
if(hairstyle == "Bald") //Just in case.
valid_hairstyles += hairstyle
@@ -140,3 +140,4 @@ var/global/list/body_accessory_by_species = list("None" = null)
icon_state = "vulptail6"
animated_icon_state = "vulptail6_a"
allowed_species = list("Vulpkanin")
@@ -1590,8 +1590,8 @@
else if(robohead.is_monitor) //Means that the character's head is a monitor (has a screen). Time to customize.
var/list/hair = list()
for(var/i in hair_styles_list)
var/datum/sprite_accessory/hair/tmp_hair = hair_styles_list[i]
for(var/i in hair_styles_public_list)
var/datum/sprite_accessory/hair/tmp_hair = hair_styles_public_list[i]
if((head_organ.species.name in tmp_hair.species_allowed) && (robohead.company in tmp_hair.models_allowed)) //Populate the list of available monitor styles only with styles that the monitor-head is allowed to use.
hair += i
@@ -442,7 +442,7 @@ var/global/list/damage_icon_parts = list()
//var/icon/debrained_s = new /icon("icon"='icons/mob/human_face.dmi', "icon_state" = "debrained_s")
if(head_organ.h_style && !(head && (head.flags & BLOCKHEADHAIR) && !(isSynthetic())))
var/datum/sprite_accessory/hair/hair_style = hair_styles_list[head_organ.h_style]
var/datum/sprite_accessory/hair/hair_style = hair_styles_full_list[head_organ.h_style]
//if(!src.get_int_organ(/obj/item/organ/internal/brain) && src.get_species() != "Machine" )//make it obvious we have NO BRAIN
// hair_standing.Blend(debrained_s, ICON_OVERLAY)
if(hair_style && hair_style.species_allowed)
@@ -759,7 +759,7 @@ var/global/list/damage_icon_parts = list()
else
new_glasses = image("icon" = 'icons/mob/eyes.dmi', "icon_state" = "[glasses.icon_state]")
var/datum/sprite_accessory/hair/hair_style = hair_styles_list[head_organ.h_style]
var/datum/sprite_accessory/hair/hair_style = hair_styles_full_list[head_organ.h_style]
if(hair_style && hair_style.glasses_over) //Select which layer to use based on the properties of the hair style. Hair styles with hair that don't overhang the arms of the glasses should have glasses_over set to a positive value.
overlays_standing[GLASSES_OVER_LAYER] = new_glasses
else
@@ -341,7 +341,7 @@
face_s.Blend(eyes_s, ICON_OVERLAY)
var/datum/sprite_accessory/hair_style = hair_styles_list[h_style]
var/datum/sprite_accessory/hair_style = hair_styles_full_list[h_style]
if(hair_style)
var/icon/hair_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_s")
if(current_species.name == "Slime People") // whee I am part of the problem
@@ -17,16 +17,21 @@
conversion in savefile.dm
*/
/proc/init_sprite_accessory_subtypes(var/prototype, var/list/L, var/list/male, var/list/female)
/proc/init_sprite_accessory_subtypes(var/prototype, var/list/L, var/list/male, var/list/female, var/list/full_list)
if(!istype(L)) L = list()
if(!istype(male)) male = list()
if(!istype(female)) female = list()
if(!istype(full_list)) full_list = list()
for(var/path in subtypesof(prototype))
var/datum/sprite_accessory/D = new path()
if(D.name)
L[D.name] = D
if(D.fluff)
full_list[D.name] = D
else
L[D.name] = D
full_list[D.name] = D
switch(D.gender)
if(MALE) male[D.name] = D
@@ -50,7 +55,7 @@
var/marking_location //Specifies which bodypart a body marking is located on.
var/secondary_theme = null //If exists, there's a secondary colour to that hair style and the secondary theme's icon state's suffix is equal to this.
var/no_sec_colour = null //If exists, prohibit the colouration of the secondary theme.
var/fluff = 0
// Whether or not the accessory can be affected by colouration
var/do_colouration = 1
@@ -65,7 +70,7 @@
/datum/sprite_accessory/hair
icon = 'icons/mob/human_face.dmi' // default icon for all hairs
var/glasses_over //Hair styles with hair that don't overhang the arms of glasses should have glasses_over set to a positive value.
var/glasses_over //Hair styles with hair that don't overhang the arms of glasses should have glasses_over set to a positive value
/datum/sprite_accessory/hair/bald
name = "Bald"
@@ -566,7 +571,7 @@
name = "Unathi Side Frills"
icon_state = "unathi_sidefrills"
secondary_theme = "webbing"
/datum/sprite_accessory/hair/unathi/una_cobra_hood
icon = 'icons/mob/human_face.dmi'
name = "Unathi Cobra Hood"
@@ -742,6 +747,8 @@
icon_state = "hair_fingerwave"
glasses_over = null
/datum/sprite_accessory/hair/vulpkanin
species_allowed = list("Vulpkanin")
@@ -927,6 +934,15 @@
icon_state = "nuc_neutron"
/datum/sprite_accessory/hair/fluff
fluff = 1
/datum/sprite_accessory/hair/fluff/zeke_fluff_tentacle //Zeke Fluff hair
name = "Zekes Tentacles"
icon_state = "zeke_fluff_hair"
species_allowed = list("Skrell")
/*
///////////////////////////////////
/ =---------------------------= /