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 796cb814850..b40692bb957 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 @@ -730,7 +730,7 @@ if(!C.wing_style) //The species var isn't taken into account here, as it's only purpose is to give this proc to a person. to_chat(src, "You cannot fly without wings!!") return - if(C.incapacitated() || C.stat || C.lying || C.stunned || C.weakened || C.paralysis) + if(C.incapacitated(INCAPACITATION_ALL)) to_chat(src, "You cannot fly in this state!") return if(C.nutrition < 25 && !C.wings_flying) //Don't have any food in you?" You can't fly. diff --git a/code/modules/multiz/movement.dm b/code/modules/multiz/movement.dm index 625df546346..91f31b0d9d9 100644 --- a/code/modules/multiz/movement.dm +++ b/code/modules/multiz/movement.dm @@ -52,7 +52,7 @@ else if(ishuman(src)) //VOREStation Edit Start. Are they human (H above.), have a wing style, and do they have the trait? var/mob/living/carbon/human/H = src //VOREStation Edit. Used for below if(H.wings_flying == 1) - if(H.incapacitated() || H.stat || H.lying || H.stunned || H.weakened || H.paralysis) + if(H.incapacitated(INCAPACITATION_ALL)) to_chat(src, "You can't fly in your current state.") H.stop_flying() //Should already be done, but just in case. return 0 @@ -164,9 +164,9 @@ if(H.wings_flying == 1) //Some other checks are done in the wings_toggle proc if(H.nutrition > 10) H.nutrrition -= 10 //You use up 10 nutrition per second of flying above open spaces. If people wanna flap their wings in the hallways, shouldn't penalize them for it. - if(H.incapacitated() || H.stat || H.lying || H.stunned || H.weakened || H.paralysis) //Incap by itself doesn't work, for some reason. + if(H.incapacitated(INCAPACITATION_ALL)) H.stop_flying() - //Just here to see if the person is KO'd, stunned, etc. If so, it'll move onto can_call. + //Just here to see if the person is KO'd, stunned, etc. If so, it'll move onto can_fall. else if (H.nutrition > 1000) //Eat too much while flying? Get fat and fall. to_chat(H, "You're too heavy! Your wings give out and you plummit to the ground!") H.stop_flying() //womp womp. @@ -174,9 +174,10 @@ to_chat(H, "You are starting to get fatigued... You probably have a good minute left in the air, if that. You should get to the ground soon!") //Ticks are, on average, 3 seconds. So this would most likely be 90 seconds, but lets just say 60. H.nutrition -= 10 return - else if(H.nutrition < 100 && > 89) + else if(H.nutrition < 100 && H.nutrition > 89) to_chat(H, "You're seriously fatigued! You need to get to the ground immediately and eat before you fall!") - else if(H.nutrition < 20) //Should have listened tto the warnings! + return + else if(H.nutrition < 20) //Should have listened to the warnings! to_chat(H, "You lack the strength to keep yourself up in the air...") H.stop_flying() else diff --git a/code/modules/vore/resizing/resize_vr.dm b/code/modules/vore/resizing/resize_vr.dm index 8e4bf21b12d..7c5776690d9 100644 --- a/code/modules/vore/resizing/resize_vr.dm +++ b/code/modules/vore/resizing/resize_vr.dm @@ -141,6 +141,8 @@ var/const/RESIZE_A_SMALLTINY = (RESIZE_SMALL + RESIZE_TINY) / 2 now_pushing = 0 if(src.get_effective_size() > tmob.get_effective_size()) var/mob/living/carbon/human/H = src + if(H.wings_flying == 1) + return 1 //Silently pass without a message. if(istype(H) && istype(H.tail_style, /datum/sprite_accessory/tail/taur/naga)) src << "You carefully slither around [tmob]." tmob << "[src]'s huge tail slithers past beside you!" @@ -166,6 +168,14 @@ var/const/RESIZE_A_SMALLTINY = (RESIZE_SMALL + RESIZE_TINY) / 2 */ /mob/living/proc/handle_micro_bump_other(var/mob/living/tmob) ASSERT(istype(tmob)) // Baby don't hurt me + if(ishuman(src)) + var/mob/living/carbon/human/P = src + if(P.wings_flying == 1) //If they're flying, don't do any special interactions. + return + if(ishuman(tmob)) + var/mob/living/carbon/human/D = tmob + if(D.wings_flying == 1) //if the prey is flying, don't smush them. + return if(src.a_intent == I_DISARM && src.canmove && !src.buckled) // If bigger than them by at least 0.75, move onto them and print message. @@ -190,7 +200,7 @@ var/const/RESIZE_A_SMALLTINY = (RESIZE_SMALL + RESIZE_TINY) / 2 tmob.apply_damage(damage, HALLOSS) tmob.resting = 1 var/mob/living/carbon/human/H = src - log_and_message_admins("has stomped on, [tmob] pinning them to the ground and dealing [damage] HALLOSS.") //Both humans and mobs, since stepping on mobs can be abused. + log_and_message_admins("has stomped on [tmob], pinning them to the ground and dealing [damage] HALLOSS.") //Both humans and mobs, since stepping on mobs can be abused. admin_attack_log(src, tmob, "Pinned [tmob.name] under foot for [damage] HALLOSS.", "Was pinned under foot by [src.name] for [damage] HALLOSS.", "Pinned [tmob.name] under foot for [damage] HALLOSS.") if(istype(H) && istype(H.tail_style, /datum/sprite_accessory/tail/taur/naga)) src << "You push down on [tmob] with your tail, pinning them down under you!"