diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm
index 9c2e1ccb84a..bc0dd8fc2b4 100644
--- a/code/__DEFINES/preferences.dm
+++ b/code/__DEFINES/preferences.dm
@@ -34,7 +34,7 @@
#define BE_MALF 16
#define BE_REV 32
#define BE_ALIEN 64
-#define BE_PAI 128 //Includes Positronic brains, but the flag is already maxed.
+#define BE_PAI 128
#define BE_CULTIST 256
#define BE_BLOB 512
#define BE_NINJA 1024
diff --git a/code/_globalvars/configuration.dm b/code/_globalvars/configuration.dm
index d42d812db7a..0db83ac6adb 100644
--- a/code/_globalvars/configuration.dm
+++ b/code/_globalvars/configuration.dm
@@ -41,7 +41,7 @@ var/list/be_special_flags = list(
"Malf AI" = BE_MALF,
"Revolutionary" = BE_REV,
"Alien Lifeform" = BE_ALIEN,
- "pAI/Positronic Brain" = BE_PAI,
+ "pAI" = BE_PAI,
"Cultist" = BE_CULTIST,
"Blob" = BE_BLOB,
"Ninja" = BE_NINJA,
diff --git a/code/modules/mob/living/carbon/brain/posibrain.dm b/code/modules/mob/living/carbon/brain/posibrain.dm
index 9a788562cdb..5b30c64683e 100644
--- a/code/modules/mob/living/carbon/brain/posibrain.dm
+++ b/code/modules/mob/living/carbon/brain/posibrain.dm
@@ -15,34 +15,17 @@
/obj/item/device/mmi/posibrain/attack_self(mob/user as mob)
- if(brainmob && !brainmob.key && searching == 0)
- //Start the process of searching for a new user.
- user << "You carefully locate the manual activation switch and start the positronic brain's boot process."
- searching = 1
- update_icon()
- request_player()
- spawn(600)
- reset_search()
+ return //Code for deleting personalities recommended here.
-/obj/item/device/mmi/posibrain/proc/request_player()
- for(var/mob/dead/observer/O in player_list)
- if(jobban_isbanned(O, "posibrain"))
- continue
- if(O.client)
- if(O.client.prefs.be_special & BE_PAI)
- question(O.client)
-/obj/item/device/mmi/posibrain/proc/question(var/client/C)
- spawn(0)
- if(!C) return
- var/response = alert(C, "Someone is requesting a personality for a positronic brain. Would you like to play as one?", "Positronic brain request", "Yes", "No", "Never for this round")
- if(!C || brainmob.key || 0 == searching)
- return //handle logouts that happen whilst the alert is waiting for a response, and responses issued after a brain has been located.
- if(response == "Yes")
- transfer_personality(C.mob)
- else if (response == "Never for this round")
- C.prefs.be_special ^= BE_PAI
+/obj/item/device/mmi/posibrain/attack_ghost(mob/user)
+ if((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")
+ if(posi_ask == "No" || gc_destroyed)
+ return
+ transfer_personality(user)
/obj/item/device/mmi/posibrain/transfer_identity(var/mob/living/carbon/H)
name = "positronic brain ([H])"
@@ -85,14 +68,6 @@
visible_message("The positronic brain chimes quietly.")
update_icon()
-/obj/item/device/mmi/posibrain/proc/reset_search() //We give the players sixty seconds to decide, then reset the timer.
-
- if(brainmob && brainmob.key) return
-
- searching = 0
- update_icon()
-
- visible_message("The positronic brain buzzes quietly, and the golden lights fade away. Perhaps you could try again?")
/obj/item/device/mmi/posibrain/examine()
@@ -128,6 +103,7 @@
brainmob.stat = 0
brainmob.silent = 0
dead_mob_list -= brainmob
+ notify_ghosts("Positronic Brain created in [get_area(src)].")
..()
@@ -137,9 +113,6 @@
/obj/item/device/mmi/posibrain/update_icon()
- if(searching)
- icon_state = "posibrain-searching"
- return
if(brainmob && brainmob.key)
icon_state = "posibrain-occupied"
else