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
@@ -321,7 +321,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
dat += "<b>Hair:</b> "
dat += "<a href='?_src_=prefs;preference=h_style;task=input'>[h_style]</a>"
dat += "<a href='?_src_=prefs;preference=hair;task=input'>Color</a> [color_square(h_colour)]"
var/datum/sprite_accessory/temp_hair_style = hair_styles_list[h_style]
var/datum/sprite_accessory/temp_hair_style = hair_styles_public_list[h_style]
if(temp_hair_style && temp_hair_style.secondary_theme && !temp_hair_style.no_sec_colour)
dat += " <a href='?_src_=prefs;preference=secondary_hair;task=input'>Color #2</a> [color_square(h_sec_colour)]"
dat += "<br>"
@@ -1397,7 +1397,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
if("secondary_hair")
if(species in list("Human", "Unathi", "Tajaran", "Skrell", "Machine", "Vulpkanin", "Vox"))
var/datum/sprite_accessory/hair_style = hair_styles_list[h_style]
var/datum/sprite_accessory/hair_style = hair_styles_public_list[h_style]
if(hair_style.secondary_theme && !hair_style.no_sec_colour)
var/new_hair = input(user, "Choose your character's secondary hair colour:", "Character Preference", h_sec_colour) as color|null
if(new_hair)
@@ -1405,8 +1405,8 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
if("h_style")
var/list/valid_hairstyles = list()
for(var/hairstyle in hair_styles_list)
var/datum/sprite_accessory/SA = hair_styles_list[hairstyle]
for(var/hairstyle in hair_styles_public_list)
var/datum/sprite_accessory/SA = hair_styles_public_list[hairstyle]
if(hairstyle == "Bald") //Just in case.
valid_hairstyles += hairstyle
@@ -1798,7 +1798,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
if("Normal")
if(limb == "head")
m_styles["head"] = "None"
h_style = hair_styles_list["Bald"]
h_style = hair_styles_public_list["Bald"]
f_style = facial_hair_styles_list["Shaved"]
organ_data[limb] = null
rlimb_data[limb] = null
@@ -1849,7 +1849,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
if(limb == "head")
ha_style = "None"
alt_head = null
h_style = hair_styles_list["Bald"]
h_style = hair_styles_public_list["Bald"]
f_style = facial_hair_styles_list["Shaved"]
m_styles["head"] = "None"
rlimb_data[limb] = choice
@@ -263,7 +263,7 @@
for(var/marking_location in m_colours)
m_colours[marking_location] = sanitize_hexcolor(m_colours[marking_location], DEFAULT_MARKING_COLOURS[marking_location])
hacc_colour = sanitize_hexcolor(hacc_colour)
h_style = sanitize_inlist(h_style, hair_styles_list, initial(h_style))
h_style = sanitize_inlist(h_style, hair_styles_public_list, initial(h_style))
f_style = sanitize_inlist(f_style, facial_hair_styles_list, initial(f_style))
for(var/marking_location in m_styles)
m_styles[marking_location] = sanitize_inlist(m_styles[marking_location], marking_styles_list, DEFAULT_MARKING_STYLES[marking_location])
+21 -1
View File
@@ -1195,6 +1195,26 @@
return 1
..()
/obj/item/fluff/zekemirror //phantasmicdream : Zeke Varloss
name = "engraved hand mirror"
desc = "A very classy hand mirror, with fancy detailing."
icon = 'icons/obj/custom_items.dmi'
icon_state = "hand_mirror"
attack_verb = list("smacked")
hitsound = 'sound/weapons/tap.ogg'
force = 0
throwforce = 0
w_class = WEIGHT_CLASS_SMALL
/obj/item/fluff/zekemirror/attack_self(mob/user)
var/mob/living/carbon/human/target = user
if(!istype(target) || target.get_species() != "Skrell") // It'd be strange to see other races with head tendrils.
return
if(target.change_hair("Zekes Tentacles", 1))
to_chat(target, "<span class='notice'>You take time to admire yourself in [src], brushing your tendrils down and revealing their true length.</span>")
/obj/item/clothing/accessory/necklace/locket/fluff/fethasnecklace //Fethas: Sefra'neem
name = "Orange gemmed locket"
desc = "A locket with a orange gem set on the front, the picture inside seems to be of a Tajaran."
@@ -1212,4 +1232,4 @@
righthand_file = 'icons/mob/inhands/fluff_righthand.dmi'
icon_state = "sheetcosmos"
item_state = "sheetcosmos"
item_color = "sheetcosmos"
item_color = "sheetcosmos"
@@ -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")
/*
///////////////////////////////////
/ =---------------------------= /
@@ -332,7 +332,7 @@
if(ishuman(M))
var/mob/living/carbon/human/H = M
var/obj/item/organ/external/head/head_organ = H.get_organ("head")
var/datum/sprite_accessory/tmp_hair_style = hair_styles_list["Very Long Hair"]
var/datum/sprite_accessory/tmp_hair_style = hair_styles_full_list["Very Long Hair"]
var/datum/sprite_accessory/tmp_facial_hair_style = facial_hair_styles_list["Very Long Beard"]
if(head_organ.species.name in tmp_hair_style.species_allowed) //If 'Very Long Hair' is a style the person's species can have, give it to them.
+1 -1
View File
@@ -148,7 +148,7 @@ var/global/list/limb_icon_cache = list()
overlays |= facial_s
if(h_style && !(owner.head && (owner.head.flags & BLOCKHEADHAIR)))
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 && ((species.name in hair_style.species_allowed) || (src.species.bodyflags & ALL_RPARTS)))
var/icon/hair_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_s")
if(species.name == "Slime People") // I am el worstos