diff --git a/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm
index 73cccb8fdc..44e71e11b1 100644
--- a/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm
+++ b/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm
@@ -161,7 +161,7 @@
var/blood_color = species.blood_color
var/flesh_color = species.flesh_color
new /obj/effect/gibspawner/human/xenochimera(T, null, flesh_color, blood_color)
-
+
playsound(T, 'sound/effects/mob_effects/xenochimera/hatch.ogg', 50)
revive_ready = world.time + 10 MINUTES //set the cooldown CHOMPEdit: Reduced this to 10 minutes, you're playing with fire if you're reviving that often.
@@ -834,6 +834,20 @@
update_floating()
to_chat(C, "You have [C.flying?"started":"stopped"] flying.")
+/mob/living/
+ var/flight_vore = FALSE
+
+/mob/living/proc/flying_vore_toggle()
+ set name = "Toggle Flight Vore"
+ set desc = "Allows you to engage in voracious misadventures while flying."
+ set category = "Abilities"
+
+ flight_vore = !flight_vore
+ if(flight_vore)
+ to_chat(src, "You have allowed for flight vore! Bumping into characters while flying will now trigger dropnoms!")
+ else
+ to_chat(src, "Flight vore disabled! You will no longer engage dropnoms while in flight.")
+
//Proc to stop inertial_drift. Exchange nutrition in order to stop gliding around.
/mob/living/proc/start_wings_hovering()
set name = "Hover"
diff --git a/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm
index f11b4c3115..e2946cbbd9 100644
--- a/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm
+++ b/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm
@@ -27,6 +27,7 @@
/mob/living/carbon/human/proc/sonar_ping,
/mob/living/carbon/human/proc/tie_hair,
/mob/living/proc/flying_toggle,
+ /mob/living/proc/flying_vore_toggle,
/mob/living/proc/start_wings_hovering) //Xenochimera get all the special verbs since they can't select traits.
virus_immune = 1 // They practically ARE one.
@@ -205,7 +206,7 @@
feral++
else
feral = max(0,--feral)
-
+
// Being in a belly or in the darkness decreases stress further. Helps mechanically reward players for staying in darkness + RP'ing appropriately. :9
var/turf/T = get_turf(H)
if(feral && (isbelly(H.loc) || T.get_lumcount() <= 0.1))
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 b23a24c190..1c1941943b 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
@@ -129,6 +129,7 @@
name_language = LANGUAGE_BIRDSONG
color_mult = 1
inherent_verbs = list(/mob/living/proc/flying_toggle,
+ /mob/living/proc/flying_vore_toggle,
/mob/living/proc/start_wings_hovering,
/mob/living/carbon/human/proc/tie_hair)
min_age = 18
@@ -356,7 +357,7 @@
name_language = null
color_mult = 1
genders = list(MALE, FEMALE, PLURAL, NEUTER)
- inherent_verbs = list(/mob/living/proc/flying_toggle,/mob/living/proc/start_wings_hovering,/mob/living/carbon/human/proc/tie_hair)
+ inherent_verbs = list(/mob/living/proc/flying_toggle,/mob/living/proc/flying_vore_toggle,/mob/living/proc/start_wings_hovering,/mob/living/carbon/human/proc/tie_hair)
min_age = 18
max_age = 80
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 2ef1c8f422..b6a3687829 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
@@ -111,6 +111,7 @@
/datum/trait/positive/winged_flight/apply(var/datum/species/S,var/mob/living/carbon/human/H)
..(S,H)
H.verbs |= /mob/living/proc/flying_toggle
+ H.verbs |= /mob/living/proc/flying_vore_toggle
H.verbs |= /mob/living/proc/start_wings_hovering
/datum/trait/positive/soft_landing
diff --git a/code/modules/vore/eating/stumblevore_vr.dm b/code/modules/vore/eating/stumblevore_vr.dm
index 6ae938483d..2672746895 100644
--- a/code/modules/vore/eating/stumblevore_vr.dm
+++ b/code/modules/vore/eating/stumblevore_vr.dm
@@ -1,20 +1,18 @@
/mob/living/Bump(atom/movable/AM)
//. = ..()
if(istype(AM, /mob/living))
- if(((confused || is_blind()) && stat == CONSCIOUS && prob(50) && m_intent=="run") || flying)
+ if(((confused || is_blind()) && stat == CONSCIOUS && prob(50) && m_intent=="run") || flying && flight_vore)
AM.stumble_into(src)
return ..()
// Because flips toggle density
/mob/living/Crossed(var/atom/movable/AM)
if(istype(AM, /mob/living) && isturf(loc) && AM != src)
var/mob/living/AMV = AM
- if(((AMV.confused || AMV.is_blind()) && AMV.stat == CONSCIOUS && prob(50) && AMV.m_intent=="run") || AMV.flying)
+ if(((AMV.confused || AMV.is_blind()) && AMV.stat == CONSCIOUS && prob(50) && AMV.m_intent=="run") || AMV.flying && AMV.flight_vore)
stumble_into(AMV)
mob/living/stumble_into(mob/living/M)
playsound(src, "punch", 25, 1, -1)
- M.apply_damage(0.5, BRUTE)
- apply_damage(0.5, BRUTE)
M.Weaken(4)
Weaken(4)
M.stop_flying()
@@ -28,4 +26,6 @@ mob/living/stumble_into(mob/living/M)
else
visible_message("[M] flops over onto [src]!")
M.forceMove(get_turf(src))
+ M.apply_damage(0.5, BRUTE)
+ apply_damage(0.5, BRUTE)