diff --git a/code/modules/client/preference_setup/antagonism/01_basic.dm b/code/modules/client/preference_setup/antagonism/01_basic.dm
index 4ffaa10c95..1f9b61a20a 100644
--- a/code/modules/client/preference_setup/antagonism/01_basic.dm
+++ b/code/modules/client/preference_setup/antagonism/01_basic.dm
@@ -2,6 +2,8 @@
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"]
@@ -12,6 +14,29 @@
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"
@@ -32,6 +57,15 @@
. += 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"])
@@ -66,4 +100,25 @@
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
deleted file mode 100644
index af39387535..0000000000
--- a/code/modules/client/preference_setup/global/03_pai.dm
+++ /dev/null
@@ -1,62 +0,0 @@
-/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 621ed9338d..1024f44a59 100644
--- a/code/modules/client/preference_setup/preference_setup.dm
+++ b/code/modules/client/preference_setup/preference_setup.dm
@@ -26,11 +26,13 @@
name = "Traits"
sort_order = 6
category_item_type = /datum/category_item/player_setup_item/traits
-*/ //VOREStation Removal End
+
+//redundant due to having most of its content stripped out, merged into special roles
/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 a39e2639f1..0add6ae21e 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -2220,7 +2220,6 @@
#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"