diff --git a/code/modules/mob/living/carbon/human/emote_vr.dm b/code/modules/mob/living/carbon/human/emote_vr.dm index 05e5ff31fa..9e906f35cc 100644 --- a/code/modules/mob/living/carbon/human/emote_vr.dm +++ b/code/modules/mob/living/carbon/human/emote_vr.dm @@ -72,7 +72,8 @@ to_chat(src, "You can't *flip in your current state!") return 1 else - src.SpinAnimation(7,1) + nextemote += 12 //Double delay + handle_flip_vr() message = "does a flip!" m_type = 1 if ("vhelp") //Help for Virgo-specific emotes. @@ -84,6 +85,32 @@ return 0 + +/mob/living/carbon/human/proc/handle_flip_vr() + var/original_density = density + var/original_passflags = pass_flags + + //Briefly un-dense to dodge projectiles + density = FALSE + + //Parkour! + var/parkour_chance = 20 //Default + if(species) + parkour_chance = species.agility + if(prob(parkour_chance)) + pass_flags |= PASSTABLE + else + Confuse(1) //Thud + + if(dir & WEST) + SpinAnimation(7,1,0) + else + SpinAnimation(7,1,1) + + spawn(7) + density = original_density + pass_flags = original_passflags + /mob/living/carbon/human/proc/toggle_tail_vr(var/setting,var/message = 0) if(!tail_style || !tail_style.ani_state) if(message) diff --git a/code/modules/mob/living/carbon/human/species/species_vr.dm b/code/modules/mob/living/carbon/human/species/species_vr.dm index c3831d5f55..353946d976 100644 --- a/code/modules/mob/living/carbon/human/species/species_vr.dm +++ b/code/modules/mob/living/carbon/human/species/species_vr.dm @@ -19,6 +19,7 @@ var/icobase_wing var/wikilink = null //link to wiki page for species var/icon_height = 32 + var/agility = 20 //prob() to do agile things /datum/species/proc/update_attack_types() unarmed_attacks = list() diff --git a/code/modules/mob/living/carbon/human/species/station/station_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_vr.dm index dab3e82089..f4fb688097 100644 --- a/code/modules/mob/living/carbon/human/species/station/station_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/station_vr.dm @@ -260,6 +260,7 @@ inherent_verbs = list(/mob/living/proc/shred_limb, /mob/living/carbon/human/proc/lick_wounds) heat_discomfort_level = 295 //Prevents heat discomfort spam at 20c wikilink="https://wiki.vore-station.net/Tajaran" + agility = 90 /datum/species/skrell spawn_flags = SPECIES_CAN_JOIN @@ -304,6 +305,7 @@ gluttonous = 0 descriptors = list() wikilink="https://wiki.vore-station.net/Teshari" + agility = 90 inherent_verbs = list( /mob/living/carbon/human/proc/sonar_ping, diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm index 1a01c84692..3a1e50dee6 100644 --- a/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm +++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm @@ -117,4 +117,10 @@ /datum/trait/antiseptic_saliva/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..() - H.verbs |= /mob/living/carbon/human/proc/lick_wounds \ No newline at end of file + H.verbs |= /mob/living/carbon/human/proc/lick_wounds + +/datum/trait/traceur + name = "Traceur" + desc = "You're capable of parkour and can *flip over low objects (most of the time)." + cost = 2 + var_changes = list("agility" = 90) \ No newline at end of file