diff --git a/code/modules/antagonists/eldritch_cult/eldritch_items.dm b/code/modules/antagonists/eldritch_cult/eldritch_items.dm
index 0dd9cf6bea..2e5a1c80d7 100644
--- a/code/modules/antagonists/eldritch_cult/eldritch_items.dm
+++ b/code/modules/antagonists/eldritch_cult/eldritch_items.dm
@@ -44,35 +44,6 @@
if(target.stat == DEAD)
to_chat(user,"[target.real_name] is dead. Bring them onto a transmutation rune!")
-/datum/action/innate/heretic_shatter
- name = "Shattering Offer"
- desc = "After a brief delay, you will be granted salvation from a dire situation at the cost of your blade. (Teleports you to a random safe turf on your current z level after a windup, but destroys your blade.)"
- background_icon_state = "bg_ecult"
- button_icon_state = "shatter"
- icon_icon = 'icons/mob/actions/actions_ecult.dmi'
- check_flags = MOBILITY_HOLD|MOBILITY_MOVE|MOBILITY_USE
- var/mob/living/carbon/human/holder
- var/obj/item/melee/sickly_blade/sword
-
-/datum/action/innate/heretic_shatter/Grant(mob/user, obj/object)
- sword = object
- holder = user
- //i know what im doing
- return ..()
-
-/datum/action/innate/heretic_shatter/IsAvailable()
- if(IS_HERETIC(holder) || IS_HERETIC_MONSTER(holder))
- return TRUE
- else
- return FALSE
-
-/datum/action/innate/heretic_shatter/Activate()
- if(do_after(holder,10, target = holder))
- var/turf/safe_turf = find_safe_turf(zlevels = sword.z, extended_safety_checks = TRUE)
- do_teleport(holder,safe_turf,forceMove = TRUE,channel=TELEPORT_CHANNEL_MAGIC)
- to_chat(holder,"You feel a gust of energy flow through your body... the Rusted Hills heard your call...")
- qdel(sword)
-
/obj/item/melee/sickly_blade
name = "sickly blade"
desc = "A sickly green crescent blade, decorated with an ornamental eye. You feel like you're being watched..."
@@ -90,11 +61,6 @@
throwforce = 10
hitsound = 'sound/weapons/bladeslice.ogg'
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "tore", "lacerated", "ripped", "diced", "rended")
- var/datum/action/innate/heretic_shatter/linked_action
-
-/obj/item/melee/sickly_blade/Initialize()
- . = ..()
- linked_action = new(src)
/obj/item/melee/sickly_blade/attack(mob/living/target, mob/living/user)
if(!(IS_HERETIC(user) || IS_HERETIC_MONSTER(user)))
@@ -109,13 +75,17 @@
return
return ..()
-/obj/item/melee/sickly_blade/pickup(mob/user)
- . = ..()
- linked_action.Grant(user, src)
-
-/obj/item/melee/sickly_blade/dropped(mob/user, silent)
- . = ..()
- linked_action.Remove(user, src)
+/obj/item/melee/sickly_blade/attack_self(mob/user)
+ var/turf/safe_turf = find_safe_turf(zlevels = z, extended_safety_checks = TRUE)
+ if(IS_HERETIC(user) || IS_HERETIC_MONSTER(user))
+ if(do_teleport(user, safe_turf, forceMove = TRUE, channel = TELEPORT_CHANNEL_MAGIC))
+ to_chat(user,"As you shatter [src], you feel a gust of energy flow through your body. The Rusted Hills heard your call...")
+ else
+ to_chat(user,"You shatter [src], but your plea goes unanswered.")
+ else
+ to_chat(user,"You shatter [src].")
+ playsound(src, "shatter", 70, TRUE) //copied from the code for smashing a glass sheet onto the ground to turn it into a shard
+ qdel(src)
/obj/item/melee/sickly_blade/afterattack(atom/target, mob/user, proximity_flag, click_parameters)
. = ..()
@@ -130,6 +100,11 @@
else
eldritch_knowledge_datum.on_ranged_attack_eldritch_blade(target,user,click_parameters)
+/obj/item/melee/sickly_blade/examine(mob/user)
+ . = ..()
+ if(IS_HERETIC(user) || IS_HERETIC_MONSTER(user))
+ . += "A heretic (or a servant of one) can shatter this blade to teleport to a random, mostly safe location by activating it in-hand."
+
/obj/item/melee/sickly_blade/rust
name = "rusted blade"
desc = "This crescent blade is decrepit, wasting to rust. Yet still it bites, ripping flesh and bone with jagged, rotten teeth."