diff --git a/code/datums/martial/wrestling.dm b/code/datums/martial/wrestling.dm
index a38330807d..349efdd342 100644
--- a/code/datums/martial/wrestling.dm
+++ b/code/datums/martial/wrestling.dm
@@ -17,12 +17,9 @@
var/datum/action/strike/strike = new/datum/action/strike()
var/datum/action/drop/drop = new/datum/action/drop()
-/datum/martial_art/wrestling/proc/check_streak(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D, holodeck_mode)
- //Stop people using holodeck wrestling on those not wearing the holodeck wrestling belt
- if(holodeck_mode == 1)
- if(!(istype(D.mind?.martial_art, /datum/martial_art/wrestling/holodeck)))
- streak = ""
- return 0
+/datum/martial_art/wrestling/proc/check_streak(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
+ if(!can_use(A, D))
+ return 0
switch(streak)
if("drop")
streak = ""
@@ -140,7 +137,7 @@
strike.Remove(H)
/datum/martial_art/wrestling/harm_act(mob/living/carbon/human/A, mob/living/carbon/human/D)
- if(check_streak(A,D,0))
+ if(check_streak(A,D))
return 1
log_combat(A, D, "punched with wrestling")
..()
@@ -445,14 +442,16 @@
return
/datum/martial_art/wrestling/disarm_act(mob/living/carbon/human/A, mob/living/carbon/human/D)
- if(check_streak(A,D,0))
+ if(check_streak(A,D))
return 1
log_combat(A, D, "wrestling-disarmed")
..()
/datum/martial_art/wrestling/grab_act(mob/living/carbon/human/A, mob/living/carbon/human/D)
- if(check_streak(A,D,0))
+ if(check_streak(A,D))
return 1
+ if(!can_use(A,D))
+ return ..()
if(A.pulling == D || A == D) // don't stun grab yoursel
return FALSE
A.start_pulling(D)
@@ -491,30 +490,9 @@
style = new /datum/martial_art/wrestling/holodeck
//Make sure that moves can only be used on people wearing the holodeck belt
-/datum/martial_art/wrestling/holodeck/grab_act(mob/living/carbon/human/A, mob/living/carbon/human/D)
- if(check_streak(A,D,1))
- return 1
+/datum/martial_art/wrestling/holodeck/can_use(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
if(!(istype(D.mind?.martial_art, /datum/martial_art/wrestling/holodeck)))
- return FALSE
- if(A.pulling == D || A == D) // don't stun grab yoursel
- return FALSE
- A.start_pulling(D)
- D.visible_message("[A] gets [D] in a cinch!", \
- "[A] gets [D] in a cinch!")
- D.Stun(rand(60,100))
- log_combat(A, D, "cinched")
- return 1
-
-/datum/martial_art/wrestling/holodeck/harm_act(mob/living/carbon/human/A, mob/living/carbon/human/D)
- if(check_streak(A,D,1))
- return 1
- log_combat(A, D, "punched with wrestling")
- ..()
-
-/datum/martial_art/wrestling/holodeck/disarm_act(mob/living/carbon/human/A, mob/living/carbon/human/D)
- if(check_streak(A,D,1))
- return 1
- log_combat(A, D, "wrestling-disarmed")
- ..()
-
+ return 0
+ else
+ return ..()