diff --git a/code/game/objects/items/plushes.dm b/code/game/objects/items/plushes.dm
index 2b950197a7..ae73692cd4 100644
--- a/code/game/objects/items/plushes.dm
+++ b/code/game/objects/items/plushes.dm
@@ -462,9 +462,10 @@
/obj/item/toy/plush/narplush
name = "nar'sie plushie"
- desc = "A small stuffed doll of the elder god nar'sie. Who thought this was a good children's toy?"
+ desc = "A small stuffed doll of the elder god Nar'Sie. Who thought this was a good children's toy?"
icon_state = "narplush"
var/clashing
+ var/is_invoker = TRUE
gender = FEMALE //it's canon if the toy is
/obj/item/toy/plush/narplush/Moved()
@@ -473,6 +474,10 @@
if(P && istype(P.loc, /turf/open) && !P.clash_target && !clashing)
P.clash_of_the_plushies(src)
+/obj/item/toy/plush/narplush/hugbox
+ desc = "A small stuffed doll of the elder god Nar'Sie. Who thought this was a good children's toy? It looks sad."
+ is_invoker = FALSE
+
/obj/item/toy/plush/lizardplushie
name = "lizard plushie"
desc = "An adorable stuffed toy that resembles a lizardperson."
@@ -504,4 +509,4 @@
item_state = "plushie_slime"
attack_verb = list("blorbled", "slimed", "absorbed")
squeak_override = list('sound/effects/blobattack.ogg' = 1)
- gender = FEMALE //given all the jokes and drawings, I'm not sure the xenobiologists would make a slimeboy
\ No newline at end of file
+ gender = FEMALE //given all the jokes and drawings, I'm not sure the xenobiologists would make a slimeboy
diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm
index cc95cd364a..14787fb30e 100644
--- a/code/modules/antagonists/cult/runes.dm
+++ b/code/modules/antagonists/cult/runes.dm
@@ -113,8 +113,13 @@ structure_check() searches for nearby cultist structures required for the invoca
if(user)
chanters += user
invokers += user
+
if(req_cultists > 1 || allow_excess_invokers)
- for(var/mob/living/L in range(1, src))
+ var/list/things_in_range = range(1, src)
+ var/obj/item/toy/plush/narplush/plushsie = locate() in things_in_range
+ if(istype(plushsie) && plushsie.is_invoker)
+ invokers += plushsie
+ for(var/mob/living/L in things_in_range)
if(iscultist(L))
if(L == user)
continue
@@ -140,12 +145,16 @@ structure_check() searches for nearby cultist structures required for the invoca
/obj/effect/rune/proc/invoke(var/list/invokers)
//This proc contains the effects of the rune as well as things that happen afterwards. If you want it to spawn an object and then delete itself, have both here.
for(var/M in invokers)
- var/mob/living/L = M
- if(invocation)
- L.say(invocation, language = /datum/language/common, ignore_spam = TRUE)
- if(invoke_damage)
- L.apply_damage(invoke_damage, BRUTE)
- to_chat(L, "[src] saps your strength!")
+ if(isliving(M))
+ var/mob/living/L = M
+ if(invocation)
+ L.say(invocation, language = /datum/language/common, ignore_spam = TRUE)
+ if(invoke_damage)
+ L.apply_damage(invoke_damage, BRUTE)
+ to_chat(L, "[src] saps your strength!")
+ else if(istype(M, /obj/item/toy/plush/narplush))
+ var/obj/item/toy/plush/narplush/P = M
+ P.visible_message("[P] squeaks loudly!")
do_invoke_glow()
/obj/effect/rune/proc/do_invoke_glow()