diff --git a/code/game/objects/items/weapons/holy_weapons.dm b/code/game/objects/items/weapons/holy_weapons.dm
index 619815590de..fe234055c22 100644
--- a/code/game/objects/items/weapons/holy_weapons.dm
+++ b/code/game/objects/items/weapons/holy_weapons.dm
@@ -14,6 +14,7 @@
var/alignment_required
var/alignment_prohibited
var/sanctify_force = 0
+ var/sound_played = FALSE
/obj/item/nullrod/suicide_act(mob/user)
user.visible_message("[user] is killing [user.p_them()]self with \the [src.name]! It looks like [user.p_theyre()] trying to get closer to god!")
@@ -30,13 +31,24 @@
/obj/item/nullrod/pickup(mob/living/user)
. = ..()
- if(sanctify_force && (!user.mind || !user.mind.isholy))
- user.adjustBruteLoss(force)
- user.adjustFireLoss(sanctify_force)
- user.Weaken(5)
- user.unEquip(src, 1)
- to_chat(user, "[src] slips out of your grip as you pick it up, bouncing upwards and smacking you in the face!")
- playsound(get_turf(user), 'sound/effects/hit_punch.ogg', 50, 1, -1)
+ if(sanctify_force)
+ if(!user.mind || !user.mind.isholy)
+ user.adjustBruteLoss(force)
+ user.adjustFireLoss(sanctify_force)
+ user.Weaken(5)
+ user.unEquip(src, 1)
+ user.visible_message("[src] slips out of the grip of [user] as they try to pick it up, bouncing upwards and smacking [user.p_them()] in the face!", \
+ "[src] slips out of your grip as you pick it up, bouncing upwards and smacking you in the face!")
+ playsound(get_turf(user), 'sound/effects/hit_punch.ogg', 50, 1, -1)
+ spawn()
+ throw_at(get_edge_target_turf(user, pick(alldirs)), rand(1, 3), 5)
+ else
+ if(!sound_played)
+ sound_played = TRUE
+ SEND_SOUND(user, 'sound/effects/hallelujah.ogg')
+ user.visible_message("[src] glows with power as [user] picks it up!", \
+ "[src] glows with power as you pick it up!")
+
/obj/item/nullrod/attack_self(mob/user)
if(user.mind && (user.mind.isholy) && !reskinned)
diff --git a/sound/effects/hallelujah.ogg b/sound/effects/hallelujah.ogg
new file mode 100644
index 00000000000..f022c1d5939
Binary files /dev/null and b/sound/effects/hallelujah.ogg differ