diff --git a/code/datums/antagonists/datum_clockcult.dm b/code/datums/antagonists/datum_clockcult.dm
index da13e3175f6..76833dffb27 100644
--- a/code/datums/antagonists/datum_clockcult.dm
+++ b/code/datums/antagonists/datum_clockcult.dm
@@ -52,6 +52,9 @@
else if(isbrain(owner) || isclockmob(owner))
owner << "You can communicate with other servants by using the Hierophant Network action button in the upper left."
..()
+ if(istype(ticker.mode, /datum/game_mode/clockwork_cult))
+ var/datum/game_mode/clockwork_cult/C = ticker.mode
+ C.present_tasks(owner) //Memorize the objectives
/datum/antagonist/clockcultist/apply_innate_effects()
all_clockwork_mobs += owner
@@ -102,7 +105,7 @@
owner.faction -= "ratvar"
owner.languages_spoken &= ~RATVAR
owner.languages_understood &= ~RATVAR
- owner.update_action_buttons_icon() //because a few clockcult things are action buttons and we may be wearing/holding them, we need to update buttons
+ addtimer(owner, "update_action_buttons_icon", 1) //because a few clockcult things are action buttons and we may be wearing/holding them, we need to update buttons
owner.clear_alert("clockinfo")
owner.clear_alert("nocache")
for(var/datum/action/innate/function_call/F in owner.actions) //Removes any bound Ratvarian spears
diff --git a/code/datums/antagonists/datum_cult.dm b/code/datums/antagonists/datum_cult.dm
index 6bc2fe69381..1ebe387ee48 100644
--- a/code/datums/antagonists/datum_cult.dm
+++ b/code/datums/antagonists/datum_cult.dm
@@ -17,6 +17,9 @@
ticker.mode.cult += owner.mind
ticker.mode.servants_of_ratvar += owner.mind
ticker.mode.update_cult_icons_added(owner.mind)
+ if(istype(ticker.mode, /datum/game_mode/cult))
+ var/datum/game_mode/cult/C = ticker.mode
+ C.memorize_cult_objectives(owner.mind)
if(jobban_isbanned(owner, ROLE_CULTIST))
addtimer(ticker.mode, "replace_jobbaned_player", 0, FALSE, owner, ROLE_CULTIST, ROLE_CULTIST)
if(owner.mind)
diff --git a/code/datums/mind.dm b/code/datums/mind.dm
index baa1d2eac21..5abd351c6c1 100644
--- a/code/datums/mind.dm
+++ b/code/datums/mind.dm
@@ -419,13 +419,13 @@
if (ticker.mode.config_tag=="cult")
text = uppertext(text)
text = "[text]: "
- if (src in ticker.mode.cult)
+ if(iscultist(current))
text += "loyal|employee|CULTIST"
text += "
Give tome|amulet."
else if(isloyal(current))
text += "LOYAL|employee|cultist"
- else if(is_convertable_to_cult(src))
+ else if(is_convertable_to_cult(current))
text += "loyal|EMPLOYEE|cultist"
else
text += "loyal|EMPLOYEE|cannot serve Nar-Sie"
@@ -442,7 +442,7 @@
if(ticker.mode.config_tag == "clockwork cult")
text = uppertext(text)
text = "[text]: "
- if(src in ticker.mode.servants_of_ratvar)
+ if(is_servant_of_ratvar(current))
text += "loyal|employee|SERVANT"
text += "
Give slab"
else if(isloyal(current))
diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm
index 7597b4b2bbb..79183c029e2 100644
--- a/code/game/gamemodes/cult/cult.dm
+++ b/code/game/gamemodes/cult/cult.dm
@@ -163,13 +163,6 @@
cult_mind.current.Paralyse(5)
return 1
-
-/datum/game_mode/cult/add_cultist(datum/mind/cult_mind, stun) //INHERIT
- if (!..(cult_mind))
- return
- memorize_cult_objectives(cult_mind)
-
-
/datum/game_mode/proc/remove_cultist(datum/mind/cult_mind, show_message = 1, stun)
if(cult_mind.current)
var/datum/antagonist/cultist/cult_datum = cult_mind.current.has_antag_datum(/datum/antagonist/cultist, TRUE)
@@ -194,7 +187,7 @@
/datum/game_mode/cult/proc/get_unconvertables()
var/list/ucs = list()
for(var/mob/living/carbon/human/player in player_list)
- if(player.mind && !is_convertable_to_cult(player.mind))
+ if(player.mind && !is_convertable_to_cult(player) && !(player.mind in cultists_to_cult))
ucs += player.mind
return ucs
diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm
index b30ac5561ed..3920e4258cb 100644
--- a/code/game/gamemodes/cult/runes.dm
+++ b/code/game/gamemodes/cult/runes.dm
@@ -357,7 +357,7 @@ var/list/teleport_runes = list()
color = "#7D1717"
var/mob/living/L = pick(myriad_targets)
var/is_clock = is_servant_of_ratvar(L)
- var/is_convertable = is_convertable_to_cult(L.mind)
+ var/is_convertable = is_convertable_to_cult(L)
if(L.stat != DEAD && (is_clock || is_convertable))
invocation = "Mah'weyh pleggh at e'ntrath!"
..()