mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-31 20:42:27 +00:00
Merge branch 'dev' of https://github.com/Baystation12/Baystation12 into fluff2
This commit is contained in:
@@ -158,6 +158,7 @@
|
||||
spawn(5) // And wait a half-second, since it sounds like you can do this too fast.
|
||||
if(src)
|
||||
winset(src, null, "command=\".configure graphics-hwmode off\"")
|
||||
sleep(2) // wait a bit more, possibly fixes hardware mode not re-activating right
|
||||
winset(src, null, "command=\".configure graphics-hwmode on\"")
|
||||
|
||||
log_client_to_db()
|
||||
@@ -339,3 +340,9 @@ client/proc/MayRespawn()
|
||||
|
||||
// Something went wrong, client is usually kicked or transfered to a new mob at this point
|
||||
return 0
|
||||
|
||||
client/verb/character_setup()
|
||||
set name = "Character Setup"
|
||||
set category = "Preferences"
|
||||
if(prefs)
|
||||
prefs.ShowChoices(usr)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/datum/category_item/player_setup_item/general/basic
|
||||
name = "Basic"
|
||||
sort_order = 1
|
||||
var/list/valid_player_genders = list(MALE, FEMALE)
|
||||
|
||||
/datum/category_item/player_setup_item/general/basic/load_character(var/savefile/S)
|
||||
S["real_name"] >> pref.real_name
|
||||
@@ -19,12 +20,13 @@
|
||||
S["OOC_Notes"] << pref.metadata
|
||||
|
||||
/datum/category_item/player_setup_item/general/basic/sanitize_character()
|
||||
pref.real_name = sanitizeName(pref.real_name)
|
||||
pref.age = sanitize_integer(pref.age, AGE_MIN, AGE_MAX, initial(pref.age))
|
||||
pref.gender = sanitize_inlist(pref.gender, valid_player_genders, pick(valid_player_genders))
|
||||
pref.real_name = sanitize_name(pref.real_name, pref.species)
|
||||
if(!pref.real_name)
|
||||
pref.real_name = random_name(pref.gender, pref.species)
|
||||
pref.spawnpoint = sanitize_inlist(pref.spawnpoint, spawntypes, initial(pref.spawnpoint))
|
||||
pref.be_random_name = sanitize_integer(pref.be_random_name, 0, 1, initial(pref.be_random_name))
|
||||
pref.age = sanitize_integer(pref.age, AGE_MIN, AGE_MAX, initial(pref.age))
|
||||
|
||||
/datum/category_item/player_setup_item/general/basic/content()
|
||||
. = "<b>Name:</b> "
|
||||
@@ -32,7 +34,7 @@
|
||||
. += "(<a href='?src=\ref[src];random_name=1'>Random Name</A>) "
|
||||
. += "(<a href='?src=\ref[src];always_random_name=1'>Always Random Name: [pref.be_random_name ? "Yes" : "No"]</a>)"
|
||||
. += "<br>"
|
||||
. += "<b>Gender:</b> <a href='?src=\ref[src];gender=1'><b>[pref.gender == MALE ? "Male" : "Female"]</b></a><br>"
|
||||
. += "<b>Gender:</b> <a href='?src=\ref[src];gender=1'><b>[capitalize(lowertext(pref.gender))]</b></a><br>"
|
||||
. += "<b>Age:</b> <a href='?src=\ref[src];age=1'>[pref.age]</a><br>"
|
||||
. += "<b>Spawn Point</b>: <a href='?src=\ref[src];spawnpoint=1'>[pref.spawnpoint]</a><br>"
|
||||
if(config.allow_Metadata)
|
||||
@@ -42,7 +44,7 @@
|
||||
if(href_list["rename"])
|
||||
var/raw_name = input(user, "Choose your character's name:", "Character Name") as text|null
|
||||
if (!isnull(raw_name) && CanUseTopic(user))
|
||||
var/new_name = sanitizeName(raw_name)
|
||||
var/new_name = sanitize_name(raw_name, pref.species)
|
||||
if(new_name)
|
||||
pref.real_name = new_name
|
||||
return TOPIC_REFRESH
|
||||
@@ -59,10 +61,7 @@
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["gender"])
|
||||
if(pref.gender == MALE)
|
||||
pref.gender = FEMALE
|
||||
else
|
||||
pref.gender = MALE
|
||||
pref.gender = next_in_list(pref.gender, valid_player_genders)
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["age"])
|
||||
@@ -80,7 +79,6 @@
|
||||
pref.spawnpoint = choice
|
||||
return TOPIC_REFRESH
|
||||
|
||||
|
||||
else if(href_list["metadata"])
|
||||
var/new_metadata = sanitize(input(user, "Enter any information you'd like others to see, such as Roleplay-preferences:", "Game Preference" , pref.metadata)) as message|null
|
||||
if(new_metadata && CanUseTopic(user))
|
||||
|
||||
@@ -46,6 +46,10 @@
|
||||
selected_category = null
|
||||
return ..()
|
||||
|
||||
/datum/category_collection/player_setup_collection/proc/sanitize_setup()
|
||||
for(var/datum/category_group/player_setup_category/PS in categories)
|
||||
PS.sanitize_setup()
|
||||
|
||||
/datum/category_collection/player_setup_collection/proc/load_character(var/savefile/S)
|
||||
for(var/datum/category_group/player_setup_category/PS in categories)
|
||||
PS.load_character(S)
|
||||
@@ -100,24 +104,37 @@
|
||||
/datum/category_group/player_setup_category/dd_SortValue()
|
||||
return sort_order
|
||||
|
||||
/datum/category_group/player_setup_category/proc/sanitize_setup()
|
||||
for(var/datum/category_item/player_setup_item/PI in items)
|
||||
PI.sanitize_preferences()
|
||||
for(var/datum/category_item/player_setup_item/PI in items)
|
||||
PI.sanitize_character()
|
||||
|
||||
/datum/category_group/player_setup_category/proc/load_character(var/savefile/S)
|
||||
// Load all data, then sanitize it.
|
||||
// Need due to, for example, the 01_basic module relying on species having been loaded to sanitize correctly but that isn't loaded until module 03_body.
|
||||
for(var/datum/category_item/player_setup_item/PI in items)
|
||||
PI.load_character(S)
|
||||
for(var/datum/category_item/player_setup_item/PI in items)
|
||||
PI.sanitize_character()
|
||||
|
||||
/datum/category_group/player_setup_category/proc/save_character(var/savefile/S)
|
||||
// Sanitize all data, then save it
|
||||
for(var/datum/category_item/player_setup_item/PI in items)
|
||||
PI.sanitize_character()
|
||||
for(var/datum/category_item/player_setup_item/PI in items)
|
||||
PI.save_character(S)
|
||||
|
||||
/datum/category_group/player_setup_category/proc/load_preferences(var/savefile/S)
|
||||
for(var/datum/category_item/player_setup_item/PI in items)
|
||||
PI.load_preferences(S)
|
||||
for(var/datum/category_item/player_setup_item/PI in items)
|
||||
PI.sanitize_preferences()
|
||||
|
||||
/datum/category_group/player_setup_category/proc/save_preferences(var/savefile/S)
|
||||
for(var/datum/category_item/player_setup_item/PI in items)
|
||||
PI.sanitize_preferences()
|
||||
for(var/datum/category_item/player_setup_item/PI in items)
|
||||
PI.save_preferences(S)
|
||||
|
||||
/datum/category_group/player_setup_category/proc/content(var/mob/user)
|
||||
|
||||
@@ -113,7 +113,6 @@ datum/preferences
|
||||
|
||||
/datum/preferences/New(client/C)
|
||||
player_setup = new(src)
|
||||
|
||||
gender = pick(MALE, FEMALE)
|
||||
real_name = random_name(gender,species)
|
||||
b_type = pick(4;"O-", 36;"O+", 3;"A-", 28;"A+", 1;"B-", 20;"B+", 1;"AB-", 5;"AB+")
|
||||
@@ -235,6 +234,8 @@ datum/preferences
|
||||
return 1
|
||||
|
||||
/datum/preferences/proc/copy_to(mob/living/carbon/human/character, safety = 0)
|
||||
// Sanitizing rather than saving as someone might still be editing when copy_to occurs.
|
||||
player_setup.sanitize_setup()
|
||||
if(be_random_name)
|
||||
real_name = random_name(gender,species)
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ var/global/list/home_system_choices = list(
|
||||
"Sol",
|
||||
"Nyx",
|
||||
"Tau Ceti",
|
||||
"Epsilon Ursae Majoris",
|
||||
"Epsilon Ursae Minoris",
|
||||
"S'randarr"
|
||||
)
|
||||
|
||||
|
||||
@@ -85,6 +85,9 @@
|
||||
player_setup.save_character(S)
|
||||
return 1
|
||||
|
||||
/datum/preferences/proc/sanitize_preferences()
|
||||
player_setup.sanitize_setup()
|
||||
return 1
|
||||
|
||||
#undef SAVEFILE_VERSION_MAX
|
||||
#undef SAVEFILE_VERSION_MIN
|
||||
|
||||
Reference in New Issue
Block a user