From 2c6cc7f146eb47dfa9c1d09b21d84d09dbddcfa6 Mon Sep 17 00:00:00 2001 From: FartMaster69420 <78667902+FartMaster69420@users.noreply.github.com> Date: Thu, 14 Apr 2022 23:33:25 -0400 Subject: [PATCH] Flight Vore Toggle Adding a toggle to enable flight vore --- .../station/station_special_abilities_vr.dm | 16 +++++++++++++++- .../human/species/station/station_special_vr.dm | 3 ++- .../carbon/human/species/station/station_vr.dm | 3 ++- .../human/species/station/traits_vr/positive.dm | 1 + code/modules/vore/eating/stumblevore_vr.dm | 8 ++++---- 5 files changed, 24 insertions(+), 7 deletions(-) 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)