mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-15 04:32:42 +00:00
Merge pull request #1905 from Verkister/blehh
It's the char setup update. (Wouldn't let me reopen the original PR after some explosive shenanigans)
This commit is contained in:
@@ -7,10 +7,16 @@
|
||||
// Define a place to save appearance in character setup
|
||||
/datum/preferences
|
||||
var/ear_style // Type of selected ear style
|
||||
var/red_ear = 30 // Ear color. Goddarn dupe var names.
|
||||
var/g_ear = 30 // Ear color
|
||||
var/b_ear = 30 // Ear color
|
||||
var/tail_style // Type of selected tail style
|
||||
var/r_tail = 30 // Tail/Taur color
|
||||
var/g_tail = 30 // Tail/Taur color
|
||||
var/b_tail = 30 // Tail/Taur color
|
||||
var/r_tail2 = 30 // For extra overlay.
|
||||
var/g_tail2 = 30 // For extra overlay.
|
||||
var/b_tail2 = 30 // For extra overlay.
|
||||
var/dress_mob = TRUE
|
||||
|
||||
// Definition of the stuff for Ears
|
||||
@@ -20,22 +26,40 @@
|
||||
|
||||
/datum/category_item/player_setup_item/vore/ears/load_character(var/savefile/S)
|
||||
S["ear_style"] >> pref.ear_style
|
||||
S["red_ear"] >> pref.red_ear
|
||||
S["g_ear"] >> pref.g_ear
|
||||
S["b_ear"] >> pref.b_ear
|
||||
S["tail_style"] >> pref.tail_style
|
||||
S["r_tail"] >> pref.r_tail
|
||||
S["g_tail"] >> pref.g_tail
|
||||
S["b_tail"] >> pref.b_tail
|
||||
S["r_tail2"] >> pref.r_tail2
|
||||
S["g_tail2"] >> pref.g_tail2
|
||||
S["b_tail2"] >> pref.b_tail2
|
||||
|
||||
/datum/category_item/player_setup_item/vore/ears/save_character(var/savefile/S)
|
||||
S["ear_style"] << pref.ear_style
|
||||
S["red_ear"] << pref.red_ear
|
||||
S["g_ear"] << pref.g_ear
|
||||
S["b_ear"] << pref.b_ear
|
||||
S["tail_style"] << pref.tail_style
|
||||
S["r_tail"] << pref.r_tail
|
||||
S["g_tail"] << pref.g_tail
|
||||
S["b_tail"] << pref.b_tail
|
||||
S["r_tail2"] << pref.r_tail2
|
||||
S["g_tail2"] << pref.g_tail2
|
||||
S["b_tail2"] << pref.b_tail2
|
||||
|
||||
/datum/category_item/player_setup_item/vore/ears/sanitize_character()
|
||||
pref.red_ear = sanitize_integer(pref.red_ear, 0, 255, initial(pref.red_ear))
|
||||
pref.g_ear = sanitize_integer(pref.g_ear, 0, 255, initial(pref.g_ear))
|
||||
pref.b_ear = sanitize_integer(pref.b_ear, 0, 255, initial(pref.b_ear))
|
||||
pref.r_tail = sanitize_integer(pref.r_tail, 0, 255, initial(pref.r_tail))
|
||||
pref.g_tail = sanitize_integer(pref.g_tail, 0, 255, initial(pref.g_tail))
|
||||
pref.b_tail = sanitize_integer(pref.b_tail, 0, 255, initial(pref.b_tail))
|
||||
pref.r_tail2 = sanitize_integer(pref.r_tail2, 0, 255, initial(pref.r_tail2))
|
||||
pref.g_tail2 = sanitize_integer(pref.g_tail2, 0, 255, initial(pref.g_tail2))
|
||||
pref.b_tail2 = sanitize_integer(pref.b_tail2, 0, 255, initial(pref.b_tail2))
|
||||
if(pref.ear_style)
|
||||
pref.ear_style = sanitize_inlist(pref.ear_style, ear_styles_list, initial(pref.ear_style))
|
||||
if(pref.tail_style)
|
||||
@@ -43,10 +67,16 @@
|
||||
|
||||
/datum/category_item/player_setup_item/vore/ears/copy_to_mob(var/mob/living/carbon/human/character)
|
||||
character.ear_style = ear_styles_list[pref.ear_style]
|
||||
character.red_ear = pref.red_ear
|
||||
character.b_ear = pref.b_ear
|
||||
character.g_ear = pref.g_ear
|
||||
character.tail_style = tail_styles_list[pref.tail_style]
|
||||
character.r_tail = pref.r_tail
|
||||
character.b_tail = pref.b_tail
|
||||
character.g_tail = pref.g_tail
|
||||
character.r_tail2 = pref.r_tail2
|
||||
character.b_tail2 = pref.b_tail2
|
||||
character.g_tail2 = pref.g_tail2
|
||||
|
||||
/datum/category_item/player_setup_item/vore/ears/content(var/mob/user)
|
||||
. += "<h2>VORE Station Settings</h2>"
|
||||
@@ -63,10 +93,15 @@
|
||||
if(pref.ear_style && (pref.ear_style in ear_styles_list))
|
||||
var/datum/sprite_accessory/ears/instance = ear_styles_list[pref.ear_style]
|
||||
ear_display = instance.name
|
||||
|
||||
else if(pref.ear_style)
|
||||
ear_display = "REQUIRES UPDATE"
|
||||
. += "<b>Ears</b><br>"
|
||||
. += " Style: <a href='?src=\ref[src];ear_style=1'>[ear_display]</a><br>"
|
||||
if(ear_styles_list[pref.ear_style])
|
||||
var/datum/sprite_accessory/ears/ear = ear_styles_list[pref.ear_style]
|
||||
if (ear.do_colouration)
|
||||
. += "<a href='?src=\ref[src];ear_color=1'>Change Color</a> <font face='fixedsys' size='3' color='#[num2hex(pref.red_ear, 2)][num2hex(pref.g_ear, 2)][num2hex(pref.b_ear, 2)]'><table style='display:inline;' bgcolor='#[num2hex(pref.red_ear, 2)][num2hex(pref.g_ear, 2)][num2hex(pref.b_ear)]'><tr><td>__</td></tr></table> </font><br>"
|
||||
|
||||
var/tail_display = "Normal"
|
||||
if(pref.tail_style && (pref.tail_style in tail_styles_list))
|
||||
@@ -81,6 +116,8 @@
|
||||
var/datum/sprite_accessory/tail/T = tail_styles_list[pref.tail_style]
|
||||
if (T.do_colouration)
|
||||
. += "<a href='?src=\ref[src];tail_color=1'>Change Color</a> <font face='fixedsys' size='3' color='#[num2hex(pref.r_tail, 2)][num2hex(pref.g_tail, 2)][num2hex(pref.b_tail, 2)]'><table style='display:inline;' bgcolor='#[num2hex(pref.r_tail, 2)][num2hex(pref.g_tail, 2)][num2hex(pref.b_tail)]'><tr><td>__</td></tr></table> </font><br>"
|
||||
if (T.extra_overlay)
|
||||
. += "<a href='?src=\ref[src];tail_color2=1'>Change Secondary Color</a> <font face='fixedsys' size='3' color='#[num2hex(pref.r_tail2, 2)][num2hex(pref.g_tail2, 2)][num2hex(pref.b_tail2, 2)]'><table style='display:inline;' bgcolor='#[num2hex(pref.r_tail2, 2)][num2hex(pref.g_tail2, 2)][num2hex(pref.b_tail2)]'><tr><td>__</td></tr></table> </font><br>"
|
||||
|
||||
/datum/category_item/player_setup_item/vore/ears/OnTopic(var/href,var/list/href_list, var/mob/user)
|
||||
if(!CanUseTopic(user))
|
||||
@@ -100,6 +137,15 @@
|
||||
|
||||
return TOPIC_REFRESH_UPDATE_PREVIEW
|
||||
|
||||
else if(href_list["ear_color"])
|
||||
var/new_earc = input(user, "Choose your character's ear colour:", "Character Preference",
|
||||
rgb(pref.red_ear, pref.g_ear, pref.b_ear)) as color|null
|
||||
if(new_earc)
|
||||
pref.red_ear = hex2num(copytext(new_earc, 2, 4))
|
||||
pref.g_ear = hex2num(copytext(new_earc, 4, 6))
|
||||
pref.b_ear = hex2num(copytext(new_earc, 6, 8))
|
||||
return TOPIC_REFRESH_UPDATE_PREVIEW
|
||||
|
||||
else if(href_list["tail_style"])
|
||||
// Construct the list of names allowed for this user.
|
||||
var/list/pretty_tail_styles = list("Normal" = null)
|
||||
@@ -123,6 +169,15 @@
|
||||
pref.b_tail = hex2num(copytext(new_tailc, 6, 8))
|
||||
return TOPIC_REFRESH_UPDATE_PREVIEW
|
||||
|
||||
else if(href_list["tail_color2"])
|
||||
var/new_tailc2 = input(user, "Choose your character's secondary tail/taur colour:", "Character Preference",
|
||||
rgb(pref.r_tail2, pref.g_tail2, pref.b_tail2)) as color|null
|
||||
if(new_tailc2)
|
||||
pref.r_tail2 = hex2num(copytext(new_tailc2, 2, 4))
|
||||
pref.g_tail2 = hex2num(copytext(new_tailc2, 4, 6))
|
||||
pref.b_tail2 = hex2num(copytext(new_tailc2, 6, 8))
|
||||
return TOPIC_REFRESH_UPDATE_PREVIEW
|
||||
|
||||
else if(href_list["toggle_clothing"])
|
||||
pref.dress_mob = !pref.dress_mob
|
||||
return TOPIC_REFRESH_UPDATE_PREVIEW
|
||||
|
||||
@@ -1 +1,23 @@
|
||||
//File isn't currently being used.
|
||||
//File isn't currently being used.
|
||||
//It is now.
|
||||
/datum/preferences/update_preview_icon() // Lines up and un-overlaps character edit previews. Also un-splits taurs.
|
||||
var/mob/living/carbon/human/dummy/mannequin/mannequin = get_mannequin(client_ckey)
|
||||
mannequin.delete_inventory(TRUE)
|
||||
dress_preview_mob(mannequin)
|
||||
|
||||
preview_icon = icon('icons/effects/effects.dmi', "nothing")
|
||||
preview_icon.Scale(64+64, 16+32)
|
||||
|
||||
mannequin.dir = NORTH
|
||||
var/icon/stamp = getFlatIcon(mannequin)
|
||||
preview_icon.Blend(stamp, ICON_OVERLAY, 49, 9)
|
||||
|
||||
mannequin.dir = WEST
|
||||
stamp = getFlatIcon(mannequin)
|
||||
preview_icon.Blend(stamp, ICON_OVERLAY, 1, 9)
|
||||
|
||||
mannequin.dir = SOUTH
|
||||
stamp = getFlatIcon(mannequin)
|
||||
preview_icon.Blend(stamp, ICON_OVERLAY, 83, 9)
|
||||
|
||||
preview_icon.Scale(preview_icon.Width() * 2, preview_icon.Height() * 2) // Scaling here to prevent blurring in the browser.
|
||||
@@ -44,6 +44,20 @@
|
||||
"Your overheated skin itches."
|
||||
)
|
||||
|
||||
has_limbs = list(
|
||||
BP_TORSO = list("path" = /obj/item/organ/external/chest),
|
||||
BP_GROIN = list("path" = /obj/item/organ/external/groin),
|
||||
BP_HEAD = list("path" = /obj/item/organ/external/head/vr/sergal),
|
||||
BP_L_ARM = list("path" = /obj/item/organ/external/arm),
|
||||
BP_R_ARM = list("path" = /obj/item/organ/external/arm/right),
|
||||
BP_L_LEG = list("path" = /obj/item/organ/external/leg),
|
||||
BP_R_LEG = list("path" = /obj/item/organ/external/leg/right),
|
||||
BP_L_HAND = list("path" = /obj/item/organ/external/hand),
|
||||
BP_R_HAND = list("path" = /obj/item/organ/external/hand/right),
|
||||
BP_L_FOOT = list("path" = /obj/item/organ/external/foot),
|
||||
BP_R_FOOT = list("path" = /obj/item/organ/external/foot/right)
|
||||
)
|
||||
|
||||
/datum/species/akula
|
||||
name = "Akula"
|
||||
name_plural = "Akula"
|
||||
@@ -133,7 +147,7 @@
|
||||
/datum/species/hi_zoxxen
|
||||
name = "Highlander Zorren"
|
||||
name_plural = "Zorren"
|
||||
icobase = 'icons/mob/human_races/r_fox.dmi'
|
||||
icobase = 'icons/mob/human_races/r_fox_vr.dmi'
|
||||
deform = 'icons/mob/human_races/r_def_fox.dmi'
|
||||
tail = "tail"
|
||||
icobase_tail = 1
|
||||
@@ -170,7 +184,7 @@
|
||||
/datum/species/fl_zorren
|
||||
name = "Flatland Zorren"
|
||||
name_plural = "Zorren"
|
||||
icobase = 'icons/mob/human_races/r_fennec.dmi'
|
||||
icobase = 'icons/mob/human_races/r_fennec_vr.dmi'
|
||||
deform = 'icons/mob/human_races/r_def_fennec.dmi'
|
||||
tail = "tail"
|
||||
icobase_tail = 1
|
||||
|
||||
@@ -43,6 +43,11 @@
|
||||
gender = MALE
|
||||
species_allowed = list("Human","Skrell","Unathi","Tajara", "Teshari", "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Xenochimera", "Xenomorph Hybrid") //Lets all the races be bald if they want.
|
||||
|
||||
ponytail6_fixed //Eggnerd's done with waiting for upstream fixes lmao.
|
||||
name = "Ponytail 6 but fixed"
|
||||
icon = 'icons/mob/human_face_vr.dmi'
|
||||
icon_state = "hair_ponytail6"
|
||||
species_allowed = list("Human","Skrell","Unathi","Tajara", "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Xenochimera", "Xenomorph Hybrid")
|
||||
|
||||
una_hood
|
||||
name = "Cobra Hood"
|
||||
@@ -469,3 +474,122 @@
|
||||
name = "Tusks"
|
||||
icon_state = "tusks"
|
||||
body_parts = list(BP_HEAD)
|
||||
|
||||
otie_face
|
||||
name = "Otie face"
|
||||
icon_state = "otieface"
|
||||
body_parts = list(BP_HEAD)
|
||||
|
||||
otie_nose
|
||||
name = "Otie nose"
|
||||
icon_state = "otie_nose"
|
||||
body_parts = list(BP_HEAD)
|
||||
|
||||
backstripes
|
||||
name = "Back stripes"
|
||||
icon_state = "otiestripes"
|
||||
body_parts = list(BP_TORSO,BP_HEAD)
|
||||
|
||||
belly_butt
|
||||
name = "Belly and butt"
|
||||
icon_state = "bellyandbutt"
|
||||
body_parts = list(BP_GROIN,BP_TORSO)
|
||||
|
||||
fingers_toes
|
||||
name = "Fingers and toes"
|
||||
icon_state = "fingerstoes"
|
||||
body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_HAND,BP_R_HAND)
|
||||
|
||||
otie_socks
|
||||
name = "Fingerless socks"
|
||||
icon_state = "otiesocks"
|
||||
body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND)
|
||||
|
||||
corvid_beak
|
||||
name = "Corvid beak"
|
||||
icon_state = "corvidbeak"
|
||||
body_parts = list(BP_HEAD)
|
||||
|
||||
corvid_belly
|
||||
name = "Corvid belly"
|
||||
icon_state = "corvidbelly"
|
||||
body_parts = list(BP_GROIN,BP_TORSO,BP_HEAD)
|
||||
|
||||
cow_body
|
||||
name = "Cow markings"
|
||||
icon_state = "cowbody"
|
||||
body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_GROIN,BP_TORSO,BP_HEAD)
|
||||
|
||||
cow_nose
|
||||
name = "Cow nose"
|
||||
icon_state = "cownose"
|
||||
body_parts = list(BP_HEAD)
|
||||
|
||||
zmask
|
||||
name = "Eye mask"
|
||||
icon_state = "zmask"
|
||||
body_parts = list(BP_HEAD)
|
||||
|
||||
zbody
|
||||
name = "Thick jagged stripes"
|
||||
icon_state = "zbody"
|
||||
body_parts = list(BP_L_LEG,BP_R_LEG,BP_GROIN,BP_TORSO)
|
||||
|
||||
znose
|
||||
name = "Jagged snout"
|
||||
icon_state = "znose"
|
||||
body_parts = list(BP_HEAD)
|
||||
|
||||
zorren_belly_male
|
||||
name = "Zorren Male Torso"
|
||||
icon_state = "zorren_belly"
|
||||
body_parts = list(BP_TORSO,BP_GROIN)
|
||||
|
||||
zorren_belly_female
|
||||
name = "Zorren Female Torso"
|
||||
icon_state = "zorren_belly_female"
|
||||
body_parts = list(BP_TORSO,BP_GROIN)
|
||||
|
||||
zorren_back_patch
|
||||
name = "Zorren Back Patch"
|
||||
icon_state = "zorren_backpatch"
|
||||
body_parts = list(BP_TORSO)
|
||||
|
||||
zorren_face_male
|
||||
name = "Zorren Male Face"
|
||||
icon_state = "zorren_face"
|
||||
body_parts = list(BP_HEAD)
|
||||
gender = MALE
|
||||
|
||||
zorren_face_female
|
||||
name = "Zorren Female Face"
|
||||
icon_state = "zorren_face_female"
|
||||
body_parts = list(BP_HEAD)
|
||||
gender = FEMALE
|
||||
|
||||
zorren_muzzle_male
|
||||
name = "Zorren Male Muzzle"
|
||||
icon_state = "zorren_muzzle"
|
||||
body_parts = list(BP_HEAD)
|
||||
gender = MALE
|
||||
|
||||
zorren_muzzle_female
|
||||
name = "Zorren Female Muzzle"
|
||||
icon_state = "zorren_muzzle_female"
|
||||
body_parts = list(BP_HEAD)
|
||||
gender = FEMALE
|
||||
|
||||
zorren_socks
|
||||
name = "Zorren Socks"
|
||||
icon_state = "zorren_socks"
|
||||
body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND)
|
||||
|
||||
zorren_longsocks
|
||||
name = "Zorren Longsocks"
|
||||
icon_state = "zorren_longsocks"
|
||||
body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND)
|
||||
|
||||
tesh_feathers
|
||||
name = "Teshari Feathers"
|
||||
icon_state = "tesh-feathers"
|
||||
body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_HAND,BP_R_HAND)
|
||||
58
code/modules/organs/subtypes/standard_vr.dm
Normal file
58
code/modules/organs/subtypes/standard_vr.dm
Normal file
@@ -0,0 +1,58 @@
|
||||
//For custom heads with custom parts since the base code is restricted to a single icon file.
|
||||
|
||||
/obj/item/organ/external/head/vr/get_icon()
|
||||
|
||||
..()
|
||||
overlays.Cut()
|
||||
if(!owner || !owner.species)
|
||||
return
|
||||
|
||||
for(var/M in markings)
|
||||
var/datum/sprite_accessory/marking/mark_style = markings[M]["datum"]
|
||||
var/icon/mark_s = new/icon("icon" = mark_style.icon, "icon_state" = "[mark_style.icon_state]-[organ_tag]")
|
||||
mark_s.Blend(markings[M]["color"], ICON_ADD)
|
||||
overlays |= mark_s //So when it's not on your body, it has icons
|
||||
mob_icon.Blend(mark_s, ICON_OVERLAY) //So when it's on your body, it has icons
|
||||
icon_cache_key += "[M][markings[M]["color"]]"
|
||||
|
||||
if(owner.should_have_organ(O_EYES))//Moved on top of markings.
|
||||
var/obj/item/organ/internal/eyes/eyes = owner.internal_organs_by_name[O_EYES]
|
||||
if(eye_icon)
|
||||
var/icon/eyes_icon = new/icon(eye_icons_vr, eye_icon_vr)
|
||||
if(eyes)
|
||||
eyes_icon.Blend(rgb(eyes.eye_colour[1], eyes.eye_colour[2], eyes.eye_colour[3]), ICON_ADD)
|
||||
else
|
||||
eyes_icon.Blend(rgb(128,0,0), ICON_ADD)
|
||||
mob_icon.Blend(eyes_icon, ICON_OVERLAY)
|
||||
overlays |= eyes_icon
|
||||
|
||||
if(owner.lip_style && (species && (species.appearance_flags & HAS_LIPS)))
|
||||
var/icon/lip_icon = new/icon('icons/mob/human_face.dmi', "lips_[owner.lip_style]_s")
|
||||
overlays |= lip_icon
|
||||
mob_icon.Blend(lip_icon, ICON_OVERLAY)
|
||||
|
||||
if(owner.f_style)
|
||||
var/datum/sprite_accessory/facial_hair_style = facial_hair_styles_list[owner.f_style]
|
||||
if(facial_hair_style && facial_hair_style.species_allowed && (species.get_bodytype(owner) in facial_hair_style.species_allowed))
|
||||
var/icon/facial_s = new/icon("icon" = facial_hair_style.icon, "icon_state" = "[facial_hair_style.icon_state]_s")
|
||||
if(facial_hair_style.do_colouration)
|
||||
facial_s.Blend(rgb(owner.r_facial, owner.g_facial, owner.b_facial), ICON_ADD)
|
||||
overlays |= facial_s
|
||||
|
||||
if(owner.h_style && !(owner.head && (owner.head.flags_inv & BLOCKHEADHAIR)))
|
||||
var/datum/sprite_accessory/hair_style = hair_styles_list[owner.h_style]
|
||||
if(hair_style && (species.get_bodytype(owner) in hair_style.species_allowed))
|
||||
var/icon/hair_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_s")
|
||||
if(hair_style.do_colouration && islist(h_col) && h_col.len >= 3)
|
||||
hair_s.Blend(rgb(h_col[1], h_col[2], h_col[3]), ICON_ADD)
|
||||
overlays |= hair_s
|
||||
|
||||
return mob_icon
|
||||
|
||||
/obj/item/organ/external/head/vr
|
||||
var/eye_icons_vr = 'icons/mob/human_face_vr.dmi'
|
||||
var/eye_icon_vr = "blank_eyes"
|
||||
eye_icon = "blank_eyes"
|
||||
|
||||
/obj/item/organ/external/head/vr/sergal
|
||||
eye_icon_vr = "eyes_sergal"
|
||||
@@ -11,10 +11,16 @@
|
||||
|
||||
// Horray Furries!
|
||||
var/datum/sprite_accessory/ears/ear_style = null
|
||||
var/red_ear = 30
|
||||
var/g_ear = 30
|
||||
var/b_ear = 30
|
||||
var/datum/sprite_accessory/tail/tail_style = null
|
||||
var/r_tail = 30
|
||||
var/g_tail = 30
|
||||
var/b_tail = 30
|
||||
var/r_tail2 = 30
|
||||
var/g_tail2 = 30
|
||||
var/b_tail2 = 30
|
||||
|
||||
// Custom Species Name
|
||||
var/custom_species
|
||||
|
||||
@@ -176,6 +176,35 @@
|
||||
desc = ""
|
||||
icon_state = "antlers"
|
||||
|
||||
/datum/sprite_accessory/ears/otie
|
||||
name = "otie, colorable"
|
||||
desc = ""
|
||||
icon_state = "otie"
|
||||
do_colouration = 1
|
||||
|
||||
/datum/sprite_accessory/ears/cow
|
||||
name = "cow, horns"
|
||||
desc = ""
|
||||
icon_state = "cow"
|
||||
|
||||
/datum/sprite_accessory/ears/cowc
|
||||
name = "cow, horns, colorable"
|
||||
desc = ""
|
||||
icon_state = "cow-c"
|
||||
do_colouration = 1
|
||||
|
||||
/datum/sprite_accessory/ears/zears
|
||||
name = "jagged ears"
|
||||
desc = ""
|
||||
icon_state = "zears"
|
||||
do_colouration = 1
|
||||
|
||||
/datum/sprite_accessory/ears/elfs
|
||||
name = "elven ears"
|
||||
desc = ""
|
||||
icon_state = "elfs"
|
||||
do_colouration = 1
|
||||
|
||||
// Special snowflake ears go below here.
|
||||
|
||||
/datum/sprite_accessory/ears/molenar_kitsune
|
||||
@@ -261,7 +290,8 @@
|
||||
var/show_species_tail = 0 // If false, do not render species' tail.
|
||||
var/clothing_can_hide = 1 // If true, clothing with HIDETAIL hides it
|
||||
var/desc = "You should not see this..."
|
||||
var/ani_state //State when wagging/animated
|
||||
var/ani_state // State when wagging/animated
|
||||
var/extra_overlay_w // Wagging state for extra overlay
|
||||
|
||||
/datum/sprite_accessory/tail/invisible
|
||||
name = "hide species-sprite tail"
|
||||
@@ -315,6 +345,7 @@
|
||||
desc = ""
|
||||
icon_state = "stripeytail"
|
||||
do_colouration = 1
|
||||
extra_overlay = "stripeytail_mark"
|
||||
|
||||
/datum/sprite_accessory/tail/stripeytail_brown
|
||||
name = "stripey taj, brown"
|
||||
@@ -636,6 +667,7 @@
|
||||
desc = ""
|
||||
icon_state = "ringtail"
|
||||
do_colouration = 1
|
||||
extra_overlay = "ringtail_mark"
|
||||
|
||||
/datum/sprite_accessory/tail/holly
|
||||
name = "tigress tail (Holly)"
|
||||
@@ -656,6 +688,8 @@
|
||||
icon_state = "curltail"
|
||||
ani_state = "curltail_w"
|
||||
do_colouration = 1
|
||||
extra_overlay = "curltail_mark"
|
||||
extra_overlay_w = "curltail_mark_w"
|
||||
|
||||
/datum/sprite_accessory/tail/shorttail
|
||||
name = "shorttail (vwag)"
|
||||
@@ -670,6 +704,8 @@
|
||||
icon_state = "tigertail"
|
||||
ani_state = "tigertail_w"
|
||||
do_colouration = 1
|
||||
extra_overlay = "tigertail_mark"
|
||||
extra_overlay_w = "tigertail_mark_w"
|
||||
|
||||
/datum/sprite_accessory/tail/vulp_new
|
||||
name = "new vulp tail (vwag)"
|
||||
@@ -677,6 +713,21 @@
|
||||
icon_state = "vulptail"
|
||||
ani_state = "vulptail_w"
|
||||
do_colouration = 1
|
||||
extra_overlay = "vulptail_mark"
|
||||
extra_overlay_w = "vulptail_mark_w"
|
||||
|
||||
/datum/sprite_accessory/tail/otietail
|
||||
name = "otie tail (vwag)"
|
||||
desc = ""
|
||||
icon_state = "otie"
|
||||
ani_state = "otie_w"
|
||||
do_colouration = 1
|
||||
|
||||
/datum/sprite_accessory/tail/ztail
|
||||
name = "jagged flufftail"
|
||||
desc = ""
|
||||
icon_state = "ztail"
|
||||
do_colouration = 1
|
||||
|
||||
/datum/sprite_accessory/tail/shock
|
||||
name = "pharoah hound tail (Shock Diamond)"
|
||||
@@ -690,7 +741,6 @@
|
||||
icon_state = "snaketail"
|
||||
do_colouration = 1
|
||||
|
||||
|
||||
//For all species tails. Includes haircolored tails.
|
||||
/datum/sprite_accessory/tail/special
|
||||
name = "Blank tail. Do not select."
|
||||
@@ -883,10 +933,20 @@
|
||||
name = "Wolf"
|
||||
icon_state = "wolf_s"
|
||||
|
||||
/datum/sprite_accessory/tail/taur/wolf/wolf_2c
|
||||
name = "Wolf dual-color"
|
||||
icon_state = "wolf_s"
|
||||
extra_overlay = "wolf_markings"
|
||||
|
||||
/datum/sprite_accessory/tail/taur/naga
|
||||
name = "Naga"
|
||||
icon_state = "naga_s"
|
||||
|
||||
/datum/sprite_accessory/tail/taur/naga/naga_2c
|
||||
name = "Naga dual-color"
|
||||
icon_state = "naga_s"
|
||||
extra_overlay = "naga_markings"
|
||||
|
||||
/datum/sprite_accessory/tail/taur/horse
|
||||
name = "Horse"
|
||||
icon_state = "horse_s"
|
||||
@@ -899,6 +959,11 @@
|
||||
name = "Lizard"
|
||||
icon_state = "lizard_s"
|
||||
|
||||
/datum/sprite_accessory/tail/taur/lizard/lizard_2c
|
||||
name = "Lizard dual-color"
|
||||
icon_state = "lizard_s"
|
||||
extra_overlay = "lizard_markings"
|
||||
|
||||
/datum/sprite_accessory/tail/taur/spider
|
||||
name = "Spider"
|
||||
icon_state = "spider_s"
|
||||
@@ -911,10 +976,23 @@
|
||||
name = "Feline"
|
||||
icon_state = "feline_s"
|
||||
|
||||
/datum/sprite_accessory/tail/taur/feline/feline_2c
|
||||
name = "Feline dual-color"
|
||||
icon_state = "feline_s"
|
||||
extra_overlay = "feline_markings"
|
||||
|
||||
/datum/sprite_accessory/tail/taur/slug
|
||||
name = "Slug"
|
||||
icon_state = "slug_s"
|
||||
|
||||
/*/datum/sprite_accessory/tail/taur/drake //Yeah hold that thought for a bit. These got no suit compatibility yet.
|
||||
name = "Drake"
|
||||
icon_state = "drake_s"
|
||||
|
||||
/datum/sprite_accessory/tail/taur/otie
|
||||
name = "Otie"
|
||||
icon_state = "otie_s"*/
|
||||
|
||||
//wickedtemp: Chakat Tempest
|
||||
/datum/sprite_accessory/tail/taur/feline/tempest
|
||||
name = "Feline (wickedtemp)"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
if(ear_style && !(head && (head.flags_inv & BLOCKHEADHAIR)))
|
||||
var/icon/ears_s = new/icon("icon" = ear_style.icon, "icon_state" = ear_style.icon_state)
|
||||
if(ear_style.do_colouration)
|
||||
ears_s.Blend(rgb(src.r_hair, src.g_hair, src.b_hair), ear_style.color_blend_mode)
|
||||
ears_s.Blend(rgb(src.red_ear, src.g_ear, src.b_ear), ear_style.color_blend_mode)
|
||||
if(ear_style.extra_overlay)
|
||||
var/icon/overlay = new/icon("icon" = ear_style.icon, "icon_state" = ear_style.extra_overlay)
|
||||
ears_s.Blend(overlay, ICON_OVERLAY)
|
||||
@@ -27,8 +27,15 @@
|
||||
tail_s.Blend(rgb(src.r_tail, src.g_tail, src.b_tail), tail_style.color_blend_mode)
|
||||
if(tail_style.extra_overlay)
|
||||
var/icon/overlay = new/icon("icon" = tail_style.icon, "icon_state" = tail_style.extra_overlay)
|
||||
tail_s.Blend(overlay, ICON_OVERLAY)
|
||||
qdel(overlay)
|
||||
if(wagging && tail_style.ani_state)
|
||||
overlay = new/icon("icon" = tail_style.icon, "icon_state" = tail_style.extra_overlay_w)
|
||||
overlay.Blend(rgb(src.r_tail2, src.g_tail2, src.b_tail2), tail_style.color_blend_mode)
|
||||
tail_s.Blend(overlay, ICON_OVERLAY)
|
||||
qdel(overlay)
|
||||
else
|
||||
overlay.Blend(rgb(src.r_tail2, src.g_tail2, src.b_tail2), tail_style.color_blend_mode)
|
||||
tail_s.Blend(overlay, ICON_OVERLAY)
|
||||
qdel(overlay)
|
||||
|
||||
if(isTaurTail(tail_style))
|
||||
return image(tail_s, "pixel_x" = -16)
|
||||
|
||||
Reference in New Issue
Block a user