diff --git a/code/modules/mob/new_player/sprite_accessories_tail.dm b/code/modules/mob/new_player/sprite_accessories_tail.dm index b3fd01dfd28..9a496f03fe5 100644 --- a/code/modules/mob/new_player/sprite_accessories_tail.dm +++ b/code/modules/mob/new_player/sprite_accessories_tail.dm @@ -8,14 +8,14 @@ /datum/sprite_accessory/tail name = DEVELOPER_WARNING_NAME icon = 'icons/mob/human_races/sprite_accessories/tails.dmi' - do_colouration = 0 //Set to 1 to enable coloration using the tail color. + do_colouration = FALSE //Set to TRUE to enable coloration using the tail color. - color_blend_mode = ICON_ADD // Only appliciable if do_coloration = 1 + color_blend_mode = ICON_ADD // Only appliciable if do_coloration = TRUE em_block = TRUE var/extra_overlay // Icon state of an additional overlay to blend in. var/extra_overlay2 //Tertiary. - var/show_species_tail = 0 // If false, do not render species' tail. - var/clothing_can_hide = 1 // If true, clothing with HIDETAIL hides it + var/show_species_tail = FALSE // If false, do not render species' tail. + var/clothing_can_hide = TRUE // If true, clothing with HIDETAIL hides it var/desc = DEVELOPER_WARNING_NAME var/ani_state // State when wagging/animated var/extra_overlay_w // Wagging state for extra overlay @@ -53,7 +53,7 @@ /datum/sprite_accessory/tail/alien_slug name = "Alien slug tail" icon_state = "alien_slug" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "alien_slug_markings" @@ -76,28 +76,28 @@ name = "squirrel, colorable" desc = "" icon_state = "squirrel" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/kitty name = "kitty, colorable, downwards" desc = "" icon_state = "kittydown" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/kittyup name = "kitty, colorable, upwards" desc = "" icon_state = "kittyup" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/tiger_white name = "tiger, colorable" desc = "" icon_state = "tiger" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "tigerinnerwhite" @@ -105,7 +105,7 @@ name = "stripey taj, colorable" desc = "" icon_state = "stripeytail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "stripeytail_mark" @@ -118,14 +118,14 @@ name = "Chameleon, colorable" desc = "" icon_state = "chameleon" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/bunny name = "bunny, colorable" desc = "" icon_state = "bunny" - do_colouration = 1 + do_colouration = TRUE /datum/sprite_accessory/tail/rabbit name = "rabbit, colourable (vwag)" @@ -154,14 +154,14 @@ name = "bear, colorable" desc = "" icon_state = "bear" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/dragon name = "dragon, colorable" desc = "" icon_state = "dragon" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/wolf_grey @@ -188,7 +188,7 @@ name = "wolf, colorable" desc = "" icon_state = "wolf" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "wolfinner" @@ -201,35 +201,35 @@ name = "mouse, colorable" desc = "" icon_state = "mouse" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/horse name = "horse tail, colorable" desc = "" icon_state = "horse" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/cow name = "cow tail, colorable" desc = "" icon_state = "cow" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/fantail name = "avian fantail, colorable" desc = "" icon_state = "fantail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/wagtail name = "avian wagtail, colorable" desc = "" icon_state = "wagtail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/nevreandc @@ -237,7 +237,7 @@ desc = "" icon_state = "nevreantail_dc" extra_overlay = "nevreantail_dc_tail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/nevreanwagdc @@ -245,7 +245,7 @@ desc = "" icon_state = "wagtail" extra_overlay = "wagtail_dc_tail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/nevreanwagdc_alt @@ -253,7 +253,7 @@ desc = "" icon_state = "wagtail2_dc" extra_overlay = "wagtail2_dc_mark" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/crossfox @@ -270,7 +270,7 @@ name = "spade-tail (colorable)" desc = "" icon_state = "spadetail-black" - do_colouration = 1 + do_colouration = TRUE /datum/sprite_accessory/tail/snag name = "xenomorph tail 1" @@ -286,7 +286,7 @@ name = "EGN mech tail (dual color)" desc = "" icon_state = "eboop" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "eboop_mark" @@ -311,7 +311,7 @@ name = "ringtail, colorable" desc = "" icon_state = "ringtail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "ringtail_mark" @@ -320,7 +320,7 @@ desc = "" icon_state = "raccoon" ani_state = "raccoon_w" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "raccoon-stripes" extra_overlay_w = "raccoon-stripes_w" @@ -330,7 +330,7 @@ desc = "" icon_state = "wah" ani_state = "wah_w" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "wah-stripes" extra_overlay_w = "wah-stripes_w" @@ -340,9 +340,9 @@ desc = "" icon_state = "satyr" color_blend_mode = ICON_MULTIPLY - do_colouration = 1 + do_colouration = TRUE 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/taurs.dmi' + 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/tailmaw @@ -350,14 +350,14 @@ desc = "" icon_state = "tailmaw" color_blend_mode = ICON_MULTIPLY - do_colouration = 1 + do_colouration = TRUE /datum/sprite_accessory/tail/curltail name = "curltail (vwag)" desc = "" icon_state = "curltail" ani_state = "curltail_w" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "curltail_mark" extra_overlay_w = "curltail_mark_w" @@ -367,7 +367,7 @@ desc = "" icon_state = "straighttail" ani_state = "straighttail_w" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/sneptail @@ -375,7 +375,7 @@ desc = "" icon_state = "sneptail" ani_state = "sneptail_w" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "sneptail_mark" extra_overlay_w = "sneptail_mark_w" @@ -385,7 +385,7 @@ desc = "" icon_state = "sneptail_new" ani_state = "sneptail_new_w" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "sneptail_new_mark" extra_overlay_w = "sneptail_new_mark_w" @@ -395,7 +395,7 @@ desc = "" icon_state = "tigertail" ani_state = "tigertail_w" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "tigertail_mark" extra_overlay_w = "tigertail_mark_w" @@ -406,7 +406,7 @@ icon_state = "tigeralt" extra_overlay = "tigeralt-tips" extra_overlay2 = "tigeralt-tips2" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY ani_state = "tigeralt_w" extra_overlay_w = "tigeralt-tips_w" @@ -418,7 +418,7 @@ icon_state = "twotiger" extra_overlay = "twotiger-tips" extra_overlay2 = "twotiger-tips2" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY ani_state = "twotiger_w" extra_overlay_w = "twotiger-tips_w" @@ -429,7 +429,7 @@ desc = "" icon_state = "twocat" ani_state = "twocat_w" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/threecat @@ -437,7 +437,7 @@ desc = "" icon_state = "threecat" ani_state = "threecat_w" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/vulp_new @@ -445,7 +445,7 @@ desc = "" icon_state = "vulptail" ani_state = "vulptail_w" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "vulptail_mark" extra_overlay_w = "vulptail_mark_w" @@ -455,7 +455,7 @@ desc = "" icon_state = "otie" ani_state = "otie_w" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/newtailmaw @@ -463,21 +463,21 @@ desc = "" icon_state = "newtailmaw" ani_state = "newtailmaw_w" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/ztail name = "jagged flufftail" desc = "" icon_state = "ztail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/snaketail name = "snake tail, colorable" desc = "" icon_state = "snaketail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/bigsnaketail @@ -532,14 +532,14 @@ name = "vulpkanin alt style, colorable" desc = "" icon_state = "vulptail_alt" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/sergaltaildc name = "sergal, dual-color" desc = "" icon_state = "sergal" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "sergal_mark" @@ -547,7 +547,7 @@ name = "skunk, dual-color" desc = "" icon_state = "skunktail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "skunktail_mark" @@ -555,7 +555,7 @@ name = "deer, dual-color" desc = "" icon_state = "deertail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "deertail_mark" @@ -564,14 +564,14 @@ desc = "" icon_state = "deeralt" ani_state = "deeralt_w" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/tesh_feathered name = "Teshari tail" desc = "" icon_state = "teshtail_s" - do_colouration = 1 + do_colouration = TRUE extra_overlay = "teshtail_feathers_s" color_blend_mode = ICON_MULTIPLY @@ -579,7 +579,7 @@ name = "Teshari alternative, colorable" desc = "" icon_state = "teshari_fluffytail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "teshari_fluffytail_mark" @@ -587,7 +587,7 @@ name = "Teshari male tail pattern" desc = "" icon_state = "teshtail_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "teshpattern_male_tail" @@ -595,7 +595,7 @@ name = "Teshari male tail alt. pattern" desc = "" icon_state = "teshtail_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "teshpattern_male_alt" @@ -603,7 +603,7 @@ name = "Teshari female tail pattern" desc = "" icon_state = "teshtail_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "teshpattern_fem_tail" @@ -611,7 +611,7 @@ name = "Teshari fem tail alt. pattern" desc = "" icon_state = "teshtail_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "teshpattern_fem_alt" @@ -619,7 +619,7 @@ name = "Nightstalker, colorable" desc = "" icon_state = "nightstalker" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY //For all species tails. Includes haircolored tails. @@ -631,35 +631,35 @@ name = "unathi tail" desc = "" icon_state = "sogtail_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/special/tajaran name = "tajaran tail" desc = "" icon_state = "tajtail_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/special/sergal name = "sergal tail" desc = "" icon_state = "sergtail_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/special/akula name = "akula tail" desc = "" icon_state = "sharktail_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/special/nevrean name = "nevrean tail" desc = "" icon_state = "nevreantail_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/special/armalis @@ -696,7 +696,7 @@ name = "teshari tail" desc = "" icon_state = "seromitail_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/special/tesharitailfeathered @@ -704,42 +704,42 @@ desc = "" icon_state = "seromitail_s" extra_overlay = "seromitail_feathers_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/special/unathihc name = "unathi tail, colorable" desc = "" icon_state = "sogtail_hc_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/special/tajaranhc name = "tajaran tail, colorable" desc = "" icon_state = "tajtail_hc_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/special/sergalhc name = "sergal tail, colorable" desc = "" icon_state = "sergtail_hc_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/special/akulahc name = "akula tail, colorable" desc = "" icon_state = "sharktail_hc_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/special/nevreanhc name = "nevrean tail, colorable" desc = "" icon_state = "nevreantail_hc_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/special/foxdefault @@ -747,78 +747,78 @@ desc = "" icon = "icons/mob/human_races/r_fox_vr.dmi" icon_state = "tail_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/special/foxhc name = "highlander zorren tail, colorable" desc = "" icon_state = "foxtail_hc_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/special/fennechc name = "flatland zorren tail, colorable" desc = "" icon_state = "fentail_hc_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/special/armalishc name = "armalis tail, colorable" desc = "" icon_state = "armalis_tail_humanoid_hc_s" - do_colouration = 1 + do_colouration = TRUE /datum/sprite_accessory/tail/special/xenodronehc name = "xenomorph drone tail, colorable" desc = "" icon_state = "xenos_drone_tail_hc_s" - do_colouration = 1 + do_colouration = TRUE /datum/sprite_accessory/tail/special/xenosentinelhc name = "xenomorph sentinel tail, colorable" desc = "" icon_state = "xenos_sentinel_tail_hc_s" - do_colouration = 1 + do_colouration = TRUE /datum/sprite_accessory/tail/special/xenohunterhc name = "xenomorph hunter tail, colorable" desc = "" icon_state = "xenos_hunter_tail_hc_s" - do_colouration = 1 + do_colouration = TRUE /datum/sprite_accessory/tail/special/xenoqueenhc name = "xenomorph queen tail, colorable" desc = "" icon_state = "xenos_queen_tail_hc_s" - do_colouration = 1 + do_colouration = TRUE /datum/sprite_accessory/tail/special/monkeyhc name = "monkey tail, colorable" desc = "" icon_state = "chimptail_hc_s" - do_colouration = 1 + do_colouration = TRUE /datum/sprite_accessory/tail/special/tesharitailhc name = "teshari tail, colorable" desc = "" icon_state = "seromitail_hc_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/special/tesharitailfeatheredhc name = "teshari tail w/ feathers, colorable" desc = "" icon_state = "seromitail_feathers_hc_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/special/vulpan name = "vulpkanin, colorable" desc = "" icon_state = "vulptail_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/zenghu_taj @@ -834,14 +834,14 @@ name = "Bug abdomen, colorable" desc = "" icon_state = "buggo_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/buggobee name = "Bug abdomen, bee top, dual-colorable" desc = "" icon_state = "buggo_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "buggobee_markings" @@ -849,7 +849,7 @@ name = "Bug abdomen, bee full, dual-colorable" desc = "" icon_state = "buggo_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "buggobeefull_markings" @@ -857,7 +857,7 @@ name = "Bug abdomen, underside, dual-colorable" desc = "" icon_state = "buggo_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "buggounder_markings" @@ -865,7 +865,7 @@ name = "Bug abdomen, firefly, dual-colorable" desc = "" icon_state = "buggo_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "buggofirefly_markings" @@ -873,14 +873,14 @@ name = "Fat bug abdomen, colorable" desc = "" icon_state = "buggofat_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/buggofatbee name = "Fat bug abdomen, bee top, dual-colorable" desc = "" icon_state = "buggofat_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "buggofatbee_markings" @@ -888,7 +888,7 @@ name = "Fat bug abdomen, bee full, dual-colorable" desc = "" icon_state = "buggofat_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "buggofatbeefull_markings" @@ -896,7 +896,7 @@ name = "Fat bug abdomen, underside, dual-colorable" desc = "" icon_state = "buggofat_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "buggofatunder_markings" @@ -904,7 +904,7 @@ name = "Fat bug abdomen, firefly, dual-colorable" desc = "" icon_state = "buggofat_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "buggofatfirefly_markings" @@ -913,7 +913,7 @@ desc = "" icon_state = "buggo_s" ani_state = "buggofat_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/buggobeewag @@ -921,7 +921,7 @@ desc = "" icon_state = "buggo_s" ani_state = "buggofat_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "buggobee_markings" extra_overlay_w = "buggofatbee_markings" @@ -931,7 +931,7 @@ desc = "" icon_state = "buggo_s" ani_state = "buggofat_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "buggobeefull_markings" extra_overlay_w = "buggofatbeefull_markings" @@ -941,7 +941,7 @@ desc = "" icon_state = "buggo_s" ani_state = "buggofat_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "buggounder_markings" extra_overlay_w = "buggofatunder_markings" @@ -951,7 +951,7 @@ desc = "" icon_state = "buggo_s" ani_state = "buggofat_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "buggofirefly_markings" extra_overlay_w = "buggofatfirefly_markings" @@ -962,14 +962,14 @@ name = "Bug abdomen, vass, colorable" desc = "" icon_state = "buggo_vass_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/buggovassbee name = "Bug abdomen, bee top, dc, vass" desc = "" icon_state = "buggo_vass_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "buggobee_vass_markings" @@ -977,7 +977,7 @@ name = "Bug abdomen, bee full, dc, vass" desc = "" icon_state = "buggo_vass_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "buggobeefull_vass_markings" @@ -985,7 +985,7 @@ name = "Bug abdomen, underside, dc, vass" desc = "" icon_state = "buggo_vass_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "buggounder_vass_markings" @@ -993,7 +993,7 @@ name = "Bug abdomen, firefly, dc, vass" desc = "" icon_state = "buggo_vass_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "buggofirefly_vass_markings" @@ -1001,14 +1001,14 @@ name = "Fat bug abdomen, vass, colorable" desc = "" icon_state = "buggofat_vass_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/buggovassfatbee name = "Fat bug abdomen, bee top, dc, vass" desc = "" icon_state = "buggofat_vass_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "buggofatbee_vass_markings" @@ -1016,7 +1016,7 @@ name = "Fat bug abdomen, bee full, dc, vass" desc = "" icon_state = "buggofat_vass_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "buggofatbeefull_vass_markings" @@ -1024,7 +1024,7 @@ name = "Fat bug abdomen, underside, dc, vass" desc = "" icon_state = "buggofat_vass_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "buggofatunder_vass_markings" @@ -1032,7 +1032,7 @@ name = "Fat bug abdomen, firefly, dc, vass" desc = "" icon_state = "buggofat_vass_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "buggofatfirefly_vass_markings" @@ -1041,7 +1041,7 @@ desc = "" icon_state = "buggo_vass_s" ani_state = "buggofat_vass_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/buggovassbeewag @@ -1049,7 +1049,7 @@ desc = "" icon_state = "buggo_vass_s" ani_state = "buggofat_vass_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "buggobee_vass_markings" extra_overlay_w = "buggofatbee_vass_markings" @@ -1059,7 +1059,7 @@ desc = "" icon_state = "buggo_vass_s" ani_state = "buggofat_vass_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "buggobeefull_vass_markings" extra_overlay_w = "buggofatbeefull_vass_markings" @@ -1069,7 +1069,7 @@ desc = "" icon_state = "buggo_vass_s" ani_state = "buggofat_vass_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "buggounder_vass_markings" extra_overlay_w = "buggofatunder_vass_markings" @@ -1079,7 +1079,7 @@ desc = "" icon_state = "buggo_vass_s" ani_state = "buggofat_vass_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "buggofirefly_vass_markings" extra_overlay_w = "buggofatfirefly_vass_markings" @@ -1089,14 +1089,14 @@ desc = "" icon_state = "tail_smooth" ani_state = "tail_smooth_w" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/tail_smooth_dual name = "Smooth Lizard Tail, dual color" desc = "" icon_state = "tail_smooth" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "tail_smooth_markings" @@ -1104,21 +1104,21 @@ name = "Fennec tail" desc = "" icon_state = "fennec_tail_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/fox_tail name = "Fox tail, colorable" desc = "" icon_state = "fox_tail_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/fox_tail_plain name = "Fox tail, colorable, plain" desc = "" icon_state = "fox_tail_plain_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/foxtail @@ -1135,14 +1135,14 @@ name = "Kitsune 2 tails, colorable" desc = "" icon_state = "doublekitsune" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/doublekitsunealt name = "Kitsune 2 tails, colorable, alt" desc = "" icon_state = "doublekitsunealt" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "doublekitsunealt-tips" @@ -1150,7 +1150,7 @@ name = "Kitsune 3 tails, colorable" desc = "" icon_state = "triplekitsune" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "triplekitsune_tips" @@ -1159,14 +1159,14 @@ desc = "" icon_state = "sevenkitsune" extra_overlay = "sevenkitsune-tips" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/ninekitsune_colorable name = "Kitsune 9 tails, colorable" desc = "" icon_state = "ninekitsune" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "ninekitsune-tips" @@ -1184,7 +1184,7 @@ name = "Shadekin Short Tail, colorable" desc = "" icon_state = "shadekin-short" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY //species_allowed = list(SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW) @@ -1192,14 +1192,14 @@ name = "Ward-Takahashi Tail" desc = "" icon_state = "wardtakahashi_vulp" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/wartacosushi_tail_dc name = "Ward-Takahashi Tail, dual-color" desc = "" icon_state = "wardtakahashi_vulp_dc" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "wardtakahashi_vulp_dc_mark" @@ -1210,14 +1210,14 @@ icon_state = "zorgoia" extra_overlay = "zorgoia_fluff" extra_overlay2 = "zorgoia_fluff_top" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/Easterntail name = "Eastern Dragon (Animated)" desc = "" icon_state = "Easterntail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "EasterntailColorTip" ani_state = "Easterntail_w" @@ -1227,7 +1227,7 @@ name = "Synthetic lizard tail" desc = "" icon_state = "synthtail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/synthtail_vwag @@ -1235,14 +1235,14 @@ desc = "" icon_state = "synthtail" ani_state = "synthtail_w" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/Plugtail name = "Synthetic plug tail" desc = "" icon_state = "Plugtail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "PlugtailMarking" extra_overlay2 = "PlugtailMarking2" @@ -1251,7 +1251,7 @@ name = "Segmented tail, animated" desc = "" icon_state = "Segmentedtail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "Segmentedtailmarking" ani_state = "Segmentedtail_w" @@ -1261,7 +1261,7 @@ name = "Segmented tail, animated synth" desc = "" icon_state = "Segmentedtail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "Segmentedlights" ani_state = "Segmentedtail_w" @@ -1271,42 +1271,42 @@ name = "Lizard Tail (Smooth)" desc = "" icon_state = "lizard_tail_smooth" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/lizard_tail_dark_tiger name = "Lizard Tail (Dark Tiger)" desc = "" icon_state = "lizard_tail_dark_tiger" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/lizard_tail_light_tiger name = "Lizard Tail (Light Tiger)" desc = "" icon_state = "lizard_tail_light_tiger" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/lizard_tail_spiked name = "Lizard Tail (Spiked)" desc = "" icon_state = "lizard_tail_spiked" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/xenotail_fullcolour name = "xenomorph tail (fully colourable)" desc = "" icon_state = "xenotail_fullcolour" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/xenotailalt_fullcolour name = "xenomorph tail alt. (fully colourable)" desc = "" icon_state = "xenotailalt_fullcolour" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/lleill @@ -1314,7 +1314,7 @@ desc = "" icon = 'icons/mob/species/lleill/tail.dmi' icon_state = "tail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "tail_marking" @@ -1331,7 +1331,7 @@ /datum/sprite_accessory/tail/altevian name = "Altevian Tail" icon_state = "altevian" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY lower_layer_dirs = list(SOUTH, WEST) @@ -1340,7 +1340,7 @@ icon_state = "altevian_eyed" extra_overlay = "altevian_eyed2" extra_overlay2 = "altevian_eyed3" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY lower_layer_dirs = list(SOUTH, WEST) @@ -1348,7 +1348,7 @@ name = "shark tail, finless (colorable)" desc = "" icon_state = "sharktail_finless" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/tentacle @@ -1356,7 +1356,7 @@ desc = "" icon_state = "tentacle" ani_state = "tentacle_w" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/teshbeethorax @@ -1368,14 +1368,14 @@ name = "Teshari bug abdomen, colorable" desc = "" icon_state = "teshbug_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/teshbuggobee name = "Teshari bug abdomen, bee top, dual-colorable" desc = "" icon_state = "teshbug_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "teshbee_markings" @@ -1383,7 +1383,7 @@ name = "Teshari bug abdomen, bee full, dual-colorable" desc = "" icon_state = "teshbug_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "teshbeefull_markings" @@ -1391,7 +1391,7 @@ name = "Teshari bug abdomen, underside, dual-colorable" desc = "" icon_state = "teshbug_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "teshunder_markings" @@ -1399,7 +1399,7 @@ name = "Teshari bug abdomen, firefly, dual-colorable" desc = "" icon_state = "teshbug_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "teshfirefly_markings" @@ -1407,14 +1407,14 @@ name = "Teshari fat bug abdomen, colorable" desc = "" icon_state = "teshbugfat_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/fatteshbuggobee name = "Teshari fat bug abdomen, bee top, dual-colorable" desc = "" icon_state = "teshbugfat_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "teshfatbee_markings" @@ -1422,7 +1422,7 @@ name = "Teshari fat bug abdomen, bee full, dual-colorable" desc = "" icon_state = "teshbugfat_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "teshfatbeefull_markings" @@ -1430,7 +1430,7 @@ name = "Teshari fat bug abdomen, underside, dual-colorable" desc = "" icon_state = "teshbugfat_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "teshfatunder_markings" @@ -1438,7 +1438,7 @@ name = "Teshari fat bug abdomen, firefly, dual-colorable" desc = "" icon_state = "teshbugfat_s" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "teshfatfirefly_markings" @@ -1447,23 +1447,23 @@ desc = "" icon_state = "synth_stilts" color_blend_mode = ICON_MULTIPLY - do_colouration = 1 + do_colouration = TRUE 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/taurs.dmi' + 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/blade_like_tail name = "Blade-like Tail" icon_state = "blade-like-tail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/sectdrone_tail name = "Sect Drone Tail (To use with bodytype-marking)" icon_state = "sectdrone_tail" extra_overlay = "sectdrone_tail_mark" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/satyrtail @@ -1471,9 +1471,9 @@ desc = "" icon_state = "satyr" color_blend_mode = ICON_MULTIPLY - do_colouration = 1 + do_colouration = TRUE 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/taurs.dmi' + 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. @@ -1486,7 +1486,7 @@ name = "akula tail, colorable, tail and fins" desc = "" icon_state = "sharktail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "sharktail_markings" @@ -1494,7 +1494,7 @@ name = "akula tail, colorable, stripe" desc = "" icon_state = "sharktail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "sharktail_stripemarkings" @@ -1502,7 +1502,7 @@ name = "akula tail, colorable, tips" desc = "" icon_state = "sharktail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "sharktail_tipmarkings" @@ -1510,14 +1510,14 @@ name = "feathered narrow tail, colorable" desc = "" icon_state = "narrowtail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/narrow_tail2 name = "feathered narrow tail, 2 colors" desc = "" icon_state = "narrowtail_2color" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "narrowtail_2color-1" @@ -1525,7 +1525,7 @@ name = "Demi-Teshari tail" desc = "" icon_state = "demi-tesh-kit-tail" - do_colouration = 1 + do_colouration = TRUE extra_overlay = "demi-tesh-kit-tail_floof" color_blend_mode = ICON_MULTIPLY @@ -1535,7 +1535,7 @@ name = "dino clubtail, colorable" desc = "" icon_state = "clubtail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "clubtail-1" @@ -1543,7 +1543,7 @@ name = "dino spiketail, colorable" desc = "" icon_state = "spiketail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "spiketail-1" @@ -1555,9 +1555,9 @@ //LONG TAILS ARE NOT TAUR BUTTS >:O /datum/sprite_accessory/tail/longtail name = DEVELOPER_WARNING_NAME - icon = 'icons/mob/human_races/sprite_accessories/taurs.dmi' + icon = 'icons/mob/human_races/sprite_accessories/tails_long.dmi' offset_x = -16 - do_colouration = 1 // Yes color, using tail color + do_colouration = TRUE // Yes color, using tail color color_blend_mode = ICON_MULTIPLY // The sprites for taurs are designed for ICON_MULTIPLY /datum/sprite_accessory/tail/longtail/shadekin_tail @@ -1582,10 +1582,9 @@ /datum/sprite_accessory/tail/longtail/zaprat name = "bolt-shaped tail, dual color" - icon = 'icons/mob/human_races/sprite_accessories/taurs.dmi' icon_state = "zaprat_s" extra_overlay = "zaprat_markings" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/longtail/zaprat/heart @@ -1597,7 +1596,7 @@ name = "Kaiju tail A, dual color" icon_state = "kaiju_long_a" extra_overlay = "kaiju_long_a_spikes" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/longtail/kaiju_tail_a_long_glow @@ -1605,7 +1604,7 @@ icon_state = "kaiju_long_a" extra_overlay = "kaiju_long_a_spikes" extra_overlay2 = "kaiju_long_a_spikes_glow" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/longtail/longflufftail @@ -1615,7 +1614,7 @@ /datum/sprite_accessory/tail/longtail/ringtailbig name = "Long ring tail" icon_state = "bigringtail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "bigringtail_markings" @@ -1623,7 +1622,7 @@ name = "Desert Nightstalker Tail (vwag)" icon_state = "nightstalker_desert" ani_state = "nightstalker_desert_w" - do_colouration = 0 // We're not coloring this, these are pre-colored + do_colouration = FALSE // We're not coloring this, these are pre-colored color_blend_mode = ICON_ADD /datum/sprite_accessory/tail/longtail/diamondback_nightstalker @@ -1685,7 +1684,7 @@ /datum/sprite_accessory/tail/longtail/qaavos name = "Qaavos Tail" icon_state = "qaavos_tail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/longtail/anteater @@ -1714,39 +1713,58 @@ 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/taur/long_lizard + name = "Large Dragon Tail" + icon_state = "big_liz" + can_ride = FALSE + hide_body_parts = null + clip_mask_icon = null + clip_mask_state = null + +/datum/sprite_accessory/tail/taur/long_lizard/scaled + name = "Large Dragon Tail/W scales" + extra_overlay = "big_liz_mark" /datum/sprite_accessory/tail/small_bugbum name = "Bug Abdomen, Alt, Small (Dual-Color)" icon_state = "smallbug1" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "smallbug2" /datum/sprite_accessory/tail/mid_bugbum name = "Bug Abdomen, Alt, Medium (Dual-Color)" icon_state = "midbug1" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "midbug2" /datum/sprite_accessory/tail/big_bugbum name = "Bug Abdomen, Alt, Big (Dual-Color)" icon_state = "bigbug1" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "bigbug2" /datum/sprite_accessory/tail/succubustail name = "Succubus Tail" icon_state = "Succubustail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/snaketail_stripes name = "snake tail with stripes, dual-color" desc = "" icon_state = "snaketail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "snaketail_stripes" @@ -1756,7 +1774,7 @@ ani_state = "leopard_w" extra_overlay = "leopard_spots" extra_overlay_w = "leopard_spots_w" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/vale_tail @@ -1764,7 +1782,7 @@ desc = "" icon_state = "valetail" ani_state = "valetail_w" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "valetail_mark" extra_overlay_w = "valetail_mark_w" @@ -1772,33 +1790,33 @@ /datum/sprite_accessory/tail/orca_f name = "Orca tail (Female)" icon_state = "orca_tail_f" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "orca_tail_markings" /datum/sprite_accessory/tail/anthrovirus_tail name = "Anthro Virus Tail" icon_state = "anthrovirustail_mark" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "anthrovirustail" /datum/sprite_accessory/tail/tyranid_tail name = "Tyranid" icon_state = "tyranid" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/bigsnaketeshari name = "Large snake tail, Teshari" icon_state = "snaketailteshari" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/featheredraptor name = "feathered Raptor" icon_state = "feathered_raptor" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/featheredraptor/twotone @@ -1809,14 +1827,14 @@ name = "Wolf Tail" desc = "" icon_state = "wolf_tail" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/vulpkanin_alt_color name = "Vulpkanin alt" desc = "" icon_state = "vulpkanin_alt_color" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "vulpkanin_alt_color_tips" ani_state = "vulpkanin_alt_color_w" @@ -1826,14 +1844,14 @@ name = "Raccoon gray tail" desc = "" icon_state = "raccoon_tail" - do_colouration = 0 + do_colouration = FALSE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/striped_tail name = "Striped tail, colorable" desc = "" icon_state = "stripedtail_colorable" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "stripedtail_colorable_w" @@ -1853,7 +1871,7 @@ icon = 'icons/mob/human_races/sprite_accessories/tails.dmi' icon_state = "peacocktail" ani_state = "peacocktail_w" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY ckeys_allowed = list("prettiebyrd") @@ -1915,7 +1933,7 @@ name = "pentatail kitsune tails (Rosey)" //I predict seven tails next. ~CK desc = "" icon_state = "rosey_five" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY ckeys_allowed = list("joey4298") @@ -1954,14 +1972,14 @@ desc = "" icon_state = "xenotail_fullcolouralt" ani_state = "xenotail_fullcolouralt_w" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/tail/chu name = "chu tail" desc = "" icon_state = "chu" - do_colouration = 1 + do_colouration = TRUE color_blend_mode = ICON_MULTIPLY extra_overlay = "chu_markings" extra_overlay2 = "chu_tipmarkings" diff --git a/code/modules/mob/new_player/sprite_accessories_taur.dm b/code/modules/mob/new_player/sprite_accessories_taur.dm deleted file mode 100644 index a792c509433..00000000000 --- a/code/modules/mob/new_player/sprite_accessories_taur.dm +++ /dev/null @@ -1,1463 +0,0 @@ -/datum/sprite_accessory/tail/taur - name = DEVELOPER_WARNING_NAME - icon = 'icons/mob/human_races/sprite_accessories/taurs.dmi' - do_colouration = 1 // 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. - icon = 'icons/mob/human_races/sprite_accessories/taurs.dmi' - 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 - . = ..() - -/* -//////////////////////////// -/ =--------------------= / -/ == Taur Definitions == / -/ =--------------------= / -//////////////////////////// -*/ - -// Tails/taurhalves for everyone - -/datum/sprite_accessory/tail/taur/wolf - name = "Wolf (Taur)" - 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/fatwolf - name = "Fat Wolf (Taur)" - icon_state = "fatwolf_s" - icon_sprite_tag = "wolf" //This could be modified later. - loaf_offset = 3 - -/datum/sprite_accessory/tail/taur/wolf/wolf_wag - name = "Wolf (Taur, Fat vwag)" - icon_state = "wolf_s" - ani_state = "fatwolf_s" - -/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/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/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/synthwolf - name = "SynthWolf dual-color (Taur)" - 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_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_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" - -/datum/sprite_accessory/tail/taur/skunk - name = "Skunk (Taur)" - 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/naga - name = "Naga (Taur)" - 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_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/horse - name = "Horse (Taur)" - 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/horse_2c - name = "Horse & colorable tail (Taur)" - extra_overlay = "horse_markings" - //icon_sprite_tag = "wolf2c" - -/datum/sprite_accessory/tail/taur/horse/synthhorse - name = "SynthHorse dual-color (Taur)" - 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/cow - name = "Cow (Taur)" - 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/wag - name = "Cow (Taur, Fat vwag)" - icon_state = "cow_s" - ani_state = "fatcow_s" - -/datum/sprite_accessory/tail/taur/deer - name = "Deer dual-color (Taur)" - 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/fatdeer - name = "Fat Deer (Dual-color Taur)" - icon_state = "fatdeer_s" - extra_overlay = "fatdeer_markings" - -/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/lizard - name = "Lizard (Taur)" - 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/synthlizard - name = "SynthLizard dual-color (Taur)" - 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_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_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/spider - name = "Spider (Taur)" - 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/tents - name = "Tentacles (Taur)" - 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 = 0 - icon_sprite_tag = "thick_tentacles" - -/datum/sprite_accessory/tail/taur/feline - name = "Feline (Taur)" - icon_state = "feline_s" - suit_sprites = 'icons/mob/taursuits_deer.dmi' - icon_sprite_tag = "feline" - 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/fatfeline - name = "Fat Feline (Taur)" - icon_state = "fatfeline_s" - //icon_sprite_tag = "fatfeline" - can_loaf = TRUE - icon_loaf = 'icons/mob/vore/taurs_loaf.dmi' - loaf_offset = 3 - -/datum/sprite_accessory/tail/taur/fatfeline_wag - name = "Fat Feline (Taur, Fat vwag)" - icon_state = "fatfeline_s" - ani_state = "fatfeline_w" - can_loaf = TRUE - icon_loaf = 'icons/mob/vore/taurs_loaf.dmi' - loaf_offset = 3 - -/datum/sprite_accessory/tail/taur/feline/feline_2c - name = "Feline 3-color (Taur)" - icon_state = "feline_s" - extra_overlay = "feline_markings" - extra_overlay2 = "feline_markings_2" - //icon_sprite_tag = "feline2c" - can_loaf = TRUE - -/datum/sprite_accessory/tail/taur/feline/fatfeline_2c - name = "Fat Feline 3-color (Taur)" - icon_state = "fatfeline2_s" - extra_overlay = "fatfeline2_markings" - extra_overlay2 = "fatfeline2_markings_2" - can_loaf = TRUE - loaf_offset = 3 - -/datum/sprite_accessory/tail/taur/feline/feline_2c_wag - name = "Feline 3-color (Taur, Fat vwag)" - icon_state = "fatfeline2_s" - extra_overlay = "fatfeline2_markings" - extra_overlay2 = "fatfeline2_markings_2" - ani_state = "fatfeline_s" - extra_overlay_w = "fatfeline_markings_vwag" - extra_overlay2_w = "fatfeline_markings_vwag2" - loaf_offset = 3 - -/datum/sprite_accessory/tail/taur/feline/synthfeline - name = "SynthFeline dual-color (Taur)" - 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_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_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/tiger - name = "Tiger (Taur)" - icon_state = "tiger_s" - suit_sprites = 'icons/mob/taursuits_deer.dmi' - icon_sprite_tag = "feline" - extra_overlay = "tiger_markings" - extra_overlay2 = "tiger_markings_2" - 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/tiger/fat - name = "Fat Tiger (Taur)" - icon_state = "fattiger_s" - extra_overlay = "fattiger_markings" - extra_overlay2 = "fattiger_markings_2" - icon_loaf = 'icons/mob/vore/taurs_loaf.dmi' - loaf_offset = 3 - -/datum/sprite_accessory/tail/taur/tiger/fat_vwag - name = "Tiger (Taur, Fat vwag)" - ani_state = "fattiger_s" - extra_overlay_w = "fattiger_markings" - extra_overlay2_w = "fattiger_markings_2" - -/datum/sprite_accessory/tail/taur/synthetic/syntheticagi - name = "Synthetic chassis - agile (Taur)" - 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_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_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/slug - name = "Slug (Taur)" - 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/frog - name = "Frog (Taur)" - icon_state = "frog_s" - icon_sprite_tag = "frog" - -/datum/sprite_accessory/tail/taur/drake //Enabling on request, no suit compatibility but then again see 2 above. - name = "Drake (Taur)" - 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/otie - name = "Otie (Taur)" - 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/alraune/alraune_2c - name = "Alraune (dual color)" - icon_state = "alraunecolor_s" - ani_state = "alraunecolor_closed_s" - ckeys_allowed = null - do_colouration = 1 - 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/wasp - name = "Wasp (dual color)" - icon_state = "wasp_s" - extra_overlay = "wasp_markings" - clip_mask_state = "taur_clip_mask_wasp" - icon_sprite_tag = "wasp" - - 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/mermaid - name = "Mermaid (Taur)" - icon_state = "mermaid_s" - can_ride = 0 - 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/pawcow // 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/zorgoia - name = "Zorgoia (Taur)" - 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/rat - name = "Rat (Taur)" - icon_state = "rat_s" - extra_overlay = "rat_markings" - clip_mask_state = "taur_clip_mask_rat" - icon_sprite_tag = "rat" - -/datum/sprite_accessory/tail/taur/noodle - name = "Eastern Dragon (Taur)" - 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/sect_drone/drone_wag - name = "Sect Drone (Taur, Fat vwag)" - 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/giantspider - name = "Giant Spider (Taur)" - icon_state = "giantspidertaur" - 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" - 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" - extra_overlay = "ant_markings" - clip_mask_state = "taur_clip_mask_wasp" - icon_sprite_tag = "wasp" - -/datum/sprite_accessory/tail/taur/fox - name = "Fox (Taur, 3-color)" - 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/kitsune - name = "Kitsune (Taur)" - icon_state = "kitsune" - -/* -/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 -*/ - -/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 -// Special snowflake tails/taurhalves - -//spoopylizz: Roiz Lizden -/datum/sprite_accessory/tail/taur/roiz_long_lizard // Not ACTUALLY a taur, but it uses 32x64 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_state = "roiz_tail_s" - do_colouration = 0 - 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_state = "orcamermaid_s" - can_ride = 1 - do_colouration = 0 - ckeys_allowed = list("grallstonefist") - -//wickedtemp: Chakat Tempest -/datum/sprite_accessory/tail/taur/feline/tempest - name = "Feline (wickedtemp) (Taur)" - 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_state = "serdy_s" - ckeys_allowed = list("silencedmp5a5") - can_loaf = FALSE - -//liquidfirefly: Ariana Scol -/datum/sprite_accessory/tail/taur/centipede - name = "Centipede (liquidfirefly) (Taur)" - icon_state = "ariana_s" - ckeys_allowed = list("liquidfirefly") - do_colouration = 0 - - 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_state = "alraune_s" - ani_state = "alraune_closed_s" - ckeys_allowed = list("natje") - do_colouration = 0 - can_ride = 0 - 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!" - -/datum/sprite_accessory/tail/taur/redpanda - name = "Red Panda (Taur)" - icon_state = "redpanda" - -/datum/sprite_accessory/tail/taur/redpandadc - name = "Red Panda (Taur dual-color)" - icon_state = "redpanda_dc" - extra_overlay = "redpanda_dc_markings" - -/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/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/synthnaga - name = "Synthetic Naga dual-color (Taur)" - icon_state = "synthnaga" - extra_overlay = "synthnaga_belly" - -/datum/sprite_accessory/tail/taur/horse/scoli - name = "Scolipede (Taur)" - icon_state = "scoli_s" - extra_overlay = "scoli_markings1" - extra_overlay2 = "scoli_markings2" - -/datum/sprite_accessory/tail/taur/sergal/wheaties - name = "Sergal (Taur)" - icon_state = "sergwheat" - icon_sprite_tag = "wolf" - vore_tail_sprite_variant = "N" - fullness_icons = 3 - struggle_anim = TRUE - -/datum/sprite_accessory/tail/taur/longvirus - name = "Long Virus (Taur)" - icon_state = "longvirus_s" - extra_overlay = "longvirus_markings" - icon_sprite_tag = "virus" - -/datum/sprite_accessory/tail/taur/sectdrone - name = "Sect Drone (Taur)" - 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/fat - name = "Fat Sect Drone (Taur)" - icon_state = "fat_sect_drone" - extra_overlay = "fat_sect_drone_markings" - icon_sprite_tag = "sect_drone" - -/datum/sprite_accessory/tail/taur/sergal/fatwheaties - 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_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/fatwheaties_2c - 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/cow_alt - name = "Cow Alt (Taur dual-color)" - icon_state = "cow_alt" - extra_overlay = "cow_alt_2" - vore_tail_sprite_variant = "CowAlt" - fullness_icons = 1 - -/datum/sprite_accessory/tail/taur/bigleggy - name = "Big Leggies" - 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" - -/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/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/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/zorgoia_new - name = "Zorgoia (Taur) (New)" - 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" - -/datum/sprite_accessory/tail/taur/sloog - name = "Sloog (Taur)" - icon_state = "sloog" - extra_overlay = "sloog_glowstripe" - extra_overlay_w = "sloog_glowstripe" - can_loaf = FALSE - -/datum/sprite_accessory/tail/taur/horse/big - name = "Kentauri (Taur)" - icon_state = "kentauri_s" - extra_overlay = "kentauri_markings" - -/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/wolf/wolf_2 - name = "WolfTG (Taur)" - icon_state = "wolf3_s" - -/datum/sprite_accessory/tail/taur/long_lizard - name = "Large Dragon Tail" - icon_state = "big_liz" - can_ride = 0 - hide_body_parts = null - clip_mask_icon = null - clip_mask_state = null - -/datum/sprite_accessory/tail/taur/long_lizard/scaled - name = "Large Dragon Tail/W scales" - extra_overlay = "big_liz_mark" - -/datum/sprite_accessory/tail/taur/treeoak_roots - name = "Tree Roots (Oak)" - icon_state = "tree_oak_roots" - can_ride = 0 - -/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/taur/teshari // chickenbutt - name = "Teshari dual-color (Taur)" - icon = 'icons/mob/human_races/sprite_accessories/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" diff --git a/code/modules/mob/new_player/tails/sprite_accessories_tail.dm b/code/modules/mob/new_player/tails/sprite_accessories_tail.dm new file mode 100644 index 00000000000..e7e411d5046 --- /dev/null +++ b/code/modules/mob/new_player/tails/sprite_accessories_tail.dm @@ -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" diff --git a/code/modules/mob/new_player/tails/tails_animal.dm b/code/modules/mob/new_player/tails/tails_animal.dm new file mode 100644 index 00000000000..c138e337aec --- /dev/null +++ b/code/modules/mob/new_player/tails/tails_animal.dm @@ -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" diff --git a/code/modules/mob/new_player/tails/tails_bug.dm b/code/modules/mob/new_player/tails/tails_bug.dm new file mode 100644 index 00000000000..2597826bbbe --- /dev/null +++ b/code/modules/mob/new_player/tails/tails_bug.dm @@ -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" diff --git a/code/modules/mob/new_player/tails/tails_exotic.dm b/code/modules/mob/new_player/tails/tails_exotic.dm new file mode 100644 index 00000000000..cc890c29208 --- /dev/null +++ b/code/modules/mob/new_player/tails/tails_exotic.dm @@ -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" diff --git a/code/modules/mob/new_player/tails/tails_long.dm b/code/modules/mob/new_player/tails/tails_long.dm new file mode 100644 index 00000000000..6c72ce72955 --- /dev/null +++ b/code/modules/mob/new_player/tails/tails_long.dm @@ -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" diff --git a/code/modules/mob/new_player/tails/tails_reptile.dm b/code/modules/mob/new_player/tails/tails_reptile.dm new file mode 100644 index 00000000000..4a583dea903 --- /dev/null +++ b/code/modules/mob/new_player/tails/tails_reptile.dm @@ -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" diff --git a/code/modules/mob/new_player/tails/tails_snowflake.dm b/code/modules/mob/new_player/tails/tails_snowflake.dm new file mode 100644 index 00000000000..ec68ac78ba8 --- /dev/null +++ b/code/modules/mob/new_player/tails/tails_snowflake.dm @@ -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 diff --git a/code/modules/mob/new_player/tails/tails_synth.dm b/code/modules/mob/new_player/tails/tails_synth.dm new file mode 100644 index 00000000000..bc415996b18 --- /dev/null +++ b/code/modules/mob/new_player/tails/tails_synth.dm @@ -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" diff --git a/code/modules/mob/new_player/tails/tails_teshari.dm b/code/modules/mob/new_player/tails/tails_teshari.dm new file mode 100644 index 00000000000..f91700389de --- /dev/null +++ b/code/modules/mob/new_player/tails/tails_teshari.dm @@ -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" diff --git a/code/modules/mob/new_player/taur/not_taur_legs.dm b/code/modules/mob/new_player/taur/not_taur_legs.dm new file mode 100644 index 00000000000..ec7838b3083 --- /dev/null +++ b/code/modules/mob/new_player/taur/not_taur_legs.dm @@ -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" diff --git a/code/modules/mob/new_player/taur/sprite_accessories_taur.dm b/code/modules/mob/new_player/taur/sprite_accessories_taur.dm new file mode 100644 index 00000000000..fad0baa2b9b --- /dev/null +++ b/code/modules/mob/new_player/taur/sprite_accessories_taur.dm @@ -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 + . = ..() diff --git a/code/modules/mob/new_player/taur/taur_animal.dm b/code/modules/mob/new_player/taur/taur_animal.dm new file mode 100644 index 00000000000..0aba39e842c --- /dev/null +++ b/code/modules/mob/new_player/taur/taur_animal.dm @@ -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" diff --git a/code/modules/mob/new_player/taur/taur_exotic.dm b/code/modules/mob/new_player/taur/taur_exotic.dm new file mode 100644 index 00000000000..97f0ec4b787 --- /dev/null +++ b/code/modules/mob/new_player/taur/taur_exotic.dm @@ -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 +*/ diff --git a/code/modules/mob/new_player/taur/taur_reptile.dm b/code/modules/mob/new_player/taur/taur_reptile.dm new file mode 100644 index 00000000000..aef6dd538da --- /dev/null +++ b/code/modules/mob/new_player/taur/taur_reptile.dm @@ -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" diff --git a/code/modules/mob/new_player/taur/taur_snowflake.dm b/code/modules/mob/new_player/taur/taur_snowflake.dm new file mode 100644 index 00000000000..a199be11013 --- /dev/null +++ b/code/modules/mob/new_player/taur/taur_snowflake.dm @@ -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!" diff --git a/code/modules/mob/new_player/taur/taur_synth.dm b/code/modules/mob/new_player/taur/taur_synth.dm new file mode 100644 index 00000000000..dfa1da1ec03 --- /dev/null +++ b/code/modules/mob/new_player/taur/taur_synth.dm @@ -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" diff --git a/icons/effects/species_tails.dmi b/icons/effects/species_tails.dmi index 5fea0671c65..2cc556873ef 100644 Binary files a/icons/effects/species_tails.dmi and b/icons/effects/species_tails.dmi differ diff --git a/icons/mob/human_races/sprite_accessories/biglegs.dmi b/icons/mob/human_races/sprite_accessories/biglegs.dmi new file mode 100644 index 00000000000..b46e8b0c12e Binary files /dev/null and b/icons/mob/human_races/sprite_accessories/biglegs.dmi differ diff --git a/icons/mob/human_races/sprite_accessories/tails.dmi b/icons/mob/human_races/sprite_accessories/oldtails.dmi similarity index 100% rename from icons/mob/human_races/sprite_accessories/tails.dmi rename to icons/mob/human_races/sprite_accessories/oldtails.dmi diff --git a/icons/mob/human_races/sprite_accessories/tails/not_tail_legs.dmi b/icons/mob/human_races/sprite_accessories/tails/not_tail_legs.dmi new file mode 100644 index 00000000000..1704b042a43 Binary files /dev/null and b/icons/mob/human_races/sprite_accessories/tails/not_tail_legs.dmi differ diff --git a/icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi b/icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi new file mode 100644 index 00000000000..cc63d30fd18 Binary files /dev/null and b/icons/mob/human_races/sprite_accessories/tails/tails_animal.dmi differ diff --git a/icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi b/icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi new file mode 100644 index 00000000000..b18ee1fd4fd Binary files /dev/null and b/icons/mob/human_races/sprite_accessories/tails/tails_bug.dmi differ diff --git a/icons/mob/human_races/sprite_accessories/tails/tails_exotic.dmi b/icons/mob/human_races/sprite_accessories/tails/tails_exotic.dmi new file mode 100644 index 00000000000..7d981ea65a1 Binary files /dev/null and b/icons/mob/human_races/sprite_accessories/tails/tails_exotic.dmi differ diff --git a/icons/mob/human_races/sprite_accessories/tails/tails_long.dmi b/icons/mob/human_races/sprite_accessories/tails/tails_long.dmi new file mode 100644 index 00000000000..74a96279178 Binary files /dev/null and b/icons/mob/human_races/sprite_accessories/tails/tails_long.dmi differ diff --git a/icons/mob/human_races/sprite_accessories/tails/tails_reptile.dmi b/icons/mob/human_races/sprite_accessories/tails/tails_reptile.dmi new file mode 100644 index 00000000000..f066c8a0745 Binary files /dev/null and b/icons/mob/human_races/sprite_accessories/tails/tails_reptile.dmi differ diff --git a/icons/mob/human_races/sprite_accessories/tails/tails_snowflake.dmi b/icons/mob/human_races/sprite_accessories/tails/tails_snowflake.dmi new file mode 100644 index 00000000000..3363d8cd62f Binary files /dev/null and b/icons/mob/human_races/sprite_accessories/tails/tails_snowflake.dmi differ diff --git a/icons/mob/human_races/sprite_accessories/tails/tails_synth.dmi b/icons/mob/human_races/sprite_accessories/tails/tails_synth.dmi new file mode 100644 index 00000000000..045946929e0 Binary files /dev/null and b/icons/mob/human_races/sprite_accessories/tails/tails_synth.dmi differ diff --git a/icons/mob/human_races/sprite_accessories/tails/tails_teshari.dmi b/icons/mob/human_races/sprite_accessories/tails/tails_teshari.dmi new file mode 100644 index 00000000000..78fff086001 Binary files /dev/null and b/icons/mob/human_races/sprite_accessories/tails/tails_teshari.dmi differ diff --git a/icons/mob/human_races/sprite_accessories/taurs.dmi b/icons/mob/human_races/sprite_accessories/taurs.dmi deleted file mode 100644 index 09438cd84b9..00000000000 Binary files a/icons/mob/human_races/sprite_accessories/taurs.dmi and /dev/null differ diff --git a/icons/mob/human_races/sprite_accessories/taurs/taurs_animal.dmi b/icons/mob/human_races/sprite_accessories/taurs/taurs_animal.dmi new file mode 100644 index 00000000000..a8db3ca9a19 Binary files /dev/null and b/icons/mob/human_races/sprite_accessories/taurs/taurs_animal.dmi differ diff --git a/icons/mob/human_races/sprite_accessories/taurs/taurs_exotic.dmi b/icons/mob/human_races/sprite_accessories/taurs/taurs_exotic.dmi new file mode 100644 index 00000000000..c15c56e959d Binary files /dev/null and b/icons/mob/human_races/sprite_accessories/taurs/taurs_exotic.dmi differ diff --git a/icons/mob/human_races/sprite_accessories/taurs/taurs_reptile.dmi b/icons/mob/human_races/sprite_accessories/taurs/taurs_reptile.dmi new file mode 100644 index 00000000000..88b0b3765d0 Binary files /dev/null and b/icons/mob/human_races/sprite_accessories/taurs/taurs_reptile.dmi differ diff --git a/icons/mob/human_races/sprite_accessories/taurs/taurs_snowflake.dmi b/icons/mob/human_races/sprite_accessories/taurs/taurs_snowflake.dmi new file mode 100644 index 00000000000..217d92ff748 Binary files /dev/null and b/icons/mob/human_races/sprite_accessories/taurs/taurs_snowflake.dmi differ diff --git a/icons/mob/human_races/sprite_accessories/taurs/taurs_synth.dmi b/icons/mob/human_races/sprite_accessories/taurs/taurs_synth.dmi new file mode 100644 index 00000000000..8824df3d334 Binary files /dev/null and b/icons/mob/human_races/sprite_accessories/taurs/taurs_synth.dmi differ diff --git a/icons/mob/human_races/sprite_accessories/taurs_teshari.dmi b/icons/mob/human_races/sprite_accessories/taurs/taurs_teshari.dmi similarity index 100% rename from icons/mob/human_races/sprite_accessories/taurs_teshari.dmi rename to icons/mob/human_races/sprite_accessories/taurs/taurs_teshari.dmi diff --git a/icons/mob/human_races/sprite_accessories/unsortedtaurs.dmi b/icons/mob/human_races/sprite_accessories/unsortedtaurs.dmi new file mode 100644 index 00000000000..5c33d324e7e Binary files /dev/null and b/icons/mob/human_races/sprite_accessories/unsortedtaurs.dmi differ diff --git a/icons/mob/vore/taurs_loaf.dmi b/icons/mob/vore/taurs_loaf.dmi index 318a6f105af..bc5a2b18d9b 100644 Binary files a/icons/mob/vore/taurs_loaf.dmi and b/icons/mob/vore/taurs_loaf.dmi differ diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/Ears.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/Ears.tsx index 44b781046cd..e67c5764a7d 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/Ears.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/Ears.tsx @@ -1,6 +1,13 @@ import { type PropsWithChildren, useCallback, useState } from 'react'; import { useBackend } from 'tgui/backend'; -import { Box, Button, ImageButton, Input, Section } from 'tgui-core/components'; +import { + Box, + Button, + ImageButton, + Input, + Section, + Stack, +} from 'tgui-core/components'; import { ColorizedImageButton, @@ -46,6 +53,21 @@ export const EarsImageButton = ( } const data = serverData.ear_styles[style]; + if (data.icon_state === null || data.icon === null) { + return ( + } + > + {props.children} + + ); + } // Must be wrapped with useCallback or else it'll rerender every frame const postRender = useCallback( @@ -117,62 +139,69 @@ export const EarsDimmer = (props: {
setShow(BodyPopup.None)} color="bad"> Close } > - { - switch (type) { - case ColorType.First: - act('set_ear_color'); - break; - case ColorType.Second: - act('set_ear_color2'); - break; - case ColorType.Third: - act('set_ear_color3'); - break; - case ColorType.Alpha: - act('ears_alpha'); - break; - } - }} - color_one={color || '#FFFFFF'} - color_two={color2 || '#FFFFFF'} - color_three={color3 || '#FFFFFF'} - alpha={alpha} - /> - setSearch(val)} - value={search} - mt={1} - /> - - {styles.map((style) => ( - act('set_ear_style', { ear_style: style })} - > - {style} - - ))} + + + { + switch (type) { + case ColorType.First: + act('set_ear_color'); + break; + case ColorType.Second: + act('set_ear_color2'); + break; + case ColorType.Third: + act('set_ear_color3'); + break; + case ColorType.Alpha: + act('ears_alpha'); + break; + } + }} + color_one={color || '#FFFFFF'} + color_two={color2 || '#FFFFFF'} + color_three={color3 || '#FFFFFF'} + alpha={alpha} + /> + + + setSearch(val)} + value={search} + /> + + +
+ {styles.map((style) => ( + act('set_ear_style', { ear_style: style })} + > + {style} + + ))} +
+
+
); }; diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/EarsSecondary.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/EarsSecondary.tsx index 4afebdc7ac8..8e346ec9bc4 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/EarsSecondary.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/EarsSecondary.tsx @@ -1,6 +1,6 @@ import { useState } from 'react'; import { useBackend } from 'tgui/backend'; -import { Button, Input, Section } from 'tgui-core/components'; +import { Button, Input, Section, Stack } from 'tgui-core/components'; import { ColorPicker, ColorType } from '../../helper_components'; import type { @@ -40,59 +40,68 @@ export const EarsSecondaryDimmer = (props: {
setShow(BodyPopup.None)} color="bad"> Close } > - { - switch (type) { - case ColorType.First: - act('set_ear_secondary_color', { ear_secondary_color: 1 }); - break; - case ColorType.Second: - act('set_ear_secondary_color', { ear_secondary_color: 2 }); - break; - case ColorType.Third: - act('set_ear_secondary_color', { ear_secondary_color: 3 }); - break; - case ColorType.Alpha: - act('secondary_ears_alpha'); - } - }} - color_one={color1 || '#FFFFFF'} - color_two={color2 || '#FFFFFF'} - color_three={color3 || '#FFFFFF'} - alpha={alpha} - /> - setSearch(val)} - value={search} - mt={1} - /> - - {styles.map((style) => ( - act('set_ear_secondary_style', { ear_style: style })} - > - {style} - - ))} + + + { + switch (type) { + case ColorType.First: + act('set_ear_secondary_color', { ear_secondary_color: 1 }); + break; + case ColorType.Second: + act('set_ear_secondary_color', { ear_secondary_color: 2 }); + break; + case ColorType.Third: + act('set_ear_secondary_color', { ear_secondary_color: 3 }); + break; + case ColorType.Alpha: + act('secondary_ears_alpha'); + } + }} + color_one={color1 || '#FFFFFF'} + color_two={color2 || '#FFFFFF'} + color_three={color3 || '#FFFFFF'} + alpha={alpha} + /> + + + setSearch(val)} + value={search} + /> + + +
+ {styles.map((style) => ( + + act('set_ear_secondary_style', { ear_style: style }) + } + > + {style} + + ))} +
+
+
); }; diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/Facial.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/Facial.tsx index 0bbc9f96456..56580d5f9fe 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/Facial.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/Facial.tsx @@ -1,7 +1,14 @@ import { type PropsWithChildren, useCallback, useState } from 'react'; import { useBackend } from 'tgui/backend'; import { getIconFromRefMap } from 'tgui/events/handlers/assets'; -import { Button, ImageButton, Input, Section } from 'tgui-core/components'; +import { + Box, + Button, + ImageButton, + Input, + Section, + Stack, +} from 'tgui-core/components'; import { ColorizedImageButton, ColorPicker, @@ -49,6 +56,22 @@ export const FacialImageButton = ( } const data = serverData.facial_styles[hairStyle]; + if (data.icon_state === null || data.icon === null) { + return ( + } + > + {props.children} + + ); + } + return ( setShow(BodyPopup.None)} color="bad"> Close } > - {our_species.appearance_flags & AppearanceFlags.HAS_HAIR_COLOR ? ( - { - act('set_facial_hair_color'); - }} - color_one={hairColor} - /> - ) : null} - setSearch(val)} - value={search} - mt={1} - /> - - {hair_styles.map((hairStyle) => ( - { - act('set_facial_hair_style', { facial_hair_style: hairStyle }); - }} - selected={hairStyle === data.f_style} - > - {hairStyle} - - ))} + + {our_species.appearance_flags & AppearanceFlags.HAS_HAIR_COLOR ? ( + + { + act('set_facial_hair_color'); + }} + color_one={hairColor} + /> + + ) : null} + + setSearch(val)} + value={search} + /> + + +
+ {hair_styles.map((hairStyle) => ( + { + act('set_facial_hair_style', { + facial_hair_style: hairStyle, + }); + }} + selected={hairStyle === data.f_style} + > + {hairStyle} + + ))} +
+
+
); }; diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/Gradient.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/Gradient.tsx index d5a46ccd984..10c5a33b1a6 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/Gradient.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/Gradient.tsx @@ -1,6 +1,13 @@ import { type PropsWithChildren, useState } from 'react'; import { useBackend } from 'tgui/backend'; -import { Button, ImageButton, Input, Section } from 'tgui-core/components'; +import { + Box, + Button, + ImageButton, + Input, + Section, + Stack, +} from 'tgui-core/components'; import { ColorizedImageButton, ColorPicker } from '../../helper_components'; import type { @@ -31,6 +38,22 @@ export const GradientImageButton = ( } const data = serverData.grad_styles[style]; + if (data.icon_state === null || data.icon === null) { + return ( + } + > + {props.children} + + ); + } + return ( setShow(BodyPopup.None)} color="bad"> Close } > - { - act('set_grad_color'); - }} - color_one={color} - /> - setSearch(val)} - value={search} - mt={1} - /> - - {grad_styles.map((style) => ( - act('set_grad_style', { grad_style: style })} - > - {style} - - ))} + + + { + act('set_grad_color'); + }} + color_one={color} + /> + + + setSearch(val)} + value={search} + /> + + +
+ {grad_styles.map((style) => ( + act('set_grad_style', { grad_style: style })} + > + {style} + + ))} +
+
+
); }; diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/Hair.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/Hair.tsx index 9429870ea00..dee79776f4a 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/Hair.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/Hair.tsx @@ -1,7 +1,7 @@ import { type PropsWithChildren, useCallback, useState } from 'react'; import { useBackend } from 'tgui/backend'; import { getIconFromRefMap } from 'tgui/events/handlers/assets'; -import { Button, ImageButton, Input, Section } from 'tgui-core/components'; +import { Box, Button, ImageButton, Input, Section } from 'tgui-core/components'; import { ColorizedImageButton, ColorPicker, @@ -48,6 +48,22 @@ export const HairImageButton = ( ); } const data = serverData.hair_styles[hairStyle]; + if (data.icon_state === null || data.icon === null) { + return ( + } + > + {props.children} + + ); + } + return ( setShow(BodyPopup.None)} color="bad"> Close diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/Tail.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/Tail.tsx index 17fd99fed0d..63e820a4033 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/Tail.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/Tail.tsx @@ -1,6 +1,13 @@ import { type PropsWithChildren, useCallback, useState } from 'react'; import { useBackend } from 'tgui/backend'; -import { Box, Button, ImageButton, Input, Section } from 'tgui-core/components'; +import { + Box, + Button, + ImageButton, + Input, + Section, + Stack, +} from 'tgui-core/components'; import { ColorizedImageButton, @@ -45,6 +52,21 @@ export const TailImageButton = ( ); } const data = serverData.tail_styles[style]; + if (data.icon_state === null || data.icon === null) { + return ( + } + > + {props.children} + + ); + } // Must be wrapped with useCallback or else it'll rerender every frame const postRender = useCallback( @@ -118,61 +140,68 @@ export const TailDimmer = (props: {
setShow(BodyPopup.None)} color="bad"> Close } > - { - switch (type) { - case ColorType.First: - act('set_tail_color'); - break; - case ColorType.Second: - act('set_tail_color2'); - break; - case ColorType.Third: - act('set_tail_color3'); - break; - case ColorType.Alpha: - act('set_tail_alpha'); - break; - } - }} - color_one={color || '#FFFFFF'} - color_two={color2 || '#FFFFFF'} - color_three={color3 || '#FFFFFF'} - alpha={alpha} - /> - setSearch(val)} - value={search} - mt={1} - /> - - {styles.map((style) => ( - { - act('set_tail_style', { style: style }); - }} - selected={style === data.tail_style} - > - {style} - - ))} + + + { + switch (type) { + case ColorType.First: + act('set_tail_color'); + break; + case ColorType.Second: + act('set_tail_color2'); + break; + case ColorType.Third: + act('set_tail_color3'); + break; + case ColorType.Alpha: + act('set_tail_alpha'); + break; + } + }} + color_one={color || '#FFFFFF'} + color_two={color2 || '#FFFFFF'} + color_three={color3 || '#FFFFFF'} + alpha={alpha} + /> + + + setSearch(val)} + value={search} + /> + + +
+ {styles.map((style) => ( + { + act('set_tail_style', { style: style }); + }} + selected={style === data.tail_style} + > + {style} + + ))} +
+
+
); }; diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/Wings.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/Wings.tsx index 5a1251c2d36..0ae5c92851b 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/Wings.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/body/Wings.tsx @@ -1,6 +1,13 @@ import { type PropsWithChildren, useCallback, useState } from 'react'; import { useBackend } from 'tgui/backend'; -import { Box, Button, ImageButton, Input, Section } from 'tgui-core/components'; +import { + Box, + Button, + ImageButton, + Input, + Section, + Stack, +} from 'tgui-core/components'; import { ColorizedImageButton, @@ -45,6 +52,21 @@ export const WingsImageButton = ( ); } const data = serverData.wing_styles[style]; + if (data.icon_state === null || data.icon === null) { + return ( + } + > + {props.children} + + ); + } // Must be wrapped with useCallback or else it'll rerender every frame const postRender = useCallback( @@ -115,61 +137,68 @@ export const WingsDimmer = (props: {
setShow(BodyPopup.None)} color="bad"> Close } > - { - switch (type) { - case ColorType.First: - act('set_wing_color'); - break; - case ColorType.Second: - act('set_wing_color2'); - break; - case ColorType.Third: - act('set_wing_color3'); - break; - case ColorType.Alpha: - act('set_wing_alpha'); - break; - } - }} - color_one={color || '#FFFFFF'} - color_two={color2 || '#FFFFFF'} - color_three={color3 || '#FFFFFF'} - alpha={alpha} - /> - setSearch(val)} - value={search} - mt={1} - /> - - {styles.map((style) => ( - { - act('set_wing_style', { style: style }); - }} - selected={style === data.wing_style} - > - {style} - - ))} + + + { + switch (type) { + case ColorType.First: + act('set_wing_color'); + break; + case ColorType.Second: + act('set_wing_color2'); + break; + case ColorType.Third: + act('set_wing_color3'); + break; + case ColorType.Alpha: + act('set_wing_alpha'); + break; + } + }} + color_one={color || '#FFFFFF'} + color_two={color2 || '#FFFFFF'} + color_three={color3 || '#FFFFFF'} + alpha={alpha} + /> + + + setSearch(val)} + value={search} + /> + + +
+ {styles.map((style) => ( + { + act('set_wing_style', { style: style }); + }} + selected={style === data.wing_style} + > + {style} + + ))} +
+
+
); }; diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/data.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/data.ts index 005a8408a35..8662260fc61 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/data.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/data.ts @@ -329,7 +329,11 @@ export type GeneralDataStatic = Partial<{ available_wing_styles: string[]; }>; -export type StandardStyle = { name: string; icon: string; icon_state: string }; +export type StandardStyle = { + name: string; + icon: string | null; + icon_state: string | null; +}; export type EarStyle = StandardStyle & { type: string; diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/helper_components.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/helper_components.tsx index 22428355cd3..c5601b48450 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/helper_components.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/helper_components.tsx @@ -62,13 +62,13 @@ export const CanvasBackedImage = (props: { export const drawColorizedIconToOffscreenCanvas = async ( color: string, - icon: string, - icon_state: string, + icon: string | null, + icon_state: string | null, dir?: string, ): Promise => { const canvas = new OffscreenCanvas(64, 64); const ctx = canvas.getContext('2d'); - if (!ctx) { + if (!ctx || !icon || !icon_state) { return null; } @@ -96,8 +96,8 @@ export const drawColorizedIconToOffscreenCanvas = async ( }; export const ColorizedImage = (props: { - iconRef: string; - iconState: string; + iconRef: string | null; + iconState: string | null; preRender?: (ctx: OffscreenCanvasRenderingContext2D) => Promise; postRender?: (ctx: OffscreenCanvasRenderingContext2D) => Promise; color?: string | null; @@ -178,8 +178,8 @@ export const CustomImageButton = ( export const ColorizedImageButton = ( props: PropsWithChildren<{ - iconRef: string; - iconState: string; + iconRef: string | null; + iconState: string | null; color?: string | null; dir?: string; onClick: () => void; diff --git a/vorestation.dme b/vorestation.dme index eefc6ba28c9..88aae8c6001 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -4020,10 +4020,24 @@ #include "code\modules\mob\new_player\sprite_accessories_ear.dm" #include "code\modules\mob\new_player\sprite_accessories_hair.dm" #include "code\modules\mob\new_player\sprite_accessories_markings.dm" -#include "code\modules\mob\new_player\sprite_accessories_tail.dm" -#include "code\modules\mob\new_player\sprite_accessories_taur.dm" #include "code\modules\mob\new_player\sprite_accessories_wing.dm" #include "code\modules\mob\new_player\sprite_accessories_wing_large.dm" +#include "code\modules\mob\new_player\tails\sprite_accessories_tail.dm" +#include "code\modules\mob\new_player\tails\tails_animal.dm" +#include "code\modules\mob\new_player\tails\tails_bug.dm" +#include "code\modules\mob\new_player\tails\tails_exotic.dm" +#include "code\modules\mob\new_player\tails\tails_long.dm" +#include "code\modules\mob\new_player\tails\tails_reptile.dm" +#include "code\modules\mob\new_player\tails\tails_snowflake.dm" +#include "code\modules\mob\new_player\tails\tails_synth.dm" +#include "code\modules\mob\new_player\tails\tails_teshari.dm" +#include "code\modules\mob\new_player\taur\not_taur_legs.dm" +#include "code\modules\mob\new_player\taur\sprite_accessories_taur.dm" +#include "code\modules\mob\new_player\taur\taur_animal.dm" +#include "code\modules\mob\new_player\taur\taur_exotic.dm" +#include "code\modules\mob\new_player\taur\taur_reptile.dm" +#include "code\modules\mob\new_player\taur\taur_snowflake.dm" +#include "code\modules\mob\new_player\taur\taur_synth.dm" #include "code\modules\modular_computers\laptop_vendor.dm" #include "code\modules\modular_computers\computers\modular_computer\core.dm" #include "code\modules\modular_computers\computers\modular_computer\damage.dm"