Merge branch 'master' into shep-dev-simplemob-injury

This commit is contained in:
Heroman3003
2023-04-15 08:38:41 +10:00
committed by GitHub
60 changed files with 1206 additions and 460 deletions
@@ -170,7 +170,8 @@ var/list/_human_default_emotes = list(
/decl/emote/visible/vibrate,
/decl/emote/audible/croon,
/decl/emote/audible/lwarble,
/decl/emote/audible/croak_skrell
/decl/emote/audible/croak_skrell,
/decl/emote/audible/roarbark
//VOREStation Add End
)
+26 -1
View File
@@ -1,5 +1,30 @@
// VOREStation Add Start: Doing this here bc AUTOHISS_FULL is more readable than #
#define AUTOHISS_OFF 0
#define AUTOHISS_BASIC 1
#define AUTOHISS_FULL 2
// VOREStation Add End
/mob/living/carbon/human/Login()
..()
update_hud()
// VOREStation Add
if(client.prefs) // Safety, just in case so we don't runtime.
if(!client.prefs.autohiss)
client.autohiss_mode = AUTOHISS_FULL
else
switch(client.prefs.autohiss)
if("Full")
client.autohiss_mode = AUTOHISS_FULL
if("Basic")
client.autohiss_mode = AUTOHISS_BASIC
if("Off")
client.autohiss_mode = AUTOHISS_OFF
// VOREStation Add
if(species) species.handle_login_special(src)
return
return
// VOREStation Add Start: Doing this here bc AUTOHISS_FULL is more readable than #
#undef AUTOHISS_OFF
#undef AUTOHISS_BASIC
#undef AUTOHISS_FULL
// VOREStation Add End
@@ -145,32 +145,25 @@ 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)
if(tail_style?.can_loaf && resting) // Only call these if we're resting?
update_tail_showing()
M.Scale(desired_scale_x, desired_scale_y)
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)
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
@@ -1270,13 +1263,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)
@@ -1288,7 +1281,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)
@@ -1306,7 +1299,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
@@ -46,7 +46,8 @@
"catslug",
"car",
"typeone",
"13"
"13",
"pai-raptor"
)
//These vars keep track of whether you have the related software, used for easily updating the UI
var/soft_ut = FALSE //universal translator
@@ -165,9 +165,8 @@
var/limb_icon_key
var/understands_common = TRUE //VOREStation Edit - Makes it so that simplemobs can understand galcomm without being able to speak it.
var/heal_countdown = 5 //VOREStation Edit - A cooldown ticker for passive healing
var/obj/item/weapon/card/id/mobcard = null //VOREStation Edit
var/list/mobcard_access = list() //VOREStation Edit
var/mobcard_provided = FALSE //VOREStation Edit
var/list/myid_access = list() //VOREStation Edit
var/ID_provided = FALSE //VOREStation Edit
// VOREStation Add: Move/Shoot/Attack delays based on damage
var/damage_fatigue_mult = 0 // Our multiplier for how heavily mobs are affected by injury. [UPDATE THIS IF THE FORMULA CHANGES]: Formula = injury_level = round(rand(1,3) * damage_fatigue_mult * clamp(((rand(2,5) * (h / getMaxHealth())) - rand(0,2)), 1, 5))
var/injury_level = 0 // What our injury level is. Rather than being the flat damage, this is the amount added to various delays to simulate injuries in a manner as lightweight as possible.
@@ -179,9 +178,9 @@
verbs -= /mob/verb/observe
health = maxHealth
if(mobcard_provided) //VOREStation Edit
mobcard = new /obj/item/weapon/card/id(src)
mobcard.access = mobcard_access.Copy()
if(ID_provided) //VOREStation Edit
myid = new /obj/item/weapon/card/id(src)
myid.access = myid_access.Copy()
for(var/L in has_langs)
languages |= GLOB.all_languages[L]
@@ -347,4 +346,4 @@
get_injury_level() // We check how injured we are, then actually update the mob on how hurt we are.
. = ..() // Calling parent here, actually updating our mob on how hurt we are.
// VOREStation Add End
// VOREStation Add End
@@ -44,7 +44,7 @@
friendly = list("hugs")
see_in_dark = 8
mobcard_provided = TRUE
ID_provided = TRUE
catalogue_data = list(/datum/category_item/catalogue/fauna/catslug)
ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive/catslug
@@ -426,7 +426,7 @@
catalogue_data = list(/datum/category_item/catalogue/fauna/catslug/custom/engislug)
holder_type = /obj/item/weapon/holder/catslug/custom/engislug
say_list_type = /datum/say_list/catslug/custom/engislug
mobcard_access = list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_construction, access_atmospherics)
myid_access = list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_construction, access_atmospherics)
siemens_coefficient = 0 //Noodly fella's gone and built up an immunity from many small shocks
minbodytemp = 200
@@ -543,7 +543,7 @@
"bio" = 0,
"rad" = 0
) //Similarly, \some\ armour values for a smidge more survivability compared to other catslugs.
mobcard_access = list(access_security, access_sec_doors, access_forensics_lockers, access_maint_tunnels)
myid_access = list(access_security, access_sec_doors, access_forensics_lockers, access_maint_tunnels)
/datum/say_list/catslug/custom/gatslug
speak = list("Have any flashbangs?", "Valids!", "Heard spiders?", "What is that?", "Freeze!", "What are you doing?", "How did you get here?", "Red alert means big bangsticks.", "No being naughty now.", "WAOW!", "Who ate all the donuts?")
@@ -580,7 +580,7 @@
catalogue_data = list(/datum/category_item/catalogue/fauna/catslug/custom/medislug)
holder_type = /obj/item/weapon/holder/catslug/custom/medislug
say_list_type = /datum/say_list/catslug/custom/medislug
mobcard_access = list(access_medical, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics)
myid_access = list(access_medical, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics)
/datum/say_list/catslug/custom/medislug
speak = list("Have any osteodaxon?", "What is that?", "Suit sensors!", "What are you doing?", "How did you get here?", "Put a mask on!", "No smoking!", "WAOW!", "Stop getting blood everywhere!", "WHERE IN MAINT?")
@@ -616,7 +616,7 @@
catalogue_data = list(/datum/category_item/catalogue/fauna/catslug/custom/scienceslug)
holder_type = /obj/item/weapon/holder/catslug/custom/scienceslug
say_list_type = /datum/say_list/catslug/custom/scienceslug
mobcard_access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_xenoarch)
myid_access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_xenoarch)
/datum/say_list/catslug/custom/scienceslug
@@ -654,7 +654,7 @@
catalogue_data = list(/datum/category_item/catalogue/fauna/catslug/custom/cargoslug)
holder_type = /obj/item/weapon/holder/catslug/custom/cargoslug
say_list_type = /datum/say_list/catslug/custom/cargoslug
mobcard_access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_mining, access_mining_station)
myid_access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_mining, access_mining_station)
/datum/say_list/catslug/custom/cargoslug
speak = list("Disposals is not for slip and slide.", "What is that?", "Stamp those manifests!", "What are you doing?", "How did you get here?", "Can order pizza crate?", "WAOW!", "Where are all of our materials?", "Got glubbs?")
@@ -693,7 +693,7 @@
catalogue_data = list(/datum/category_item/catalogue/fauna/catslug/custom/capslug)
holder_type = /obj/item/weapon/holder/catslug/custom/capslug
say_list_type = /datum/say_list/catslug/custom/capslug
mobcard_access = list(access_maint_tunnels) //The all_station_access part below adds onto this.
myid_access = list(access_maint_tunnels) //The all_station_access part below adds onto this.
/datum/say_list/catslug/custom/capslug
speak = list("How open big glass box with shiny inside?.", "What is that?", "Respect my authority!", "What are you doing?", "How did you get here?", "Fax for yellow-shirts!", "WAOW!", "Why is that console blinking and clicking?", "Do we need to call for ERT?", "Have been called comdom before, not sure why they thought I was a balloon.")
@@ -708,7 +708,7 @@
mob_radio.ks2type = /obj/item/device/encryptionkey/heads/captain //Might not be able to speak, but the catslug can listen.
mob_radio.keyslot2 = new /obj/item/device/encryptionkey/heads/captain(mob_radio)
mob_radio.recalculateChannels(1)
mobcard.access |= get_all_station_access()
myid.access |= get_all_station_access()
//=============================================================================
//Admin-spawn only catslugs below - Expect overpowered things & silliness below
@@ -725,7 +725,7 @@
icon_dead = "deathslug_dead"
catalogue_data = list(/datum/category_item/catalogue/fauna/catslug) //So they don't get the spaceslug's cataloguer entry
say_list_type = /datum/say_list/catslug //Similarly, so they don't get the spaceslug's speech lines.
mobcard_access = list(access_cent_general, access_cent_specops, access_cent_living, access_cent_storage)
myid_access = list(access_cent_general, access_cent_specops, access_cent_living, access_cent_storage)
maxHealth = 100 //Tough noodles
health = 100
taser_kill = 0
@@ -750,7 +750,7 @@
. = ..()
mob_radio = new /obj/item/device/radio/headset/mob_headset(src)
mob_radio.frequency = DTH_FREQ //Can't tell if bugged, deathsquad freq in general seems broken
mobcard.access |= get_all_station_access()
myid.access |= get_all_station_access()
//Syndicate catslug
/mob/living/simple_mob/vore/alienanimals/catslug/custom/spaceslug/syndislug
@@ -763,7 +763,7 @@
icon_dead = "syndislug_dead"
catalogue_data = list(/datum/category_item/catalogue/fauna/catslug)
say_list_type = /datum/say_list/catslug
mobcard_access = list(access_maint_tunnels, access_syndicate, access_external_airlocks)
myid_access = list(access_maint_tunnels, access_syndicate, access_external_airlocks)
faction = "syndicate"
maxHealth = 100 //Tough noodles
health = 100
@@ -795,7 +795,7 @@
mob_radio.ks2type = /obj/item/device/encryptionkey/syndicate
mob_radio.keyslot2 = new /obj/item/device/encryptionkey/syndicate(mob_radio)
mob_radio.recalculateChannels(1)
mobcard.access |= get_all_station_access()
myid.access |= get_all_station_access()
//ERT catslug
/mob/living/simple_mob/vore/alienanimals/catslug/custom/spaceslug/responseslug
@@ -808,7 +808,7 @@
icon_dead = "responseslug_dead"
catalogue_data = list(/datum/category_item/catalogue/fauna/catslug)
say_list_type = /datum/say_list/catslug
mobcard_access = list(access_cent_general, access_cent_specops, access_cent_living, access_cent_storage)
myid_access = list(access_cent_general, access_cent_specops, access_cent_living, access_cent_storage)
maxHealth = 100 //Tough noodles
health = 100
taser_kill = 0
@@ -839,7 +839,7 @@
mob_radio.ks2type = /obj/item/device/encryptionkey/ert
mob_radio.keyslot2 = new /obj/item/device/encryptionkey/ert(mob_radio)
mob_radio.recalculateChannels(1)
mobcard.access |= get_all_station_access()
myid.access |= get_all_station_access()
//Pilot Catslug
@@ -616,6 +616,12 @@
var/datum/language/keylang = GLOB.all_languages[client.prefs.language_custom_keys[key]]
if(keylang)
new_character.language_keys[key] = keylang
// VOREStation Add: Preferred Language Setting;
if(client.prefs.preferred_language) // Do we have a preferred language?
var/datum/language/def_lang = GLOB.all_languages[client.prefs.preferred_language]
if(def_lang)
new_character.default_language = def_lang
// VOREStation Add End
// And uncomment this, too.
//new_character.dna.UpdateSE()
@@ -901,4 +901,41 @@
icon = 'icons/mob/human_races/markings_vr.dmi'
icon_state = "unathi_blocky_head_eyes"
color_blend_mode = ICON_MULTIPLY
body_parts = list(BP_HEAD)
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/vr/manedwolf1
name = "Maned Wolf Primary Markings"
icon_state = "manedwolf1"
color_blend_mode = ICON_MULTIPLY
body_parts = list(BP_HEAD,BP_TORSO,BP_R_ARM,BP_L_ARM,BP_R_HAND,BP_L_HAND,BP_R_LEG,BP_L_LEG,BP_R_FOOT,BP_L_FOOT)
/datum/sprite_accessory/marking/vr/manedwolf2
name = "Maned Wolf Secondary Markings"
icon_state = "manedwolf2"
color_blend_mode = ICON_MULTIPLY
body_parts = list(BP_HEAD,BP_TORSO,BP_GROIN)
/datum/sprite_accessory/marking/vr/head_paint_front
name = "Head Paint Front"
icon_state = "paintfront"
color_blend_mode = ICON_MULTIPLY
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/vr/head_paint_back
name = "Head Paint"
icon_state = "paint"
color_blend_mode = ICON_MULTIPLY
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/vr/sect_drone
name = "Sect Drone Bodytype"
icon_state = "sectdrone"
color_blend_mode = ICON_MULTIPLY
hide_body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_GROIN,BP_TORSO,BP_HEAD)
body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_GROIN,BP_TORSO,BP_HEAD)
/datum/sprite_accessory/marking/vr/sect_drone_eyes
name = "Sect Drone Eyes"
icon_state = "sectdrone_eyes"
color_blend_mode = ICON_MULTIPLY
body_parts = list(BP_HEAD)
@@ -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
/datum/sprite_accessory/tail/New()
. = ..()
@@ -1328,6 +1329,14 @@
do_colouration = 1
color_blend_mode = ICON_MULTIPLY
/datum/sprite_accessory/tail/sectdrone_tail
name = "Sect Drone Tail (To use with bodytype-marking)"
icon = 'icons/mob/vore/tails_vr.dmi'
icon_state = "sectdrone_tail"
extra_overlay = "sectdrone_tail_mark"
do_colouration = 1
color_blend_mode = ICON_MULTIPLY
//LONG TAILS ARE NOT TAUR BUTTS >:O
/datum/sprite_accessory/tail/longtail
name = "You should not see this..."
@@ -56,11 +56,15 @@
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 = 4
/datum/sprite_accessory/tail/taur/wolf/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)"
@@ -76,19 +80,22 @@
/datum/sprite_accessory/tail/taur/wolf/fatwolf_2c
name = "Fat Wolf 3-color (Taur)"
icon = 'icons/mob/vore/taurs_ch.dmi' //CHOMPEdit
icon_state = "fatwolf_s"
extra_overlay = "fatwolf_markings"
extra_overlay2 = "wolf_markings_2"
extra_overlay2 = "fatwolf_markings_2" //CHOMPEdit
//icon_sprite_tag = "fatwolf2c"
loaf_offset = 3
/datum/sprite_accessory/tail/taur/wolf/wolf_2c_wag
name = "Wolf 3-color (Taur, Fat vwag)"
icon = 'icons/mob/vore/taurs_ch.dmi' //CHOMPEdit
icon_state = "wolf_s"
extra_overlay = "wolf_markings"
extra_overlay2 = "wolf_markings_2"
ani_state = "fatwolf_s"
extra_overlay_w = "fatwolf_markings"
extra_overlay2_w = "wolf_markings_2"
extra_overlay2_w = "fatwolf_markings_2" //CHOMPEdit
/datum/sprite_accessory/tail/taur/wolf/synthwolf
name = "SynthWolf dual-color (Taur)"
@@ -96,12 +103,14 @@
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)"
@@ -118,6 +127,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)"
@@ -192,6 +204,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 = 4
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!"
@@ -214,12 +229,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!"
@@ -242,6 +263,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 = 6
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!"
@@ -261,12 +285,19 @@
/datum/sprite_accessory/tail/taur/lizard
name = "Lizard (Taur)"
icon_state = "lizard_s"
suit_sprites = 'icons/mob/taursuits_lizard_vr.dmi'
// 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 = 5
/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/lizard_wag
name = "Lizard (Taur, Fat vwag)"
@@ -278,11 +309,17 @@
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 = 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_vr_loaf.dmi'
loaf_offset = 3
/datum/sprite_accessory/tail/taur/lizard/lizard_2c_wag
name = "Fat Lizard (Taur, dual-color, Fat vwag)"
@@ -297,12 +334,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/lizard/synthlizard_wag
name = "SynthLizard dual-color (Taur, Fat vwag)"
@@ -366,16 +409,25 @@
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 = 5
/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, Fat vwag)"
icon_state = "fatfeline_s"
ani_state = "fatfeline_w"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi'
loaf_offset = 3
/datum/sprite_accessory/tail/taur/feline/feline_2c
name = "Feline 3-color (Taur)"
@@ -383,22 +435,30 @@
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)"
icon = 'icons/mob/vore/taurs_ch.dmi' //CHOMPEdit
icon_state = "fatfeline_s"
extra_overlay = "fatfeline_markings"
extra_overlay2 = "feline_markings_2"
extra_overlay2 = "fatfeline_markings_2" //CHOMPEdit
//icon_sprite_tag = "fatfeline2c"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi'
loaf_offset = 3
/datum/sprite_accessory/tail/taur/feline/feline_2c_wag
name = "Feline 3-color (Taur, Fat vwag)"
icon = 'icons/mob/vore/taurs_ch.dmi' //CHOMPEdit
icon_state = "feline_s"
extra_overlay = "feline_markings"
extra_overlay2 = "feline_markings_2"
ani_state = "fatfeline_s"
extra_overlay_w = "fatfeline_markings"
extra_overlay2_w = "feline_markings_2"
extra_overlay2_w = "fatfeline_markings_2" //CHOMPEdit
loaf_offset = 3
/datum/sprite_accessory/tail/taur/feline/synthfeline
name = "SynthFeline dual-color (Taur)"
@@ -406,12 +466,18 @@
extra_overlay = "synthfeline_markings"
extra_overlay2 = "synthfeline_glow"
//icon_sprite_tag = "synthfeline"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_vr_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_vr_loaf.dmi'
loaf_offset = 3
/datum/sprite_accessory/tail/taur/feline/synthfeline_wag
name = "SynthFeline dual-color (Taur, Fat vwag)"
@@ -491,16 +557,20 @@
name = "Drake (Taur)"
icon_state = "drake_s"
extra_overlay = "drake_markings"
suit_sprites = 'icons/mob/taursuits_drake_vr.dmi'
/// 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/drake/fat
name = "Fat Drake (Taur)"
icon_state = "fatdrake_s"
extra_overlay = "fatdrake_markings"
can_loaf = FALSE
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi'
loaf_offset = 6
/datum/sprite_accessory/tail/taur/drake/drake_vwag
name = "Drake (Taur, Fat vwag)"
@@ -508,8 +578,7 @@
extra_overlay = "drake_markings"
ani_state = "fatdrake_s"
extra_overlay_w = "fatdrake_markings"
can_loaf = FALSE
can_loaf = TRUE
/datum/sprite_accessory/tail/taur/otie
name = "Otie (Taur)"
@@ -518,6 +587,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 = 5
/datum/sprite_accessory/tail/taur/alraune/alraune_2c
name = "Alraune (dual color)"
@@ -624,12 +696,14 @@
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
@@ -700,7 +774,7 @@
suit_sprites = 'icons/mob/taursuits_noodle_vr.dmi'
clip_mask_state = "taur_clip_mask_noodle"
icon_sprite_tag = "noodle"
/* CHOMPEdit - removed as a sprite accessory of the same name already exists for us, and having this here stops it from registering as a sprite accessory.
/datum/sprite_accessory/tail/taur/sect_drone
name = "Sect Drone (Taur)"
icon_state = "sect_drone"
@@ -721,11 +795,12 @@
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" //CHOMPEdit addition
/datum/sprite_accessory/tail/taur/sect_drone/drone_wag
name = "Sect Drone (Taur, Fat vwag)"
@@ -733,6 +808,7 @@
extra_overlay = "sect_drone_markings"
ani_state = "fat_sect_drone"
extra_overlay_w = "fat_sect_drone_markings"
icon_sprite_tag = "sect_drone" //CHOMPEdit addition
/datum/sprite_accessory/tail/taur/giantspider_colorable//these are honestly better fit for vass icontypes whoops
name = "Giant Spider dual-color (Taur)"
@@ -311,3 +311,11 @@
do_colouration = 1
color_blend_mode = ICON_MULTIPLY
extra_overlay = "snail_shell_markings"
/datum/sprite_accessory/wing/sectdrone_wing //We should some day make a variable to make some wings not be able to fly
name = "Sect drone wings (To use with bodytype marking)"
desc = ""
icon = 'icons/mob/vore/wings_vr.dmi'
icon_state = "sectdrone_wing"
do_colouration = 1
color_blend_mode = ICON_MULTIPLY