diff --git a/code/datums/syndicate_buylist.dm b/code/datums/syndicate_buylist.dm
index 3363dee48b81e..b083f8aef1e6d 100644
--- a/code/datums/syndicate_buylist.dm
+++ b/code/datums/syndicate_buylist.dm
@@ -536,6 +536,16 @@ This is basically useless for anyone but miners.
vr_allowed = 0
can_buy = UPLINK_TRAITOR | UPLINK_SPY_THIEF
+/datum/syndicate_buylist/traitor/scroll
+ name = "Scroll of the Hardlight Heart"
+ item = /obj/item/device/sacred_heart_scroll
+ cost = 6
+ desc = "A scroll from ages past, sure to fill your heart with pure light... and knives, lots and lots of knives."
+ job = list("Chaplain")
+ not_in_crates = TRUE
+ vr_allowed = FALSE
+ can_buy = UPLINK_TRAITOR | UPLINK_SPY
+
/datum/syndicate_buylist/traitor/contract
name = "Faustian Bargain Kit"
item = /obj/item/storage/briefcase/satan
diff --git a/code/obj/item/device/sacred_heart.dm b/code/obj/item/device/sacred_heart.dm
new file mode 100644
index 0000000000000..7b5d8b40cd9a1
--- /dev/null
+++ b/code/obj/item/device/sacred_heart.dm
@@ -0,0 +1,58 @@
+#define HEART 1 // I couldn't find a way to make this work without the define, my coding is very primitive however.
+
+/obj/item/device/sacred_heart_scroll
+ name = "Hardlight Heart Scroll"
+ icon_state = "sacred_heart_scroll-"
+ desc = "A dusty old scroll containing some rather enlightening knowlege from a time of cloak and dagger, adapted for modern technology."
+ is_syndicate = TRUE
+ var/implant = /obj/item/organ/heart/sacred
+ var/implants_available = HEART
+ var/list/parts_to_remove = list()
+ var/list/parts_to_add = list()
+
+ attack_self(mob/user) //I don't know why but this refuses to work with an early return, if anyone wants to fix this so its streamlined, I'd suggest also applying that patch to ocular implanter code, which this is based on
+ if (ishuman(user))
+ var/mob/living/carbon/human/H = user
+ src.add_fingerprint(H)
+ switch (alert("Would you like to read [src]? This can only be done once.",,"Proceed","Cancel"))
+ if ("Cancel")
+ return
+ if ("Proceed")
+ if (implants_available & HEART)
+ start_replace_heart(HEART, H)
+ else
+ user.show_text("This scroll's writings are illegible.")
+
+
+ proc/start_replace_heart(var/target, var/mob/living/carbon/human/H)
+ parts_to_add += "heart"
+ for(var/part_loc in parts_to_add)
+ var/obj/item/bodypart = null
+ bodypart = H.get_organ(part_loc)
+ if(bodypart)
+ parts_to_remove += part_loc
+ boutput(H, "You fill your heart with keen light !")
+ end_replace_heart(HEART, H)
+
+ proc/end_replace_heart(var/target, var/mob/living/carbon/human/H)
+ if(!H)
+ return
+ playsound(H.loc, "sound/items/ocular_implanter_end.ogg", 50, 0, -1)
+ var/turf/T = H.loc
+ for(var/part_loc in parts_to_remove)
+ if (T)
+ H.drop_organ(part_loc, T)
+ H.update_body()
+ for(var/part_loc in parts_to_add)
+ H.receive_organ(new implant, part_loc, 0, 1)
+ H.update_body()
+ implants_available = FALSE
+ boutput(H, "[pick("IT HURTS!", "OH GOD!", "JESUS FUCK!")]")
+ bleed(H, 5, 5)
+ SPAWN(5 DECI SECOND)
+ H.emote("scream")
+ icon_state = "sacred_heart_scroll-U"
+ parts_to_remove = list()
+ parts_to_add = list()
+
+#undef HEART
diff --git a/code/obj/item/misc_weapons.dm b/code/obj/item/misc_weapons.dm
index 58b186d253eec..288cd63a5aef8 100644
--- a/code/obj/item/misc_weapons.dm
+++ b/code/obj/item/misc_weapons.dm
@@ -538,6 +538,30 @@
..()
setProperty("movespeed", -0.5)
+//chaplain traitor knice
+/obj/item/dagger/syndicate/chaplain_knife
+ name = "Blade of Light"
+ desc = "A knife made out of pure light. Now thats what I call blind faith"
+ item_state = "chap_dagger"
+ icon_state = "chap_dagger"
+ force = 14
+ throwforce = 18
+ stamina_cost = 5
+ c_flags = EQUIPPED_WHILE_HELD
+
+ New()
+ ..()
+ src.AddComponent(/datum/component/holdertargeting/light, r = 0.94, g = 0.69, b = 0.27, height = 1)
+ setProperty("movespeed", -0.4)
+ SPAWN(0)
+ icon_state = "chap_knife_1"
+ sleep(1 SECONDS)
+ icon_state = "chap_knife_2"
+ sleep(6 SECONDS)
+ icon_state = "chap_knife_3"
+ sleep(1 SECONDS)
+ qdel(src)
+
/obj/item/dagger/throwing_knife
name = "cheap throwing knife"
// icon = 'icons/obj/items/weapons.dmi'
diff --git a/code/obj/item/organ_holder.dm b/code/obj/item/organ_holder.dm
index 9541709510781..d84f2da56f5ab 100644
--- a/code/obj/item/organ_holder.dm
+++ b/code/obj/item/organ_holder.dm
@@ -1639,3 +1639,17 @@
src.icon_state = initial(src.icon_state)
else
src.icon_state = "[initial(src.icon_state)]_cd"
+
+/datum/targetable/organAbility/sacredheart
+ name = "Heartlight Blade"
+ desc = "Draw a knife of pure light from your chest. It's safer to do so than it sounds."
+ icon_state = "sacredheart"
+ targeted = FALSE
+ cooldown = 30 SECONDS
+
+ cast(atom/target)
+ if (..())
+ return TRUE
+ boutput(holder.owner, "You use your [islist(linked_organ) ? "s" : ""] to conjure a knife of pure light from thin air!")
+ var/obj/item/dagger/syndicate/chaplain_knife = new/obj/item/dagger/syndicate/chaplain_knife(get_turf(holder.owner))
+ holder.owner.put_in_hand_or_drop(chaplain_knife)
diff --git a/code/obj/item/organs/heart.dm b/code/obj/item/organs/heart.dm
index 1814859042bca..a6d02fa362a42 100644
--- a/code/obj/item/organs/heart.dm
+++ b/code/obj/item/organs/heart.dm
@@ -120,6 +120,15 @@
else
return 0
+/obj/item/organ/heart/sacred
+ name = "sacred heart"
+ desc = "Does this count as being lighter than a feather?"
+ item_state = "sacred_heart"
+ icon_state = "sacred_heart"
+ transplant_XP = 8
+ squeeze_sound = 'sound/impact_sounds/Crystal_Shatter_1.ogg'
+ organ_abilities = list(/datum/targetable/organAbility/sacredheart)
+
/obj/item/organ/heart/synth
name = "synthheart"
desc = "I guess you could call this a... hearti-choke"
diff --git a/goonstation.dme b/goonstation.dme
index ee13a7e2804a3..61910580a5e9b 100644
--- a/goonstation.dme
+++ b/goonstation.dme
@@ -1595,6 +1595,7 @@ var/datum/preMapLoad/preMapLoad = new
#include "code\obj\item\device\powersink.dm"
#include "code\obj\item\device\prox_sensor.dm"
#include "code\obj\item\device\radio.dm"
+#include "code\obj\item\device\sacred_heart.dm"
#include "code\obj\item\device\scanners.dm"
#include "code\obj\item\device\shield.dm"
#include "code\obj\item\device\studio_monitor.dm"
diff --git a/icons/mob/inhand/hand_medical.dmi b/icons/mob/inhand/hand_medical.dmi
index 02959994985ec..c86c1ce1cdc9e 100644
Binary files a/icons/mob/inhand/hand_medical.dmi and b/icons/mob/inhand/hand_medical.dmi differ
diff --git a/icons/mob/inhand/hand_weapons.dmi b/icons/mob/inhand/hand_weapons.dmi
index 527f209e2be72..6a3dea2233c4e 100644
Binary files a/icons/mob/inhand/hand_weapons.dmi and b/icons/mob/inhand/hand_weapons.dmi differ
diff --git a/icons/mob/organ_abilities.dmi b/icons/mob/organ_abilities.dmi
index ec12ea40e7416..47c3b3d7315fd 100644
Binary files a/icons/mob/organ_abilities.dmi and b/icons/mob/organ_abilities.dmi differ
diff --git a/icons/obj/items/device.dmi b/icons/obj/items/device.dmi
index 84259706be241..3f5f640395897 100644
Binary files a/icons/obj/items/device.dmi and b/icons/obj/items/device.dmi differ
diff --git a/icons/obj/items/weapons.dmi b/icons/obj/items/weapons.dmi
index 9aeb80cecf133..17bb040a80161 100644
Binary files a/icons/obj/items/weapons.dmi and b/icons/obj/items/weapons.dmi differ
diff --git a/icons/obj/surgery.dmi b/icons/obj/surgery.dmi
index d7087711c024a..646b935376f8d 100644
Binary files a/icons/obj/surgery.dmi and b/icons/obj/surgery.dmi differ