diff --git a/code/game/gamemodes/clock_cult/clock_mobs/_eminence.dm b/code/game/gamemodes/clock_cult/clock_mobs/_eminence.dm
index cc91feeb98..3728520e82 100644
--- a/code/game/gamemodes/clock_cult/clock_mobs/_eminence.dm
+++ b/code/game/gamemodes/clock_cult/clock_mobs/_eminence.dm
@@ -1,3 +1,7 @@
+//Helper proc to get an Eminence mob if it exists
+/proc/get_eminence()
+ return locate(/mob/camera/eminence) in servants_and_ghosts()
+
//The Eminence is a unique mob that functions like the leader of the cult. It's incorporeal but can interact with the world in several ways.
/mob/camera/eminence
name = "\the Emininence"
@@ -37,9 +41,23 @@
if(prob(166 - (get_dist(src, T) * 33)))
T.ratvar_act() //Causes moving to leave a swath of proselytized area behind the Eminence
+/mob/camera/eminence/Process_Spacemove(movement_dir = 0)
+ return TRUE
+
/mob/camera/eminence/Login()
..()
add_servant_of_ratvar(src, TRUE)
+<<<<<<< HEAD
+=======
+ var/datum/antagonist/clockcult/C = mind.has_antag_datum(/datum/antagonist/clockcult,TRUE)
+ if(C && C.clock_team)
+ if(C.clock_team.eminence)
+ remove_servant_of_ratvar(src,TRUE)
+ qdel(src)
+ return
+ else
+ C.clock_team.eminence = src
+>>>>>>> 3b37dae... (probably?) Fixes being able to create two Eminences at a time + other Eminence issues (#33634)
to_chat(src, "You have been selected as the Eminence!")
to_chat(src, "As the Eminence, you lead the servants. Anything you say will be heard by the entire cult.")
to_chat(src, "Though you can move through walls, you're also incorporeal, and largely can't interact with the world except for a few ways.")
@@ -55,6 +73,12 @@
E.Grant(src)
/mob/camera/eminence/say(message)
+ if(client)
+ if(client.prefs.muted & MUTE_IC)
+ to_chat(src, "You cannot send IC messages (muted).")
+ return
+ if(client.handle_spam_prevention(message,MUTE_IC))
+ return
message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN))
if(!message)
return
@@ -62,7 +86,13 @@
if(GLOB.ratvar_awakens)
visible_message("You feel light slam into your mind and form words: \"[capitalize(message)]\"")
playsound(src, 'sound/machines/clockcult/ark_scream.ogg', 50, FALSE)
- hierophant_message("The Eminence: \"[message]\"")
+ message = "The [GLOB.ratvar_awakens ? "Radiance" : "Eminence"]: \"[message]\""
+ for(var/mob/M in servants_and_ghosts())
+ if(isobserver(M))
+ var/link = FOLLOW_LINK(M, src)
+ to_chat(M, "[link] [message]")
+ else
+ to_chat(M, message)
/mob/camera/eminence/Hear(message, atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, list/spans, message_mode)
if(z == ZLEVEL_CITYOFCOGS || is_servant_of_ratvar(speaker) || GLOB.ratvar_approaches || GLOB.ratvar_awakens) //Away from Reebe, the Eminence can't hear anything
diff --git a/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm b/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm
index 63fea1eeb6..21d1159541 100644
--- a/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm
+++ b/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm
@@ -113,7 +113,7 @@
/obj/structure/destructible/clockwork/massive/celestial_gateway/proc/mass_recall()
for(var/V in SSticker.mode.servants_of_ratvar)
var/datum/mind/M = V
- if(!M.current.stat)
+ if(M.current.stat != DEAD)
M.current.forceMove(get_turf(src))
M.current.overlay_fullscreen("flash", /obj/screen/fullscreen/flash)
M.current.clear_fullscreen("flash", 5)
diff --git a/code/game/gamemodes/clock_cult/clock_structures/eminence_spire.dm b/code/game/gamemodes/clock_cult/clock_structures/eminence_spire.dm
index 8d4e936658..a5bc62f554 100644
--- a/code/game/gamemodes/clock_cult/clock_structures/eminence_spire.dm
+++ b/code/game/gamemodes/clock_cult/clock_structures/eminence_spire.dm
@@ -34,7 +34,12 @@
/obj/structure/destructible/clockwork/eminence_spire/attack_ghost(mob/user)
if(!IsAdminGhost(user))
return
+<<<<<<< HEAD
if(SSticker.mode.eminence)
+=======
+ var/datum/antagonist/clockcult/random_cultist = locate() in GLOB.antagonists //if theres no cultists new team without eminence will be created anyway.
+ if(random_cultist && random_cultist.clock_team && random_cultist.clock_team.eminence)
+>>>>>>> 3b37dae... (probably?) Fixes being able to create two Eminences at a time + other Eminence issues (#33634)
to_chat(user, "There's already an Eminence - too late!")
return
if(!GLOB.servants_active)
diff --git a/code/game/turfs/simulated/wall/misc_walls.dm b/code/game/turfs/simulated/wall/misc_walls.dm
index ecc389af88..0dab10ff92 100644
--- a/code/game/turfs/simulated/wall/misc_walls.dm
+++ b/code/game/turfs/simulated/wall/misc_walls.dm
@@ -70,6 +70,10 @@
if(realappearence)
qdel(realappearence)
realappearence = null
+ if(heated)
+ var/mob/camera/eminence/E = get_eminence()
+ if(E)
+ E.superheated_walls--
return ..()
/turf/closed/wall/clockwork/ReplaceWithLattice()