diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 8bf9792f4c..685e7e9284 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -151,32 +151,27 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() var/matrix/M = matrix() var/anim_time = 3 - // VOREStation Edit Start: Porting Taur Loafing - if(tail_style?.can_loaf && resting) // Only call these if we're resting? - update_tail_showing() - return // No need to do the rest, we return early - /* // Commenting this out as sleeping is fucky - if(tail_style?.can_loaf && lying && sleeping) // If we're put under by anesthetic or fainting - update_tail_showing() - // return // No need to do the rest, we return early - */ - // VOREStation Edit End - //Due to some involuntary means, you're laying now if(lying && !resting && !sleeping) anim_time = 1 //Thud if(lying && !species.prone_icon) //Only rotate them if we're not drawing a specific icon for being prone. - var/randn = rand(1, 2) - if(randn <= 1) // randomly choose a rotation - M.Turn(-90) + // CHOMPEdit Start Loafy Time + if(tail_style?.can_loaf && resting) // Only call these if we're resting? + update_tail_showing() else - M.Turn(90) - M.Scale(desired_scale_y, desired_scale_x)//VOREStation Edit - if(species.icon_height == 64)//VOREStation Edit - M.Translate(13,-22) - else - M.Translate(1,-6) + var/randn = rand(1, 2) + if(randn <= 1) // randomly choose a rotation + M.Turn(-90) + else + M.Turn(90) + if(species.icon_height == 64) + M.Translate(13,-22) + else + M.Translate(1,-6) + M.Scale(desired_scale_y, desired_scale_x) + M.Translate(center_offset * desired_scale_x, (vis_height/2)*(desired_scale_y-1)) //CHOMPEdit + // CHOMPEdit End layer = MOB_LAYER -0.01 // Fix for a byond bug where turf entry order no longer matters else M.Scale(desired_scale_x, desired_scale_y)//VOREStation Edit @@ -1278,13 +1273,13 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() //If you have a custom tail selected if(tail_style && !(wear_suit && wear_suit.flags_inv & HIDETAIL && !istaurtail(tail_style)) && !tail_hidden) - var/icon/tail_s = new/icon("icon" = tail_style.icon, "icon_state" = (tail_style.can_loaf && resting) ? "[tail_style.icon_state]_loaf" : (wagging && tail_style.ani_state ? tail_style.ani_state : tail_style.icon_state)) // VOREStation Edit: Taur Loafing + var/icon/tail_s = new/icon("icon" = (tail_style.can_loaf && resting) ? tail_style.icon_loaf : tail_style.icon, "icon_state" = (wagging && tail_style.ani_state ? tail_style.ani_state : tail_style.icon_state)) //CHOMPEdit if(tail_style.can_loaf && !is_shifted) pixel_y = (resting) ? -tail_style.loaf_offset*size_multiplier : default_pixel_y //move player down, then taur up, to fit the overlays correctly // VOREStation Edit: Taur Loafing if(tail_style.do_colouration) tail_s.Blend(rgb(src.r_tail, src.g_tail, src.b_tail), tail_style.color_blend_mode) if(tail_style.extra_overlay) - var/icon/overlay = new/icon("icon" = tail_style.icon, "icon_state" = (tail_style?.can_loaf && resting) ? "[tail_style.extra_overlay]_loaf" : tail_style.extra_overlay) // VOREStation Edit: Taur Loafing + var/icon/overlay = new/icon("icon" = (tail_style?.can_loaf && resting) ? tail_style.icon_loaf : tail_style.icon, "icon_state" = tail_style.extra_overlay) //CHOMPEdit if(wagging && tail_style.ani_state) overlay = new/icon("icon" = tail_style.icon, "icon_state" = tail_style.extra_overlay_w) overlay.Blend(rgb(src.r_tail2, src.g_tail2, src.b_tail2), tail_style.color_blend_mode) @@ -1296,7 +1291,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() qdel(overlay) if(tail_style.extra_overlay2) - var/icon/overlay = new/icon("icon" = tail_style.icon, "icon_state" = tail_style.extra_overlay2) + var/icon/overlay = new/icon("icon" = (tail_style?.can_loaf && resting) ? tail_style.icon_loaf : tail_style.icon, "icon_state" = tail_style.extra_overlay2) //CHOMPEdit if(wagging && tail_style.ani_state) overlay = new/icon("icon" = tail_style.icon, "icon_state" = tail_style.extra_overlay2_w) overlay.Blend(rgb(src.r_tail3, src.g_tail3, src.b_tail3), tail_style.color_blend_mode) @@ -1314,7 +1309,6 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() if(istaurtail(tail_style)) var/datum/sprite_accessory/tail/taur/taurtype = tail_style working.pixel_x = -16 - working.pixel_y = (tail_style.can_loaf && resting) ? tail_style.loaf_offset : 0 // VOREStation Edit: Taur Loafing if(taurtype.can_ride && !riding_datum) riding_datum = new /datum/riding/taur(src) verbs |= /mob/living/carbon/human/proc/taur_mount diff --git a/code/modules/mob/new_player/sprite_accessories_tail_vr.dm b/code/modules/mob/new_player/sprite_accessories_tail_vr.dm index cd63d811ef..19b5f2b407 100644 --- a/code/modules/mob/new_player/sprite_accessories_tail_vr.dm +++ b/code/modules/mob/new_player/sprite_accessories_tail_vr.dm @@ -12,6 +12,7 @@ species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_ALTEVIAN) //This lets all races use var/list/lower_layer_dirs = list(SOUTH) + var/icon_loaf = null //CHOMPEdit /datum/sprite_accessory/tail/New() . = ..() diff --git a/code/modules/mob/new_player/sprite_accessories_taur_vr.dm b/code/modules/mob/new_player/sprite_accessories_taur_vr.dm index 698c91d051..cf0952fc77 100644 --- a/code/modules/mob/new_player/sprite_accessories_taur_vr.dm +++ b/code/modules/mob/new_player/sprite_accessories_taur_vr.dm @@ -56,6 +56,9 @@ under_sprites = 'icons/mob/taursuits_wolf_vr.dmi' suit_sprites = 'icons/mob/taursuits_wolf_vr.dmi' icon_sprite_tag = "wolf" + can_loaf = TRUE + icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi' + loaf_offset = 3 /datum/sprite_accessory/tail/taur/wolf/fatwolf name = "Fat Wolf (Taur)" @@ -104,6 +107,9 @@ extra_overlay = "skunk_markings" extra_overlay2 = "skunk_markings_2" icon_sprite_tag = "skunk" + can_loaf = TRUE + icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi' + loaf_offset = 3 /datum/sprite_accessory/tail/taur/naga name = "Naga (Taur)" @@ -157,6 +163,9 @@ under_sprites = 'icons/mob/taursuits_horse_vr.dmi' suit_sprites = 'icons/mob/taursuits_horse_vr.dmi' icon_sprite_tag = "horse" + can_loaf = TRUE + icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi' + loaf_offset = 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!" @@ -179,12 +188,18 @@ extra_overlay = "synthhorse_markings" extra_overlay2 = "synthhorse_glow" //icon_sprite_tag = "synthhorse" + can_loaf = TRUE + icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi' + loaf_offset = 3 /datum/sprite_accessory/tail/taur/cow name = "Cow (Taur)" icon_state = "cow_s" suit_sprites = 'icons/mob/taursuits_cow_vr.dmi' icon_sprite_tag = "cow" + can_loaf = TRUE + icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi' + loaf_offset = 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!" @@ -207,6 +222,9 @@ extra_overlay = "deer_markings" suit_sprites = 'icons/mob/taursuits_deer_vr.dmi' icon_sprite_tag = "deer" + can_loaf = TRUE + icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi' + loaf_offset = 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!" @@ -229,21 +247,33 @@ // suit_sprites = 'icons/mob/taursuits_lizard_vr.dmi' ///Chomp edit suit_sprites = 'icons/mob/taursuits_lizard_ch.dmi' icon_sprite_tag = "lizard" + can_loaf = TRUE + icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi' + loaf_offset = 3 /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_vr_loaf.dmi' + loaf_offset = 3 /datum/sprite_accessory/tail/taur/lizard/fatlizard name = "Fat Lizard (Taur)" icon_state = "fatlizard_s" + can_loaf = TRUE + icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi' + loaf_offset = 3 /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_vr_loaf.dmi' + loaf_offset = 3 /datum/sprite_accessory/tail/taur/lizard/synthlizard name = "SynthLizard dual-color (Taur)" @@ -251,12 +281,18 @@ extra_overlay = "synthlizard_markings" extra_overlay2 = "synthlizard_glow" //icon_sprite_tag = "synthlizard" + can_loaf = TRUE + icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi' + loaf_offset = 3 /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_vr_loaf.dmi' + loaf_offset = 3 /datum/sprite_accessory/tail/taur/spider name = "Spider (Taur)" @@ -311,11 +347,17 @@ icon_state = "feline_s" suit_sprites = 'icons/mob/taursuits_feline_vr.dmi' icon_sprite_tag = "feline" + can_loaf = TRUE + icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi' + loaf_offset = 3 /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_vr_loaf.dmi' + loaf_offset = 3 /datum/sprite_accessory/tail/taur/fatfeline_wag name = "Fat Feline (Taur) (vwag)" @@ -328,6 +370,8 @@ extra_overlay = "feline_markings" extra_overlay2 = "feline_markings_2" //icon_sprite_tag = "feline2c" + can_loaf = TRUE + icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi' /datum/sprite_accessory/tail/taur/feline/fatfeline_2c name = "Fat Feline 3-color (Taur)" @@ -335,6 +379,8 @@ extra_overlay = "fatfeline_markings" extra_overlay2 = "feline_markings_2" //icon_sprite_tag = "fatfeline2c" + can_loaf = TRUE + icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi' /datum/sprite_accessory/tail/taur/feline/synthfeline name = "SynthFeline dual-color (Taur)" @@ -342,12 +388,16 @@ extra_overlay = "synthfeline_markings" extra_overlay2 = "synthfeline_glow" //icon_sprite_tag = "synthfeline" + can_loaf = TRUE + icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi' /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_vr_loaf.dmi' /datum/sprite_accessory/tail/taur/slug name = "Slug (Taur)" @@ -421,8 +471,9 @@ /// suit_sprites = 'icons/mob/taursuits_drake_vr.dmi' ///Chomp edit suit_sprites = 'icons/mob/taursuits_drake_ch.dmi' icon_sprite_tag = "drake" - can_loaf = TRUE // VOREStation Edit: Taur Loafing - loaf_offset = 6 // VOREStation Edit: Taur Loafing + can_loaf = TRUE + icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi' + loaf_offset = 6 /datum/sprite_accessory/tail/taur/ch/fatdrake name = "Drake (Fat Taur dual-color)" @@ -437,6 +488,9 @@ extra_overlay2 = "otie_markings_2" suit_sprites = 'icons/mob/taursuits_otie_vr.dmi' icon_sprite_tag = "otie" + can_loaf = TRUE + icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi' + loaf_offset = 3 /datum/sprite_accessory/tail/taur/alraune/alraune_2c name = "Alraune (dual color)" diff --git a/icons/mob/vore/taurs_vr_loaf.dmi b/icons/mob/vore/taurs_vr_loaf.dmi new file mode 100644 index 0000000000..1d5d74ecb3 Binary files /dev/null and b/icons/mob/vore/taurs_vr_loaf.dmi differ