Taur and Tail sprite breakdown and polish (#19596)

* Consolidation and Sorting Taurs

There has been an excellent consolidation of taur bodies, but the taur.dm file still has the big legs and long tails in them... which these are not taur bodies and have been evicted. Taur bodies have been broken into multiple files to improve readability. Tails will be receiving a similar break up later.

Some pathing was adjusted to make inheritence a lot easier. They've also been made alphabetical.

Prelude to Taur suits.

* Sorted Alphabetically now

* Update taur_animal.dm

* sprite maintenance

Kitsune given triple color zones like fox taurs

Feline sprites consistent for what they modify. Some of them were misaligned weirdly. Giant spider taurs have coloration where needed, and aren't colored, as are the CITADEL ported wolf taurs.

* Make sure this gets cleaned up to avoid confus

* Fixes fox/kitsune alignment issues

That feel when you squint and realize 'hey wait a minute, whoever sprited that messed up'

* actually y'know what, let's just do it.

Tails sorted.

Old, uncolored sprites removed:
squirrel, orange/red
stripe taj, brown
bear, brow
wisewolf
wolf grey, green, black
mouse pink

Changed sprites:
Cross fox (regular) has three color zones now
Wolf has the tail tip colorable now
Tucker0666 and HooDoo's snowflake stuff named to them

* unfucks feline taur sprites

Turns out someone decided that feline taurs each needed uniquely identical sprites. and didn't bother to give the regular version a normal tail wag.

Now it's just normal, normal (wag). Fat, fat (wag), Marking 1 (chest, belly, feet), Marking2 (chest and belly) and Marking2_2 (feet).

Tiger simplified in the same way.

* Update taurs_animal.dmi

* fix scrollable errors on the body dimmers

* species tail fix

* fix proper height ruling

* fixer

* Update cosmetic_tests.dm

* fix

* blank for null icon

* rm comment

---------

Co-authored-by: Kashargul <KashL@t-online.de>
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
Poojawa
2026-07-24 12:24:21 +02:00
committed by GitHub
co-authored by Kashargul Cameron Lennox Kashargul
parent 3dba46bd87
commit 9aae513820
49 changed files with 3729 additions and 1932 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,212 @@
/*
////////////////////////////
/ =--------------------= /
/ == Tail Definitions == /
/ =--------------------= /
////////////////////////////
*/
/datum/sprite_accessory/tail
name = DEVELOPER_WARNING_NAME
var/desc = DEVELOPER_WARNING_NAME
// icon = 'icons/mob/human_races/sprite_accessories/tails.dmi'
do_colouration = TRUE //Set to FALSE to disable coloration using the tail color.
/// Only appliciable if do_coloration = TRUE, ICON_MULTIPLY is a white bias, ICON_ADD is a black bias for colorations of sprites.
/// Virtually all sprites now are white-biased greyscale. The ones that aren't are pre-colored, typically donator snowflake.
color_blend_mode = ICON_MULTIPLY
em_block = TRUE
var/extra_overlay // Icon state of an additional overlay to blend in.
var/extra_overlay2 //Tertiary.
var/show_species_tail = FALSE // If false, do not render species' tail.
var/clothing_can_hide = TRUE // If true, clothing with HIDETAIL hides it
var/ani_state // State when wagging/animated
var/extra_overlay_w // Wagging state for extra overlay
var/extra_overlay2_w // Tertiary wagging.
var/icon/clip_mask_icon = null //Icon file used for clip mask.
var/clip_mask_state = null //Icon state to generate clip mask. Clip mask is used to 'clip' off the lower part of clothing such as jumpsuits & full suits.
var/icon/clip_mask = null //Instantiated clip mask of given icon and state
var/offset_x = 0
var/offset_y = 0
var/mob_offset_x = 0
var/mob_offset_y = 0
// Taur Loafing - IMPORTANT, READ BELOW.
///IF SET TO TRUE, THE icon_state, extra_overlay, and extra_overlay2 MUST BE IN WHATEVER YOU SET icon_loaf to!
///ADDITIONALLY, IF YOU ADD A SPECIAL VWAG, YOU NEED TO INCLUDE ani_state, extra_overlay_w, and extra_overlay2_w INTO icon_loaf TOO!
var/can_loaf = FALSE
var/loaf_offset = 0
var/list/lower_layer_dirs = list(SOUTH, WEST, EAST)
var/icon_loaf = null
// Taur Vore
var/vore_tail_sprite_variant = ""
var/belly_variant_when_loaf = FALSE
var/fullness_icons = 0
var/struggle_anim = FALSE
var/bellies_icon_path = 'icons/mob/vore/Taur_Bellies.dmi'
/datum/sprite_accessory/tail/New()
. = ..()
if(clip_mask_state)
clip_mask = icon(icon = (clip_mask_icon ? clip_mask_icon : icon), icon_state = clip_mask_state)
// Default invis tail
/datum/sprite_accessory/tail/invisible
name = "hide species-sprite tail"
icon = null
icon_state = null
//For all species tails. Includes haircolored tails.
/datum/sprite_accessory/tail/special
name = DEVELOPER_WARNING_NAME
icon = 'icons/effects/species_tails.dmi'
/datum/sprite_accessory/tail/special/unathi
name = "unathi tail"
desc = ""
icon_state = "sogtail_s"
/datum/sprite_accessory/tail/special/tajaran
name = "tajaran tail"
desc = ""
icon_state = "tajtail_s"
/datum/sprite_accessory/tail/special/sergal
name = "sergal tail"
desc = ""
icon_state = "sergtail_s"
/datum/sprite_accessory/tail/special/akula
name = "akula tail"
desc = ""
icon_state = "sharktail_s"
/datum/sprite_accessory/tail/special/nevrean
name = "nevrean tail"
desc = ""
icon_state = "nevreantail_s"
/datum/sprite_accessory/tail/special/armalis
name = "armalis tail"
desc = ""
icon_state = "armalis_tail_humanoid_s"
/datum/sprite_accessory/tail/special/xenodrone
name = "xenomorph drone tail"
desc = ""
icon_state = "xenos_drone_tail_s"
/datum/sprite_accessory/tail/special/xenosentinel
name = "xenomorph sentinel tail"
desc = ""
icon_state = "xenos_sentinel_tail_s"
/datum/sprite_accessory/tail/special/xenohunter
name = "xenomorph hunter tail"
desc = ""
icon_state = "xenos_hunter_tail_s"
/datum/sprite_accessory/tail/special/xenoqueen
name = "xenomorph queen tail"
desc = ""
icon_state = "xenos_queen_tail_s"
/datum/sprite_accessory/tail/special/monkey
name = "monkey tail"
desc = ""
icon_state = "chimptail_s"
/datum/sprite_accessory/tail/special/tesharitail
name = "teshari tail"
desc = ""
icon_state = "seromitail_s"
/datum/sprite_accessory/tail/special/tesharitailfeathered
name = "teshari tail w/ feathers"
desc = ""
icon_state = "seromitail_s"
extra_overlay = "seromitail_feathers_s"
/datum/sprite_accessory/tail/special/unathihc
name = "unathi tail, colorable"
desc = ""
icon_state = "sogtail_hc_s"
/datum/sprite_accessory/tail/special/tajaranhc
name = "tajaran tail, colorable"
desc = ""
icon_state = "tajtail_hc_s"
/datum/sprite_accessory/tail/special/sergalhc
name = "sergal tail, colorable"
desc = ""
icon_state = "sergtail_hc_s"
/datum/sprite_accessory/tail/special/akulahc
name = "akula tail, colorable"
desc = ""
icon_state = "sharktail_hc_s"
/datum/sprite_accessory/tail/special/nevreanhc
name = "nevrean tail, colorable"
desc = ""
icon_state = "nevreantail_hc_s"
/datum/sprite_accessory/tail/special/foxdefault
name = "default zorren tail, colorable"
desc = ""
icon_state = "zorren_tail"
/datum/sprite_accessory/tail/special/foxhc
name = "highlander zorren tail, colorable"
desc = ""
icon_state = "foxtail_hc_s"
/datum/sprite_accessory/tail/special/fennechc
name = "flatland zorren tail, colorable"
desc = ""
icon_state = "fentail_hc_s"
/datum/sprite_accessory/tail/special/armalishc
name = "armalis tail, colorable"
desc = ""
icon_state = "armalis_tail_humanoid_hc_s"
/datum/sprite_accessory/tail/special/xenodronehc
name = "xenomorph drone tail, colorable"
desc = ""
icon_state = "xenos_drone_tail_hc_s"
/datum/sprite_accessory/tail/special/xenosentinelhc
name = "xenomorph sentinel tail, colorable"
desc = ""
icon_state = "xenos_sentinel_tail_hc_s"
/datum/sprite_accessory/tail/special/xenohunterhc
name = "xenomorph hunter tail, colorable"
desc = ""
icon_state = "xenos_hunter_tail_hc_s"
/datum/sprite_accessory/tail/special/xenoqueenhc
name = "xenomorph queen tail, colorable"
desc = ""
icon_state = "xenos_queen_tail_hc_s"
/datum/sprite_accessory/tail/special/monkeyhc
name = "monkey tail, colorable"
desc = ""
icon_state = "chimptail_hc_s"
/datum/sprite_accessory/tail/special/tesharitailhc
name = "teshari tail, colorable"
desc = ""
icon_state = "seromitail_hc_s"
/datum/sprite_accessory/tail/special/tesharitailfeatheredhc
name = "teshari tail w/ feathers, colorable"
desc = ""
icon_state = "seromitail_feathers_hc_s"
/datum/sprite_accessory/tail/special/vulpan
name = "vulpkanin, colorable"
desc = ""
icon_state = "vulptail_s"
@@ -0,0 +1,401 @@
/datum/sprite_accessory/tail/squirrel
name = "squirrel, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "squirrel"
/datum/sprite_accessory/tail/kitty
name = "kitty, colorable, downwards"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "kittydown"
/datum/sprite_accessory/tail/kittyup
name = "kitty, colorable, upwards"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "kittyup"
/datum/sprite_accessory/tail/tiger_white
name = "tiger, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "tiger"
extra_overlay = "tigerinnerwhite"
/datum/sprite_accessory/tail/stripey
name = "stripey taj, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "stripeytail"
extra_overlay = "stripeytail_mark"
/datum/sprite_accessory/tail/bunny
name = "bunny, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "bunny"
/datum/sprite_accessory/tail/rabbit
name = "rabbit, colourable (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "rabbit"
ani_state = "rabbit_w"
/datum/sprite_accessory/tail/rabbitalt
name = "rabbit, dual color (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "rabbitalt"
extra_overlay = "rabbitalt-tips"
ani_state = "rabbitalt_w"
extra_overlay_w = "rabbitalt-tips_w"
/datum/sprite_accessory/tail/bear
name = "bear, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "bear"
/datum/sprite_accessory/tail/wolf
name = "wolf, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "wolf"
extra_overlay = "wolfinner"
extra_overlay2 = "wolftip"
/datum/sprite_accessory/tail/mouse
name = "mouse, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "mouse"
/datum/sprite_accessory/tail/horse
name = "horse tail, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "horse"
/datum/sprite_accessory/tail/cow
name = "cow tail, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "cow"
/datum/sprite_accessory/tail/crossfox
name = "cross fox"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "crossfox"
extra_overlay = "crossfox_marking_back"
extra_overlay2 = "crossfox_marking_tip"
/datum/sprite_accessory/tail/fantail
name = "avian fantail, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "fantail"
/datum/sprite_accessory/tail/wagtail
name = "avian wagtail, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "wagtail"
/datum/sprite_accessory/tail/ketrai_wag
name = "fennix tail (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "ketraitail"
ani_state = "ketraitail_w"
do_colouration = FALSE
/datum/sprite_accessory/tail/ketrainew_wag
name = "new fennix tail (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "ketraitailnew"
ani_state = "ketraitailnew_w"
do_colouration = FALSE
/datum/sprite_accessory/tail/redpanda
name = "red panda"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "redpanda"
/datum/sprite_accessory/tail/ringtail
name = "ringtail, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "ringtail"
extra_overlay = "ringtail_mark"
/datum/sprite_accessory/tail/raccoon
name = "raccoon tail (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "raccoon"
ani_state = "raccoon_w"
extra_overlay = "raccoon-stripes"
extra_overlay_w = "raccoon-stripes_w"
/datum/sprite_accessory/tail/ringtailwag
name = "ringtail (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "wah"
ani_state = "wah_w"
extra_overlay = "wah-stripes"
extra_overlay_w = "wah-stripes_w"
/datum/sprite_accessory/tail/curltail
name = "curltail (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "curltail"
ani_state = "curltail_w"
extra_overlay = "curltail_mark"
extra_overlay_w = "curltail_mark_w"
/datum/sprite_accessory/tail/shorttail
name = "shorttail (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "straighttail"
ani_state = "straighttail_w"
/datum/sprite_accessory/tail/sneptail
name = "Snep/Furry Tail (vwag) (old)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "sneptail"
ani_state = "sneptail_w"
extra_overlay = "sneptail_mark"
extra_overlay_w = "sneptail_mark_w"
/datum/sprite_accessory/tail/sneptail_new //From Skyrat
name = "Snep/Furry Tail (vwag) (new)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "sneptail_new"
ani_state = "sneptail_new_w"
extra_overlay = "sneptail_new_mark"
extra_overlay_w = "sneptail_new_mark_w"
/datum/sprite_accessory/tail/tiger_new
name = "tiger tail (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "tigertail"
ani_state = "tigertail_w"
extra_overlay = "tigertail_mark"
extra_overlay_w = "tigertail_mark_w"
/datum/sprite_accessory/tail/tigeralt
name = "tiger tail, alt (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "tigeralt"
extra_overlay = "tigeralt-tips"
extra_overlay2 = "tigeralt-tips2"
ani_state = "tigeralt_w"
extra_overlay_w = "tigeralt-tips_w"
extra_overlay2_w = "tigeralt-tips2_w"
/datum/sprite_accessory/tail/twotiger
name = "tiger tail, double (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "twotiger"
extra_overlay = "twotiger-tips"
extra_overlay2 = "twotiger-tips2"
ani_state = "twotiger_w"
extra_overlay_w = "twotiger-tips_w"
extra_overlay2_w = "twotiger-tips2_w"
/datum/sprite_accessory/tail/twocat
name = "cat tail, double (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "twocat"
ani_state = "twocat_w"
/datum/sprite_accessory/tail/threecat
name = "cat tail, triple (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "threecat"
ani_state = "threecat_w"
/datum/sprite_accessory/tail/leopard
name = "Leopard tail, dual-color (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "leopard"
ani_state = "leopard_w"
extra_overlay = "leopard_spots"
extra_overlay_w = "leopard_spots_w"
/datum/sprite_accessory/tail/fennec_tail
name = "Fennec tail"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "fennec_tail_s"
/datum/sprite_accessory/tail/fox_tail
name = "Fox tail, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "fox_tail_s"
/datum/sprite_accessory/tail/fox_tail_plain
name = "Fox tail, colorable, plain"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "fox_tail_plain_s"
/datum/sprite_accessory/tail/foxtail
name = "Fox tail, colourable (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "foxtail"
extra_overlay = "foxtail-tips"
ani_state = "foxtail_w"
extra_overlay_w = "foxtail-tips_w"
/datum/sprite_accessory/tail/doublekitsune
name = "Kitsune 2 tails, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "doublekitsune"
/datum/sprite_accessory/tail/doublekitsunealt
name = "Kitsune 2 tails, colorable, alt"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "doublekitsunealt"
extra_overlay = "doublekitsunealt-tips"
/datum/sprite_accessory/tail/triplekitsune_colorable
name = "Kitsune 3 tails, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "triplekitsune"
extra_overlay = "triplekitsune_tips"
/datum/sprite_accessory/tail/sevenkitsune_colorable
name = "Kitsune 7 tails, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "sevenkitsune"
extra_overlay = "sevenkitsune-tips"
/datum/sprite_accessory/tail/ninekitsune_colorable
name = "Kitsune 9 tails, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "ninekitsune"
extra_overlay = "ninekitsune-tips"
/datum/sprite_accessory/tail/hideableninetails
name = "Kitsune 9-in-1 tail, colourable (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "ninekitsune"
extra_overlay = "ninekitsune-tips"
ani_state = "foxtail_w"
extra_overlay_w = "foxtail-tips_w"
/datum/sprite_accessory/tail/vulp_new
name = "new vulp tail (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "vulptail"
ani_state = "vulptail_w"
extra_overlay = "vulptail_mark"
extra_overlay_w = "vulptail_mark_w"
/datum/sprite_accessory/tail/vulpan_alt
name = "vulpkanin alt style, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "vulptail_alt"
/datum/sprite_accessory/tail/otietail
name = "otie tail (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "otie"
ani_state = "otie_w"
/datum/sprite_accessory/tail/ztail
name = "jagged flufftail"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "ztail"
/datum/sprite_accessory/tail/sergaltaildc
name = "sergal, dual-color"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "sergal"
extra_overlay = "sergal_mark"
/datum/sprite_accessory/tail/skunktail
name = "skunk, dual-color"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "skunktail"
extra_overlay = "skunktail_mark"
/datum/sprite_accessory/tail/deertail
name = "deer, dual-color"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "deertail"
extra_overlay = "deertail_mark"
/datum/sprite_accessory/tail/deeralt
name = "deer alt, colorable (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "deeralt"
ani_state = "deeralt_w"
/datum/sprite_accessory/tail/zorgoia
name = "Zorgoia tail, dual-color"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "zorgoia"
extra_overlay = "zorgoia_fluff"
extra_overlay2 = "zorgoia_fluff_top"
/datum/sprite_accessory/tail/shark_finless
name = "shark tail, finless (colorable)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "sharktail_finless"
/datum/sprite_accessory/tail/turkey //Would have been a really good thing for Thanksgiving probably but I'm not going to wait that long.
name = "turkey"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "turkey"
/datum/sprite_accessory/tail/shark_markings
name = "akula tail, colorable, tail and fins"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "sharktail"
extra_overlay = "sharktail_markings"
/datum/sprite_accessory/tail/shark_stripes
name = "akula tail, colorable, stripe"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "sharktail"
extra_overlay = "sharktail_stripemarkings"
/datum/sprite_accessory/tail/shark_tips
name = "akula tail, colorable, tips"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "sharktail"
extra_overlay = "sharktail_tipmarkings"
/datum/sprite_accessory/tail/narrow_tail
name = "feathered narrow tail, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "narrowtail"
/datum/sprite_accessory/tail/narrow_tail2
name = "feathered narrow tail, 2 colors"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "narrowtail_2color"
extra_overlay = "narrowtail_2color-1"
/datum/sprite_accessory/tail/vale_tail
name = "Vale Tail, dual color (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "valetail"
ani_state = "valetail_w"
extra_overlay = "valetail_mark"
extra_overlay_w = "valetail_mark_w"
/datum/sprite_accessory/tail/orca_f
name = "Orca tail (Female)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "orca_tail_f"
extra_overlay = "orca_tail_markings"
/datum/sprite_accessory/tail/wolf_tail
name = "Wolf Tail"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "wolf_tail"
/datum/sprite_accessory/tail/vulpkanin_alt_color
name = "Vulpkanin alt"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "vulpkanin_alt_color"
extra_overlay = "vulpkanin_alt_color_tips"
ani_state = "vulpkanin_alt_color_w"
extra_overlay_w = "vulpkanin_alt_color_tips_w"
/datum/sprite_accessory/tail/raccoon_tail
name = "Raccoon gray tail"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "raccoon_tail"
do_colouration = FALSE
/datum/sprite_accessory/tail/striped_tail
name = "Striped tail, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi'
icon_state = "stripedtail_colorable"
extra_overlay = "stripedtail_colorable_w"
@@ -0,0 +1,217 @@
/datum/sprite_accessory/tail/beethorax
name = "bee thorax"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "beethorax"
do_colouration = FALSE
/datum/sprite_accessory/tail/buggo
name = "Bug abdomen, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggo_s"
/datum/sprite_accessory/tail/buggobee
name = "Bug abdomen, bee top, dual-colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggo_s"
extra_overlay = "buggobee_markings"
/datum/sprite_accessory/tail/buggobeefull
name = "Bug abdomen, bee full, dual-colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggo_s"
extra_overlay = "buggobeefull_markings"
/datum/sprite_accessory/tail/buggounder
name = "Bug abdomen, underside, dual-colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggo_s"
extra_overlay = "buggounder_markings"
/datum/sprite_accessory/tail/buggofirefly
name = "Bug abdomen, firefly, dual-colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggo_s"
extra_overlay = "buggofirefly_markings"
/datum/sprite_accessory/tail/buggofat
name = "Fat bug abdomen, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggofat_s"
/datum/sprite_accessory/tail/buggofatbee
name = "Fat bug abdomen, bee top, dual-colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggofat_s"
extra_overlay = "buggofatbee_markings"
/datum/sprite_accessory/tail/buggofatbeefull
name = "Fat bug abdomen, bee full, dual-colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggofat_s"
extra_overlay = "buggofatbeefull_markings"
/datum/sprite_accessory/tail/buggofatunder
name = "Fat bug abdomen, underside, dual-colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggofat_s"
extra_overlay = "buggofatunder_markings"
/datum/sprite_accessory/tail/buggofatfirefly
name = "Fat bug abdomen, firefly, dual-colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggofat_s"
extra_overlay = "buggofatfirefly_markings"
/datum/sprite_accessory/tail/buggowag
name = "Bug abdomen, colorable, vwag change"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggo_s"
ani_state = "buggofat_s"
/datum/sprite_accessory/tail/buggobeewag
name = "Bug abdomen, bee top, dual color, vwag"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggo_s"
ani_state = "buggofat_s"
extra_overlay = "buggobee_markings"
extra_overlay_w = "buggofatbee_markings"
/datum/sprite_accessory/tail/buggobeefullwag
name = "Bug abdomen, bee full, dual color, vwag"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggo_s"
ani_state = "buggofat_s"
extra_overlay = "buggobeefull_markings"
extra_overlay_w = "buggofatbeefull_markings"
/datum/sprite_accessory/tail/buggounderwag
name = "Bug abdomen, underside, dual color, vwag"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggo_s"
ani_state = "buggofat_s"
extra_overlay = "buggounder_markings"
extra_overlay_w = "buggofatunder_markings"
/datum/sprite_accessory/tail/buggofireflywag
name = "Bug abdomen, firefly, dual color, vwag"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggo_s"
ani_state = "buggofat_s"
extra_overlay = "buggofirefly_markings"
extra_overlay_w = "buggofatfirefly_markings"
//Vass buggo variants!
/datum/sprite_accessory/tail/buggovass
name = "Bug abdomen, vass, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggo_vass_s"
/datum/sprite_accessory/tail/buggovassbee
name = "Bug abdomen, bee top, dc, vass"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggo_vass_s"
extra_overlay = "buggobee_vass_markings"
/datum/sprite_accessory/tail/buggovassbeefull
name = "Bug abdomen, bee full, dc, vass"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggo_vass_s"
extra_overlay = "buggobeefull_vass_markings"
/datum/sprite_accessory/tail/buggovassunder
name = "Bug abdomen, underside, dc, vass"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggo_vass_s"
extra_overlay = "buggounder_vass_markings"
/datum/sprite_accessory/tail/buggovassfirefly
name = "Bug abdomen, firefly, dc, vass"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggo_vass_s"
extra_overlay = "buggofirefly_vass_markings"
/datum/sprite_accessory/tail/buggovassfat
name = "Fat bug abdomen, vass, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggofat_vass_s"
/datum/sprite_accessory/tail/buggovassfatbee
name = "Fat bug abdomen, bee top, dc, vass"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggofat_vass_s"
extra_overlay = "buggofatbee_vass_markings"
/datum/sprite_accessory/tail/buggovassfatbeefull
name = "Fat bug abdomen, bee full, dc, vass"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggofat_vass_s"
extra_overlay = "buggofatbeefull_vass_markings"
/datum/sprite_accessory/tail/buggovassfatunder
name = "Fat bug abdomen, underside, dc, vass"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggofat_vass_s"
extra_overlay = "buggofatunder_vass_markings"
/datum/sprite_accessory/tail/buggovassfatfirefly
name = "Fat bug abdomen, firefly, dc, vass"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggofat_vass_s"
extra_overlay = "buggofatfirefly_vass_markings"
/datum/sprite_accessory/tail/buggovasswag
name = "Bug abdomen, vass, colorable, vwag change"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggo_vass_s"
ani_state = "buggofat_vass_s"
/datum/sprite_accessory/tail/buggovassbeewag
name = "Bug abdomen, bee top, dc, vass, vwag"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggo_vass_s"
ani_state = "buggofat_vass_s"
extra_overlay = "buggobee_vass_markings"
extra_overlay_w = "buggofatbee_vass_markings"
/datum/sprite_accessory/tail/buggovassbeefullwag
name = "Bug abdomen, bee full, dc, vass, vwag"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggo_vass_s"
ani_state = "buggofat_vass_s"
extra_overlay = "buggobeefull_vass_markings"
extra_overlay_w = "buggofatbeefull_vass_markings"
/datum/sprite_accessory/tail/buggovassunderwag
name = "Bug abdomen, underside, dc, vass, vwag"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggo_vass_s"
ani_state = "buggofat_vass_s"
extra_overlay = "buggounder_vass_markings"
extra_overlay_w = "buggofatunder_vass_markings"
/datum/sprite_accessory/tail/buggovassfireflywag
name = "Bug abdomen, firefly, dc, vass, vwag"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "buggo_vass_s"
ani_state = "buggofat_vass_s"
extra_overlay = "buggofirefly_vass_markings"
extra_overlay_w = "buggofatfirefly_vass_markings"
/datum/sprite_accessory/tail/small_bugbum
name = "Bug Abdomen, Alt, Small (Dual-Color)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "smallbug1"
extra_overlay = "smallbug2"
/datum/sprite_accessory/tail/mid_bugbum
name = "Bug Abdomen, Alt, Medium (Dual-Color)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "midbug1"
extra_overlay = "midbug2"
/datum/sprite_accessory/tail/big_bugbum
name = "Bug Abdomen, Alt, Big (Dual-Color)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi'
icon_state = "bigbug1"
extra_overlay = "bigbug2"
@@ -0,0 +1,136 @@
/datum/sprite_accessory/tail/alien_slug
name = "Alien slug tail"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_exotic.dmi'
icon_state = "alien_slug"
extra_overlay = "alien_slug_markings"
/datum/sprite_accessory/tail/nevreandc
name = "nevrean tail, dual-color"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_exotic.dmi'
icon_state = "nevreantail_dc"
extra_overlay = "nevreantail_dc_tail"
/datum/sprite_accessory/tail/nevreanwagdc
name = "nevrean wagtail, dual-color"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_exotic.dmi'
icon_state = "wagtail"
extra_overlay = "wagtail_dc_tail"
/datum/sprite_accessory/tail/nevreanwagdc_alt
name = "nevrean wagtail, marked, dual-color"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_exotic.dmi'
icon_state = "wagtail2_dc"
extra_overlay = "wagtail2_dc_mark"
/datum/sprite_accessory/tail/spade_color
name = "spade-tail (colorable)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_exotic.dmi'
color_blend_mode = ICON_ADD
icon_state = "spadetail-black"
/datum/sprite_accessory/tail/succubustail
name = "Succubus Tail"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_exotic.dmi'
icon_state = "Succubustail"
/datum/sprite_accessory/tail/snag
name = "xenomorph tail 1"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_exotic.dmi'
icon_state = "snag"
do_colouration = FALSE
/datum/sprite_accessory/tail/xenotail
name = "xenomorph tail 2"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_exotic.dmi'
icon_state = "xenotail"
/datum/sprite_accessory/tail/xenotail_fullcolour
name = "xenomorph tail (fully colourable)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_exotic.dmi'
icon_state = "xenotail_fullcolour"
/datum/sprite_accessory/tail/xenotailalt_fullcolour
name = "xenomorph tail alt. (fully colourable)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_exotic.dmi'
icon_state = "xenotailalt_fullcolour"
/datum/sprite_accessory/tail/xenotail_fullcolour_vwag
name = "xenomorph tail (fully colourable, vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_exotic.dmi'
icon_state = "xenotail_fullcolouralt"
ani_state = "xenotail_fullcolouralt_w"
/datum/sprite_accessory/tail/lleill
name = "Lleill tail"
icon = 'icons/mob/species/lleill/tail.dmi'
icon_state = "tail"
extra_overlay = "tail_marking"
/datum/sprite_accessory/tail/lleill/large
name = "Lleill tail, Large"
icon_state = "tail2"
extra_overlay = "tail2_marking"
/datum/sprite_accessory/tail/lleill/small
name = "Lleill tail, Small"
icon_state = "tail3"
extra_overlay = "tail3_marking"
/datum/sprite_accessory/tail/altevian
name = "Altevian Tail"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_exotic.dmi'
icon_state = "altevian"
lower_layer_dirs = list(SOUTH, WEST)
/datum/sprite_accessory/tail/altevian_eyed
name = "Eyed Tail"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_exotic.dmi'
icon_state = "altevian_eyed"
extra_overlay = "altevian_eyed2"
extra_overlay2 = "altevian_eyed3"
lower_layer_dirs = list(SOUTH, WEST)
/datum/sprite_accessory/tail/tailmaw
name = "tailmaw, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_exotic.dmi'
icon_state = "tailmaw"
/datum/sprite_accessory/tail/newtailmaw
name = "new tailmaw (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_exotic.dmi'
icon_state = "newtailmaw"
ani_state = "newtailmaw_w"
/datum/sprite_accessory/tail/shadekin_short
name = "Shadekin Short Tail, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_exotic.dmi'
icon_state = "shadekin-short"
/datum/sprite_accessory/tail/tentacle
name = "Tentacle, colorable (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_exotic.dmi'
icon_state = "tentacle"
ani_state = "tentacle_w"
/datum/sprite_accessory/tail/blade_like_tail
name = "Blade-like Tail"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_exotic.dmi'
icon_state = "blade-like-tail"
/datum/sprite_accessory/tail/anthrovirus_tail
name = "Anthro Virus Tail"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_exotic.dmi'
icon_state = "anthrovirustail_mark"
extra_overlay = "anthrovirustail"
/datum/sprite_accessory/tail/tyranid_tail
name = "Tyranid"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_exotic.dmi'
icon_state = "tyranid"
/datum/sprite_accessory/tail/chu
name = "chu tail"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_exotic.dmi'
icon_state = "chu"
extra_overlay = "chu_markings"
extra_overlay2 = "chu_tipmarkings"
@@ -0,0 +1,166 @@
/datum/sprite_accessory/tail/longtail
name = DEVELOPER_WARNING_NAME
desc = ""
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_long.dmi'
offset_x = -16
do_colouration = TRUE // Yes color, using tail color
/datum/sprite_accessory/tail/longtail/shadekin_tail
name = "Shadekin Tail"
icon_state = "shadekin_s"
/datum/sprite_accessory/tail/longtail/shadekin_tail/shadekin_tail_2c
name = "Shadekin Tail (dual color)"
extra_overlay = "shadekin_markings"
/datum/sprite_accessory/tail/longtail/shadekin_tail/shadekin_tail_long
name = "Shadekin Long Tail"
icon_state = "shadekin_long_s"
/datum/sprite_accessory/tail/longtail/shadekin_tail/shadekin_tail_fat
name = "Shadekin Fat Tail"
icon_state = "shadekin_fat_s"
/datum/sprite_accessory/tail/longtail/shadekin_tail/shadekin_tail_fat/spots
name = "Shadekin Fat Tail (Spotted)"
extra_overlay = "shadekin_fat_spots"
/datum/sprite_accessory/tail/longtail/zaprat
name = "bolt-shaped tail, dual color"
icon_state = "zaprat_s"
extra_overlay = "zaprat_markings"
/datum/sprite_accessory/tail/longtail/zaprat/heart
name = "heart-bolt-shaped tail, dual color"
icon_state = "zaprat_heart_s"
extra_overlay = "zaprat_heart_markings"
/datum/sprite_accessory/tail/longtail/kaiju_tail_a_long
name = "Kaiju tail A, dual color"
icon_state = "kaiju_long_a"
extra_overlay = "kaiju_long_a_spikes"
/datum/sprite_accessory/tail/longtail/kaiju_tail_a_long_glow
name = "Kaiju tail A, dual color, glow"
icon_state = "kaiju_long_a"
extra_overlay = "kaiju_long_a_spikes"
extra_overlay2 = "kaiju_long_a_spikes_glow"
/datum/sprite_accessory/tail/longtail/longflufftail
name = "Long fluffy tail"
icon_state = "longflufftail"
/datum/sprite_accessory/tail/longtail/ringtailbig
name = "Long ring tail"
icon_state = "bigringtail"
extra_overlay = "bigringtail_markings"
/datum/sprite_accessory/tail/longtail/desert_nightstalker
name = "Desert Nightstalker Tail (vwag)"
icon_state = "nightstalker_desert"
ani_state = "nightstalker_desert_w"
do_colouration = FALSE // We're not coloring this, these are pre-colored
/datum/sprite_accessory/tail/longtail/diamondback_nightstalker
name = "Diamondback Nightstalker Tail (dual-color, vwag)"
icon_state = "nightstalker_diamondback"
ani_state = "nightstalker_diamondback_w"
extra_overlay = "nightstalker_diamondback_markings"
extra_overlay_w = "nightstalker_diamondback_markings_w"
/datum/sprite_accessory/tail/longtail/demitesh_fluffytail
name = "demi-teshari tail, alternative"
icon_state = "demitesh_fluffytail"
extra_overlay = "demitesh_fluffytail_marks"
/datum/sprite_accessory/tail/longtail/largeshark
name = "Large Shark"
icon_state = "large-shark"
extra_overlay = "large-shark-underbelly"
extra_overlay2 = "large-shark-tips"
/datum/sprite_accessory/tail/longtail/largeshark/finless
name = "Large Shark (finless)"
icon_state = "large-shark-finless"
extra_overlay2 = "large-shark-tips-finless"
/datum/sprite_accessory/tail/longtail/largeshark/stripes
name = "Large Shark (striped)"
extra_overlay = "large-shark-stripes"
extra_overlay2 = "large-shark-stripes-underbelly"
/datum/sprite_accessory/tail/longtail/largeshark/stripes2
name = "Large Shark (striped, underbelly)"
extra_overlay = "large-shark-underbelly"
extra_overlay2 = "large-shark-stripes-underbelly"
/datum/sprite_accessory/tail/longtail/largeshark/stripes/finless
name = "Large Shark (striped, finless)"
icon_state = "large-shark-finless"
/datum/sprite_accessory/tail/longtail/largeshark/stripes2/finless
name = "Large Shark (striped, finless, underbelly)"
icon_state = "large-shark-finless"
/datum/sprite_accessory/tail/longtail/flagtail
name = "Flagtail"
icon = 'icons/rogue-star/tails_64x32_rs.dmi'
icon_state = "flagtail"
extra_overlay = "flagtail-1"
extra_overlay2 = "flagtail-2"
/datum/sprite_accessory/tail/longtail/chonksqrl
name = "Squirrel (Big)"
icon = 'icons/rogue-star/tails_64x32_rs.dmi'
icon_state = "chonksqrl"
extra_overlay = "chonksqrl-m1"
extra_overlay2 = "chonksqrl-m2"
/datum/sprite_accessory/tail/longtail/qaavos
name = "Qaavos Tail"
icon_state = "qaavos_tail"
/datum/sprite_accessory/tail/longtail/anteater
name = "Anteater tail"
icon_state = "anteater_tail"
/datum/sprite_accessory/tail/longtail/brush
name = "Snake Tail with Brush"
icon_state = "bigsnaketailbrush"
extra_overlay = "bigsnaketailbrush_brush"
/datum/sprite_accessory/tail/longtail/brushscutes
name = "Snake Tail with Brush and Scutes"
icon_state = "bigsnaketailbrushunder"
extra_overlay = "bigsnaketailbrushunder_scutes"
extra_overlay2 = "bigsnaketailbrush_brush"
/datum/sprite_accessory/tail/longtail/clawscutes
name = "Snake Tail with Claw and Scutes"
icon_state = "bigsnaketailbrushunder"
extra_overlay = "bigsnaketailbrushunder_scutes"
extra_overlay2 = "bigsnaketailclaw_claw"
/datum/sprite_accessory/tail/longtail/claw
name = "Snake Tail with Claw"
icon_state = "bigsnaketailbrush"
extra_overlay = "bigsnaketailclaw_claw"
/datum/sprite_accessory/tail/longtail/scug // Wawa
name = "Catslug Tail"
icon_state = "scug"
/datum/sprite_accessory/tail/longtail/scug/dots
name = "Catslug Tail Dotted"
extra_overlay = "scug_markings"
/datum/sprite_accessory/tail/longtail/long_lizard
name = "Large Dragon Tail"
icon_state = "big_liz"
hide_body_parts = null
clip_mask_icon = null
clip_mask_state = null
/datum/sprite_accessory/tail/longtail/long_lizard/scaled
name = "Large Dragon Tail/W scales"
extra_overlay = "big_liz_mark"
@@ -0,0 +1,130 @@
/datum/sprite_accessory/tail/chameleon
name = "Chameleon, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_reptile.dmi'
icon_state = "chameleon"
/datum/sprite_accessory/tail/dragon
name = "dragon, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_reptile.dmi'
icon_state = "dragon"
/datum/sprite_accessory/tail/nightstalker
name = "Nightstalker, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_reptile.dmi'
icon_state = "nightstalker"
/datum/sprite_accessory/tail/snaketail
name = "snake tail, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_reptile.dmi'
icon_state = "snaketail"
/datum/sprite_accessory/tail/bigsnaketail
name = "large snake tail (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_reptile.dmi'
icon_state = "bigsnaketail"
ani_state = "bigsnaketail_w"
/datum/sprite_accessory/tail/bigsnaketailstripes
name = "large snake tail, striped (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_reptile.dmi'
icon_state = "bigsnaketailstripes"
extra_overlay = "bigsnaketailstripes-tips"
ani_state = "bigsnaketailstripes_w"
extra_overlay_w = "bigsnaketailstripes-tips_w"
/datum/sprite_accessory/tail/bigsnaketailstripes_alt
name = "large snake tail, striped, alt (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_reptile.dmi'
icon_state = "bigsnaketailstripesalt"
extra_overlay = "bigsnaketailstripesalt-tips"
ani_state = "bigsnaketailstripesalt_w"
extra_overlay_w = "bigsnaketailstripesalt-tips_w"
/datum/sprite_accessory/tail/bigsnaketaildual
name = "large snake tail, dual color (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_reptile.dmi'
icon_state = "bigsnaketaildual"
extra_overlay = "bigsnaketaildual-tips"
ani_state = "bigsnaketaildual_w"
extra_overlay_w = "bigsnaketaildual-tips_w"
/datum/sprite_accessory/tail/bigsnaketailunder
name = "large snake tail, under (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_reptile.dmi'
icon_state = "bigsnaketailunder"
extra_overlay = "bigsnaketailunder-tips"
ani_state = "bigsnaketailunder_w"
extra_overlay_w = "bigsnaketailunder-tips_w"
/datum/sprite_accessory/tail/tail_smooth
name = "Smooth Lizard Tail, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_reptile.dmi'
icon_state = "tail_smooth"
ani_state = "tail_smooth_w"
/datum/sprite_accessory/tail/tail_smooth_dual
name = "Smooth Lizard Tail, dual color"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_reptile.dmi'
icon_state = "tail_smooth"
extra_overlay = "tail_smooth_markings"
/datum/sprite_accessory/tail/Easterntail
name = "Eastern Dragon (Animated)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_reptile.dmi'
icon_state = "Easterntail"
extra_overlay = "EasterntailColorTip"
ani_state = "Easterntail_w"
extra_overlay_w = "EasterntailColorTip_w"
/datum/sprite_accessory/tail/lizard_tail_smooth
name = "Lizard Tail (Smooth)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_reptile.dmi'
icon_state = "lizard_tail_smooth"
/datum/sprite_accessory/tail/lizard_tail_dark_tiger
name = "Lizard Tail (Dark Tiger)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_reptile.dmi'
icon_state = "lizard_tail_dark_tiger"
/datum/sprite_accessory/tail/lizard_tail_light_tiger
name = "Lizard Tail (Light Tiger)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_reptile.dmi'
icon_state = "lizard_tail_light_tiger"
/datum/sprite_accessory/tail/lizard_tail_spiked
name = "Lizard Tail (Spiked)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_reptile.dmi'
icon_state = "lizard_tail_spiked"
/datum/sprite_accessory/tail/clubtail
name = "dino clubtail, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_reptile.dmi'
icon_state = "clubtail"
extra_overlay = "clubtail-1"
/datum/sprite_accessory/tail/spiketail
name = "dino spiketail, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_reptile.dmi'
icon_state = "spiketail"
extra_overlay = "spiketail-1"
/datum/sprite_accessory/tail/kururak
name = "kururak tail"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_reptile.dmi'
icon_state = "kururak"
/datum/sprite_accessory/tail/snaketail_stripes
name = "snake tail with stripes, dual-color"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_reptile.dmi'
icon_state = "snaketail"
extra_overlay = "snaketail_stripes"
/datum/sprite_accessory/tail/featheredraptor
name = "feathered Raptor"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_reptile.dmi'
icon_state = "feathered_raptor"
/datum/sprite_accessory/tail/featheredraptor/twotone
name = "feathered Raptor, dual colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_reptile.dmi'
extra_overlay = "feather_raptor-overlay"
@@ -0,0 +1,120 @@
/datum/sprite_accessory/tail/peacocktail_red //this is ckey locked for now, but prettiebyrd wants these tails to be unlocked at a later date
name = "Peacock tail (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_snowflake.dmi'
icon_state = "peacocktail_red"
ani_state = "peacocktail_red_w"
ckeys_allowed = list("prettiebyrd")
do_colouration = FALSE
/datum/sprite_accessory/tail/peacocktail //ditto
name = "Peacock tail, colorable (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_snowflake.dmi'
icon_state = "peacocktail"
ani_state = "peacocktail_w"
do_colouration = FALSE
ckeys_allowed = list("prettiebyrd")
/datum/sprite_accessory/tail/perrin_tentacles
name = "octopus tentacles"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_snowflake.dmi'
icon_state = "perrintentacles"
ckeys_allowed = list("codeme", "siennaathens")
do_colouration = FALSE
/datum/sprite_accessory/tail/kara //SatinIsle fluff item
name = "Pterokara Tail"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_snowflake.dmi'
icon_state = "kara_tail"
ckeys_allowed = list("satinisle")
do_colouration = FALSE
/datum/sprite_accessory/tail/molenar_kitsune
name = "quintail kitsune tails (Molenar)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_snowflake.dmi'
icon_state = "molenar-kitsune"
ckeys_allowed = list("molenar")
do_colouration = FALSE
/datum/sprite_accessory/tail/miria_fluffdragon
name = "fluffdragon tail (Miria Masters)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_snowflake.dmi'
icon_state = "miria-fluffdragontail"
ckeys_allowed = list("miriamasters")
do_colouration = FALSE
/datum/sprite_accessory/tail/miria_kitsune
name = "Black kitsune tails (Miria Masters)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_snowflake.dmi'
icon_state = "miria-kitsunetail"
ckeys_allowed = list("miriamasters")
do_colouration = FALSE
/datum/sprite_accessory/tail/molenar_deathclaw
name = "deathclaw bits (Molenar)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_snowflake.dmi'
icon_state = "molenar-deathclaw"
ckeys_allowed = list("molenar","silvertalismen","jertheace")
do_colouration = FALSE
/datum/sprite_accessory/tail/runac
name = "fennecsune tails (Runac)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_snowflake.dmi'
icon_state = "runac"
ckeys_allowed = list("rebcom1807")
do_colouration = FALSE
/datum/sprite_accessory/tail/reika //Leaving this since it was too hard to split the wings from the tail.
name = "fox tail (+ beewings) (Reika)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_snowflake.dmi'
icon_state = "reika"
ckeys_allowed = list("rikaru19xjenkins")
do_colouration = FALSE
/datum/sprite_accessory/tail/rosey
name = "tritail kitsune tails (Rosey)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_snowflake.dmi'
icon_state = "rosey_three"
ckeys_allowed = list("joey4298")
do_colouration = FALSE
/datum/sprite_accessory/tail/rosey2
name = "pentatail kitsune tails (Rosey)" //I predict seven tails next. ~CK
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_snowflake.dmi'
icon_state = "rosey_five"
do_colouration = FALSE
ckeys_allowed = list("joey4298")
/datum/sprite_accessory/tail/scree
name = "green taj tail (Scree)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_snowflake.dmi'
icon_state = "scree"
ckeys_allowed = list("scree")
do_colouration = FALSE
/datum/sprite_accessory/tail/aronai
name = "aronai tail (Aronai)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_snowflake.dmi'
icon_state = "aronai"
ckeys_allowed = list("arokha")
do_colouration = FALSE
/datum/sprite_accessory/tail/cabletail
name = "cabletail"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_snowflake.dmi'
icon_state = "tuckercabletail"
ckeys_allowed = list("tucker0666")
do_colouration = FALSE
/datum/sprite_accessory/tail/featherfluff_tail
name = "featherfluff_tail"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_snowflake.dmi'
icon_state = "tuckerfeather_tail"
ckeys_allowed = list("tucker0666")
do_colouration = FALSE
/datum/sprite_accessory/tail/holly
name = "tigress tail (Holly)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_snowflake.dmi'
icon_state = "hoodootail"
ckeys_allowed = list("hoodoo")
do_colouration = FALSE
@@ -0,0 +1,61 @@
/datum/sprite_accessory/tail/eboop
name = "EGN mech tail (dual color)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_synth.dmi'
icon_state = "eboop"
extra_overlay = "eboop_mark"
/datum/sprite_accessory/tail/zenghu_taj
name = "Zeng-Hu Tajaran Synth tail"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_synth.dmi'
icon_state = "zenghu_taj"
/datum/sprite_accessory/tail/wartacosushi_tail //brightened +20RGB from matching roboparts
name = "Ward-Takahashi Tail"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_synth.dmi'
icon_state = "wardtakahashi_vulp"
/datum/sprite_accessory/tail/wartacosushi_tail_dc
name = "Ward-Takahashi Tail, dual-color"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_synth.dmi'
icon_state = "wardtakahashi_vulp_dc"
extra_overlay = "wardtakahashi_vulp_dc_mark"
/datum/sprite_accessory/tail/synthtail_static
name = "Synthetic lizard tail"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_synth.dmi'
icon_state = "synthtail"
/datum/sprite_accessory/tail/synthtail_vwag
name = "Synthetic lizard tail (vwag)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_synth.dmi'
icon_state = "synthtail"
ani_state = "synthtail_w"
/datum/sprite_accessory/tail/Plugtail
name = "Synthetic plug tail"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_synth.dmi'
icon_state = "Plugtail"
extra_overlay = "PlugtailMarking"
extra_overlay2 = "PlugtailMarking2"
/datum/sprite_accessory/tail/Segmentedtail
name = "Segmented tail, animated"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_synth.dmi'
icon_state = "Segmentedtail"
extra_overlay = "Segmentedtailmarking"
ani_state = "Segmentedtail_w"
extra_overlay_w = "Segmentedtailmarking_w"
/datum/sprite_accessory/tail/Segmentedlights
name = "Segmented tail, animated synth"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_synth.dmi'
icon_state = "Segmentedtail"
extra_overlay = "Segmentedlights"
ani_state = "Segmentedtail_w"
extra_overlay_w = "Segmentedlights_w"
/datum/sprite_accessory/tail/sectdrone_tail
name = "Sect Drone Tail (To use with bodytype-marking)"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_synth.dmi'
icon_state = "sectdrone_tail"
extra_overlay = "sectdrone_tail_mark"
@@ -0,0 +1,112 @@
/datum/sprite_accessory/tail/demi_tesh_feathered
name = "Demi-Teshari tail"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_teshari.dmi'
icon_state = "demi-tesh-kit-tail"
extra_overlay = "demi-tesh-kit-tail_floof"
/datum/sprite_accessory/tail/bigsnaketeshari
name = "Large snake tail, Teshari"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_teshari.dmi'
icon_state = "snaketailteshari"
/datum/sprite_accessory/tail/tesh_feathered
name = "Teshari tail"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_teshari.dmi'
icon_state = "teshtail_s"
extra_overlay = "teshtail_feathers_s"
/datum/sprite_accessory/tail/teshari_fluffytail
name = "Teshari alternative, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_teshari.dmi'
icon_state = "teshari_fluffytail"
extra_overlay = "teshari_fluffytail_mark"
/datum/sprite_accessory/tail/tesh_pattern_male
name = "Teshari male tail pattern"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_teshari.dmi'
icon_state = "teshtail_s"
extra_overlay = "teshpattern_male_tail"
/datum/sprite_accessory/tail/tesh_pattern_male_alt
name = "Teshari male tail alt. pattern"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_teshari.dmi'
icon_state = "teshtail_s"
extra_overlay = "teshpattern_male_alt"
/datum/sprite_accessory/tail/tesh_pattern_fem
name = "Teshari female tail pattern"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_teshari.dmi'
icon_state = "teshtail_s"
extra_overlay = "teshpattern_fem_tail"
/datum/sprite_accessory/tail/tesh_pattern_fem_alt
name = "Teshari fem tail alt. pattern"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_teshari.dmi'
icon_state = "teshtail_s"
extra_overlay = "teshpattern_fem_alt"
//Bug
/datum/sprite_accessory/tail/teshbeethorax
name = "Teshari bee thorax"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_teshari.dmi'
icon_state = "beethorax_tesh"
do_colouration = FALSE
/datum/sprite_accessory/tail/teshbuggo
name = "Teshari bug abdomen, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_teshari.dmi'
icon_state = "teshbug_s"
/datum/sprite_accessory/tail/teshbuggobee
name = "Teshari bug abdomen, bee top, dual-colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_teshari.dmi'
icon_state = "teshbug_s"
extra_overlay = "teshbee_markings"
/datum/sprite_accessory/tail/teshbeefull
name = "Teshari bug abdomen, bee full, dual-colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_teshari.dmi'
icon_state = "teshbug_s"
extra_overlay = "teshbeefull_markings"
/datum/sprite_accessory/tail/teshbuggounder
name = "Teshari bug abdomen, underside, dual-colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_teshari.dmi'
icon_state = "teshbug_s"
extra_overlay = "teshunder_markings"
/datum/sprite_accessory/tail/teshbuggofirefly
name = "Teshari bug abdomen, firefly, dual-colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_teshari.dmi'
icon_state = "teshbug_s"
extra_overlay = "teshfirefly_markings"
/datum/sprite_accessory/tail/fatteshbuggo
name = "Teshari fat bug abdomen, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_teshari.dmi'
icon_state = "teshbugfat_s"
/datum/sprite_accessory/tail/fatteshbuggobee
name = "Teshari fat bug abdomen, bee top, dual-colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_teshari.dmi'
icon_state = "teshbugfat_s"
extra_overlay = "teshfatbee_markings"
/datum/sprite_accessory/tail/fatteshbeefull
name = "Teshari fat bug abdomen, bee full, dual-colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_teshari.dmi'
icon_state = "teshbugfat_s"
extra_overlay = "teshfatbeefull_markings"
/datum/sprite_accessory/tail/fatteshbuggounder
name = "Teshari fat bug abdomen, underside, dual-colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_teshari.dmi'
icon_state = "teshbugfat_s"
extra_overlay = "teshfatunder_markings"
/datum/sprite_accessory/tail/fatteshbuggofirefly
name = "Teshari fat bug abdomen, firefly, dual-colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/tails_teshari.dmi'
icon_state = "teshbugfat_s"
extra_overlay = "teshfatfirefly_markings"
@@ -0,0 +1,84 @@
// This is for the Big legs that are NOT TAURIC AND DON'T NEED TO BE INVOLVED IN TAURIC LEGS AAAAAAAA
// These sprites should really be a seperate leg mode like digitigrade are.
/datum/sprite_accessory/tail/satyr
name = "goat legs, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/not_tail_legs.dmi'
icon_state = "satyr"
hide_body_parts = list(BP_L_LEG, BP_L_FOOT, BP_R_LEG, BP_R_FOOT) //Exclude pelvis just in case.
clip_mask_icon = 'icons/mob/human_races/sprite_accessories/biglegs.dmi'
clip_mask_state = "taur_clip_mask_def" //Used to clip off the lower part of suits & uniforms.
/datum/sprite_accessory/tail/satyrtail
name = "goat legs with tail, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/not_tail_legs.dmi'
icon_state = "satyr"
hide_body_parts = list(BP_L_LEG, BP_L_FOOT, BP_R_LEG, BP_R_FOOT) //Exclude pelvis just in case.
clip_mask_icon = 'icons/mob/human_races/sprite_accessories/biglegs.dmi'
clip_mask_state = "taur_clip_mask_def" //Used to clip off the lower part of suits & uniforms.
extra_overlay = "horse" //I can't believe this works.
/datum/sprite_accessory/tail/synthetic_stilt_legs
name = "synthetic stilt-legs, colorable"
icon = 'icons/mob/human_races/sprite_accessories/tails/not_tail_legs.dmi'
icon_state = "synth_stilts"
extra_overlay = "synth_stilts_marking"
hide_body_parts = list(BP_L_LEG, BP_L_FOOT, BP_R_LEG, BP_R_FOOT) //Exclude pelvis just in case.
clip_mask_icon = 'icons/mob/human_races/sprite_accessories/biglegs.dmi'
clip_mask_state = "taur_clip_mask_def" //Used to clip off the lower part of suits & uniforms.
/datum/sprite_accessory/tail/taur/bigleggy
name = "Big Leggies"
icon = 'icons/mob/human_races/sprite_accessories/biglegs.dmi'
icon_state = "bigleggy"
extra_overlay = "bigleggy_markings"
vore_tail_sprite_variant = "bigleggy"
fullness_icons = 3
ani_state = "bigleggy_stanced"
extra_overlay_w = "bigleggy_markings_stanced"
clip_mask_state = "taur_clip_mask_def" //Leaving this here to make it clear it it's INTENTIONAL it shows above clothes. Use the marking if you want it to show UNDER clothes!
/datum/sprite_accessory/tail/taur/bigleggy/canine
name = "Big Leggies (Canine Tail)"
extra_overlay2 = "bigleggy_canine"
extra_overlay2_w = "bigleggy_canine"
/datum/sprite_accessory/tail/taur/bigleggy/feline
name = "Big Leggies (Feline Tail)"
extra_overlay2 = "bigleggy_feline"
extra_overlay2_w = "bigleggy_feline"
/datum/sprite_accessory/tail/taur/bigleggy/reptile
name = "Big Leggies (Reptile Tail)"
extra_overlay2 = "bigleggy_reptile"
extra_overlay2_w = "bigleggy_reptile"
/datum/sprite_accessory/tail/taur/bigleggy/snake
name = "Big Leggies (Snake Tail)"
extra_overlay2 = "bigleggy_snake"
extra_overlay2_w = "bigleggy_snake"
/datum/sprite_accessory/tail/taur/bigleggy/fox
name = "Big Leggies (Fox Tail)"
extra_overlay2 = "bigleggy_vulpine"
extra_overlay2_w = "bigleggy_vulpine"
/datum/sprite_accessory/tail/taur/bigleggy/bird
name = "Big Leggies (Bird)"
extra_overlay = "bigleggy_m_bird"
extra_overlay2 = "bigleggy_bird"
extra_overlay_w = "bigleggy_m_bird_stanced"
extra_overlay2_w = "bigleggy_bird"
/datum/sprite_accessory/tail/taur/bigleggy/plug
name = "Big Leggies (Plug Tail)"
extra_overlay2 = "bigleggy_plug"
extra_overlay2_w = "bigleggy_plug"
/datum/sprite_accessory/tail/taur/bigleggy/AlienSlug
name = "Big Leggies (Alien Slug Tail)"
icon_state = "bigleggy_full_alienslug"
extra_overlay = "bigleggy_alienslug"
extra_overlay_w = "bigleggy_alienslug"
extra_overlay2 = "bigleggy_alienslug_m"
extra_overlay2_w = "bigleggy_alienslug_m"
@@ -0,0 +1,156 @@
/datum/sprite_accessory/tail/taur
name = DEVELOPER_WARNING_NAME
do_colouration = TRUE // Yes color, using tail color
color_blend_mode = ICON_MULTIPLY // The sprites for taurs are designed for ICON_MULTIPLY
var/can_ride = TRUE //whether we're real rideable taur or just in that category
offset_x = -16
em_block = TRUE
var/icon/suit_sprites = null //File for suit sprites, if any.
var/icon/under_sprites = null
var/icon_sprite_tag // This is where we put stuff like _Horse, so we can assign icons easier.
//Could do nested lists but it started becoming a nightmare. It'd be more fun for lookups of a_intent and m_intent, but then subtypes need to
//duplicate all the messages, and it starts getting awkward. These are singletons, anyway!
//Messages to owner when stepping on/over
var/msg_owner_help_walk = "You carefully step over %prey."
var/msg_owner_help_run = "You carefully step over %prey."
var/msg_owner_harm_walk = "You methodically place your foot down upon %prey's body, slowly applying pressure, crushing them against the floor below!"
var/msg_owner_harm_run = "You carelessly step down onto %prey, crushing them!"
var/msg_owner_disarm_walk = "You firmly push your foot down on %prey, painfully but harmlessly pinning them to the ground!"
var/msg_owner_disarm_run = "You quickly push %prey to the ground with your foot!"
var/msg_owner_grab_fail = "You step down onto %prey, squishing them and forcing them down to the ground!"
var/msg_owner_grab_success = "You pin %prey down onto the floor with your foot and curl your toes up around their body, trapping them inbetween them!"
//Messages to prey when stepping on/over
var/msg_prey_help_walk = "%owner steps over you carefully!"
var/msg_prey_help_run = "%owner steps over you carefully!"
var/msg_prey_harm_walk = "%owner methodically places their foot upon your body, slowly applying pressure, crushing you against the floor below!"
var/msg_prey_harm_run = "%owner steps carelessly on your body, crushing you!"
var/msg_prey_disarm_walk = "%owner firmly pushes their foot down on you, quite painfully but harmlessly pinning you to the ground!"
var/msg_prey_disarm_run = "%owner pushes you down to the ground with their foot!"
var/msg_prey_grab_fail = "%owner steps down and squishes you with their foot, forcing you down to the ground!"
var/msg_prey_grab_success = "%owner pins you down to the floor with their foot and curls their toes up around your body, trapping you inbetween them!"
//Messages for smalls moving under larges
var/msg_owner_stepunder = "%owner runs between your legs." //Weird becuase in the case this is used, %owner is the 'bumper' (src)
var/msg_prey_stepunder = "You run between %prey's legs." //Same, inverse
hide_body_parts = list(BP_L_LEG, BP_L_FOOT, BP_R_LEG, BP_R_FOOT) //Exclude pelvis just in case.
clip_mask_state = "taur_clip_mask_def" //Used to clip off the lower part of suits & uniforms.
/datum/riding/taur
keytype = /obj/item/material/twohanded/riding_crop // Crack!
nonhuman_key_exemption = FALSE // If true, nonhumans who can't hold keys don't need them, like borgs and simplemobs.
key_name = "a riding crop" // What the 'keys' for the thing being rided on would be called.
only_one_driver = TRUE // If true, only the person in 'front' (first on list of riding mobs) can drive.
/datum/riding/taur/handle_vehicle_layer()
if(ridden.has_buckled_mobs())
ridden.layer = initial(ridden.layer)
else
var/mob/living/L = ridden
if(!(istype(L) && (L.status_flags & HIDING)))
ridden.layer = initial(ridden.layer)
/datum/riding/taur/ride_check(mob/living/M)
var/mob/living/L = ridden
if(L.stat)
force_dismount(M)
return FALSE
return TRUE
/datum/riding/taur/force_dismount(mob/M)
. = ..()
ridden.visible_message(span_notice("[M] stops riding [ridden]!"))
//Hoooo boy.
/datum/riding/taur/get_offsets(pass_index) // list(dir = x, y, layer)
var/mob/living/L = ridden
var/scale_x = L.icon_scale_x * L.size_multiplier //VOREStation Edit Start
var/scale_y = L.icon_scale_y * L.size_multiplier
var/scale_difference = (L.size_multiplier - rider_size) * 10
var/list/values = list(
"[NORTH]" = list(0, 8*scale_y + scale_difference, ABOVE_MOB_LAYER),
"[SOUTH]" = list(0, 8*scale_y + scale_difference, BELOW_MOB_LAYER),
"[EAST]" = list(-10*scale_x, 8*scale_y + scale_difference, ABOVE_MOB_LAYER),
"[WEST]" = list(10*scale_x, 8*scale_y + scale_difference, ABOVE_MOB_LAYER)) //VOREStation Edit End
return values
//Human overrides for taur riding
/mob/living/carbon/human
max_buckled_mobs = 1 //Yeehaw
can_buckle = TRUE
buckle_movable = TRUE
buckle_lying = FALSE
/mob/living/carbon/human/buckle_mob(mob/living/M, forced = FALSE, check_loc = TRUE)
if(forced)
return ..() // Skip our checks
if(is_incorporeal(src) || is_incorporeal(M))
return FALSE
if(!istaurtail(tail_style))
return FALSE
else
var/datum/sprite_accessory/tail/taur/taurtype = tail_style
if(!taurtype.can_ride)
return FALSE
if(lying)
return FALSE
if(!ishuman(M))
return FALSE
if(M in buckled_mobs)
return FALSE
// if(M.size_multiplier > size_multiplier * 1.2)
// to_chat(M,span_warning("This isn't a pony show! You need to be bigger for them to ride."))
// return FALSE
if(M.loc != src.loc)
if(M.Adjacent(src))
M.forceMove(get_turf(src))
var/mob/living/carbon/human/H = M
if(istaurtail(H.tail_style))
to_chat(src,span_warning("Too many legs. TOO MANY LEGS!!"))
return FALSE
. = ..()
if(.)
riding_datum.rider_size = M.size_multiplier
buckled_mobs[M] = "riding"
/mob/living/carbon/human/MouseDrop_T(mob/living/M, mob/living/user) //Prevention for forced relocation caused by can_buckle. Base proc has no other use.
return
/mob/living/carbon/human/proc/taur_mount(mob/living/M in living_mobs(1))
set name = "Taur Mount/Dismount"
set category = "Abilities.General"
set desc = "Let people ride on you."
if(LAZYLEN(buckled_mobs) && riding_datum)
var/datum/riding/R = riding_datum
for(var/rider in buckled_mobs)
R.force_dismount(rider)
return
if (stat != CONSCIOUS)
return
if(!can_buckle || !istype(M) || !M.Adjacent(src) || M.buckled)
return
if(buckle_mob(M))
visible_message(span_notice("[M] starts riding [name]!"))
/mob/living/carbon/human/attack_hand(mob/user as mob)
if(LAZYLEN(buckled_mobs) && riding_datum)
//We're getting off!
if(user in buckled_mobs)
riding_datum.force_dismount(user)
//We're kicking everyone off!
if(user == src)
for(var/rider in buckled_mobs)
riding_datum.force_dismount(rider)
else
. = ..()
@@ -0,0 +1,432 @@
/datum/sprite_accessory/tail/taur/bunny
name = "Bunny (Taur, Fat vwag)"
icon = 'icons/rogue-star/tails_64x32_rs.dmi'
icon_state = "bnytr"
extra_overlay = "bnytr-m1"
extra_overlay2 = "bnytr-m2"
ani_state = "bnytr-f"
extra_overlay_w = "bnytr-m1"
extra_overlay2_w = "bnytr-f-m2"
can_loaf = TRUE
icon_loaf = 'icons/rogue-star/loafs_64x32.dmi'
loaf_offset = 4
/datum/sprite_accessory/tail/taur/cow
name = "Cow (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_animal.dmi'
icon_state = "cow_s"
suit_sprites = 'icons/mob/taursuits_cow.dmi'
icon_sprite_tag = "cow"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi'
loaf_offset = 3
vore_tail_sprite_variant = "Cow"
fullness_icons = 1
msg_owner_disarm_run = "You quickly push %prey to the ground with your hoof!"
msg_prey_disarm_run = "%owner pushes you down to the ground with their hoof!"
msg_owner_disarm_walk = "You firmly push your hoof down on %prey, painfully but harmlessly pinning them to the ground!"
msg_prey_disarm_walk = "%owner firmly pushes their hoof down on you, quite painfully but harmlessly pinning you to the ground!"
msg_owner_harm_walk = "You methodically place your hoof down upon %prey's body, slowly applying pressure, crushing them against the floor below!"
msg_prey_harm_walk = "%owner methodically places their hoof upon your body, slowly applying pressure, crushing you against the floor below!"
msg_owner_grab_success = "You pin %prey to the ground before scooping them up with your hooves!"
msg_prey_grab_success = "%owner pins you to the ground before scooping you up with their hooves!"
msg_owner_grab_fail = "You step down onto %prey, squishing them and forcing them down to the ground!"
msg_prey_grab_fail = "%owner steps down and squishes you with their hoof, forcing you down to the ground!"
/datum/sprite_accessory/tail/taur/cow/fat
name = "Fat Cow (Taur)"
icon_state = "fatcow_s"
/datum/sprite_accessory/tail/taur/cow/fat_wag
name = "Cow (Taur, Fat vwag)"
icon_state = "cow_s"
ani_state = "fatcow_s"
/datum/sprite_accessory/tail/taur/cow/paw // this grabs suit sprites from the normal cow, the outline is the same
name = "Cow w/ paws (Taur)"
icon_state = "pawcow_s"
extra_overlay = "pawcow_markings"
suit_sprites = 'icons/mob/taursuits_cow.dmi'
icon_sprite_tag = "cow"
msg_owner_disarm_run = "You quickly push %prey to the ground with your paw!"
msg_prey_disarm_run = "%owner pushes you down to the ground with their paw!"
msg_owner_disarm_walk = "You firmly push your paw down on %prey, painfully but harmlessly pinning them to the ground!"
msg_prey_disarm_walk = "%owner firmly pushes their paw down on you, quite painfully but harmlessly pinning you to the ground!"
msg_owner_harm_walk = "You methodically place your paw down upon %prey's body, slowly applying pressure, crushing them against the floor below!"
msg_prey_harm_walk = "%owner methodically places their paw upon your body, slowly applying pressure, crushing you against the floor below!"
msg_owner_grab_success = "You pin %prey to the ground before scooping them up with your paws!"
msg_prey_grab_success = "%owner pins you to the ground before scooping you up with their paws!"
msg_owner_grab_fail = "You step down onto %prey, squishing them and forcing them down to the ground!"
msg_prey_grab_fail = "%owner steps down and squishes you with their paw, forcing you down to the ground!"
/datum/sprite_accessory/tail/taur/deer
name = "Deer dual-color (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_animal.dmi'
icon_state = "deer_s"
extra_overlay = "deer_markings"
suit_sprites = 'icons/mob/taursuits_deer.dmi'
icon_sprite_tag = "deer"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi'
loaf_offset = 7
vore_tail_sprite_variant = "Deer"
belly_variant_when_loaf = TRUE
fullness_icons = 3
msg_owner_disarm_run = "You quickly push %prey to the ground with your hoof!"
msg_prey_disarm_run = "%owner pushes you down to the ground with their hoof!"
msg_owner_disarm_walk = "You firmly push your hoof down on %prey, painfully but harmlessly pinning them to the ground!"
msg_prey_disarm_walk = "%owner firmly pushes their hoof down on you, quite painfully but harmlessly pinning you to the ground!"
msg_owner_harm_walk = "You methodically place your hoof down upon %prey's body, slowly applying pressure, crushing them against the floor below!"
msg_prey_harm_walk = "%owner methodically places their hoof upon your body, slowly applying pressure, crushing you against the floor below!"
msg_owner_grab_success = "You pin %prey to the ground before scooping them up with your hooves!"
msg_prey_grab_success = "%owner pins you to the ground before scooping you up with their hooves!"
msg_owner_grab_fail = "You step down onto %prey, squishing them and forcing them down to the ground!"
msg_prey_grab_fail = "%owner steps down and squishes you with their hoof, forcing you down to the ground!"
/datum/sprite_accessory/tail/taur/deer/deer_wag
name = "Deer vwag (Dual-color, Taur, Fat)"
icon_state = "deer_s"
ani_state = "fatdeer_s"
extra_overlay_w = "fatdeer_markings"
/datum/sprite_accessory/tail/taur/deer/fatdeer
name = "Fat Deer (Dual-color Taur)"
icon_state = "fatdeer_s"
extra_overlay = "fatdeer_markings"
/datum/sprite_accessory/tail/taur/feline
name = "Feline (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_animal.dmi'
icon_state = "feline_s" //I just want to talk to whomever thought every feline varient needed this same sprite but uniquely renamed...
suit_sprites = 'icons/mob/taursuits_deer.dmi'
icon_sprite_tag = "feline"
extra_overlay = "feline_markings"
ani_state = "feline_w"
extra_overlay_w = "feline_markings" //Honestly there ought to be a wag overlay, but the ones here are too faint that... nah.
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi'
loaf_offset = 5
vore_tail_sprite_variant = "Feline"
belly_variant_when_loaf = TRUE
fullness_icons = 1
/datum/sprite_accessory/tail/taur/feline/fat
name = "Fat Feline (Taur)"
icon_state = "fatfeline_s"
extra_overlay = "fatfeline_markings" //feet, belly, and chest
ani_state = "fatfeline_w"
extra_overlay_w = "fatfeline_markings"
loaf_offset = 3
/datum/sprite_accessory/tail/taur/feline/fat_wag
name = "Fat Feline (Taur, Fat vwag)"
ani_state = "fatfeline_s" //static fat sprite
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi'
loaf_offset = 3
/datum/sprite_accessory/tail/taur/feline/fatfeline_2c
name = "Fat Feline 3-color (Taur)"
icon_state = "fatfeline_s"
extra_overlay = "fatfeline2_markings" // chest and belly
extra_overlay2 = "fatfeline2_markings_2" // feet
can_loaf = TRUE
loaf_offset = 3
/datum/sprite_accessory/tail/taur/feline/feline_2c
name = "Feline 3-color (Taur)"
icon_state = "feline_s"
extra_overlay = "feline2_markings"
extra_overlay2 = "feline2_markings_2"
//icon_sprite_tag = "feline2c"
can_loaf = TRUE
/datum/sprite_accessory/tail/taur/feline/feline_2c_wag
name = "Feline 3-color (Taur, Fat vwag)"
extra_overlay = "feline2_markings"
extra_overlay2 = "feline2_markings_2"
ani_state = "fatfeline_s"
extra_overlay = "fatfeline2_markings"
extra_overlay2 = "fatfeline2_markings_2"
loaf_offset = 3
/datum/sprite_accessory/tail/taur/feline/tiger
name = "Tiger (Taur)"
suit_sprites = 'icons/mob/taursuits_deer.dmi'
icon_sprite_tag = "feline"
extra_overlay = "feline_markings"
extra_overlay2 = "tiger_markings"
extra_overlay2_w = "tiger_markings_w"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi'
loaf_offset = 5
vore_tail_sprite_variant = "Feline"
belly_variant_when_loaf = TRUE
fullness_icons = 1
/datum/sprite_accessory/tail/taur/feline/tiger/fat
name = "Fat Tiger (Taur)"
icon_state = "fatfeline_s"
extra_overlay = "fatfeline_markings"
extra_overlay2 = "fattiger_markings"
extra_overlay2_w = "fattiger_markings_w"
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi'
loaf_offset = 3
/datum/sprite_accessory/tail/taur/feline/tiger/fat_vwag
name = "Tiger (Taur, Fat vwag)"
ani_state = "fatfeline_s"
extra_overlay_w = "fatfeline_markings"
extra_overlay2_w = "fattiger_markings"
/datum/sprite_accessory/tail/taur/fox
name = "Fox (Taur, 3-color)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_animal.dmi'
icon_state = "fox"
extra_overlay = "fox_markings"
extra_overlay2 = "fox_markings2"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi'
vore_tail_sprite_variant = "F"
fullness_icons = 3
loaf_offset = 4
/datum/sprite_accessory/tail/taur/fox/kitsune
name = "Kitsune (Taur)"
icon_state = "kitsune"
extra_overlay = "kitsune_markings"
extra_overlay2 = "kitsune_markings2"
/datum/sprite_accessory/tail/taur/frog
name = "Frog (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_animal.dmi'
icon_state = "frog_s"
icon_sprite_tag = "frog"
/datum/sprite_accessory/tail/taur/horse
name = "Horse (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_animal.dmi'
icon_state = "horse_s"
under_sprites = 'icons/mob/taursuits_horse.dmi'
suit_sprites = 'icons/mob/taursuits_horse.dmi'
icon_sprite_tag = "horse"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi'
loaf_offset = 4
vore_tail_sprite_variant = "Horse"
fullness_icons = 1
msg_owner_disarm_run = "You quickly push %prey to the ground with your hoof!"
msg_prey_disarm_run = "%owner pushes you down to the ground with their hoof!"
msg_owner_disarm_walk = "You firmly push your hoof down on %prey, painfully but harmlessly pinning them to the ground!"
msg_prey_disarm_walk = "%owner firmly pushes their hoof down on you, quite painfully but harmlessly pinning you to the ground!"
msg_owner_harm_walk = "You methodically place your hoof down upon %prey's body, slowly applying pressure, crushing them against the floor below!"
msg_prey_harm_walk = "%owner methodically places their hoof upon your body, slowly applying pressure, crushing you against the floor below!"
msg_owner_grab_success = "You pin %prey to the ground before scooping them up with your hooves!"
msg_prey_grab_success = "%owner pins you to the ground before scooping you up with their hooves!"
msg_owner_grab_fail = "You step down onto %prey, squishing them and forcing them down to the ground!"
msg_prey_grab_fail = "%owner steps down and squishes you with their hoof, forcing you down to the ground!"
/datum/sprite_accessory/tail/taur/horse/big
name = "Kentauri (Taur)"
icon_state = "kentauri_s"
extra_overlay = "kentauri_markings"
/datum/sprite_accessory/tail/taur/horse/horse_2c
name = "Horse & colorable tail (Taur)"
extra_overlay = "horse_markings"
//icon_sprite_tag = "wolf2c"
/datum/sprite_accessory/tail/taur/otie
name = "Otie (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_animal.dmi'
icon_state = "otie_s"
extra_overlay = "otie_markings"
extra_overlay2 = "otie_markings_2"
suit_sprites = 'icons/mob/taursuits_otie.dmi'
icon_sprite_tag = "otie"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi'
loaf_offset = 5
vore_tail_sprite_variant = "Otie"
belly_variant_when_loaf = TRUE
fullness_icons = 1
/datum/sprite_accessory/tail/taur/rat
name = "Rat (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_animal.dmi'
icon_state = "rat_s"
extra_overlay = "rat_markings"
clip_mask_state = "taur_clip_mask_rat"
icon_sprite_tag = "rat"
/datum/sprite_accessory/tail/taur/redpanda
name = "Red Panda (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_animal.dmi'
icon_state = "redpanda"
/datum/sprite_accessory/tail/taur/redpanda/dc
name = "Red Panda (Taur dual-color)"
icon_state = "redpanda_dc"
extra_overlay = "redpanda_dc_markings"
/datum/sprite_accessory/tail/taur/sergal/wheaties
name = "Sergal (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_animal.dmi'
icon_state = "sergwheat"
icon_sprite_tag = "wolf"
vore_tail_sprite_variant = "N"
fullness_icons = 3
struggle_anim = TRUE
/datum/sprite_accessory/tail/taur/sergal/wheaties/fat
name = "Fat Sergal (Taur)"
icon_state = "fatsergal"
icon_sprite_tag = "wolf"
vore_tail_sprite_variant = "N"
fullness_icons = 3
struggle_anim = TRUE
/datum/sprite_accessory/tail/taur/sergal/wheaties_2c
name = "Sergal (Taur, dual-color)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_animal.dmi'
icon_state = "sergwheat"
extra_overlay = "sergwheat_markings"
icon_sprite_tag = "wolf"
vore_tail_sprite_variant = "N"
fullness_icons = 3
struggle_anim = TRUE
/datum/sprite_accessory/tail/taur/sergal/wheaties_2c/fat
name = "Fat Sergal (Taur, dual-color)"
icon_state = "fatsergal"
extra_overlay = "sergwheat_markings"
icon_sprite_tag = "wolf"
vore_tail_sprite_variant = "N"
fullness_icons = 3
struggle_anim = TRUE
/datum/sprite_accessory/tail/taur/skunk
name = "Skunk (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_animal.dmi'
icon_state = "skunk_s"
extra_overlay = "skunk_markings"
extra_overlay2 = "skunk_markings_2"
icon_sprite_tag = "skunk"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi'
loaf_offset = 3
vore_tail_sprite_variant = "Skunk" //Sadly there appears to be no sprites... For now!
belly_variant_when_loaf = TRUE
fullness_icons = 1
/datum/sprite_accessory/tail/taur/wolf
name = "Wolf (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_animal.dmi'
icon_state = "wolf_s"
under_sprites = 'icons/mob/taursuits_wolf.dmi'
suit_sprites = 'icons/mob/taursuits_wolf.dmi'
icon_sprite_tag = "wolf"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi'
loaf_offset = 4
vore_tail_sprite_variant = "N"
fullness_icons = 3
struggle_anim = TRUE
/datum/sprite_accessory/tail/taur/wolf/fat
name = "Fat Wolf (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_animal.dmi'
icon_state = "fatwolf_s"
icon_sprite_tag = "wolf" //This could be modified later.
loaf_offset = 3
/datum/sprite_accessory/tail/taur/wolf/fat_wag
name = "Wolf (Taur, Fat vwag)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_animal.dmi'
icon_state = "wolf_s"
ani_state = "fatwolf_s"
/datum/sprite_accessory/tail/taur/wolf/fatwolf_2c
name = "Fat Wolf 3-color (Taur)"
icon_state = "fatwolf2_s"
extra_overlay = "fatwolf2_markings"
extra_overlay2 = "fatwolf2_markings_2"
loaf_offset = 3
/datum/sprite_accessory/tail/taur/wolf/fatwolf_2c/fatwolfalt
name = "Fat Wolf 3-color-alt (Taur)"
icon_state = "fatwolfalt_s"
extra_overlay = "fatwolfalt_markings1"
extra_overlay2 = "fatwolfalt_markings2"
icon_sprite_tag = "wolf"
/datum/sprite_accessory/tail/taur/wolf/wolf_2c
name = "Wolf 3-color (Taur)"
icon_state = "wolf_s"
extra_overlay = "wolf_markings"
extra_overlay2 = "wolf_markings_2"
//icon_sprite_tag = "wolf2c"
/datum/sprite_accessory/tail/taur/wolf/wolf_2c_wag
name = "Wolf 3-color (Taur, Fat vwag)"
icon_state = "wolf2_s"
extra_overlay = "wolf2_markings"
extra_overlay2 = "wolf2_markings_2"
extra_overlay_w = "fatwolf2_markings"
extra_overlay2_w = "fatwolf2_markings_2"
ani_state = "fatwolf2_s"
/datum/sprite_accessory/tail/taur/wolf/wolf_3
name = "WolfTG (Taur)" //It's Citadel, not TG. :V
icon_state = "wolf3_s"
do_colouration = FALSE //this is already pre-colored.
/datum/sprite_accessory/tail/taur/wolf/husky
name = "Husky (Taur)"
icon_state = "husky_s"
/datum/sprite_accessory/tail/taur/wolf/huskyfat
name = "Fat Husky (Taur)"
icon_state = "huskyf_s"
/datum/sprite_accessory/tail/taur/zorgoia
name = "Zorgoia (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_animal.dmi'
icon_state = "zorgoia"
extra_overlay = "zorgoia_fluff"
/datum/sprite_accessory/tail/taur/zorgoia/fat
name = "Zorgoia (Fat Taur)"
extra_overlay = "zorgoia_fat2"
/datum/sprite_accessory/tail/taur/zorgoia_new
name = "Zorgoia (Taur) (New)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_animal.dmi'
icon_state = "zorgoia_new"
extra_overlay = "zorgoia_new_fluff"
/datum/sprite_accessory/tail/taur/zorgoia_new/fat
name = "Zorgoia (Fat Taur) (New)"
icon_state = "zorgoia_new_fat"
extra_overlay = "zorgoia_new_fat_overlay"
@@ -0,0 +1,257 @@
/datum/sprite_accessory/tail/taur/alraune/alraune_2c
name = "Alraune (dual color)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_exotic.dmi'
icon_state = "alraunecolor_s"
ani_state = "alraunecolor_closed_s"
ckeys_allowed = null
do_colouration = TRUE
extra_overlay = "alraunecolor_markings"
extra_overlay_w = "alraunecolor_closed_markings"
clip_mask_state = "taur_clip_mask_alraune"
icon_sprite_tag = "alraune"
/datum/sprite_accessory/tail/taur/giantspider
name = "Giant Spider (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_exotic.dmi'
icon_state = "giantspidertaur"
do_colouration = FALSE
extra_overlay = null
icon_sprite_tag = "giantspidertaur"
msg_owner_disarm_run = "You quickly push %prey to the ground with your leg!"
msg_prey_disarm_run = "%owner pushes you down to the ground with their leg!"
msg_owner_disarm_walk = "You firmly push your leg down on %prey, painfully but harmlessly pinning them to the ground!"
msg_prey_disarm_walk = "%owner firmly pushes their leg down on you, quite painfully but harmlessly pinning you to the ground!"
msg_owner_harm_walk = "You methodically place your leg down upon %prey's body, slowly applying pressure, crushing them against the floor!"
msg_prey_harm_walk = "%owner methodically places their leg upon your body, slowly applying pressure, crushing you against the floor!"
msg_owner_grab_success = "You pin %prey down on the ground with your front leg before using your other leg to pick them up, trapping them between two of your front legs!"
msg_prey_grab_success = "%owner pins you down on the ground with their front leg before using their other leg to pick you up, trapping you between two of their front legs!"
msg_owner_grab_fail = "You step down onto %prey, squishing them and forcing them down to the ground!"
msg_prey_grab_fail = "%owner steps down and squishes you with their leg, forcing you down to the ground!"
/datum/sprite_accessory/tail/taur/giantspider/colorable
name = "Giant Spider dual-color (Taur)"
icon_state = "giantspidertaur-colorable"
do_colouration = TRUE
extra_overlay = "giantspidertaur-colorable-markings"
icon_sprite_tag = "giantspidertaur-colorable"
/datum/sprite_accessory/tail/taur/giantspider/carrier
name = "Carrier Spider (Taur)"
icon_state = "carrierspidertaur"
extra_overlay = null
icon_sprite_tag = "carrierspidertaur"
/datum/sprite_accessory/tail/taur/giantspider/phoron
name = "Phorogenic Spider (Taur)"
icon_state = "phoronspidertaur"
extra_overlay = null
icon_sprite_tag = "phoronspidertaur"
/datum/sprite_accessory/tail/taur/giantspider/spark
name = "Voltaic Spider (Taur)"
icon_state = "sparkspidertaur"
extra_overlay = null
icon_sprite_tag = "sparkspidertaur"
/datum/sprite_accessory/tail/taur/giantspider/frost
name = "Frost Spider (Taur)"
icon_state = "frostspidertaur"
extra_overlay = null
icon_sprite_tag = "frostspidertaur"
/datum/sprite_accessory/tail/taur/giantspider/ant //technically not a spider, but it inherits the same messages
name = "Ant (dual color)"
icon_state = "ant_s"
do_colouration = TRUE
extra_overlay = "ant_markings"
clip_mask_state = "taur_clip_mask_wasp"
icon_sprite_tag = "wasp"
/datum/sprite_accessory/tail/taur/giantspider/wasp //same as above, but for wasps
name = "Wasp (dual color)"
icon_state = "wasp_s"
do_colouration = TRUE
extra_overlay = "wasp_markings"
clip_mask_state = "taur_clip_mask_wasp"
icon_sprite_tag = "wasp"
/datum/sprite_accessory/tail/taur/mermaid
name = "Mermaid (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_exotic.dmi'
icon_state = "mermaid_s"
can_ride = FALSE
icon_sprite_tag = "mermaid"
msg_owner_help_walk = "You carefully slither around %prey."
msg_prey_help_walk = "%owner's huge tail slithers past beside you!"
msg_owner_help_run = "You carefully slither around %prey."
msg_prey_help_run = "%owner's huge tail slithers past beside you!"
msg_owner_disarm_run = "Your tail slides over %prey, pushing them down to the ground!"
msg_prey_disarm_run = "%owner's tail slides over you, forcing you down to the ground!"
msg_owner_disarm_walk = "You push down on %prey with your tail, pinning them down under you!"
msg_prey_disarm_walk = "%owner pushes down on you with their tail, pinning you down below them!"
msg_owner_harm_run = "Your heavy tail carelessly slides past %prey, crushing them!"
msg_prey_harm_run = "%owner quickly goes over your body, carelessly crushing you with their heavy tail!"
msg_owner_harm_walk = "Your heavy tail slowly and methodically slides down upon %prey, crushing against the floor below!"
msg_prey_harm_walk = "%owner's thick, heavy tail slowly and methodically slides down upon your body, mercilessly crushing you into the floor below!"
msg_owner_grab_success = "You slither over %prey with your large, thick tail, smushing them against the ground before coiling up around them, trapping them within the tight confines of your tail!"
msg_prey_grab_success = "%owner slithers over you with their large, thick tail, smushing you against the ground before coiling up around you, trapping you within the tight confines of their tail!"
msg_owner_grab_fail = "You squish %prey under your large, thick tail, forcing them onto the ground!"
msg_prey_grab_fail = "%owner pins you under their large, thick tail, forcing you onto the ground!"
msg_prey_stepunder = "You jump over %prey's thick tail."
msg_owner_stepunder = "%owner bounds over your tail."
/datum/sprite_accessory/tail/taur/mermaid/alt
name = "Mermaid Alt. (Taur)"
icon_state = "altmermaid_s"
icon_sprite_tag = "altmermaid"
/datum/sprite_accessory/tail/taur/mermaid/alt/marked
name = "Mermaid Koi (Taur)"
icon_state = "altmermaid_s"
extra_overlay = "altmermaid_markings"
extra_overlay2 = "altmermaid_markings2"
/datum/sprite_accessory/tail/taur/horse/scoli
name = "Scolipede (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_exotic.dmi'
icon_state = "scoli_s"
extra_overlay = "scoli_markings1"
extra_overlay2 = "scoli_markings2"
/datum/sprite_accessory/tail/taur/spider
name = "Spider (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_exotic.dmi'
icon_state = "spider_s"
suit_sprites = 'icons/mob/taursuits_spider.dmi'
icon_sprite_tag = "spider"
msg_owner_disarm_run = "You quickly push %prey to the ground with your leg!"
msg_prey_disarm_run = "%owner pushes you down to the ground with their leg!"
msg_owner_disarm_walk = "You firmly push your leg down on %prey, painfully but harmlessly pinning them to the ground!"
msg_prey_disarm_walk = "%owner firmly pushes their leg down on you, quite painfully but harmlessly pinning you to the ground!"
msg_owner_harm_walk = "You methodically place your leg down upon %prey's body, slowly applying pressure, crushing them against the floor below!"
msg_prey_harm_walk = "%owner methodically places their leg upon your body, slowly applying pressure, crushing you against the floor below!"
msg_owner_grab_success = "You pin %prey down on the ground with your front leg before using your other leg to pick them up, trapping them between two of your front legs!"
msg_prey_grab_success = "%owner pins you down on the ground with their front leg before using their other leg to pick you up, trapping you between two of their front legs!"
msg_owner_grab_fail = "You step down onto %prey, squishing them and forcing them down to the ground!"
msg_prey_grab_fail = "%owner steps down and squishes you with their leg, forcing you down to the ground!"
/datum/sprite_accessory/tail/taur/sloog
name = "Sloog (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_exotic.dmi'
icon_state = "sloog"
extra_overlay = "sloog_glowstripe"
extra_overlay_w = "sloog_glowstripe"
can_loaf = FALSE
/datum/sprite_accessory/tail/taur/slug
name = "Slug (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_exotic.dmi'
icon_state = "slug_s"
suit_sprites = 'icons/mob/taursuits_deer.dmi' //Yes it sounds odd, but they share the same sprites.
icon_sprite_tag = "slug"
vore_tail_sprite_variant = "Slug"
fullness_icons = 1
msg_owner_help_walk = "You carefully slither around %prey."
msg_prey_help_walk = "%owner's huge tail slithers past beside you!"
msg_owner_help_run = "You carefully slither around %prey."
msg_prey_help_run = "%owner's huge tail slithers past beside you!"
msg_owner_disarm_run = "Your tail slides over %prey, pushing them down to the ground!"
msg_prey_disarm_run = "%owner's tail slides over you, forcing you down to the ground!"
msg_owner_disarm_walk = "You push down on %prey with your tail, pinning them down under you!"
msg_prey_disarm_walk = "%owner pushes down on you with their tail, pinning you down below them!"
msg_owner_harm_run = "Your heavy tail carelessly slides past %prey, crushing them!"
msg_prey_harm_run = "%owner quickly goes over your body, carelessly crushing you with their heavy tail!"
msg_owner_harm_walk = "Your heavy tail slowly and methodically slides down upon %prey, crushing against the floor below!"
msg_prey_harm_walk = "%owner's thick, heavy tail slowly and methodically slides down upon your body, mercilessly crushing you into the floor below!"
msg_owner_grab_success = "You slither over %prey with your large, thick tail, smushing them against the ground before coiling up around them, trapping them within the tight confines of your tail!"
msg_prey_grab_success = "%owner slithers over you with their large, thick tail, smushing you against the ground before coiling up around you, trapping you within the tight confines of their tail!"
msg_owner_grab_fail = "You squish %prey under your large, thick tail, forcing them onto the ground!"
msg_prey_grab_fail = "%owner pins you under their large, thick tail, forcing you onto the ground!"
msg_prey_stepunder = "You jump over %prey's thick tail."
msg_owner_stepunder = "%owner bounds over your tail."
/datum/sprite_accessory/tail/taur/slug/snail
name = "Snail (Taur)"
icon_state = "slug_s"
extra_overlay = "snail_shell_marking"
/datum/sprite_accessory/tail/taur/tents
name = "Tentacles (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_exotic.dmi'
icon_state = "tent_s"
icon_sprite_tag = "tentacle"
can_ride = 0
msg_prey_stepunder = "You run between %prey's tentacles."
msg_owner_stepunder = "%owner runs between your tentacles."
msg_owner_disarm_run = "You quickly push %prey to the ground with some of your tentacles!"
msg_prey_disarm_run = "%owner pushes you down to the ground with some of their tentacles!"
msg_owner_disarm_walk = "You push down on %prey with some of your tentacles, pinning them down firmly under you!"
msg_prey_disarm_walk = "%owner pushes down on you with some of their tentacles, pinning you down firmly below them!"
msg_owner_harm_run = "Your tentacles carelessly slide past %prey, crushing them!"
msg_prey_harm_run = "%owner quickly goes over your body, carelessly crushing you with their tentacles!"
msg_owner_harm_walk = "Your tentacles methodically apply pressure on %prey's body, crushing them against the floor below!"
msg_prey_harm_walk = "%owner's thick tentacles methodically apply pressure on your body, crushing you into the floor below!"
msg_owner_grab_success = "You slide over %prey with your tentacles, smushing them against the ground before wrapping one up around them, trapping them within the tight confines of your tentacles!"
msg_prey_grab_success = "%owner slides over you with their tentacles, smushing you against the ground before wrapping one up around you, trapping you within the tight confines of their tentacles!"
msg_owner_grab_fail = "You step down onto %prey with one of your tentacles, forcing them onto the ground!"
msg_prey_grab_fail = "%owner steps down onto you with one of their tentacles, squishing you and forcing you onto the ground!"
/datum/sprite_accessory/tail/taur/tents/thick
name = "Thick Tentacles (Taur)"
icon_state = "tentacle_s"
can_ride = FALSE
icon_sprite_tag = "thick_tentacles"
/datum/sprite_accessory/tail/taur/treeoak_roots
name = "Tree Roots (Oak)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_exotic.dmi'
icon_state = "tree_oak_roots"
can_ride = FALSE
/*
/datum/sprite_accessory/tail/taur/teppi // Mostly used as example/template/test subject as to how you use the 'big' taur sprites. Pls give it better icons before uncommenting...
name = "Teppi (Taur)"
icon_state = "teppi_s"
clip_mask_icon = 'icons/mob/vore/taurs128x64.dmi'
icon = 'icons/mob/vore/taurs128x64.dmi'
clip_mask_state = "taur_clip_mask_teppi"
icon_sprite_tag = "teppi"
offset_x = -32
offset_y = -11
mob_offset_y = 11
*/
@@ -0,0 +1,288 @@
/datum/sprite_accessory/tail/taur/drake //Enabling on request, no suit compatibility but then again see 2 above.
name = "Drake (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_reptile.dmi'
icon_state = "drake_s"
extra_overlay = "drake_markings"
/// suit_sprites = 'icons/mob/taursuits_drake.dmi'
suit_sprites = 'icons/mob/taursuits_drake_ch.dmi'
icon_sprite_tag = "drake"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi'
loaf_offset = 6
vore_tail_sprite_variant = "Drake"
belly_variant_when_loaf = TRUE
fullness_icons = 3
/datum/sprite_accessory/tail/taur/drake/fat
name = "Fat Drake (Taur)"
icon_state = "fatdrake_s"
extra_overlay = "fatdrake_markings"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi'
loaf_offset = 6
/datum/sprite_accessory/tail/taur/drake/drake_vwag
name = "Drake (Taur, Fat vwag)"
icon_state = "drake_s"
extra_overlay = "drake_markings"
ani_state = "fatdrake_s"
extra_overlay_w = "fatdrake_markings"
can_loaf = TRUE
/datum/sprite_accessory/tail/taur/drake/extended
name = "Fat Drake Extended (Taur)"
icon_state = "extended_fatdrake"
extra_overlay = "extended_fatdrake_markings"
extra_overlay2 = "extended_fatdrake_markings2"
fullness_icons = 2
can_loaf = TRUE //Soon //Actually, NOW
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi' //This file needs to be nuked during the removal of 'taurs_ch_loaf.dmi' into the normal loaf file.
loaf_offset = 5
/datum/sprite_accessory/tail/taur/drake/extended/spotty
name = "Fat Spotted Drake Extended (Taur)"
vore_tail_sprite_variant = "FatDrake"
icon_state = "spottedextended_fatdrake"
extra_overlay = "spottedextended_fatdrake_markings"
extra_overlay_w = "spottedextended_fatdrake_markings"
extra_overlay2 = "spottedextended_fatdrake_markings_2"
extra_overlay2_w = "spottedextended_fatdrake_markings_2"
fullness_icons = 2
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi' //This file needs to be nuked during the removal of 'taurs_ch_loaf.dmi' into the normal loaf file.
loaf_offset = 5
/datum/sprite_accessory/tail/taur/drake/spotty
name = "Spotted Drake (Taur, Tricolor)"
icon_state = "spotteddrake_s"
extra_overlay = "spotteddrake_markings"
extra_overlay_w = "spotteddrake_markings"
extra_overlay2 = "spotteddrake_markings_2"
extra_overlay2_w = "spotteddrake_markings_2"
suit_sprites = 'icons/mob/taursuits_drake_ch.dmi'
icon_sprite_tag = "drake"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi' //This file needs to be nuked during the removal of 'taurs_ch_loaf.dmi' into the normal loaf file.
loaf_offset = 6
/datum/sprite_accessory/tail/taur/drake/fat/spotty
name = "Fat Spotted Drake (Taur, Tricolor)"
vore_tail_sprite_variant = "FatDrake"
icon_state = "fatspotteddrake_s"
extra_overlay = "fatspotteddrake_markings"
extra_overlay_w = "fatspotteddrake_markings"
extra_overlay2 = "fatspotteddrake_markings_2"
extra_overlay2_w = "fatspotteddrake_markings_2"
fullness_icons = 2
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi' //This file needs to be nuked during the removal of 'taurs_ch_loaf.dmi' into the normal loaf file.
loaf_offset = 6
/datum/sprite_accessory/tail/taur/drake/extended_alt
name = "Drake Extended (Taur)"
vore_tail_sprite_variant = "Drake"
icon_state = "extended_drake"
extra_overlay = "extended_drake_markings"
extra_overlay_w = "extended_drake_markings"
extra_overlay2 = "extended_drake_markings_2"
extra_overlay2_w = "extended_drake_markings_2"
fullness_icons = 3
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi'
loaf_offset = 5
/datum/sprite_accessory/tail/taur/drake/extended_alt/spotted
name = "Spotted Drake Extended (Taur)"
vore_tail_sprite_variant = "Drake"
icon_state = "spottedextended_drake"
extra_overlay = "spottedextended_drake_markings"
extra_overlay_w = "spottedextended_drake_markings"
extra_overlay2 = "spottedextended_drake_markings_2"
extra_overlay2_w = "spottedextended_drake_markings_2"
fullness_icons = 3
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi' //This file needs to be nuked during the removal of 'taurs_ch_loaf.dmi' into the normal loaf file.
loaf_offset = 5
/datum/sprite_accessory/tail/taur/lizard
name = "Lizard (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_reptile.dmi'
icon_state = "lizard_s"
suit_sprites = 'icons/mob/taursuits_lizard_ch.dmi'
icon_sprite_tag = "lizard"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi'
loaf_offset = 5
vore_tail_sprite_variant = "Lizard"
fullness_icons = 1
/datum/sprite_accessory/tail/taur/lizard/fatlizard
name = "Fat Lizard (Taur)"
icon_state = "fatlizard_s"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi'
loaf_offset = 3
/datum/sprite_accessory/tail/taur/lizard/lizard_wag
name = "Lizard (Taur, Fat vwag)"
icon_state = "lizard_s"
ani_state = "fatlizard_s"
/datum/sprite_accessory/tail/taur/lizard/lizard_2c
name = "Lizard dual-color (Taur)"
icon_state = "lizard_s"
extra_overlay = "lizard_markings"
//icon_sprite_tag = "lizard2c"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi'
loaf_offset = 5
/datum/sprite_accessory/tail/taur/lizard/fatlizard_2c
name = "Fat Lizard (Taur, dual-color)"
icon_state = "fatlizard_s"
extra_overlay = "fatlizard_markings"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi'
loaf_offset = 3
/datum/sprite_accessory/tail/taur/lizard/lizard_2c_wag
name = "Fat Lizard (Taur, dual-color, Fat vwag)"
icon_state = "lizard_s"
extra_overlay = "lizard_markings"
ani_state = "fatlizard_s"
extra_overlay_w = "fatlizard_markings"
/datum/sprite_accessory/tail/taur/lizard/spotty
name = "Spotted Lizard (Taur, Tricolor)"
icon_state = "spottedlizard_s"
extra_overlay = "spottedlizard_markings"
extra_overlay_w = "spottedlizard_markings"
extra_overlay2 = "spottedlizard_markings_2"
extra_overlay2_w = "spottedlizard_markings_2"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi' //This file needs to be nuked during the removal of 'taurs_ch_loaf.dmi' into the normal loaf file.
loaf_offset = 5
/datum/sprite_accessory/tail/taur/lizard/spotty_fat
name = "Fat Spotted Lizard (Taur, Tricolor)"
icon_state = "fatspottedlizard_s"
extra_overlay = "fatspottedlizard_markings"
extra_overlay_w = "fatspottedlizard_markings"
extra_overlay2 = "fatspottedlizard_markings_2"
extra_overlay2_w = "fatspottedlizard_markings_2"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi' //This file needs to be nuked during the removal of 'taurs_ch_loaf.dmi' into the normal loaf file.
loaf_offset = 3
/datum/sprite_accessory/tail/taur/naga
name = "Naga (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_reptile.dmi'
icon_state = "naga_s"
suit_sprites = 'icons/mob/taursuits_naga.dmi'
//icon_sprite_tag = "naga"
vore_tail_sprite_variant = "Naga"
fullness_icons = 1
msg_owner_help_walk = "You carefully slither around %prey."
msg_prey_help_walk = "%owner's huge tail slithers past beside you!"
msg_owner_help_run = "You carefully slither around %prey."
msg_prey_help_run = "%owner's huge tail slithers past beside you!"
msg_owner_disarm_run = "Your tail slides over %prey, pushing them down to the ground!"
msg_prey_disarm_run = "%owner's tail slides over you, forcing you down to the ground!"
msg_owner_disarm_walk = "You push down on %prey with your tail, pinning them down under you!"
msg_prey_disarm_walk = "%owner pushes down on you with their tail, pinning you down below them!"
msg_owner_harm_run = "Your heavy tail carelessly slides past %prey, crushing them!"
msg_prey_harm_run = "%owner quickly goes over your body, carelessly crushing you with their heavy tail!"
msg_owner_harm_walk = "Your heavy tail slowly and methodically slides down upon %prey, crushing against the floor below!"
msg_prey_harm_walk = "%owner's thick, heavy tail slowly and methodically slides down upon your body, mercilessly crushing you into the floor below!"
msg_owner_grab_success = "You slither over %prey with your large, thick tail, smushing them against the ground before coiling up around them, trapping them within the tight confines of your tail!"
msg_prey_grab_success = "%owner slithers over you with their large, thick tail, smushing you against the ground before coiling up around you, trapping you within the tight confines of their tail!"
msg_owner_grab_fail = "You squish %prey under your large, thick tail, forcing them onto the ground!"
msg_prey_grab_fail = "%owner pins you under their large, thick tail, forcing you onto the ground!"
msg_prey_stepunder = "You jump over %prey's thick tail."
msg_owner_stepunder = "%owner bounds over your tail."
/datum/sprite_accessory/tail/taur/naga/fat
name = "Naga (Taur, Fat, dual color)"
icon_state = "fatnaga_s"
extra_overlay = "fatnaga_markings"
suit_sprites = null
/datum/sprite_accessory/tail/taur/naga/naga_2c
name = "Naga dual-color (Taur)"
icon_state = "naga_s"
extra_overlay = "naga_markings"
//icon_sprite_tag = "naga2c"
/datum/sprite_accessory/tail/taur/naga/alt
name = "Naga alt (Taur)"
icon_state = "naga_alt_s"
vore_tail_sprite_variant = "NagaAlt"
fullness_icons = 1
/datum/sprite_accessory/tail/taur/naga/alt/second
name = "Naga dual-color alt (Taur)"
extra_overlay = "naga_alt_markings"
/datum/sprite_accessory/tail/taur/naga/alt_2c
name = "Naga alt style dual-color (Taur)"
suit_sprites = 'icons/mob/taursuits_naga.dmi' //TODO: PORT CHOMPS NAGA_ALT AND MAKE THESE NAGA_ALT.
icon_state = "altnaga_s"
extra_overlay = "altnaga_markings"
//icon_sprite_tag = "altnaga2c"
/datum/sprite_accessory/tail/taur/naga/alt_3c
name = "Naga alt style tri-color (Taur)"
suit_sprites = 'icons/mob/taursuits_naga.dmi' //TODO: PORT CHOMPS NAGA_ALT AND MAKE THESE NAGA_ALT.
icon_state = "altnaga_s"
extra_overlay = "altnaga_markings"
extra_overlay2 = "altnaga_stripes"
/datum/sprite_accessory/tail/taur/naga/alt_3c_rattler
name = "Naga alt style tri-color, rattler (Taur)"
suit_sprites = 'icons/mob/taursuits_naga.dmi' //TODO: PORT CHOMPS NAGA_ALT AND MAKE THESE NAGA_ALT.
icon_state = "altnaga_s"
extra_overlay = "altnaga_markings"
extra_overlay2 = "altnaga_rattler"
/datum/sprite_accessory/tail/taur/naga/alt_3c_tailmaw
name = "Naga alt style tri-color, tailmaw (Taur)"
suit_sprites = 'icons/mob/taursuits_naga.dmi' //TODO: PORT CHOMPS NAGA_ALT AND MAKE THESE NAGA_ALT.
icon_state = "altnagatailmaw_s"
extra_overlay = "altnagatailmaw_markings"
extra_overlay2 = "altnagatailmaw_eyes"
/datum/sprite_accessory/tail/taur/noodle
name = "Eastern Dragon (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_reptile.dmi'
icon_state = "noodle_s"
extra_overlay = "noodle_markings"
extra_overlay2 = "noodle_markings_2"
suit_sprites = 'icons/mob/taursuits_noodle.dmi'
clip_mask_state = "taur_clip_mask_noodle"
icon_sprite_tag = "noodle"
/datum/sprite_accessory/tail/taur/teshari // chickenbutt
name = "Teshari dual-color (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_teshari.dmi'
icon_loaf = 'icons/mob/vore/taurs_teshari_loaf.dmi'
icon_state = "tesh"
icon_sprite_tag = "tesh"
extra_overlay = "tesh_markings"
can_loaf = TRUE
belly_variant_when_loaf = TRUE
loaf_offset = 4
fullness_icons = 1
vore_tail_sprite_variant = "Tesh"
/datum/sprite_accessory/tail/taur/teshari/alt
name = "Teshari dual-color Alt (Taur)"
extra_overlay = "tesh_markings_alt"
@@ -0,0 +1,93 @@
// Special snowflake tails/taurhalves
//spoopylizz: Roiz Lizden
/datum/sprite_accessory/tail/taur/roiz_long_lizard // Not ACTUALLY a taur, but it uses 64x32 so it wouldn't fit in tails.dmi, and having it as a tail bugs up the sprite.
name = "Long Lizard Tail (Roiz Lizden)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_snowflake.dmi'
icon_state = "roiz_tail_s"
do_colouration = FALSE
ckeys_allowed = list("spoopylizz")
hide_body_parts = null
clip_mask_icon = null
clip_mask_state = null
//grallstonefist: Ranihrönn Skrolk
/datum/sprite_accessory/tail/taur/altmermaid/orcamermaid
name = "Mermaid Orca (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_snowflake.dmi'
icon_state = "orcamermaid_s"
can_ride = TRUE
do_colouration = FALSE
ckeys_allowed = list("grallstonefist")
//wickedtemp: Chakat Tempest
/datum/sprite_accessory/tail/taur/feline/tempest
name = "Feline (wickedtemp) (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_snowflake.dmi'
icon_state = "tempest_s"
ckeys_allowed = list("wickedtemp")
can_loaf = FALSE
//silencedmp5a5: Serdykov Antoz
/datum/sprite_accessory/tail/taur/wolf/serdy
name = "CyberSerdy (silencedmp5a5) (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_snowflake.dmi'
icon_state = "serdy_s"
ckeys_allowed = list("silencedmp5a5")
can_loaf = FALSE
//liquidfirefly: Ariana Scol
/datum/sprite_accessory/tail/taur/centipede
name = "Centipede (liquidfirefly) (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_snowflake.dmi'
icon_state = "ariana_s"
ckeys_allowed = list("liquidfirefly")
do_colouration = FALSE
msg_owner_disarm_run = "You quickly push %prey to the ground with your leg!"
msg_prey_disarm_run = "%owner pushes you down to the ground with their leg!"
msg_owner_disarm_walk = "You firmly push your leg down on %prey, painfully but harmlessly pinning them to the ground!"
msg_prey_disarm_walk = "%owner firmly pushes their leg down on you, quite painfully but harmlessly pinning you to the ground!"
msg_owner_harm_walk = "You methodically place your leg down upon %prey's body, slowly applying pressure, crushing them against the floor below!"
msg_prey_harm_walk = "%owner methodically places their leg upon your body, slowly applying pressure, crushing you against the floor below!"
msg_owner_grab_success = "You pin %prey down on the ground with your front leg before using your other leg to pick them up, trapping them between two of your front legs!"
msg_prey_grab_success = "%owner pins you down on the ground with their front leg before using their other leg to pick you up, trapping you between two of their front legs!"
msg_owner_grab_fail = "You step down onto %prey, squishing them and forcing them down to the ground!"
msg_prey_grab_fail = "%owner steps down and squishes you with their leg, forcing you down to the ground!"
//natje:
/datum/sprite_accessory/tail/taur/alraune
name = "Alraune (natje) (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_snowflake.dmi'
icon_state = "alraune_s"
ani_state = "alraune_closed_s"
ckeys_allowed = list("natje")
do_colouration = FALSE
can_ride = FALSE
clip_mask_state = "taur_clip_mask_alraune"
msg_prey_stepunder = "You run between %prey's vines."
msg_owner_stepunder = "%owner runs between your vines."
msg_owner_disarm_run = "You quickly push %prey to the ground with some of your vines!"
msg_prey_disarm_run = "%owner pushes you down to the ground with some of their vines!"
msg_owner_disarm_walk = "You push down on %prey with some of your vines, pinning them down firmly under you!"
msg_prey_disarm_walk = "%owner pushes down on you with some of their vines, pinning you down firmly below them!"
msg_owner_harm_run = "Your vines carelessly slide past %prey, crushing them!"
msg_prey_harm_run = "%owner quickly goes over your body, carelessly crushing you with their vines!"
msg_owner_harm_walk = "Your vines methodically apply pressure on %prey's body, crushing them against the floor below!"
msg_prey_harm_walk = "%owner's thick vines methodically apply pressure on your body, crushing you into the floor below!"
msg_owner_grab_success = "You slide over %prey with your vines, smushing them against the ground before wrapping one up around them, trapping them within the tight confines of your vines!"
msg_prey_grab_success = "%owner slides over you with their vines, smushing you against the ground before wrapping one up around you, trapping you within the tight confines of their vines!"
msg_owner_grab_fail = "You step down onto %prey with one of your vines, forcing them onto the ground!"
msg_prey_grab_fail = "%owner steps down onto you with one of their vines, squishing you and forcing you onto the ground!"
@@ -0,0 +1,185 @@
/datum/sprite_accessory/tail/taur/sectdrone
name = "Sect Drone (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_synth.dmi'
icon_state = "sectdrone"
extra_overlay = "sectdrone_markings"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi'
vore_tail_sprite_variant = "SectDrone"
belly_variant_when_loaf = TRUE
struggle_anim = TRUE
loaf_offset = 3
fullness_icons = 3
msg_owner_disarm_run = "You quickly push %prey to the ground with your leg!"
msg_prey_disarm_run = "%owner pushes you down to the ground with their leg!"
msg_owner_disarm_walk = "You firmly push your leg down on %prey, painfully but harmlessly pinning them to the ground!"
msg_prey_disarm_walk = "%owner firmly pushes their leg down on you, quite painfully but harmlessly pinning you to the ground!"
msg_owner_harm_walk = "You methodically place your leg down upon %prey's body, slowly applying pressure, crushing them against the floor!"
msg_prey_harm_walk = "%owner methodically places their leg upon your body, slowly applying pressure, crushing you against the floor!"
msg_owner_grab_success = "You pin %prey down on the ground with your front leg before using your other leg to pick them up, trapping them between two of your front legs!"
msg_prey_grab_success = "%owner pins you down on the ground with their front leg before using their other leg to pick you up, trapping you between two of their front legs!"
msg_owner_grab_fail = "You step down onto %prey, squishing them and forcing them down to the ground!"
msg_prey_grab_fail = "%owner steps down and squishes you with their leg, forcing you down to the ground!"
/datum/sprite_accessory/tail/taur/sect_drone/drone_wag
name = "Sect Drone (Taur, Fat vwag)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_synth.dmi'
icon_state = "sect_drone"
extra_overlay = "sect_drone_markings"
ani_state = "fat_sect_drone"
extra_overlay_w = "fat_sect_drone_markings"
icon_sprite_tag = "sect_drone"
/datum/sprite_accessory/tail/taur/sect_drone/fat
name = "Fat Sect Drone (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_synth.dmi'
icon_state = "fat_sect_drone"
extra_overlay = "fat_sect_drone_markings"
icon_sprite_tag = "sect_drone"
/datum/sprite_accessory/tail/taur/horse/synthhorse
name = "SynthHorse dual-color (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_synth.dmi'
icon_state = "synthhorse_s"
extra_overlay = "synthhorse_markings"
extra_overlay2 = "synthhorse_glow"
//icon_sprite_tag = "synthhorse"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi'
loaf_offset = 3
/datum/sprite_accessory/tail/taur/feline/synthfeline
name = "SynthFeline dual-color (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_synth.dmi'
icon_state = "synthfeline_s"
extra_overlay = "synthfeline_markings"
extra_overlay2 = "synthfeline_glow"
//icon_sprite_tag = "synthfeline"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi'
loaf_offset = 3
/datum/sprite_accessory/tail/taur/feline/fatsynthfeline
name = "Fat SynthFeline dual-color (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_synth.dmi'
icon_state = "fatsynthfeline_s"
extra_overlay = "fatsynthfeline_markings"
extra_overlay2 = "fatsynthfeline_glow"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi'
loaf_offset = 3
/datum/sprite_accessory/tail/taur/feline/synthfeline_wag
name = "SynthFeline dual-color (Taur, Fat vwag)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_synth.dmi'
icon_state = "synthfeline_s"
extra_overlay = "synthfeline_markings"
extra_overlay2 = "synthfeline_glow"
ani_state = "fatsynthfeline_s"
extra_overlay_w = "fatsynthfeline_markings"
extra_overlay2_w = "fatsynthfeline_glow"
/datum/sprite_accessory/tail/taur/synthetic/syntheticagi
name = "Synthetic chassis - agile (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_synth.dmi'
icon_state = "synthtaur1_s"
extra_overlay = "synthtaur1_markings"
extra_overlay2 = "synthtaur1_glow"
clip_mask_state = "taur_clip_mask_synthtaur1"
/datum/sprite_accessory/tail/taur/synthetic/syntheticagi_fat
name = "Synthetic chassis - agile (Taur, Fat)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_synth.dmi'
icon_state = "synthtaur1_s"
extra_overlay = "synthtaur1_fat_markings"
extra_overlay2 = "synthtaur1_glow"
clip_mask_state = "taur_clip_mask_synthtaur1"
/datum/sprite_accessory/tail/taur/synthetic/syntheticagi_wag
name = "Synthetic chassis - agile (Taur, Fat vwag)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_synth.dmi'
icon_state = "synthtaur1_s"
extra_overlay = "synthtaur1_markings"
extra_overlay2 = "synthtaur1_glow"
ani_state = "synthtaur1_s"
extra_overlay_w = "synthtaur1_fat_markings"
extra_overlay2_w = "synthtaur1_glow"
clip_mask_state = "taur_clip_mask_synthtaur1"
/datum/sprite_accessory/tail/taur/lizard/synthlizard
name = "SynthLizard dual-color (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_synth.dmi'
icon_state = "synthlizard_s"
extra_overlay = "synthlizard_markings"
extra_overlay2 = "synthlizard_glow"
//icon_sprite_tag = "synthlizard"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi'
loaf_offset = 3
vore_tail_sprite_variant = "SynthLiz"
fullness_icons = 1
/datum/sprite_accessory/tail/taur/lizard/fatsynthlizard
name = "Fat SynthLizard dual-color (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_synth.dmi'
icon_state = "fatsynthlizard_s"
extra_overlay = "fatsynthlizard_markings"
extra_overlay2 = "fatsynthlizard_glow"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_loaf.dmi'
loaf_offset = 3
/datum/sprite_accessory/tail/taur/lizard/synthlizard_wag
name = "SynthLizard dual-color (Taur, Fat vwag)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_synth.dmi'
icon_state = "synthlizard_s"
extra_overlay = "synthlizard_markings"
extra_overlay2 = "synthlizard_glow"
ani_state = "fatsynthlizard_s"
extra_overlay_w = "fatsynthlizard_markings"
extra_overlay2_w = "fatsynthlizard_glow"
/datum/sprite_accessory/tail/taur/naga/synthnaga
name = "Synthetic Naga dual-color (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_synth.dmi'
icon_state = "synthnaga"
extra_overlay = "synthnaga_belly"
/datum/sprite_accessory/tail/taur/longvirus
name = "Long Virus (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_synth.dmi'
icon_state = "longvirus_s"
extra_overlay = "longvirus_markings"
icon_sprite_tag = "virus"
/datum/sprite_accessory/tail/taur/wolf/synthwolf
name = "SynthWolf dual-color (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_synth.dmi'
icon_state = "synthwolf_s"
extra_overlay = "synthwolf_markings"
extra_overlay2 = "synthwolf_glow"
//icon_sprite_tag = "synthwolf"
loaf_offset = 3
/datum/sprite_accessory/tail/taur/wolf/fatsynthwolf
name = "Fat SynthWolf dual-color (Taur)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_synth.dmi'
icon_state = "fatsynthwolf_s"
extra_overlay = "fatsynthwolf_markings"
extra_overlay2 = "fatsynthwolf_glow"
loaf_offset = 3
/datum/sprite_accessory/tail/taur/wolf/fatsynthwolf_wag
name = "SynthWolf dual-color (Taur, Fat vwag)"
icon = 'icons/mob/human_races/sprite_accessories/taurs/taurs_synth.dmi'
icon_state = "synthwolf_s"
extra_overlay = "synthwolf_markings"
extra_overlay2 = "synthwolf_glow"
ani_state = "fatsynthwolf_s"
extra_overlay_w = "fatsynthwolf_markings"
extra_overlay2_w = "fatsynthwolf_glow"