diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 531bd1ec1c..0f14e8ea86 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -898,7 +898,7 @@ /mob/living/carbon/human/proc/piggyback(mob/living/carbon/target) if(can_piggyback(target)) visible_message("[target] starts to climb onto [src]...") - if(do_after(target, 15, target = src)) + if(do_after(target, 15, target = src, required_mobility_flags = MOBILITY_STAND)) if(can_piggyback(target)) if(target.incapacitated(FALSE, TRUE) || incapacitated(FALSE, TRUE)) target.visible_message("[target] can't hang onto [src]!") diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 35b0cfbfa2..8d04520e4b 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1601,7 +1601,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) "\The [user] slaps \the [target]'s ass!",\ "You slap [user == target ? "your" : "\the [target]'s"] ass!",\ "You hear a slap." - ) + ) return FALSE else if(attacker_style && attacker_style.disarm_act(user,target)) return 1 @@ -1831,6 +1831,9 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) if(user.getStaminaLoss() >= STAMINA_SOFTCRIT) to_chat(user, "You're too exhausted for that.") return + if(user.IsKnockdown() || user.IsParalyzed() || user.IsStun()) + to_chat(user, "You can't seem to force yourself up right now!") + return if(CHECK_MOBILITY(user, MOBILITY_STAND)) to_chat(user, "You can only force yourself up if you're on the ground.") return