diff --git a/code/game/gamemodes/clock_cult/clock_items/soul_vessel.dm b/code/game/gamemodes/clock_cult/clock_items/soul_vessel.dm index 19e0364ada..0ee6d45f7d 100644 --- a/code/game/gamemodes/clock_cult/clock_items/soul_vessel.dm +++ b/code/game/gamemodes/clock_cult/clock_items/soul_vessel.dm @@ -18,6 +18,7 @@ The purpose of your existence is to further the goals of the servants and Ratvar himself. Above all else, serve Ratvar." new_mob_message = "The soul vessel emits a jet of steam before its cogwheel smooths out." dead_message = "Its cogwheel, scratched and dented, lies motionless." + recharge_message = "The soul vessel's internal geis capacitor is still recharging!" possible_names = list("Judge", "Guard", "Servant", "Smith", "Auger") autoping = FALSE resistance_flags = FIRE_PROOF | ACID_PROOF diff --git a/code/modules/mob/living/brain/posibrain.dm b/code/modules/mob/living/brain/posibrain.dm index c30c7dbcfa..ac92c3479c 100644 --- a/code/modules/mob/living/brain/posibrain.dm +++ b/code/modules/mob/living/brain/posibrain.dm @@ -25,6 +25,7 @@ GLOBAL_VAR(posibrain_notify_cooldown) Remember, the purpose of your existence is to serve the crew and the station. Above all else, do no harm." var/new_mob_message = "The positronic brain chimes quietly." var/dead_message = "It appears to be completely inactive. The reset light is blinking." + var/recharge_message = "The positronic brain isn't ready to activate again yet! Give it some time to recharge." var/list/possible_names //If you leave this blank, it will use the global posibrain names var/picked_name @@ -41,15 +42,20 @@ GLOBAL_VAR(posibrain_notify_cooldown) GLOB.posibrain_notify_cooldown = world.time + askDelay /obj/item/device/mmi/posibrain/attack_self(mob/user) - if(!brainmob || brainmob.key) + if(!brainmob) + brainmob = new(src) + if(is_occupied()) + to_chat(user, "This [name] is already active!") return if(next_ask > world.time) + to_chat(user, recharge_message) return //Start the process of requesting a new ghost. to_chat(user, begin_activation_message) ping_ghosts("requested", FALSE) next_ask = world.time + askDelay searching = TRUE + update_icon() addtimer(CALLBACK(src, .proc/check_success), askDelay) /obj/item/device/mmi/posibrain/proc/check_success() @@ -80,7 +86,7 @@ GLOBAL_VAR(posibrain_notify_cooldown) return if(is_occupied() || jobban_isbanned(user,"posibrain")) return - + var/posi_ask = alert("Become a [name]? (Warning, You can no longer be cloned, and all past lives will be forgotten!)","Are you positive?","Yes","No") if(posi_ask == "No" || QDELETED(src)) return @@ -109,7 +115,7 @@ GLOBAL_VAR(posibrain_notify_cooldown) if(QDELETED(brainmob)) return if(is_occupied()) //Prevents hostile takeover if two ghosts get the prompt or link for the same brain. - to_chat(candidate, "This brain has already been taken! Please try your possession again later!") + to_chat(candidate, "This [name] was taken over before you could get to it! Perhaps it might be available later?") return FALSE if(candidate.mind && !isobserver(candidate)) candidate.mind.transfer_to(brainmob) @@ -123,7 +129,7 @@ GLOBAL_VAR(posibrain_notify_cooldown) GLOB.living_mob_list += brainmob visible_message(new_mob_message) - update_icon() + check_success() return TRUE