diff --git a/code/modules/mob/living/carbon/brain/posibrain.dm b/code/modules/mob/living/carbon/brain/posibrain.dm index 31e18bb106c..972f66fa615 100644 --- a/code/modules/mob/living/carbon/brain/posibrain.dm +++ b/code/modules/mob/living/carbon/brain/posibrain.dm @@ -9,6 +9,7 @@ var/global/posibrain_notif_cooldown = 0 origin_tech = "biotech=3;programming=2" var/notified = 0 var/askDelay = 10 * 60 * 1 + var/used = 0 //Prevents split personality virus. May be reset if personality deletion code is added. brainmob = null req_access = list(access_robotics) mecha = null//This does not appear to be used outside of reference in mecha.dm. @@ -29,10 +30,11 @@ var/global/posibrain_notif_cooldown = 0 /obj/item/device/mmi/posibrain/attack_self(mob/user) if(brainmob && !brainmob.key && !notified) - //Start the process of notified for a new user. + //Start the process of requesting a new ghost. user << "You carefully locate the manual activation switch and start the positronic brain's boot process." ping_ghosts("requested") notified = 1 + used = 0 update_icon() spawn(askDelay) //Seperate from the global cooldown. notified = 0 @@ -47,7 +49,7 @@ var/global/posibrain_notif_cooldown = 0 //Two ways to activate a positronic brain. A clickable link in the ghost notif, or simply clicking the object itself. /obj/item/device/mmi/posibrain/proc/activate(mob/user) - if((brainmob && brainmob.key) || jobban_isbanned(user,"posibrain")) + if(used || (brainmob && brainmob.key) || jobban_isbanned(user,"posibrain")) return var/posi_ask = alert("Become a positronic brain? (Warning, You can no longer be cloned, and all past lives will be forgotten!)","Are you positive?","Yes","No") @@ -81,7 +83,7 @@ var/global/posibrain_notif_cooldown = 0 return /obj/item/device/mmi/posibrain/proc/transfer_personality(mob/candidate) - if(brainmob && brainmob.key) //Prevents hostile takeover if two ghosts get the prompt or link for the same brain. + if(used || (brainmob && brainmob.key)) //Prevents hostile takeover if two ghosts get the prompt or link for the same brain. candidate << "This brain has already been taken! Please try your possesion again later!" return notified = 0 @@ -97,6 +99,7 @@ var/global/posibrain_notif_cooldown = 0 visible_message("The positronic brain chimes quietly.") update_icon() + used = 1 /obj/item/device/mmi/posibrain/examine() @@ -118,7 +121,7 @@ var/global/posibrain_notif_cooldown = 0 if(UNCONSCIOUS) msg += "It doesn't seem to be responsive.\n" if(DEAD) msg += "It appears to be completely inactive.\n" else - msg += "It appears to be completely inactive.\n" + msg += "It appears to be completely inactive. The reset light is blinking.\n" msg += "*---------*" usr << msg return