diff --git a/code/datums/martial/cqc.dm b/code/datums/martial/cqc.dm
index 4fb635176f..a4b55607bb 100644
--- a/code/datums/martial/cqc.dm
+++ b/code/datums/martial/cqc.dm
@@ -42,7 +42,7 @@
/datum/martial_art/cqc/proc/Slam(mob/living/carbon/human/A, mob/living/carbon/human/D)
if(!can_use(A))
return FALSE
- if(!D.stat || !D.IsKnockdown())
+ if(CHECK_MOBILITY(D, MOBILITY_STAND))
D.visible_message("[A] slams [D] into the ground!", \
"[A] slams you into the ground!")
playsound(get_turf(A), 'sound/weapons/slam.ogg', 50, 1, -1)
@@ -62,7 +62,7 @@
D.throw_at(throw_target, 1, 14, A)
D.apply_damage(10, BRUTE)
log_combat(A, D, "kicked (CQC)")
- if(D.IsKnockdown() && !D.stat)
+ if(!CHECK_MOBILITY(D, MOBILITY_STAND) && !D.stat)
log_combat(A, D, "knocked out (Head kick)(CQC)")
D.visible_message("[A] kicks [D]'s head, knocking [D.p_them()] out!", \
"[A] kicks your head, knocking you out!")
diff --git a/code/datums/martial/krav_maga.dm b/code/datums/martial/krav_maga.dm
index 617980ea5c..1a244f911e 100644
--- a/code/datums/martial/krav_maga.dm
+++ b/code/datums/martial/krav_maga.dm
@@ -96,7 +96,7 @@
return 0
/datum/martial_art/krav_maga/proc/leg_sweep(mob/living/carbon/human/A, mob/living/carbon/human/D)
- if(D.lying || D.IsKnockdown())
+ if(!CHECK_MOBILITY(D, MOBILITY_STAND))
return 0
D.visible_message("[A] leg sweeps [D]!", \
"[A] leg sweeps you!")
@@ -138,7 +138,7 @@
log_combat(A, D, "punched")
var/picked_hit_type = pick("punches", "kicks")
var/bonus_damage = 10
- if(D.IsKnockdown() || D.resting || D.lying)
+ if(CHECK_MOBILITY(D, MOBILITY_STAND))
bonus_damage += 5
picked_hit_type = "stomps on"
D.apply_damage(bonus_damage, BRUTE)
diff --git a/code/datums/martial/rising_bass.dm b/code/datums/martial/rising_bass.dm
index 9da7c80ed3..5e5e324abd 100644
--- a/code/datums/martial/rising_bass.dm
+++ b/code/datums/martial/rising_bass.dm
@@ -36,7 +36,7 @@
/datum/martial_art/the_rising_bass/proc/sideKick(mob/living/carbon/human/A, mob/living/carbon/human/D)
- if(!D.IsKnockdown() || D.lying == 0)
+ if(CHECK_MOBILITY(D, MOBILITY_STAND))
var/turf/H = get_step(D, A.dir & (NORTH | SOUTH) ? pick(EAST, WEST) : pick(NORTH, SOUTH))
A.do_attack_animation(D, ATTACK_EFFECT_KICK)
D.visible_message("[A] kicks [D] in the side, sliding them over!", \
@@ -54,7 +54,7 @@
return basic_hit(A,D)
/datum/martial_art/the_rising_bass/proc/shoulderFlip(mob/living/carbon/human/A, mob/living/carbon/human/D)
- if(!D.IsKnockdown() || !D.lying)
+ if(CHECK_MOBILITY(D, MOBILITY_STAND))
var/turf/H = get_step(A, get_dir(D,A))
var/L = H
for(var/obj/i in H.contents)
@@ -75,7 +75,7 @@
return basic_hit(A,D)
/datum/martial_art/the_rising_bass/proc/repulsePunch(mob/living/carbon/human/A, mob/living/carbon/human/D)
- if(!D.IsKnockdown() || !D.lying)
+ if(CHECK_MOBILITY(D, MOBILITY_STAND))
A.do_attack_animation(D, ATTACK_EFFECT_PUNCH)
D.visible_message("[A] smashes [D] in the chest, throwing them away!", \
"[A] smashes you in the chest, repelling you away!")
@@ -89,7 +89,7 @@
return basic_hit(A,D)
/datum/martial_art/the_rising_bass/proc/footSmash(mob/living/carbon/human/A, mob/living/carbon/human/D)
- if(!D.IsKnockdown() || !D.lying)
+ if(CHECK_MOBILITY(D, MOBILITY_STAND))
A.do_attack_animation(D, ATTACK_EFFECT_KICK)
D.visible_message("[A] smashes their foot down on [D]'s foot!", \
"[A] smashes your foot!")
@@ -101,7 +101,7 @@
return basic_hit(A,D)
/datum/martial_art/the_rising_bass/proc/deftSwitch(mob/living/carbon/human/A, mob/living/carbon/human/D)
- if(!D.IsKnockdown() || !D.lying)
+ if(CHECK_MOBILITY(D, MOBILITY_STAND))
if (D.get_active_held_item())
var/obj/item/G = D.get_active_held_item()
if (G && !(G.item_flags & (ABSTRACT|DROPDEL)) && D.temporarilyRemoveItemFromInventory(G))
diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm
index 1e084bb936..aab99fcc4d 100644
--- a/code/datums/martial/sleeping_carp.dm
+++ b/code/datums/martial/sleeping_carp.dm
@@ -37,7 +37,7 @@
return FALSE
/datum/martial_art/the_sleeping_carp/proc/wristWrench(mob/living/carbon/human/A, mob/living/carbon/human/D)
- if(!D.stat && !D.IsStun() && !D.IsKnockdown())
+ if(CHECK_MOBILITY(D, MOBILITY_USE))
log_combat(A, D, "wrist wrenched (Sleeping Carp)")
A.do_attack_animation(D, ATTACK_EFFECT_PUNCH)
D.visible_message("[A] grabs [D]'s wrist and wrenches it sideways!", \
@@ -51,7 +51,7 @@
return basic_hit(A,D)
/datum/martial_art/the_sleeping_carp/proc/backKick(mob/living/carbon/human/A, mob/living/carbon/human/D)
- if(!D.stat && !D.IsKnockdown())
+ if(CHECK_MOBILITY(D, MOBILITY_STAND))
if(A.dir == D.dir)
log_combat(A, D, "back-kicked (Sleeping Carp)")
A.do_attack_animation(D, ATTACK_EFFECT_PUNCH)
@@ -68,7 +68,7 @@
return basic_hit(A,D)
/datum/martial_art/the_sleeping_carp/proc/kneeStomach(mob/living/carbon/human/A, mob/living/carbon/human/D)
- if(!D.stat && !D.IsKnockdown())
+ if(CHECK_MOBILITY(D, MOBILITY_STAND))
log_combat(A, D, "stomach kneed (Sleeping Carp)")
A.do_attack_animation(D, ATTACK_EFFECT_KICK)
D.visible_message("[A] knees [D] in the stomach!", \
@@ -81,7 +81,7 @@
return basic_hit(A,D)
/datum/martial_art/the_sleeping_carp/proc/headKick(mob/living/carbon/human/A, mob/living/carbon/human/D)
- if(!D.stat && !D.IsKnockdown())
+ if(CHECK_MOBILITY(D, MOBILTIY_STAND))
log_combat(A, D, "head kicked (Sleeping Carp)")
A.do_attack_animation(D, ATTACK_EFFECT_KICK)
D.visible_message("[A] kicks [D] in the head!", \
@@ -94,7 +94,7 @@
return basic_hit(A,D)
/datum/martial_art/the_sleeping_carp/proc/elbowDrop(mob/living/carbon/human/A, mob/living/carbon/human/D)
- if(D.IsKnockdown() || D.resting || D.stat)
+ if(!CHECK_MOBILITY(D, MOBILITY_STAND))
log_combat(A, D, "elbow dropped (Sleeping Carp)")
A.do_attack_animation(D, ATTACK_EFFECT_PUNCH)
D.visible_message("[A] elbow drops [D]!", \