diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm
index c7ab2bb937f..284a41c417e 100644
--- a/code/game/gamemodes/cult/cult_items.dm
+++ b/code/game/gamemodes/cult/cult_items.dm
@@ -682,15 +682,15 @@
desc = "It's an orb of crystalized blood. Can be used to transfer blood between cultists."
var/blood = 50
-/obj/item/rune_portaler //I suck with names
- name = "reality opener"
+/obj/item/portal_amulet
+ name = "reality sunderer"
icon = 'icons/obj/cult.dmi'
icon_state = "amulet"
desc = "Some amulet made out of metal, bluespace crystals, and blood. Allows cultists to open portals over teleport runes, destroying the rune in the process."
w_class = WEIGHT_CLASS_SMALL
-/obj/item/rune_portaler/afterattack(atom/O, mob/user, proximity)
+/obj/item/portal_amulet/afterattack(atom/O, mob/user, proximity)
. = ..()
if(!iscultist(user) && ishuman(user))
var/mob/living/carbon/human/H = user
@@ -712,7 +712,7 @@
var/obj/effect/rune/teleport/R = O
attempt_portal(R, user)
-/obj/item/rune_portaler/proc/attempt_portal(var/obj/effect/rune/teleport/R, mob/user)
+/obj/item/portal_amulet/proc/attempt_portal(var/obj/effect/rune/teleport/R, mob/user)
var/list/potential_runes = list()
var/list/teleportnames = list()
var/list/duplicaterunecount = list()
@@ -749,16 +749,16 @@
actual_selected_rune.handle_portal("space", T)
new /obj/effect/portal/cult(get_turf(R), get_turf(actual_selected_rune), src, 4 MINUTES)
to_chat(user, "You use the magic of the amulet to turn [R] into a portal.")
+ playsound(src, 'sound/magic/cult_spell.ogg', 100, TRUE)
qdel(R)
qdel(src)
/obj/effect/portal/cult
name = "eldritch portal"
- desc = "An evil portal made by dark magics. Suprisingly stable. Destroying the rune, or using a multitool on the portal, should close it."
+ desc = "An evil portal made by dark magics. Suprisingly stable."
icon_state = "portal1"
failchance = 0
precision = FALSE
- can_multitool_to_remove = TRUE
var/obj/effect/temp_visual/cult_portal_exit/exit = null
/obj/effect/portal/cult/New()
@@ -767,8 +767,9 @@
exit.forceMove(target)
/obj/effect/portal/cult/attackby(obj/I, mob/user, params)
- if((istype(I, /obj/item/melee/cultblade/dagger) && iscultist(user)))
- to_chat(user, "You close the portal with your dagger.")
+ if(istype(I, /obj/item/melee/cultblade/dagger) && iscultist(user) || istype(I, /obj/item/nullrod) && user.mind.isholy)
+ to_chat(user, "You close the portal with your [I].")
+ playsound(src, 'sound/magic/magic_missile.ogg', 100, TRUE)
qdel(src)
return ..()
diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm
index 5b24ad3c530..a0f8cf0e1ae 100644
--- a/code/game/gamemodes/cult/cult_structures.dm
+++ b/code/game/gamemodes/cult/cult_structures.dm
@@ -321,7 +321,7 @@ GLOBAL_LIST_INIT(blacklisted_pylon_turfs, typecacheof(list(
selection_title = "Archives"
creation_message = "You invoke the dark magic of the tomes creating a %ITEM%!"
choosable_items = list("Shuttle Curse" = /obj/item/shuttle_curse, "Zealot's Blindfold" = /obj/item/clothing/glasses/hud/health/night/cultblind,
- "Veil Shifter" = /obj/item/cult_shift, "Reality Opener" = /obj/item/rune_portaler) //Add void torch to veil shifter spawn
+ "Veil Shifter" = /obj/item/cult_shift, "Reality sunderer" = /obj/item/portal_amulet) //Add void torch to veil shifter spawn
/obj/structure/cult/functional/archives/Initialize(mapload)
. = ..()
diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm
index 26f2f286e36..cfa7c31b3ed 100644
--- a/code/game/objects/items/stacks/sheets/sheet_types.dm
+++ b/code/game/objects/items/stacks/sheets/sheet_types.dm
@@ -376,7 +376,7 @@ GLOBAL_LIST_INIT(cult_recipes, list ( \
new /datum/stack_recipe/cult("runed girder (used to make cult walls)", /obj/structure/girder/cult, 1, time = 10, one_per_turf = TRUE, on_floor = TRUE, no_cult_structure = TRUE), \
new /datum/stack_recipe/cult("pylon (heals nearby cultists)", /obj/structure/cult/functional/pylon, 4, time = 40, one_per_turf = TRUE, on_floor = TRUE, no_cult_structure = TRUE), \
new /datum/stack_recipe/cult("forge (crafts shielded robes, flagellant's robes, and mirror shields)", /obj/structure/cult/functional/forge, 3, time = 40, one_per_turf = TRUE, on_floor = TRUE, no_cult_structure = TRUE), \
- new /datum/stack_recipe/cult("archives (crafts zealot's blindfolds, shuttle curse orbs, veil shifters, and reality openers)", /obj/structure/cult/functional/archives, 3, time = 40, one_per_turf = TRUE, on_floor = TRUE, no_cult_structure = TRUE), \
+ new /datum/stack_recipe/cult("archives (crafts zealot's blindfolds, shuttle curse orbs, veil shifters, and reality sunderers)", /obj/structure/cult/functional/archives, 3, time = 40, one_per_turf = TRUE, on_floor = TRUE, no_cult_structure = TRUE), \
new /datum/stack_recipe/cult("altar (crafts eldritch whetstones, construct shells, and flasks of unholy water)", /obj/structure/cult/functional/altar, 3, time = 40, one_per_turf = TRUE, on_floor = TRUE, no_cult_structure = TRUE),
))