diff --git a/code/modules/client/preference_setup/antagonism/01_basic.dm b/code/modules/client/preference_setup/antagonism/01_basic.dm
index 1f9b61a20a9..4ffaa10c954 100644
--- a/code/modules/client/preference_setup/antagonism/01_basic.dm
+++ b/code/modules/client/preference_setup/antagonism/01_basic.dm
@@ -2,8 +2,6 @@
name = "Basic"
sort_order = 1
- var/datum/paiCandidate/candidate
-
/datum/category_item/player_setup_item/antagonism/basic/load_character(list/save_data)
pref.exploit_record = save_data["exploit_record"]
pref.antag_faction = save_data["antag_faction"]
@@ -14,29 +12,6 @@
save_data["antag_faction"] = pref.antag_faction
save_data["antag_vis"] = pref.antag_vis
-/datum/category_item/player_setup_item/antagonism/basic/load_preferences(datum/json_savefile/savefile)
- if(!candidate)
- candidate = new()
- var/preference_mob = preference_mob()
- if(!preference_mob)// No preference mob - this happens when we're called from client/New() before it calls ..() (via datum/preferences/New())
- spawn()
- preference_mob = preference_mob()
- if(!preference_mob)
- return
- candidate.savefile_load(preference_mob)
- return
-
- candidate.savefile_load(preference_mob)
-
-/datum/category_item/player_setup_item/antagonism/basic/save_preferences(datum/json_savefile/savefile)
- if(!candidate)
- return
-
- if(!preference_mob())
- return
-
- candidate.savefile_save(preference_mob())
-
/datum/category_item/player_setup_item/antagonism/basic/sanitize_character()
if(!pref.antag_faction) pref.antag_faction = "None"
if(!pref.antag_vis) pref.antag_vis = "Hidden"
@@ -57,15 +32,6 @@
. += span_bold("You are banned from using character records.") + "
"
else
. +="[TextPreview(pref.exploit_record,40)]
"
- . += "
"
- . += span_bold("pAI:") + "
"
- if(!candidate)
- log_debug("[user] pAI prefs have a null candidate var.")
- return .
- . += "Name: [candidate.name ? candidate.name : "None Set"]
"
- . += "Description: [candidate.description ? TextPreview(candidate.description, 40) : "None Set"]
"
- . += "Role: [candidate.role ? TextPreview(candidate.role, 40) : "None Set"]
"
- . += "OOC Comments: [candidate.comments ? TextPreview(candidate.comments, 40) : "None Set"]
"
/datum/category_item/player_setup_item/antagonism/basic/OnTopic(var/href,var/list/href_list, var/mob/user)
if(href_list["uplinklocation"])
@@ -100,25 +66,4 @@
pref.antag_vis = choice
return TOPIC_REFRESH
- if(href_list["option"])
- var/t
- switch(href_list["option"])
- if("name")
- t = sanitizeName(tgui_input_text(user, "Enter a name for your pAI", "Global Preference", candidate.name, MAX_NAME_LEN), MAX_NAME_LEN, 1)
- if(t && CanUseTopic(user))
- candidate.name = t
- if("desc")
- t = tgui_input_text(user, "Enter a description for your pAI", "Global Preference", html_decode(candidate.description), multiline = TRUE, prevent_enter = TRUE)
- if(!isnull(t) && CanUseTopic(user))
- candidate.description = sanitize(t)
- if("role")
- t = tgui_input_text(user, "Enter a role for your pAI", "Global Preference", html_decode(candidate.role))
- if(!isnull(t) && CanUseTopic(user))
- candidate.role = sanitize(t)
- if("ooc")
- t = tgui_input_text(user, "Enter any OOC comments", "Global Preference", html_decode(candidate.comments), multiline = TRUE, prevent_enter = TRUE)
- if(!isnull(t) && CanUseTopic(user))
- candidate.comments = sanitize(t)
- return TOPIC_REFRESH
-
return ..()
diff --git a/code/modules/client/preference_setup/global/03_pai.dm b/code/modules/client/preference_setup/global/03_pai.dm
new file mode 100644
index 00000000000..af393875358
--- /dev/null
+++ b/code/modules/client/preference_setup/global/03_pai.dm
@@ -0,0 +1,62 @@
+/datum/category_item/player_setup_item/player_global/pai
+ name = "pAI"
+ sort_order = 3
+
+ var/datum/paiCandidate/candidate
+
+/datum/category_item/player_setup_item/player_global/pai/load_preferences(datum/json_savefile/savefile)
+ if(!candidate)
+ candidate = new()
+ var/preference_mob = preference_mob()
+ if(!preference_mob)// No preference mob - this happens when we're called from client/New() before it calls ..() (via datum/preferences/New())
+ spawn()
+ preference_mob = preference_mob()
+ if(!preference_mob)
+ return
+ candidate.savefile_load(preference_mob)
+ return
+
+ candidate.savefile_load(preference_mob)
+
+/datum/category_item/player_setup_item/player_global/pai/save_preferences(datum/json_savefile/savefile)
+ if(!candidate)
+ return
+
+ if(!preference_mob())
+ return
+
+ candidate.savefile_save(preference_mob())
+
+/datum/category_item/player_setup_item/player_global/pai/content(var/mob/user)
+ . += span_bold("pAI:") + "
"
+ if(!candidate)
+ log_debug("[user] pAI prefs have a null candidate var.")
+ return .
+ . += "Name: [candidate.name ? candidate.name : "None Set"]
"
+ . += "Description: [candidate.description ? TextPreview(candidate.description, 40) : "None Set"]
"
+ . += "Role: [candidate.role ? TextPreview(candidate.role, 40) : "None Set"]
"
+ . += "OOC Comments: [candidate.comments ? TextPreview(candidate.comments, 40) : "None Set"]
"
+
+/datum/category_item/player_setup_item/player_global/pai/OnTopic(var/href,var/list/href_list, var/mob/user)
+ if(href_list["option"])
+ var/t
+ switch(href_list["option"])
+ if("name")
+ t = sanitizeName(tgui_input_text(user, "Enter a name for your pAI", "Global Preference", candidate.name, MAX_NAME_LEN), MAX_NAME_LEN, 1)
+ if(t && CanUseTopic(user))
+ candidate.name = t
+ if("desc")
+ t = tgui_input_text(user, "Enter a description for your pAI", "Global Preference", html_decode(candidate.description), multiline = TRUE, prevent_enter = TRUE)
+ if(!isnull(t) && CanUseTopic(user))
+ candidate.description = sanitize(t)
+ if("role")
+ t = tgui_input_text(user, "Enter a role for your pAI", "Global Preference", html_decode(candidate.role))
+ if(!isnull(t) && CanUseTopic(user))
+ candidate.role = sanitize(t)
+ if("ooc")
+ t = tgui_input_text(user, "Enter any OOC comments", "Global Preference", html_decode(candidate.comments), multiline = TRUE, prevent_enter = TRUE)
+ if(!isnull(t) && CanUseTopic(user))
+ candidate.comments = sanitize(t)
+ return TOPIC_REFRESH
+
+ return ..()
diff --git a/code/modules/client/preference_setup/preference_setup.dm b/code/modules/client/preference_setup/preference_setup.dm
index 1024f44a599..621ed9338d3 100644
--- a/code/modules/client/preference_setup/preference_setup.dm
+++ b/code/modules/client/preference_setup/preference_setup.dm
@@ -26,13 +26,11 @@
name = "Traits"
sort_order = 6
category_item_type = /datum/category_item/player_setup_item/traits
-
-//redundant due to having most of its content stripped out, merged into special roles
+*/ //VOREStation Removal End
/datum/category_group/player_setup_category/global_preferences
name = "Global"
sort_order = 6 //VOREStation Edit due to above commented out
category_item_type = /datum/category_item/player_setup_item/player_global
-*/ //VOREStation Removal End
/****************************
* Category Collection Setup *
diff --git a/vorestation.dme b/vorestation.dme
index 1b49deafd34..32de169137a 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -2088,6 +2088,7 @@
#include "code\modules\client\preference_setup\general\04_equipment.dm"
#include "code\modules\client\preference_setup\general\05_background.dm"
#include "code\modules\client\preference_setup\general\06_flavor.dm"
+#include "code\modules\client\preference_setup\global\03_pai.dm"
#include "code\modules\client\preference_setup\loadout\gear_tweaks.dm"
#include "code\modules\client\preference_setup\loadout\gear_tweaks_vr.dm"
#include "code\modules\client\preference_setup\loadout\loadout.dm"