diff --git a/code/__DEFINES/status_effects.dm b/code/__DEFINES/status_effects.dm
index d04716a59c7..535dd5c08aa 100644
--- a/code/__DEFINES/status_effects.dm
+++ b/code/__DEFINES/status_effects.dm
@@ -60,6 +60,8 @@
//#define MAX_MANIA_SEVERITY 100 //how high the mania severity can go
//#define MANIA_DAMAGE_TO_CONVERT 90 //how much damage is required before it'll convert affected targets
+#define STATUS_EFFECT_CULT_STUN /datum/status_effect/cult_stun_mark
+
#define STATUS_EFFECT_HISWRATH /datum/status_effect/his_wrath //His Wrath.
#define STATUS_EFFECT_SUMMONEDGHOST /datum/status_effect/cultghost //is a cult ghost: can see dead people, can't manifest more ghosts
diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm
index f293e948f4a..b8ccdef55e2 100644
--- a/code/datums/status_effects/debuffs.dm
+++ b/code/datums/status_effects/debuffs.dm
@@ -178,6 +178,29 @@
/datum/status_effect/pacifism/on_remove()
REMOVE_TRAIT(owner, TRAIT_PACIFISM, id)
+// used to track if hitting someone with a cult dagger/sword should stamina crit.
+/datum/status_effect/cult_stun_mark
+ id = "cult_stun"
+ duration = 10 SECONDS // when the knockdown ends, the mark disappears.
+ alert_type = null
+ var/mutable_appearance/overlay
+
+/datum/status_effect/cult_stun_mark/on_apply()
+ . = ..()
+ if(!ishuman(owner))
+ return
+ overlay = mutable_appearance('icons/effects/cult_effects.dmi', "cult-mark", ABOVE_MOB_LAYER)
+ var/mob/living/carbon/human/H = owner
+ H.add_overlay(overlay)
+
+/datum/status_effect/cult_stun_mark/on_remove()
+ owner.cut_overlay(overlay)
+
+/datum/status_effect/cult_stun_mark/proc/trigger()
+ owner.adjustStaminaLoss(60)
+ owner.Silence(6 SECONDS) // refresh the silence
+ qdel(src)
+
/datum/status_effect/bluespace_slowdown
id = "bluespace_slowdown"
alert_type = null
diff --git a/code/game/gamemodes/cult/blood_magic.dm b/code/game/gamemodes/cult/blood_magic.dm
index 7fa0f9fdaa2..9dabcb732ae 100644
--- a/code/game/gamemodes/cult/blood_magic.dm
+++ b/code/game/gamemodes/cult/blood_magic.dm
@@ -447,8 +447,10 @@
"Your holy weapon absorbs the blinding light!")
else
to_chat(user, "In a brilliant flash of red, [L] falls to the ground!")
- // These are in life cycles, so double the time that's stated.
- L.Weaken(10 SECONDS)
+
+ L.KnockDown(10 SECONDS)
+ L.adjustStaminaLoss(60)
+ L.apply_status_effect(STATUS_EFFECT_CULT_STUN)
L.flash_eyes(1, TRUE)
if(issilicon(target))
var/mob/living/silicon/S = L
@@ -459,6 +461,8 @@
C.Stuttering(16 SECONDS)
C.CultSlur(20 SECONDS)
C.Jitter(16 SECONDS)
+ to_chat(user, "Stun mark applied! Stab them with a dagger, sword or blood spear to stun them fully!")
+ user.do_attack_animation(target)
uses--
..()
diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm
index 40bed68e6b5..9d6f9919f05 100644
--- a/code/game/gamemodes/cult/cult_items.dm
+++ b/code/game/gamemodes/cult/cult_items.dm
@@ -32,7 +32,7 @@
..()
/obj/item/melee/cultblade/detailed_examine()
- return "This blade is a powerful weapon, capable of severing limbs easily, if they are targeted. Nonbelievers are unable to use this weapon."
+ return "This blade is a powerful weapon, capable of severing limbs easily, if they are targeted. Nonbelievers are unable to use this weapon. Striking a nonbeliever after downing them with your cult magic, will stun them completely."
/obj/item/melee/cultblade/attack(mob/living/target, mob/living/carbon/human/user)
if(!iscultist(user))
@@ -46,6 +46,10 @@
else
user.adjustBruteLoss(rand(force/2, force))
return
+ if(!iscultist(target))
+ var/datum/status_effect/cult_stun_mark/S = target.has_status_effect(STATUS_EFFECT_CULT_STUN)
+ if(S)
+ S.trigger()
..()
/obj/item/melee/cultblade/pickup(mob/living/user)
@@ -544,7 +548,7 @@
/obj/item/twohanded/cult_spear
name = "blood halberd"
- desc = "A sickening spear composed entirely of crystallized blood."
+ desc = "A sickening spear composed entirely of crystallized blood. Will stun people who have been recently marked if the spear is wielded."
icon = 'icons/obj/cult.dmi'
icon_state = "bloodspear0"
slot_flags = 0
@@ -611,6 +615,12 @@
return TRUE
return FALSE
+/obj/item/twohanded/cult_spear/attack(mob/living/M, mob/living/user, def_zone)
+ . = ..()
+ var/datum/status_effect/cult_stun_mark/S = M.has_status_effect(STATUS_EFFECT_CULT_STUN)
+ if(S && wielded)
+ S.trigger()
+
/datum/action/innate/cult/spear
name = "Bloody Bond"
desc = "Call the blood spear back to your hand!"
diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm
index 19d248c394d..adf79c09fa5 100644
--- a/code/game/gamemodes/cult/ritual.dm
+++ b/code/game/gamemodes/cult/ritual.dm
@@ -31,7 +31,7 @@
if(iscultist(user) || user.stat == DEAD)
. += "A dagger gifted by [SSticker.cultdat.entity_title3]. Allows the scribing of runes and access to the knowledge archives of the cult of [SSticker.cultdat.entity_name]."
. += "Striking another cultist with it will purge holy water from them."
- . += "Striking a noncultist will tear their flesh."
+ . += "Striking a noncultist will tear their flesh, additionally, if you recently downed them with cult magic it will stun them completely."
/obj/item/melee/cultblade/dagger/attack(mob/living/M, mob/living/user)
if(iscultist(M))
@@ -46,6 +46,10 @@
M.reagents.add_reagent("unholywater", amount)
add_attack_logs(user, M, "Hit with [src], removing the holy water from them")
return FALSE
+ else
+ var/datum/status_effect/cult_stun_mark/S = M.has_status_effect(STATUS_EFFECT_CULT_STUN)
+ if(S)
+ S.trigger()
. = ..()
/obj/item/melee/cultblade/dagger/attack_self(mob/user)
diff --git a/icons/effects/cult_effects.dmi b/icons/effects/cult_effects.dmi
index cbab2398b3c..c083384fd9e 100644
Binary files a/icons/effects/cult_effects.dmi and b/icons/effects/cult_effects.dmi differ