mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-23 04:51:32 +01:00
Enforces Lineendings and adds Editorconfig (#7657)
This commit is contained in:
@@ -1,80 +1,80 @@
|
||||
var/global/list/uplink_locations = list("PDA", "Headset", "None")
|
||||
|
||||
/datum/category_item/player_setup_item/antagonism/basic
|
||||
name = "Setup"
|
||||
sort_order = 2
|
||||
|
||||
/datum/category_item/player_setup_item/antagonism/basic/load_character(var/savefile/S)
|
||||
S["uplinklocation"] >> pref.uplinklocation
|
||||
S["exploit_record"] >> pref.exploit_record
|
||||
|
||||
/datum/category_item/player_setup_item/antagonism/basic/save_character(var/savefile/S)
|
||||
S["uplinklocation"] << pref.uplinklocation
|
||||
S["exploit_record"] << pref.exploit_record
|
||||
|
||||
/datum/category_item/player_setup_item/antagonism/basic/gather_load_query()
|
||||
return list(
|
||||
"ss13_characters_flavour" = list(
|
||||
"vars" = list(
|
||||
"records_exploit" = "exploit_record"
|
||||
),
|
||||
"args" = list("char_id")
|
||||
),
|
||||
"ss13_characters" = list(
|
||||
"vars" = list(
|
||||
"uplink_location" = "uplinklocation"
|
||||
),
|
||||
"args" = list("id")
|
||||
)
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/antagonism/basic/gather_load_parameters()
|
||||
return list(
|
||||
"char_id" = pref.current_character,
|
||||
"id" = pref.current_character
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/antagonism/basic/gather_save_query()
|
||||
return list(
|
||||
"ss13_characters_flavour" = list(
|
||||
"records_exploit",
|
||||
"char_id" = 1
|
||||
),
|
||||
"ss13_characters" = list(
|
||||
"uplink_location",
|
||||
"id" = 1,
|
||||
"ckey" = 1
|
||||
)
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/antagonism/basic/gather_save_parameters()
|
||||
return list("records_exploit" = pref.exploit_record, "char_id" = pref.current_character, "uplink_location" = pref.uplinklocation, "id" = pref.current_character, "ckey" = PREF_CLIENT_CKEY)
|
||||
|
||||
/datum/category_item/player_setup_item/antagonism/basic/sanitize_character()
|
||||
pref.uplinklocation = sanitize_inlist(pref.uplinklocation, uplink_locations, initial(pref.uplinklocation))
|
||||
|
||||
/datum/category_item/player_setup_item/antagonism/basic/content(var/mob/user)
|
||||
var/list/dat = list(
|
||||
"<b>Antag Setup:</b><br>",
|
||||
"Uplink Type: <a href='?src=\ref[src];antagtask=1'>[pref.uplinklocation]</a><br>",
|
||||
"Exploitable information:<br>"
|
||||
)
|
||||
if(jobban_isbanned(user, "Records"))
|
||||
dat += "<b>You are banned from using character records.</b><br>"
|
||||
else
|
||||
dat +="<a href='?src=\ref[src];exploitable_record=1'>[TextPreview(pref.exploit_record,40)]</a><br>"
|
||||
|
||||
. = dat.Join()
|
||||
|
||||
/datum/category_item/player_setup_item/antagonism/basic/OnTopic(var/href,var/list/href_list, var/mob/user)
|
||||
if (href_list["antagtask"])
|
||||
pref.uplinklocation = next_in_list(pref.uplinklocation, uplink_locations)
|
||||
return TOPIC_REFRESH
|
||||
|
||||
if(href_list["exploitable_record"])
|
||||
var/exploitmsg = sanitize(input(user,"Set exploitable information about you here.","Exploitable Information", html_decode(pref.exploit_record)) as message|null, MAX_PAPER_MESSAGE_LEN, extra = 0)
|
||||
if(!isnull(exploitmsg) && !jobban_isbanned(user, "Records") && CanUseTopic(user))
|
||||
pref.exploit_record = exploitmsg
|
||||
return TOPIC_REFRESH
|
||||
|
||||
return ..()
|
||||
var/global/list/uplink_locations = list("PDA", "Headset", "None")
|
||||
|
||||
/datum/category_item/player_setup_item/antagonism/basic
|
||||
name = "Setup"
|
||||
sort_order = 2
|
||||
|
||||
/datum/category_item/player_setup_item/antagonism/basic/load_character(var/savefile/S)
|
||||
S["uplinklocation"] >> pref.uplinklocation
|
||||
S["exploit_record"] >> pref.exploit_record
|
||||
|
||||
/datum/category_item/player_setup_item/antagonism/basic/save_character(var/savefile/S)
|
||||
S["uplinklocation"] << pref.uplinklocation
|
||||
S["exploit_record"] << pref.exploit_record
|
||||
|
||||
/datum/category_item/player_setup_item/antagonism/basic/gather_load_query()
|
||||
return list(
|
||||
"ss13_characters_flavour" = list(
|
||||
"vars" = list(
|
||||
"records_exploit" = "exploit_record"
|
||||
),
|
||||
"args" = list("char_id")
|
||||
),
|
||||
"ss13_characters" = list(
|
||||
"vars" = list(
|
||||
"uplink_location" = "uplinklocation"
|
||||
),
|
||||
"args" = list("id")
|
||||
)
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/antagonism/basic/gather_load_parameters()
|
||||
return list(
|
||||
"char_id" = pref.current_character,
|
||||
"id" = pref.current_character
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/antagonism/basic/gather_save_query()
|
||||
return list(
|
||||
"ss13_characters_flavour" = list(
|
||||
"records_exploit",
|
||||
"char_id" = 1
|
||||
),
|
||||
"ss13_characters" = list(
|
||||
"uplink_location",
|
||||
"id" = 1,
|
||||
"ckey" = 1
|
||||
)
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/antagonism/basic/gather_save_parameters()
|
||||
return list("records_exploit" = pref.exploit_record, "char_id" = pref.current_character, "uplink_location" = pref.uplinklocation, "id" = pref.current_character, "ckey" = PREF_CLIENT_CKEY)
|
||||
|
||||
/datum/category_item/player_setup_item/antagonism/basic/sanitize_character()
|
||||
pref.uplinklocation = sanitize_inlist(pref.uplinklocation, uplink_locations, initial(pref.uplinklocation))
|
||||
|
||||
/datum/category_item/player_setup_item/antagonism/basic/content(var/mob/user)
|
||||
var/list/dat = list(
|
||||
"<b>Antag Setup:</b><br>",
|
||||
"Uplink Type: <a href='?src=\ref[src];antagtask=1'>[pref.uplinklocation]</a><br>",
|
||||
"Exploitable information:<br>"
|
||||
)
|
||||
if(jobban_isbanned(user, "Records"))
|
||||
dat += "<b>You are banned from using character records.</b><br>"
|
||||
else
|
||||
dat +="<a href='?src=\ref[src];exploitable_record=1'>[TextPreview(pref.exploit_record,40)]</a><br>"
|
||||
|
||||
. = dat.Join()
|
||||
|
||||
/datum/category_item/player_setup_item/antagonism/basic/OnTopic(var/href,var/list/href_list, var/mob/user)
|
||||
if (href_list["antagtask"])
|
||||
pref.uplinklocation = next_in_list(pref.uplinklocation, uplink_locations)
|
||||
return TOPIC_REFRESH
|
||||
|
||||
if(href_list["exploitable_record"])
|
||||
var/exploitmsg = sanitize(input(user,"Set exploitable information about you here.","Exploitable Information", html_decode(pref.exploit_record)) as message|null, MAX_PAPER_MESSAGE_LEN, extra = 0)
|
||||
if(!isnull(exploitmsg) && !jobban_isbanned(user, "Records") && CanUseTopic(user))
|
||||
pref.exploit_record = exploitmsg
|
||||
return TOPIC_REFRESH
|
||||
|
||||
return ..()
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,126 +1,126 @@
|
||||
/datum/category_item/player_setup_item/general/equipment
|
||||
name = "Equipment"
|
||||
sort_order = 4
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/load_character(var/savefile/S)
|
||||
S["underwear"] >> pref.underwear
|
||||
S["undershirt"] >> pref.undershirt
|
||||
S["socks"] >> pref.socks
|
||||
S["backbag"] >> pref.backbag
|
||||
S["backbag_style"] >> pref.backbag_style
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/save_character(var/savefile/S)
|
||||
S["underwear"] << pref.underwear
|
||||
S["undershirt"] << pref.undershirt
|
||||
S["socks"] << pref.socks
|
||||
S["backbag"] << pref.backbag
|
||||
S["backbag_style"] << pref.backbag_style
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/gather_load_query()
|
||||
return list(
|
||||
"ss13_characters" = list(
|
||||
"vars" = list(
|
||||
"underwear",
|
||||
"undershirt",
|
||||
"socks",
|
||||
"backbag",
|
||||
"backbag_style"
|
||||
),
|
||||
"args" = list("id")
|
||||
)
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/gather_load_parameters()
|
||||
return list("id" = pref.current_character)
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/gather_save_query()
|
||||
return list(
|
||||
"ss13_characters" = list(
|
||||
"underwear",
|
||||
"undershirt",
|
||||
"socks",
|
||||
"backbag",
|
||||
"backbag_style",
|
||||
"id" = 1,
|
||||
"ckey" = 1
|
||||
)
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/gather_save_parameters()
|
||||
return list(
|
||||
"underwear" = pref.underwear,
|
||||
"undershirt" = pref.undershirt,
|
||||
"socks" = pref.socks,
|
||||
"backbag" = pref.backbag,
|
||||
"backbag_style" = pref.backbag_style,
|
||||
"id" = pref.current_character,
|
||||
"ckey" = PREF_CLIENT_CKEY
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/sanitize_character(var/sql_load = 0)
|
||||
if (sql_load)
|
||||
pref.backbag = text2num(pref.backbag)
|
||||
|
||||
pref.backbag = sanitize_integer(pref.backbag, 1, backbaglist.len, initial(pref.backbag))
|
||||
pref.backbag_style = sanitize_integer(pref.backbag_style, 1, backbagstyles.len, initial(pref.backbag_style))
|
||||
|
||||
var/undies = get_undies()
|
||||
var/gender_socks = get_gender_socks()
|
||||
if(!get_key_by_value(undies, pref.underwear))
|
||||
pref.underwear = null
|
||||
if(!get_key_by_value(undershirt_t, pref.undershirt))
|
||||
pref.undershirt = undershirt_t[undershirt_t[1]]
|
||||
if(!get_key_by_value(gender_socks, pref.socks))
|
||||
pref.socks = null
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/content()
|
||||
var/list/dat = list()
|
||||
dat += "<b>Equipment:</b><br>"
|
||||
dat += "Underwear: <a href='?src=\ref[src];change_underwear=1'><b>[get_key_by_value(get_undies(),pref.underwear)]</b></a><br>"
|
||||
dat += "Undershirt: <a href='?src=\ref[src];change_undershirt=1'><b>[get_key_by_value(undershirt_t,pref.undershirt)]</b></a><br>"
|
||||
dat += "Socks: <a href='?src=\ref[src];change_socks=1'><b>[get_key_by_value(get_gender_socks(),pref.socks)]</b></a><br>"
|
||||
dat += "Backpack Type: <a href='?src=\ref[src];change_backpack=1'><b>[backbaglist[pref.backbag]]</b></a><br>"
|
||||
dat += "Backpack Style: <a href='?src=\ref[src];change_backpack_style=1'><b>[backbagstyles[pref.backbag_style]]</b></a><br>"
|
||||
|
||||
. = dat.Join()
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/proc/get_undies()
|
||||
return pref.gender == MALE ? underwear_m : underwear_f
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/proc/get_gender_socks()
|
||||
return pref.gender == MALE ? socks_m : socks_f
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/OnTopic(var/href,var/list/href_list, var/mob/user)
|
||||
if(href_list["change_underwear"])
|
||||
var/underwear_options = get_undies()
|
||||
var/new_underwear = input(user, "Choose your character's underwear:", "Character Preference", get_key_by_value(get_undies(),pref.underwear)) as null|anything in underwear_options
|
||||
if(!isnull(new_underwear) && CanUseTopic(user))
|
||||
pref.underwear = underwear_options[new_underwear]
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["change_undershirt"])
|
||||
var/new_undershirt = input(user, "Choose your character's undershirt:", "Character Preference", get_key_by_value(undershirt_t,pref.undershirt)) as null|anything in undershirt_t
|
||||
if(!isnull(new_undershirt) && CanUseTopic(user))
|
||||
pref.undershirt = undershirt_t[new_undershirt]
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["change_socks"])
|
||||
var/socks_options = get_gender_socks()
|
||||
var/new_socks = input(user, "Choose your character's socks:", "Character Preference", get_key_by_value(get_gender_socks(),pref.socks)) as null|anything in socks_options
|
||||
if(!isnull(new_socks) && CanUseTopic(user))
|
||||
pref.socks = socks_options[new_socks]
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["change_backpack"])
|
||||
var/new_backbag = input(user, "Choose your character's bag type:", "Character Preference", backbaglist[pref.backbag]) as null|anything in backbaglist
|
||||
if(!isnull(new_backbag) && CanUseTopic(user))
|
||||
pref.backbag = backbaglist.Find(new_backbag)
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["change_backpack_style"])
|
||||
var/new_backbag = input(user, "Choose your character's style of bag:", "Character Preference", backbagstyles[pref.backbag_style]) as null|anything in backbagstyles
|
||||
if(!isnull(new_backbag) && CanUseTopic(user))
|
||||
pref.backbag_style = backbagstyles.Find(new_backbag)
|
||||
return TOPIC_REFRESH
|
||||
|
||||
return ..()
|
||||
/datum/category_item/player_setup_item/general/equipment
|
||||
name = "Equipment"
|
||||
sort_order = 4
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/load_character(var/savefile/S)
|
||||
S["underwear"] >> pref.underwear
|
||||
S["undershirt"] >> pref.undershirt
|
||||
S["socks"] >> pref.socks
|
||||
S["backbag"] >> pref.backbag
|
||||
S["backbag_style"] >> pref.backbag_style
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/save_character(var/savefile/S)
|
||||
S["underwear"] << pref.underwear
|
||||
S["undershirt"] << pref.undershirt
|
||||
S["socks"] << pref.socks
|
||||
S["backbag"] << pref.backbag
|
||||
S["backbag_style"] << pref.backbag_style
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/gather_load_query()
|
||||
return list(
|
||||
"ss13_characters" = list(
|
||||
"vars" = list(
|
||||
"underwear",
|
||||
"undershirt",
|
||||
"socks",
|
||||
"backbag",
|
||||
"backbag_style"
|
||||
),
|
||||
"args" = list("id")
|
||||
)
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/gather_load_parameters()
|
||||
return list("id" = pref.current_character)
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/gather_save_query()
|
||||
return list(
|
||||
"ss13_characters" = list(
|
||||
"underwear",
|
||||
"undershirt",
|
||||
"socks",
|
||||
"backbag",
|
||||
"backbag_style",
|
||||
"id" = 1,
|
||||
"ckey" = 1
|
||||
)
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/gather_save_parameters()
|
||||
return list(
|
||||
"underwear" = pref.underwear,
|
||||
"undershirt" = pref.undershirt,
|
||||
"socks" = pref.socks,
|
||||
"backbag" = pref.backbag,
|
||||
"backbag_style" = pref.backbag_style,
|
||||
"id" = pref.current_character,
|
||||
"ckey" = PREF_CLIENT_CKEY
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/sanitize_character(var/sql_load = 0)
|
||||
if (sql_load)
|
||||
pref.backbag = text2num(pref.backbag)
|
||||
|
||||
pref.backbag = sanitize_integer(pref.backbag, 1, backbaglist.len, initial(pref.backbag))
|
||||
pref.backbag_style = sanitize_integer(pref.backbag_style, 1, backbagstyles.len, initial(pref.backbag_style))
|
||||
|
||||
var/undies = get_undies()
|
||||
var/gender_socks = get_gender_socks()
|
||||
if(!get_key_by_value(undies, pref.underwear))
|
||||
pref.underwear = null
|
||||
if(!get_key_by_value(undershirt_t, pref.undershirt))
|
||||
pref.undershirt = undershirt_t[undershirt_t[1]]
|
||||
if(!get_key_by_value(gender_socks, pref.socks))
|
||||
pref.socks = null
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/content()
|
||||
var/list/dat = list()
|
||||
dat += "<b>Equipment:</b><br>"
|
||||
dat += "Underwear: <a href='?src=\ref[src];change_underwear=1'><b>[get_key_by_value(get_undies(),pref.underwear)]</b></a><br>"
|
||||
dat += "Undershirt: <a href='?src=\ref[src];change_undershirt=1'><b>[get_key_by_value(undershirt_t,pref.undershirt)]</b></a><br>"
|
||||
dat += "Socks: <a href='?src=\ref[src];change_socks=1'><b>[get_key_by_value(get_gender_socks(),pref.socks)]</b></a><br>"
|
||||
dat += "Backpack Type: <a href='?src=\ref[src];change_backpack=1'><b>[backbaglist[pref.backbag]]</b></a><br>"
|
||||
dat += "Backpack Style: <a href='?src=\ref[src];change_backpack_style=1'><b>[backbagstyles[pref.backbag_style]]</b></a><br>"
|
||||
|
||||
. = dat.Join()
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/proc/get_undies()
|
||||
return pref.gender == MALE ? underwear_m : underwear_f
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/proc/get_gender_socks()
|
||||
return pref.gender == MALE ? socks_m : socks_f
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/OnTopic(var/href,var/list/href_list, var/mob/user)
|
||||
if(href_list["change_underwear"])
|
||||
var/underwear_options = get_undies()
|
||||
var/new_underwear = input(user, "Choose your character's underwear:", "Character Preference", get_key_by_value(get_undies(),pref.underwear)) as null|anything in underwear_options
|
||||
if(!isnull(new_underwear) && CanUseTopic(user))
|
||||
pref.underwear = underwear_options[new_underwear]
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["change_undershirt"])
|
||||
var/new_undershirt = input(user, "Choose your character's undershirt:", "Character Preference", get_key_by_value(undershirt_t,pref.undershirt)) as null|anything in undershirt_t
|
||||
if(!isnull(new_undershirt) && CanUseTopic(user))
|
||||
pref.undershirt = undershirt_t[new_undershirt]
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["change_socks"])
|
||||
var/socks_options = get_gender_socks()
|
||||
var/new_socks = input(user, "Choose your character's socks:", "Character Preference", get_key_by_value(get_gender_socks(),pref.socks)) as null|anything in socks_options
|
||||
if(!isnull(new_socks) && CanUseTopic(user))
|
||||
pref.socks = socks_options[new_socks]
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["change_backpack"])
|
||||
var/new_backbag = input(user, "Choose your character's bag type:", "Character Preference", backbaglist[pref.backbag]) as null|anything in backbaglist
|
||||
if(!isnull(new_backbag) && CanUseTopic(user))
|
||||
pref.backbag = backbaglist.Find(new_backbag)
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["change_backpack_style"])
|
||||
var/new_backbag = input(user, "Choose your character's style of bag:", "Character Preference", backbagstyles[pref.backbag_style]) as null|anything in backbagstyles
|
||||
if(!isnull(new_backbag) && CanUseTopic(user))
|
||||
pref.backbag_style = backbagstyles.Find(new_backbag)
|
||||
return TOPIC_REFRESH
|
||||
|
||||
return ..()
|
||||
|
||||
@@ -1,183 +1,183 @@
|
||||
/datum/category_item/player_setup_item/general/background
|
||||
name = "Background"
|
||||
sort_order = 5
|
||||
|
||||
/datum/category_item/player_setup_item/general/background/load_character(var/savefile/S)
|
||||
S["med_record"] >> pref.med_record
|
||||
S["sec_record"] >> pref.sec_record
|
||||
S["gen_record"] >> pref.gen_record
|
||||
S["citizenship"] >> pref.citizenship
|
||||
S["religion"] >> pref.religion
|
||||
S["nanotrasen_relation"] >> pref.nanotrasen_relation
|
||||
|
||||
/datum/category_item/player_setup_item/general/background/save_character(var/savefile/S)
|
||||
S["med_record"] << pref.med_record
|
||||
S["sec_record"] << pref.sec_record
|
||||
S["gen_record"] << pref.gen_record
|
||||
S["citizenship"] << pref.citizenship
|
||||
S["religion"] << pref.religion
|
||||
S["nanotrasen_relation"] << pref.nanotrasen_relation
|
||||
|
||||
/datum/category_item/player_setup_item/general/background/gather_load_query()
|
||||
return list(
|
||||
"ss13_characters_flavour" = list(
|
||||
"vars" = list(
|
||||
"records_employment" = "gen_record",
|
||||
"records_medical" = "med_record",
|
||||
"records_security" = "sec_record",
|
||||
"records_ccia" = "ccia_record"
|
||||
),
|
||||
"args" = list("char_id")
|
||||
),
|
||||
"ss13_characters" = list(
|
||||
"vars" = list(
|
||||
"nt_relation" = "nanotrasen_relation",
|
||||
"citizenship",
|
||||
"religion"
|
||||
),
|
||||
"args" = list("id")
|
||||
)
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/general/background/gather_load_parameters()
|
||||
return list(
|
||||
"id" = pref.current_character,
|
||||
"char_id" = pref.current_character
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/general/background/gather_save_query()
|
||||
return list(
|
||||
"ss13_characters_flavour" = list(
|
||||
"records_employment",
|
||||
"records_medical",
|
||||
"records_security",
|
||||
"char_id" = 1
|
||||
),
|
||||
"ss13_characters" = list(
|
||||
"nt_relation",
|
||||
"citizenship",
|
||||
"religion","id" = 1,
|
||||
"ckey" = 1
|
||||
)
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/general/background/gather_save_parameters()
|
||||
return list(
|
||||
"records_employment" = pref.gen_record,
|
||||
"records_medical" = pref.med_record,
|
||||
"records_security" = pref.sec_record,
|
||||
"char_id" = pref.current_character,
|
||||
"nt_relation" = pref.nanotrasen_relation,
|
||||
"citizenship" = pref.citizenship,
|
||||
"religion" = pref.religion,
|
||||
"id" = pref.current_character,
|
||||
"ckey" = PREF_CLIENT_CKEY
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/general/background/sanitize_character()
|
||||
var/datum/species/S = all_species[pref.species]
|
||||
if(!pref.citizenship)
|
||||
pref.citizenship = S.default_citizenship
|
||||
if(!pref.religion)
|
||||
pref.religion = RELIGION_NONE
|
||||
|
||||
if(!(pref.citizenship in S.allowed_citizenships))
|
||||
pref.citizenship = S.default_citizenship
|
||||
|
||||
if(!(pref.religion in S.allowed_religions))
|
||||
pref.religion = RELIGION_NONE
|
||||
|
||||
pref.nanotrasen_relation = sanitize_inlist(pref.nanotrasen_relation, COMPANY_ALIGNMENTS, initial(pref.nanotrasen_relation))
|
||||
|
||||
/datum/category_item/player_setup_item/general/background/content(var/mob/user)
|
||||
var/list/dat = list(
|
||||
"<b>Background Information</b><br>",
|
||||
"[current_map.company_name] Relation: <a href='?src=\ref[src];nt_relation=1'>[pref.nanotrasen_relation]</a><br/>",
|
||||
"Citizenship: <a href='?src=\ref[src];citizenship=1'>[pref.citizenship]</a><br/>",
|
||||
"Religion: <a href='?src=\ref[src];religion=1'>[pref.religion]</a><br/>",
|
||||
"<br/><b>Records</b>:<br/>"
|
||||
)
|
||||
|
||||
if(jobban_isbanned(user, "Records"))
|
||||
dat += "<span class='danger'>You are banned from using character records.</span><br>"
|
||||
else
|
||||
dat += "Medical Records:<br>"
|
||||
dat += "<a href='?src=\ref[src];set_medical_records=1'>[TextPreview(pref.med_record,40)]</a><br><br>"
|
||||
dat += "Employment Records:<br>"
|
||||
dat += "<a href='?src=\ref[src];set_general_records=1'>[TextPreview(pref.gen_record,40)]</a><br><br>"
|
||||
dat += "Security Records:<br>"
|
||||
dat += "<a href='?src=\ref[src];set_security_records=1'>[TextPreview(pref.sec_record,40)]</a><br>"
|
||||
|
||||
. = dat.Join()
|
||||
|
||||
/datum/category_item/player_setup_item/general/background/OnTopic(var/href,var/list/href_list, var/mob/user)
|
||||
var/datum/species/S = all_species[pref.species]
|
||||
if(href_list["nt_relation"])
|
||||
var/new_relation = input(user, "Choose your relation to NT. Note that this represents what others can find out about your character by researching your background, not what your character actually thinks.", "Character Preference", pref.nanotrasen_relation) as null|anything in COMPANY_ALIGNMENTS
|
||||
if(new_relation && CanUseTopic(user))
|
||||
pref.nanotrasen_relation = new_relation
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["citizenship"])
|
||||
var/choice = input(user, "Please choose your current citizenship.", "Character Preference", pref.citizenship) as null|anything in S.allowed_citizenships
|
||||
if(!choice || !CanUseTopic(user))
|
||||
return TOPIC_NOACTION
|
||||
show_citizenship_menu(user, choice)
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["set_citizenship"])
|
||||
pref.citizenship = (html_decode(href_list["set_citizenship"]))
|
||||
sanitize_character()
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["religion"])
|
||||
var/choice = input(user, "Please choose a religion.", "Character Preference", pref.religion) as null|anything in S.allowed_religions
|
||||
if(!choice || !CanUseTopic(user))
|
||||
return TOPIC_NOACTION
|
||||
show_religion_menu(user, choice)
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["set_religion"])
|
||||
pref.religion = (html_decode(href_list["set_religion"]))
|
||||
sanitize_character()
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["set_medical_records"])
|
||||
var/new_medical = sanitize(input(user,"Enter medical information here.","Character Preference", html_decode(pref.med_record)) as message|null, MAX_PAPER_MESSAGE_LEN, extra = 0)
|
||||
if(!isnull(new_medical) && !jobban_isbanned(user, "Records") && CanUseTopic(user))
|
||||
pref.med_record = new_medical
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["set_general_records"])
|
||||
var/new_general = sanitize(input(user,"Enter employment information here.","Character Preference", html_decode(pref.gen_record)) as message|null, MAX_PAPER_MESSAGE_LEN, extra = 0)
|
||||
if(!isnull(new_general) && !jobban_isbanned(user, "Records") && CanUseTopic(user))
|
||||
pref.gen_record = new_general
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["set_security_records"])
|
||||
var/sec_medical = sanitize(input(user,"Enter security information here.","Character Preference", html_decode(pref.sec_record)) as message|null, MAX_PAPER_MESSAGE_LEN, extra = 0)
|
||||
if(!isnull(sec_medical) && !jobban_isbanned(user, "Records") && CanUseTopic(user))
|
||||
pref.sec_record = sec_medical
|
||||
return TOPIC_REFRESH
|
||||
|
||||
return ..()
|
||||
|
||||
/datum/category_item/player_setup_item/general/background/proc/show_citizenship_menu(mob/user, selected_citizenship)
|
||||
var/datum/citizenship/citizenship = SSrecords.citizenships[selected_citizenship]
|
||||
|
||||
if(citizenship)
|
||||
|
||||
var/list/dat = list("<center><b>[citizenship.name]</center></b>")
|
||||
dat += "<br><br><center><a href='?src=\ref[user.client];JSlink=wiki;wiki_page=[replacetext(citizenship.name, " ", "_")]'>Read the Wiki</a></center>"
|
||||
dat += "<br>[citizenship.description]"
|
||||
dat += "<br><center>\[<a href='?src=\ref[src];set_citizenship=[html_encode(citizenship.name)]'>Select</a>\]</center>"
|
||||
show_browser(user, dat.Join(), "window=citizenshippreview;size=400x500")
|
||||
|
||||
/datum/category_item/player_setup_item/general/background/proc/show_religion_menu(mob/user, selected_religion)
|
||||
var/datum/religion/religion = SSrecords.religions[selected_religion]
|
||||
|
||||
if(religion)
|
||||
var/list/dat = list("<center><b>[religion.name]</center></b>")
|
||||
dat += "<br>[religion.description]"
|
||||
dat += "<br><center>\[<a href='?src=\ref[src];set_religion=[html_encode(religion.name)]'>Select</a>\]</center>"
|
||||
/datum/category_item/player_setup_item/general/background
|
||||
name = "Background"
|
||||
sort_order = 5
|
||||
|
||||
/datum/category_item/player_setup_item/general/background/load_character(var/savefile/S)
|
||||
S["med_record"] >> pref.med_record
|
||||
S["sec_record"] >> pref.sec_record
|
||||
S["gen_record"] >> pref.gen_record
|
||||
S["citizenship"] >> pref.citizenship
|
||||
S["religion"] >> pref.religion
|
||||
S["nanotrasen_relation"] >> pref.nanotrasen_relation
|
||||
|
||||
/datum/category_item/player_setup_item/general/background/save_character(var/savefile/S)
|
||||
S["med_record"] << pref.med_record
|
||||
S["sec_record"] << pref.sec_record
|
||||
S["gen_record"] << pref.gen_record
|
||||
S["citizenship"] << pref.citizenship
|
||||
S["religion"] << pref.religion
|
||||
S["nanotrasen_relation"] << pref.nanotrasen_relation
|
||||
|
||||
/datum/category_item/player_setup_item/general/background/gather_load_query()
|
||||
return list(
|
||||
"ss13_characters_flavour" = list(
|
||||
"vars" = list(
|
||||
"records_employment" = "gen_record",
|
||||
"records_medical" = "med_record",
|
||||
"records_security" = "sec_record",
|
||||
"records_ccia" = "ccia_record"
|
||||
),
|
||||
"args" = list("char_id")
|
||||
),
|
||||
"ss13_characters" = list(
|
||||
"vars" = list(
|
||||
"nt_relation" = "nanotrasen_relation",
|
||||
"citizenship",
|
||||
"religion"
|
||||
),
|
||||
"args" = list("id")
|
||||
)
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/general/background/gather_load_parameters()
|
||||
return list(
|
||||
"id" = pref.current_character,
|
||||
"char_id" = pref.current_character
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/general/background/gather_save_query()
|
||||
return list(
|
||||
"ss13_characters_flavour" = list(
|
||||
"records_employment",
|
||||
"records_medical",
|
||||
"records_security",
|
||||
"char_id" = 1
|
||||
),
|
||||
"ss13_characters" = list(
|
||||
"nt_relation",
|
||||
"citizenship",
|
||||
"religion","id" = 1,
|
||||
"ckey" = 1
|
||||
)
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/general/background/gather_save_parameters()
|
||||
return list(
|
||||
"records_employment" = pref.gen_record,
|
||||
"records_medical" = pref.med_record,
|
||||
"records_security" = pref.sec_record,
|
||||
"char_id" = pref.current_character,
|
||||
"nt_relation" = pref.nanotrasen_relation,
|
||||
"citizenship" = pref.citizenship,
|
||||
"religion" = pref.religion,
|
||||
"id" = pref.current_character,
|
||||
"ckey" = PREF_CLIENT_CKEY
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/general/background/sanitize_character()
|
||||
var/datum/species/S = all_species[pref.species]
|
||||
if(!pref.citizenship)
|
||||
pref.citizenship = S.default_citizenship
|
||||
if(!pref.religion)
|
||||
pref.religion = RELIGION_NONE
|
||||
|
||||
if(!(pref.citizenship in S.allowed_citizenships))
|
||||
pref.citizenship = S.default_citizenship
|
||||
|
||||
if(!(pref.religion in S.allowed_religions))
|
||||
pref.religion = RELIGION_NONE
|
||||
|
||||
pref.nanotrasen_relation = sanitize_inlist(pref.nanotrasen_relation, COMPANY_ALIGNMENTS, initial(pref.nanotrasen_relation))
|
||||
|
||||
/datum/category_item/player_setup_item/general/background/content(var/mob/user)
|
||||
var/list/dat = list(
|
||||
"<b>Background Information</b><br>",
|
||||
"[current_map.company_name] Relation: <a href='?src=\ref[src];nt_relation=1'>[pref.nanotrasen_relation]</a><br/>",
|
||||
"Citizenship: <a href='?src=\ref[src];citizenship=1'>[pref.citizenship]</a><br/>",
|
||||
"Religion: <a href='?src=\ref[src];religion=1'>[pref.religion]</a><br/>",
|
||||
"<br/><b>Records</b>:<br/>"
|
||||
)
|
||||
|
||||
if(jobban_isbanned(user, "Records"))
|
||||
dat += "<span class='danger'>You are banned from using character records.</span><br>"
|
||||
else
|
||||
dat += "Medical Records:<br>"
|
||||
dat += "<a href='?src=\ref[src];set_medical_records=1'>[TextPreview(pref.med_record,40)]</a><br><br>"
|
||||
dat += "Employment Records:<br>"
|
||||
dat += "<a href='?src=\ref[src];set_general_records=1'>[TextPreview(pref.gen_record,40)]</a><br><br>"
|
||||
dat += "Security Records:<br>"
|
||||
dat += "<a href='?src=\ref[src];set_security_records=1'>[TextPreview(pref.sec_record,40)]</a><br>"
|
||||
|
||||
. = dat.Join()
|
||||
|
||||
/datum/category_item/player_setup_item/general/background/OnTopic(var/href,var/list/href_list, var/mob/user)
|
||||
var/datum/species/S = all_species[pref.species]
|
||||
if(href_list["nt_relation"])
|
||||
var/new_relation = input(user, "Choose your relation to NT. Note that this represents what others can find out about your character by researching your background, not what your character actually thinks.", "Character Preference", pref.nanotrasen_relation) as null|anything in COMPANY_ALIGNMENTS
|
||||
if(new_relation && CanUseTopic(user))
|
||||
pref.nanotrasen_relation = new_relation
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["citizenship"])
|
||||
var/choice = input(user, "Please choose your current citizenship.", "Character Preference", pref.citizenship) as null|anything in S.allowed_citizenships
|
||||
if(!choice || !CanUseTopic(user))
|
||||
return TOPIC_NOACTION
|
||||
show_citizenship_menu(user, choice)
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["set_citizenship"])
|
||||
pref.citizenship = (html_decode(href_list["set_citizenship"]))
|
||||
sanitize_character()
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["religion"])
|
||||
var/choice = input(user, "Please choose a religion.", "Character Preference", pref.religion) as null|anything in S.allowed_religions
|
||||
if(!choice || !CanUseTopic(user))
|
||||
return TOPIC_NOACTION
|
||||
show_religion_menu(user, choice)
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["set_religion"])
|
||||
pref.religion = (html_decode(href_list["set_religion"]))
|
||||
sanitize_character()
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["set_medical_records"])
|
||||
var/new_medical = sanitize(input(user,"Enter medical information here.","Character Preference", html_decode(pref.med_record)) as message|null, MAX_PAPER_MESSAGE_LEN, extra = 0)
|
||||
if(!isnull(new_medical) && !jobban_isbanned(user, "Records") && CanUseTopic(user))
|
||||
pref.med_record = new_medical
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["set_general_records"])
|
||||
var/new_general = sanitize(input(user,"Enter employment information here.","Character Preference", html_decode(pref.gen_record)) as message|null, MAX_PAPER_MESSAGE_LEN, extra = 0)
|
||||
if(!isnull(new_general) && !jobban_isbanned(user, "Records") && CanUseTopic(user))
|
||||
pref.gen_record = new_general
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["set_security_records"])
|
||||
var/sec_medical = sanitize(input(user,"Enter security information here.","Character Preference", html_decode(pref.sec_record)) as message|null, MAX_PAPER_MESSAGE_LEN, extra = 0)
|
||||
if(!isnull(sec_medical) && !jobban_isbanned(user, "Records") && CanUseTopic(user))
|
||||
pref.sec_record = sec_medical
|
||||
return TOPIC_REFRESH
|
||||
|
||||
return ..()
|
||||
|
||||
/datum/category_item/player_setup_item/general/background/proc/show_citizenship_menu(mob/user, selected_citizenship)
|
||||
var/datum/citizenship/citizenship = SSrecords.citizenships[selected_citizenship]
|
||||
|
||||
if(citizenship)
|
||||
|
||||
var/list/dat = list("<center><b>[citizenship.name]</center></b>")
|
||||
dat += "<br><br><center><a href='?src=\ref[user.client];JSlink=wiki;wiki_page=[replacetext(citizenship.name, " ", "_")]'>Read the Wiki</a></center>"
|
||||
dat += "<br>[citizenship.description]"
|
||||
dat += "<br><center>\[<a href='?src=\ref[src];set_citizenship=[html_encode(citizenship.name)]'>Select</a>\]</center>"
|
||||
show_browser(user, dat.Join(), "window=citizenshippreview;size=400x500")
|
||||
|
||||
/datum/category_item/player_setup_item/general/background/proc/show_religion_menu(mob/user, selected_religion)
|
||||
var/datum/religion/religion = SSrecords.religions[selected_religion]
|
||||
|
||||
if(religion)
|
||||
var/list/dat = list("<center><b>[religion.name]</center></b>")
|
||||
dat += "<br>[religion.description]"
|
||||
dat += "<br><center>\[<a href='?src=\ref[src];set_religion=[html_encode(religion.name)]'>Select</a>\]</center>"
|
||||
show_browser(user, dat.Join(), "window=religionpreview;size=400x500")
|
||||
@@ -1,265 +1,265 @@
|
||||
/datum/category_item/player_setup_item/general/flavor
|
||||
name = "Flavor"
|
||||
sort_order = 6
|
||||
|
||||
/datum/category_item/player_setup_item/general/flavor/load_character(var/savefile/S)
|
||||
S["flavor_texts_general"] >> pref.flavor_texts["general"]
|
||||
S["flavor_texts_head"] >> pref.flavor_texts[BP_HEAD]
|
||||
S["flavor_texts_face"] >> pref.flavor_texts["face"]
|
||||
S["flavor_texts_eyes"] >> pref.flavor_texts[BP_EYES]
|
||||
S["flavor_texts_torso"] >> pref.flavor_texts["torso"]
|
||||
S["flavor_texts_arms"] >> pref.flavor_texts["arms"]
|
||||
S["flavor_texts_hands"] >> pref.flavor_texts["hands"]
|
||||
S["flavor_texts_legs"] >> pref.flavor_texts["legs"]
|
||||
S["flavor_texts_feet"] >> pref.flavor_texts["feet"]
|
||||
|
||||
//Flavour text for robots.
|
||||
S["flavour_texts_robot_Default"] >> pref.flavour_texts_robot["Default"]
|
||||
for(var/module in robot_module_types)
|
||||
S["flavour_texts_robot_[module]"] >> pref.flavour_texts_robot[module]
|
||||
|
||||
S["signature"] >> pref.signature
|
||||
S["signfont"] >> pref.signfont
|
||||
|
||||
/datum/category_item/player_setup_item/general/flavor/save_character(var/savefile/S)
|
||||
S["flavor_texts_general"] << pref.flavor_texts["general"]
|
||||
S["flavor_texts_head"] << pref.flavor_texts[BP_HEAD]
|
||||
S["flavor_texts_face"] << pref.flavor_texts["face"]
|
||||
S["flavor_texts_eyes"] << pref.flavor_texts[BP_EYES]
|
||||
S["flavor_texts_torso"] << pref.flavor_texts["torso"]
|
||||
S["flavor_texts_arms"] << pref.flavor_texts["arms"]
|
||||
S["flavor_texts_hands"] << pref.flavor_texts["hands"]
|
||||
S["flavor_texts_legs"] << pref.flavor_texts["legs"]
|
||||
S["flavor_texts_feet"] << pref.flavor_texts["feet"]
|
||||
|
||||
S["flavour_texts_robot_Default"] << pref.flavour_texts_robot["Default"]
|
||||
for(var/module in robot_module_types)
|
||||
S["flavour_texts_robot_[module]"] << pref.flavour_texts_robot[module]
|
||||
|
||||
S["signature"] << pref.signature
|
||||
S["signfont"] << pref.signfont
|
||||
|
||||
/datum/category_item/player_setup_item/general/flavor/gather_load_query()
|
||||
var/list/var_list = list(
|
||||
"flavour_general" = "flavor_texts/general",
|
||||
"flavour_head" = "flavor_texts/head",
|
||||
"flavour_face" = "flavor_texts/face",
|
||||
"flavour_eyes" = "flavor_texts/eyes",
|
||||
"flavour_torso" = "flavor_texts/torso",
|
||||
"flavour_arms" = "flavor_texts/arms",
|
||||
"flavour_hands" = "flavor_texts/hands",
|
||||
"flavour_legs" = "flavor_texts/legs",
|
||||
"flavour_feet" = "flavor_texts/feet",
|
||||
"robot_default" = "flavour_texts_robot/Default",
|
||||
"signature" = "signature",
|
||||
"signature_font" = "signfont"
|
||||
)
|
||||
|
||||
for (var/module in robot_module_types)
|
||||
var_list["robot_[lowertext(module)]"] = "flavour_texts_robot/[module]"
|
||||
|
||||
return list(
|
||||
"ss13_characters_flavour" = list(
|
||||
"vars" = var_list,
|
||||
"args" = list("char_id")
|
||||
)
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/general/flavor/gather_load_parameters()
|
||||
return list("char_id" = pref.current_character)
|
||||
|
||||
/datum/category_item/player_setup_item/general/flavor/gather_save_query()
|
||||
var/list/var_list = list(
|
||||
"flavour_general",
|
||||
"flavour_head",
|
||||
"flavour_face",
|
||||
"flavour_eyes",
|
||||
"flavour_torso",
|
||||
"flavour_arms",
|
||||
"flavour_hands",
|
||||
"flavour_legs",
|
||||
"flavour_feet",
|
||||
"robot_default",
|
||||
"signature",
|
||||
"signature_font",
|
||||
"char_id" = 1
|
||||
)
|
||||
|
||||
for (var/module in robot_module_types)
|
||||
var_list += "robot_[lowertext(module)]"
|
||||
|
||||
return list("ss13_characters_flavour" = var_list)
|
||||
|
||||
/datum/category_item/player_setup_item/general/flavor/gather_save_parameters()
|
||||
var/list/var_list = list(
|
||||
"char_id" = pref.current_character,
|
||||
"flavour_general" = pref.flavor_texts["general"],
|
||||
"flavour_head" = pref.flavor_texts[BP_HEAD],
|
||||
"flavour_face" = pref.flavor_texts["face"],
|
||||
"flavour_eyes" = pref.flavor_texts[BP_EYES],
|
||||
"flavour_torso" = pref.flavor_texts["torso"],
|
||||
"flavour_arms" = pref.flavor_texts["arms"],
|
||||
"flavour_hands" = pref.flavor_texts["hands"],
|
||||
"flavour_legs" = pref.flavor_texts["legs"],
|
||||
"flavour_feet" = pref.flavor_texts["feet"],
|
||||
"robot_default" = pref.flavour_texts_robot["Default"],
|
||||
"signature" = pref.signature,
|
||||
"signature_font" = pref.signfont
|
||||
)
|
||||
|
||||
for (var/module in robot_module_types)
|
||||
var_list["robot_[lowertext(module)]"] += pref.flavour_texts_robot[module]
|
||||
|
||||
return var_list
|
||||
|
||||
/datum/category_item/player_setup_item/general/flavor/sanitize_character(var/sql_load = 0)
|
||||
if (!pref.signature)
|
||||
pref.signature = "<i>[pref.real_name]</i>"
|
||||
if (!pref.signfont)
|
||||
pref.signfont = "Verdana"
|
||||
|
||||
/datum/category_item/player_setup_item/general/flavor/content(var/mob/user)
|
||||
var/list/dat = list(
|
||||
"<b>Flavor:</b><br>",
|
||||
"<a href='?src=\ref[src];flavor_text=open'>Set Flavor Text</a><br/>",
|
||||
"<a href='?src=\ref[src];flavour_text_robot=open'>Set Robot Flavor Text</a><br/>",
|
||||
"<br>",
|
||||
"Signature: <font face='[pref.signfont ? pref.signfont : "Verdana"]'>[pref.signature]</font><br/>",
|
||||
"<a href='?src=\ref[src];edit_signature=text'>Edit Text</a> | ",
|
||||
"<a href='?src=\ref[src];edit_signature=font'>Edit Font</a> | ",
|
||||
"<a href='?src=\ref[src];edit_signature=help'>Help</a> | ",
|
||||
"<a href='?src=\ref[src];edit_signature=reset'>Reset</a><br/>"
|
||||
)
|
||||
. = dat.Join()
|
||||
|
||||
/datum/category_item/player_setup_item/general/flavor/OnTopic(var/href,var/list/href_list, var/mob/user)
|
||||
if(href_list["flavor_text"])
|
||||
switch(href_list["flavor_text"])
|
||||
if("open")
|
||||
if("general")
|
||||
var/msg = sanitize(input(usr,"Give a general description of your character. This will be shown regardless of clothing, and may include OOC notes and preferences.","Flavor Text",html_decode(pref.flavor_texts[href_list["flavor_text"]])) as message, extra = 0)
|
||||
if(CanUseTopic(user))
|
||||
pref.flavor_texts[href_list["flavor_text"]] = msg
|
||||
else
|
||||
var/msg = sanitize(input(usr,"Set the flavor text for your [href_list["flavor_text"]].","Flavor Text",html_decode(pref.flavor_texts[href_list["flavor_text"]])) as message, extra = 0)
|
||||
if(CanUseTopic(user))
|
||||
pref.flavor_texts[href_list["flavor_text"]] = msg
|
||||
SetFlavorText(user)
|
||||
return TOPIC_HANDLED
|
||||
|
||||
else if(href_list["flavour_text_robot"])
|
||||
switch(href_list["flavour_text_robot"])
|
||||
if("open")
|
||||
if("Default")
|
||||
var/msg = sanitize(input(usr,"Set the default flavour text for your robot. It will be used for any module without individual setting.","Flavour Text",html_decode(pref.flavour_texts_robot["Default"])) as message, extra = 0)
|
||||
if(CanUseTopic(user))
|
||||
pref.flavour_texts_robot[href_list["flavour_text_robot"]] = msg
|
||||
else
|
||||
var/msg = sanitize(input(usr,"Set the flavour text for your robot with [href_list["flavour_text_robot"]] module. If you leave this empty, default flavour text will be used for this module.","Flavour Text",html_decode(pref.flavour_texts_robot[href_list["flavour_text_robot"]])) as message, extra = 0)
|
||||
if(CanUseTopic(user))
|
||||
pref.flavour_texts_robot[href_list["flavour_text_robot"]] = msg
|
||||
SetFlavourTextRobot(user)
|
||||
return TOPIC_HANDLED
|
||||
|
||||
else if (href_list["edit_signature"])
|
||||
switch (href_list["edit_signature"])
|
||||
if ("text")
|
||||
var/new_sign = input(usr, "Please input the new character signature.", "New signature", html2pencode(pref.signature)) as null|text
|
||||
if (!new_sign)
|
||||
to_chat(usr, span("notice", "Cancelled."))
|
||||
if (pref.signature)
|
||||
return TOPIC_NOACTION
|
||||
else
|
||||
pref.signature = "<i>[pref.real_name]</i>"
|
||||
return TOPIC_REFRESH
|
||||
new_sign = sanitize(new_sign, 100)
|
||||
new_sign = pencode2html(new_sign, 1)
|
||||
pref.signature = new_sign
|
||||
|
||||
return TOPIC_REFRESH
|
||||
if ("font")
|
||||
var/new_font = input(usr, "Please select the font to use.", "New font") as null|anything in list("Verdana", "Times New Roman", "Courier New")
|
||||
if (!new_font)
|
||||
to_chat(usr, span("notice", "Cancelled."))
|
||||
if (pref.signfont)
|
||||
return TOPIC_NOACTION
|
||||
else
|
||||
pref.signfont = "Verdana"
|
||||
return TOPIC_REFRESH
|
||||
pref.signfont = new_font
|
||||
|
||||
return TOPIC_REFRESH
|
||||
if ("help")
|
||||
var/html = ""
|
||||
html += "A character's signature can be augmented with the following tags:<br>"
|
||||
html += "<ul><li><i>Italics</i> - \[i\]text\[/i\]</li>"
|
||||
html += "<li><b>Bold</b> - \[b\]text\[/b\]</li>"
|
||||
html += "<li><u>Underline</u> - \[u\]text\[/u\]</li>"
|
||||
html += "<li><font size='4'>Large text</font> - \[large\]text\[/large\]</li>"
|
||||
html += "<li><font size='1'>Small text</font> - \[small\]text\[/small\]</li></ul>"
|
||||
html += "<br><br>Beyond that, a maximum of 100 symbols are allowed for the signature text."
|
||||
html += " Note that this includes mark-up symbols."
|
||||
|
||||
show_browser(usr, html, "window=signaturehelp;size=350x300")
|
||||
return TOPIC_HANDLED
|
||||
if ("reset")
|
||||
to_chat(usr, span("notice", "Signature reset."))
|
||||
pref.signfont = "Verdana"
|
||||
pref.signature = "<i>[pref.real_name]</i>"
|
||||
return TOPIC_REFRESH
|
||||
|
||||
return ..()
|
||||
|
||||
/datum/category_item/player_setup_item/general/flavor/proc/SetFlavorText(mob/user)
|
||||
var/HTML = "<body>"
|
||||
HTML += "<tt><center>"
|
||||
HTML += "<b>Set Flavour Text</b> <hr />"
|
||||
HTML += "<br></center>"
|
||||
HTML += "<a href='?src=\ref[src];flavor_text=general'>General:</a> "
|
||||
HTML += TextPreview(pref.flavor_texts["general"])
|
||||
HTML += "<br>"
|
||||
HTML += "<a href='?src=\ref[src];flavor_text=head'>Head:</a> "
|
||||
HTML += TextPreview(pref.flavor_texts[BP_HEAD])
|
||||
HTML += "<br>"
|
||||
HTML += "<a href='?src=\ref[src];flavor_text=face'>Face:</a> "
|
||||
HTML += TextPreview(pref.flavor_texts["face"])
|
||||
HTML += "<br>"
|
||||
HTML += "<a href='?src=\ref[src];flavor_text=eyes'>Eyes:</a> "
|
||||
HTML += TextPreview(pref.flavor_texts[BP_EYES])
|
||||
HTML += "<br>"
|
||||
HTML += "<a href='?src=\ref[src];flavor_text=torso'>Body:</a> "
|
||||
HTML += TextPreview(pref.flavor_texts["torso"])
|
||||
HTML += "<br>"
|
||||
HTML += "<a href='?src=\ref[src];flavor_text=arms'>Arms:</a> "
|
||||
HTML += TextPreview(pref.flavor_texts["arms"])
|
||||
HTML += "<br>"
|
||||
HTML += "<a href='?src=\ref[src];flavor_text=hands'>Hands:</a> "
|
||||
HTML += TextPreview(pref.flavor_texts["hands"])
|
||||
HTML += "<br>"
|
||||
HTML += "<a href='?src=\ref[src];flavor_text=legs'>Legs:</a> "
|
||||
HTML += TextPreview(pref.flavor_texts["legs"])
|
||||
HTML += "<br>"
|
||||
HTML += "<a href='?src=\ref[src];flavor_text=feet'>Feet:</a> "
|
||||
HTML += TextPreview(pref.flavor_texts["feet"])
|
||||
HTML += "<br>"
|
||||
HTML += "<hr />"
|
||||
HTML += "<tt>"
|
||||
user << browse(HTML, "window=flavor_text;size=430x300")
|
||||
return
|
||||
|
||||
/datum/category_item/player_setup_item/general/flavor/proc/SetFlavourTextRobot(mob/user)
|
||||
var/HTML = "<body>"
|
||||
HTML += "<tt><center>"
|
||||
HTML += "<b>Set Robot Flavour Text</b> <hr />"
|
||||
HTML += "<br></center>"
|
||||
HTML += "<a href='?src=\ref[src];flavour_text_robot=Default'>Default:</a> "
|
||||
HTML += TextPreview(pref.flavour_texts_robot["Default"])
|
||||
HTML += "<hr />"
|
||||
for(var/module in robot_module_types)
|
||||
HTML += "<a href='?src=\ref[src];flavour_text_robot=[module]'>[module]:</a> "
|
||||
HTML += TextPreview(pref.flavour_texts_robot[module])
|
||||
HTML += "<br>"
|
||||
HTML += "<hr />"
|
||||
HTML += "<tt>"
|
||||
user << browse(HTML, "window=flavour_text_robot;size=430x300")
|
||||
return
|
||||
/datum/category_item/player_setup_item/general/flavor
|
||||
name = "Flavor"
|
||||
sort_order = 6
|
||||
|
||||
/datum/category_item/player_setup_item/general/flavor/load_character(var/savefile/S)
|
||||
S["flavor_texts_general"] >> pref.flavor_texts["general"]
|
||||
S["flavor_texts_head"] >> pref.flavor_texts[BP_HEAD]
|
||||
S["flavor_texts_face"] >> pref.flavor_texts["face"]
|
||||
S["flavor_texts_eyes"] >> pref.flavor_texts[BP_EYES]
|
||||
S["flavor_texts_torso"] >> pref.flavor_texts["torso"]
|
||||
S["flavor_texts_arms"] >> pref.flavor_texts["arms"]
|
||||
S["flavor_texts_hands"] >> pref.flavor_texts["hands"]
|
||||
S["flavor_texts_legs"] >> pref.flavor_texts["legs"]
|
||||
S["flavor_texts_feet"] >> pref.flavor_texts["feet"]
|
||||
|
||||
//Flavour text for robots.
|
||||
S["flavour_texts_robot_Default"] >> pref.flavour_texts_robot["Default"]
|
||||
for(var/module in robot_module_types)
|
||||
S["flavour_texts_robot_[module]"] >> pref.flavour_texts_robot[module]
|
||||
|
||||
S["signature"] >> pref.signature
|
||||
S["signfont"] >> pref.signfont
|
||||
|
||||
/datum/category_item/player_setup_item/general/flavor/save_character(var/savefile/S)
|
||||
S["flavor_texts_general"] << pref.flavor_texts["general"]
|
||||
S["flavor_texts_head"] << pref.flavor_texts[BP_HEAD]
|
||||
S["flavor_texts_face"] << pref.flavor_texts["face"]
|
||||
S["flavor_texts_eyes"] << pref.flavor_texts[BP_EYES]
|
||||
S["flavor_texts_torso"] << pref.flavor_texts["torso"]
|
||||
S["flavor_texts_arms"] << pref.flavor_texts["arms"]
|
||||
S["flavor_texts_hands"] << pref.flavor_texts["hands"]
|
||||
S["flavor_texts_legs"] << pref.flavor_texts["legs"]
|
||||
S["flavor_texts_feet"] << pref.flavor_texts["feet"]
|
||||
|
||||
S["flavour_texts_robot_Default"] << pref.flavour_texts_robot["Default"]
|
||||
for(var/module in robot_module_types)
|
||||
S["flavour_texts_robot_[module]"] << pref.flavour_texts_robot[module]
|
||||
|
||||
S["signature"] << pref.signature
|
||||
S["signfont"] << pref.signfont
|
||||
|
||||
/datum/category_item/player_setup_item/general/flavor/gather_load_query()
|
||||
var/list/var_list = list(
|
||||
"flavour_general" = "flavor_texts/general",
|
||||
"flavour_head" = "flavor_texts/head",
|
||||
"flavour_face" = "flavor_texts/face",
|
||||
"flavour_eyes" = "flavor_texts/eyes",
|
||||
"flavour_torso" = "flavor_texts/torso",
|
||||
"flavour_arms" = "flavor_texts/arms",
|
||||
"flavour_hands" = "flavor_texts/hands",
|
||||
"flavour_legs" = "flavor_texts/legs",
|
||||
"flavour_feet" = "flavor_texts/feet",
|
||||
"robot_default" = "flavour_texts_robot/Default",
|
||||
"signature" = "signature",
|
||||
"signature_font" = "signfont"
|
||||
)
|
||||
|
||||
for (var/module in robot_module_types)
|
||||
var_list["robot_[lowertext(module)]"] = "flavour_texts_robot/[module]"
|
||||
|
||||
return list(
|
||||
"ss13_characters_flavour" = list(
|
||||
"vars" = var_list,
|
||||
"args" = list("char_id")
|
||||
)
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/general/flavor/gather_load_parameters()
|
||||
return list("char_id" = pref.current_character)
|
||||
|
||||
/datum/category_item/player_setup_item/general/flavor/gather_save_query()
|
||||
var/list/var_list = list(
|
||||
"flavour_general",
|
||||
"flavour_head",
|
||||
"flavour_face",
|
||||
"flavour_eyes",
|
||||
"flavour_torso",
|
||||
"flavour_arms",
|
||||
"flavour_hands",
|
||||
"flavour_legs",
|
||||
"flavour_feet",
|
||||
"robot_default",
|
||||
"signature",
|
||||
"signature_font",
|
||||
"char_id" = 1
|
||||
)
|
||||
|
||||
for (var/module in robot_module_types)
|
||||
var_list += "robot_[lowertext(module)]"
|
||||
|
||||
return list("ss13_characters_flavour" = var_list)
|
||||
|
||||
/datum/category_item/player_setup_item/general/flavor/gather_save_parameters()
|
||||
var/list/var_list = list(
|
||||
"char_id" = pref.current_character,
|
||||
"flavour_general" = pref.flavor_texts["general"],
|
||||
"flavour_head" = pref.flavor_texts[BP_HEAD],
|
||||
"flavour_face" = pref.flavor_texts["face"],
|
||||
"flavour_eyes" = pref.flavor_texts[BP_EYES],
|
||||
"flavour_torso" = pref.flavor_texts["torso"],
|
||||
"flavour_arms" = pref.flavor_texts["arms"],
|
||||
"flavour_hands" = pref.flavor_texts["hands"],
|
||||
"flavour_legs" = pref.flavor_texts["legs"],
|
||||
"flavour_feet" = pref.flavor_texts["feet"],
|
||||
"robot_default" = pref.flavour_texts_robot["Default"],
|
||||
"signature" = pref.signature,
|
||||
"signature_font" = pref.signfont
|
||||
)
|
||||
|
||||
for (var/module in robot_module_types)
|
||||
var_list["robot_[lowertext(module)]"] += pref.flavour_texts_robot[module]
|
||||
|
||||
return var_list
|
||||
|
||||
/datum/category_item/player_setup_item/general/flavor/sanitize_character(var/sql_load = 0)
|
||||
if (!pref.signature)
|
||||
pref.signature = "<i>[pref.real_name]</i>"
|
||||
if (!pref.signfont)
|
||||
pref.signfont = "Verdana"
|
||||
|
||||
/datum/category_item/player_setup_item/general/flavor/content(var/mob/user)
|
||||
var/list/dat = list(
|
||||
"<b>Flavor:</b><br>",
|
||||
"<a href='?src=\ref[src];flavor_text=open'>Set Flavor Text</a><br/>",
|
||||
"<a href='?src=\ref[src];flavour_text_robot=open'>Set Robot Flavor Text</a><br/>",
|
||||
"<br>",
|
||||
"Signature: <font face='[pref.signfont ? pref.signfont : "Verdana"]'>[pref.signature]</font><br/>",
|
||||
"<a href='?src=\ref[src];edit_signature=text'>Edit Text</a> | ",
|
||||
"<a href='?src=\ref[src];edit_signature=font'>Edit Font</a> | ",
|
||||
"<a href='?src=\ref[src];edit_signature=help'>Help</a> | ",
|
||||
"<a href='?src=\ref[src];edit_signature=reset'>Reset</a><br/>"
|
||||
)
|
||||
. = dat.Join()
|
||||
|
||||
/datum/category_item/player_setup_item/general/flavor/OnTopic(var/href,var/list/href_list, var/mob/user)
|
||||
if(href_list["flavor_text"])
|
||||
switch(href_list["flavor_text"])
|
||||
if("open")
|
||||
if("general")
|
||||
var/msg = sanitize(input(usr,"Give a general description of your character. This will be shown regardless of clothing, and may include OOC notes and preferences.","Flavor Text",html_decode(pref.flavor_texts[href_list["flavor_text"]])) as message, extra = 0)
|
||||
if(CanUseTopic(user))
|
||||
pref.flavor_texts[href_list["flavor_text"]] = msg
|
||||
else
|
||||
var/msg = sanitize(input(usr,"Set the flavor text for your [href_list["flavor_text"]].","Flavor Text",html_decode(pref.flavor_texts[href_list["flavor_text"]])) as message, extra = 0)
|
||||
if(CanUseTopic(user))
|
||||
pref.flavor_texts[href_list["flavor_text"]] = msg
|
||||
SetFlavorText(user)
|
||||
return TOPIC_HANDLED
|
||||
|
||||
else if(href_list["flavour_text_robot"])
|
||||
switch(href_list["flavour_text_robot"])
|
||||
if("open")
|
||||
if("Default")
|
||||
var/msg = sanitize(input(usr,"Set the default flavour text for your robot. It will be used for any module without individual setting.","Flavour Text",html_decode(pref.flavour_texts_robot["Default"])) as message, extra = 0)
|
||||
if(CanUseTopic(user))
|
||||
pref.flavour_texts_robot[href_list["flavour_text_robot"]] = msg
|
||||
else
|
||||
var/msg = sanitize(input(usr,"Set the flavour text for your robot with [href_list["flavour_text_robot"]] module. If you leave this empty, default flavour text will be used for this module.","Flavour Text",html_decode(pref.flavour_texts_robot[href_list["flavour_text_robot"]])) as message, extra = 0)
|
||||
if(CanUseTopic(user))
|
||||
pref.flavour_texts_robot[href_list["flavour_text_robot"]] = msg
|
||||
SetFlavourTextRobot(user)
|
||||
return TOPIC_HANDLED
|
||||
|
||||
else if (href_list["edit_signature"])
|
||||
switch (href_list["edit_signature"])
|
||||
if ("text")
|
||||
var/new_sign = input(usr, "Please input the new character signature.", "New signature", html2pencode(pref.signature)) as null|text
|
||||
if (!new_sign)
|
||||
to_chat(usr, span("notice", "Cancelled."))
|
||||
if (pref.signature)
|
||||
return TOPIC_NOACTION
|
||||
else
|
||||
pref.signature = "<i>[pref.real_name]</i>"
|
||||
return TOPIC_REFRESH
|
||||
new_sign = sanitize(new_sign, 100)
|
||||
new_sign = pencode2html(new_sign, 1)
|
||||
pref.signature = new_sign
|
||||
|
||||
return TOPIC_REFRESH
|
||||
if ("font")
|
||||
var/new_font = input(usr, "Please select the font to use.", "New font") as null|anything in list("Verdana", "Times New Roman", "Courier New")
|
||||
if (!new_font)
|
||||
to_chat(usr, span("notice", "Cancelled."))
|
||||
if (pref.signfont)
|
||||
return TOPIC_NOACTION
|
||||
else
|
||||
pref.signfont = "Verdana"
|
||||
return TOPIC_REFRESH
|
||||
pref.signfont = new_font
|
||||
|
||||
return TOPIC_REFRESH
|
||||
if ("help")
|
||||
var/html = ""
|
||||
html += "A character's signature can be augmented with the following tags:<br>"
|
||||
html += "<ul><li><i>Italics</i> - \[i\]text\[/i\]</li>"
|
||||
html += "<li><b>Bold</b> - \[b\]text\[/b\]</li>"
|
||||
html += "<li><u>Underline</u> - \[u\]text\[/u\]</li>"
|
||||
html += "<li><font size='4'>Large text</font> - \[large\]text\[/large\]</li>"
|
||||
html += "<li><font size='1'>Small text</font> - \[small\]text\[/small\]</li></ul>"
|
||||
html += "<br><br>Beyond that, a maximum of 100 symbols are allowed for the signature text."
|
||||
html += " Note that this includes mark-up symbols."
|
||||
|
||||
show_browser(usr, html, "window=signaturehelp;size=350x300")
|
||||
return TOPIC_HANDLED
|
||||
if ("reset")
|
||||
to_chat(usr, span("notice", "Signature reset."))
|
||||
pref.signfont = "Verdana"
|
||||
pref.signature = "<i>[pref.real_name]</i>"
|
||||
return TOPIC_REFRESH
|
||||
|
||||
return ..()
|
||||
|
||||
/datum/category_item/player_setup_item/general/flavor/proc/SetFlavorText(mob/user)
|
||||
var/HTML = "<body>"
|
||||
HTML += "<tt><center>"
|
||||
HTML += "<b>Set Flavour Text</b> <hr />"
|
||||
HTML += "<br></center>"
|
||||
HTML += "<a href='?src=\ref[src];flavor_text=general'>General:</a> "
|
||||
HTML += TextPreview(pref.flavor_texts["general"])
|
||||
HTML += "<br>"
|
||||
HTML += "<a href='?src=\ref[src];flavor_text=head'>Head:</a> "
|
||||
HTML += TextPreview(pref.flavor_texts[BP_HEAD])
|
||||
HTML += "<br>"
|
||||
HTML += "<a href='?src=\ref[src];flavor_text=face'>Face:</a> "
|
||||
HTML += TextPreview(pref.flavor_texts["face"])
|
||||
HTML += "<br>"
|
||||
HTML += "<a href='?src=\ref[src];flavor_text=eyes'>Eyes:</a> "
|
||||
HTML += TextPreview(pref.flavor_texts[BP_EYES])
|
||||
HTML += "<br>"
|
||||
HTML += "<a href='?src=\ref[src];flavor_text=torso'>Body:</a> "
|
||||
HTML += TextPreview(pref.flavor_texts["torso"])
|
||||
HTML += "<br>"
|
||||
HTML += "<a href='?src=\ref[src];flavor_text=arms'>Arms:</a> "
|
||||
HTML += TextPreview(pref.flavor_texts["arms"])
|
||||
HTML += "<br>"
|
||||
HTML += "<a href='?src=\ref[src];flavor_text=hands'>Hands:</a> "
|
||||
HTML += TextPreview(pref.flavor_texts["hands"])
|
||||
HTML += "<br>"
|
||||
HTML += "<a href='?src=\ref[src];flavor_text=legs'>Legs:</a> "
|
||||
HTML += TextPreview(pref.flavor_texts["legs"])
|
||||
HTML += "<br>"
|
||||
HTML += "<a href='?src=\ref[src];flavor_text=feet'>Feet:</a> "
|
||||
HTML += TextPreview(pref.flavor_texts["feet"])
|
||||
HTML += "<br>"
|
||||
HTML += "<hr />"
|
||||
HTML += "<tt>"
|
||||
user << browse(HTML, "window=flavor_text;size=430x300")
|
||||
return
|
||||
|
||||
/datum/category_item/player_setup_item/general/flavor/proc/SetFlavourTextRobot(mob/user)
|
||||
var/HTML = "<body>"
|
||||
HTML += "<tt><center>"
|
||||
HTML += "<b>Set Robot Flavour Text</b> <hr />"
|
||||
HTML += "<br></center>"
|
||||
HTML += "<a href='?src=\ref[src];flavour_text_robot=Default'>Default:</a> "
|
||||
HTML += TextPreview(pref.flavour_texts_robot["Default"])
|
||||
HTML += "<hr />"
|
||||
for(var/module in robot_module_types)
|
||||
HTML += "<a href='?src=\ref[src];flavour_text_robot=[module]'>[module]:</a> "
|
||||
HTML += TextPreview(pref.flavour_texts_robot[module])
|
||||
HTML += "<br>"
|
||||
HTML += "<hr />"
|
||||
HTML += "<tt>"
|
||||
user << browse(HTML, "window=flavour_text_robot;size=430x300")
|
||||
return
|
||||
|
||||
@@ -1,69 +1,69 @@
|
||||
/datum/category_item/player_setup_item/player_global/language
|
||||
name = "Language"
|
||||
sort_order = 3
|
||||
|
||||
/datum/category_item/player_setup_item/player_global/language/load_preferences(var/savefile/S)
|
||||
S["language_prefixes"] >> pref.language_prefixes
|
||||
|
||||
/datum/category_item/player_setup_item/player_global/language/save_preferences(var/savefile/S)
|
||||
S["language_prefixes"] << pref.language_prefixes
|
||||
|
||||
/datum/category_item/player_setup_item/player_global/language/gather_load_query()
|
||||
return list("ss13_player_preferences" = list("vars" = list("language_prefixes"), "args" = list("ckey")))
|
||||
|
||||
/datum/category_item/player_setup_item/player_global/language/gather_load_parameters()
|
||||
return list("ckey" = PREF_CLIENT_CKEY)
|
||||
|
||||
/datum/category_item/player_setup_item/player_global/language/gather_save_query()
|
||||
return list("ss13_player_preferences" = list("language_prefixes", "ckey" = 1))
|
||||
|
||||
/datum/category_item/player_setup_item/player_global/language/gather_save_parameters()
|
||||
return list("ckey" = PREF_CLIENT_CKEY, "language_prefixes" = list2params(pref.language_prefixes))
|
||||
|
||||
/datum/category_item/player_setup_item/player_global/language/sanitize_preferences(var/sql_load = 0)
|
||||
if (sql_load && pref.language_prefixes)
|
||||
pref.language_prefixes = params2list(pref.language_prefixes)
|
||||
|
||||
if (isnull(pref.language_prefixes) || !pref.language_prefixes.len)
|
||||
pref.language_prefixes = config.language_prefixes.Copy()
|
||||
|
||||
/datum/category_item/player_setup_item/player_global/language/content(var/mob/user)
|
||||
. += "<b>Language Keys</b><br>"
|
||||
. += " [english_list(pref.language_prefixes, and_text = " ", comma_text = " ")] <a href='?src=\ref[src];change_prefix=1'>Change</a> <a href='?src=\ref[src];reset_prefix=1'>Reset</a><br>"
|
||||
|
||||
/datum/category_item/player_setup_item/player_global/language/OnTopic(var/href, var/list/href_list, var/mob/user)
|
||||
if(href_list["change_prefix"])
|
||||
var/char
|
||||
var/keys[0]
|
||||
do
|
||||
char = input("Enter a single special character.\nYou may re-select the same characters.\nThe following characters are already in use by radio: ; : .\nThe following characters are already in use by special say commands: ! * ^", "Enter Character - [3 - keys.len] remaining") as null|text
|
||||
if(char)
|
||||
if(length(char) > 1)
|
||||
alert(user, "Only single characters allowed.", "Error", "Ok")
|
||||
else if(char in list(";", ":", "."))
|
||||
alert(user, "Radio character. Rejected.", "Error", "Ok")
|
||||
else if(char in list("!","*", "^"))
|
||||
alert(user, "Say character. Rejected.", "Error", "Ok")
|
||||
else if(contains_az09(char))
|
||||
alert(user, "Non-special character. Rejected.", "Error", "Ok")
|
||||
else
|
||||
keys.Add(char)
|
||||
while(char && keys.len < 3)
|
||||
|
||||
if(keys.len == 3)
|
||||
pref.language_prefixes = keys
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["reset_prefix"])
|
||||
pref.language_prefixes = config.language_prefixes.Copy()
|
||||
return TOPIC_REFRESH
|
||||
|
||||
return ..()
|
||||
|
||||
|
||||
/datum/category_item/player_setup_item/player_global/language/update_setup(var/savefile/preferences, var/savefile/character)
|
||||
if(preferences["version"] == 11)
|
||||
var/list/prefixes = character["language_prefixes"]
|
||||
if(istype(prefixes) && prefixes.len)
|
||||
preferences["language_prefixes"] = prefixes.Copy()
|
||||
return 1
|
||||
/datum/category_item/player_setup_item/player_global/language
|
||||
name = "Language"
|
||||
sort_order = 3
|
||||
|
||||
/datum/category_item/player_setup_item/player_global/language/load_preferences(var/savefile/S)
|
||||
S["language_prefixes"] >> pref.language_prefixes
|
||||
|
||||
/datum/category_item/player_setup_item/player_global/language/save_preferences(var/savefile/S)
|
||||
S["language_prefixes"] << pref.language_prefixes
|
||||
|
||||
/datum/category_item/player_setup_item/player_global/language/gather_load_query()
|
||||
return list("ss13_player_preferences" = list("vars" = list("language_prefixes"), "args" = list("ckey")))
|
||||
|
||||
/datum/category_item/player_setup_item/player_global/language/gather_load_parameters()
|
||||
return list("ckey" = PREF_CLIENT_CKEY)
|
||||
|
||||
/datum/category_item/player_setup_item/player_global/language/gather_save_query()
|
||||
return list("ss13_player_preferences" = list("language_prefixes", "ckey" = 1))
|
||||
|
||||
/datum/category_item/player_setup_item/player_global/language/gather_save_parameters()
|
||||
return list("ckey" = PREF_CLIENT_CKEY, "language_prefixes" = list2params(pref.language_prefixes))
|
||||
|
||||
/datum/category_item/player_setup_item/player_global/language/sanitize_preferences(var/sql_load = 0)
|
||||
if (sql_load && pref.language_prefixes)
|
||||
pref.language_prefixes = params2list(pref.language_prefixes)
|
||||
|
||||
if (isnull(pref.language_prefixes) || !pref.language_prefixes.len)
|
||||
pref.language_prefixes = config.language_prefixes.Copy()
|
||||
|
||||
/datum/category_item/player_setup_item/player_global/language/content(var/mob/user)
|
||||
. += "<b>Language Keys</b><br>"
|
||||
. += " [english_list(pref.language_prefixes, and_text = " ", comma_text = " ")] <a href='?src=\ref[src];change_prefix=1'>Change</a> <a href='?src=\ref[src];reset_prefix=1'>Reset</a><br>"
|
||||
|
||||
/datum/category_item/player_setup_item/player_global/language/OnTopic(var/href, var/list/href_list, var/mob/user)
|
||||
if(href_list["change_prefix"])
|
||||
var/char
|
||||
var/keys[0]
|
||||
do
|
||||
char = input("Enter a single special character.\nYou may re-select the same characters.\nThe following characters are already in use by radio: ; : .\nThe following characters are already in use by special say commands: ! * ^", "Enter Character - [3 - keys.len] remaining") as null|text
|
||||
if(char)
|
||||
if(length(char) > 1)
|
||||
alert(user, "Only single characters allowed.", "Error", "Ok")
|
||||
else if(char in list(";", ":", "."))
|
||||
alert(user, "Radio character. Rejected.", "Error", "Ok")
|
||||
else if(char in list("!","*", "^"))
|
||||
alert(user, "Say character. Rejected.", "Error", "Ok")
|
||||
else if(contains_az09(char))
|
||||
alert(user, "Non-special character. Rejected.", "Error", "Ok")
|
||||
else
|
||||
keys.Add(char)
|
||||
while(char && keys.len < 3)
|
||||
|
||||
if(keys.len == 3)
|
||||
pref.language_prefixes = keys
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["reset_prefix"])
|
||||
pref.language_prefixes = config.language_prefixes.Copy()
|
||||
return TOPIC_REFRESH
|
||||
|
||||
return ..()
|
||||
|
||||
|
||||
/datum/category_item/player_setup_item/player_global/language/update_setup(var/savefile/preferences, var/savefile/character)
|
||||
if(preferences["version"] == 11)
|
||||
var/list/prefixes = character["language_prefixes"]
|
||||
if(istype(prefixes) && prefixes.len)
|
||||
preferences["language_prefixes"] = prefixes.Copy()
|
||||
return 1
|
||||
|
||||
@@ -1,126 +1,126 @@
|
||||
/datum/category_item/player_setup_item/skills
|
||||
name = "Skills"
|
||||
sort_order = 1
|
||||
|
||||
/datum/category_item/player_setup_item/skills/load_character(var/savefile/S)
|
||||
S["skills"] >> pref.skills
|
||||
S["used_skillpoints"] >> pref.used_skillpoints
|
||||
S["skill_specialization"] >> pref.skill_specialization
|
||||
|
||||
/datum/category_item/player_setup_item/skills/save_character(var/savefile/S)
|
||||
S["skills"] << pref.skills
|
||||
S["used_skillpoints"] << pref.used_skillpoints
|
||||
S["skill_specialization"] << pref.skill_specialization
|
||||
|
||||
/datum/category_item/player_setup_item/skills/gather_load_query()
|
||||
return list(
|
||||
"ss13_characters" = list(
|
||||
"vars" = list(
|
||||
"skills",
|
||||
"skill_specialization"
|
||||
),
|
||||
"args" = list("id")
|
||||
)
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/skills/gather_load_parameters()
|
||||
return list("id" = pref.current_character)
|
||||
|
||||
/datum/category_item/player_setup_item/skills/gather_save_query()
|
||||
return list(
|
||||
"ss13_characters" = list(
|
||||
"skills",
|
||||
"skill_specialization",
|
||||
"id" = 1,
|
||||
"ckey" = 1
|
||||
)
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/skills/gather_save_parameters()
|
||||
return list(
|
||||
"skills" = list2params(pref.skills),
|
||||
"skill_specialization" = pref.skill_specialization,
|
||||
"id" = pref.current_character,
|
||||
"ckey" = PREF_CLIENT_CKEY
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/skills/sanitize_character(var/sql_load = 0)
|
||||
if (SKILLS == null)
|
||||
setup_skills()
|
||||
if (!pref.skills)
|
||||
pref.skills = list()
|
||||
if (sql_load)
|
||||
pref.skills = params2list(pref.skills)
|
||||
|
||||
if (!pref.skills || !islist(pref.skills) || !pref.skills.len)
|
||||
pref.ZeroSkills()
|
||||
else
|
||||
for (var/skill in pref.skills)
|
||||
pref.skills[skill] = text2num(pref.skills[skill])
|
||||
|
||||
pref.CalculateSkillPoints()
|
||||
if (!pref.skills.len)
|
||||
pref.ZeroSkills()
|
||||
if (pref.used_skillpoints < 0)
|
||||
pref.used_skillpoints = 0
|
||||
|
||||
/datum/category_item/player_setup_item/skills/content()
|
||||
var/list/dat = list(
|
||||
"<b>Select your Skills</b><br>",
|
||||
"Current skill level: <b>[pref.GetSkillClass(pref.used_skillpoints)]</b> ([pref.used_skillpoints])<br>",
|
||||
"<a href='?src=\ref[src];preconfigured=1'>Use preconfigured skillset</a><br>",
|
||||
"<table>"
|
||||
)
|
||||
for(var/V in SKILLS)
|
||||
dat += "<tr><th colspan = 5><b>[V]</b>"
|
||||
dat += "</th></tr>"
|
||||
for(var/datum/skill/S in SKILLS[V])
|
||||
var/level = pref.skills[S.ID]
|
||||
dat += "<tr style='text-align:left;'>"
|
||||
dat += "<th><a href='?src=\ref[src];skillinfo=\ref[S]'>[S.name]</a></th>"
|
||||
dat += "<th><a href='?src=\ref[src];setskill=\ref[S];newvalue=[SKILL_NONE]'><font color=[(level == SKILL_NONE) ? "red" : ""]>\[Untrained\]</font></a></th>"
|
||||
// secondary skills don't have an amateur level
|
||||
if(S.secondary)
|
||||
dat += "<th></th>"
|
||||
else
|
||||
dat += "<th><a href='?src=\ref[src];setskill=\ref[S];newvalue=[SKILL_BASIC]'><font color=[(level == SKILL_BASIC) ? "red" : ""]>\[Amateur\]</font></a></th>"
|
||||
dat += "<th><a href='?src=\ref[src];setskill=\ref[S];newvalue=[SKILL_ADEPT]'><font color=[(level == SKILL_ADEPT) ? "red" : ""]>\[Trained\]</font></a></th>"
|
||||
dat += "<th><a href='?src=\ref[src];setskill=\ref[S];newvalue=[SKILL_EXPERT]'><font color=[(level == SKILL_EXPERT) ? "red" : ""]>\[Professional\]</font></a></th>"
|
||||
dat += "</tr>"
|
||||
dat += "</table>"
|
||||
. = dat.Join()
|
||||
|
||||
/datum/category_item/player_setup_item/skills/OnTopic(href, href_list, user)
|
||||
if(href_list["skillinfo"])
|
||||
var/datum/skill/S = locate(href_list["skillinfo"])
|
||||
var/HTML = "<b>[S.name]</b><br>[S.desc]"
|
||||
user << browse(HTML, "window=\ref[user]skillinfo")
|
||||
return TOPIC_HANDLED
|
||||
|
||||
else if(href_list["setskill"])
|
||||
var/datum/skill/S = locate(href_list["setskill"])
|
||||
var/value = text2num(href_list["newvalue"])
|
||||
pref.skills[S.ID] = value
|
||||
pref.CalculateSkillPoints()
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["preconfigured"])
|
||||
var/selected = input(user, "Select a skillset", "Skillset") as null|anything in SKILL_PRE
|
||||
if(!selected && !CanUseTopic(user)) return
|
||||
|
||||
pref.ZeroSkills(1)
|
||||
for(var/V in SKILL_PRE[selected])
|
||||
if(V == "field")
|
||||
pref.skill_specialization = SKILL_PRE[selected]["field"]
|
||||
continue
|
||||
pref.skills[V] = SKILL_PRE[selected][V]
|
||||
pref.CalculateSkillPoints()
|
||||
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["setspecialization"])
|
||||
pref.skill_specialization = href_list["setspecialization"]
|
||||
pref.CalculateSkillPoints()
|
||||
return TOPIC_REFRESH
|
||||
|
||||
return ..()
|
||||
/datum/category_item/player_setup_item/skills
|
||||
name = "Skills"
|
||||
sort_order = 1
|
||||
|
||||
/datum/category_item/player_setup_item/skills/load_character(var/savefile/S)
|
||||
S["skills"] >> pref.skills
|
||||
S["used_skillpoints"] >> pref.used_skillpoints
|
||||
S["skill_specialization"] >> pref.skill_specialization
|
||||
|
||||
/datum/category_item/player_setup_item/skills/save_character(var/savefile/S)
|
||||
S["skills"] << pref.skills
|
||||
S["used_skillpoints"] << pref.used_skillpoints
|
||||
S["skill_specialization"] << pref.skill_specialization
|
||||
|
||||
/datum/category_item/player_setup_item/skills/gather_load_query()
|
||||
return list(
|
||||
"ss13_characters" = list(
|
||||
"vars" = list(
|
||||
"skills",
|
||||
"skill_specialization"
|
||||
),
|
||||
"args" = list("id")
|
||||
)
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/skills/gather_load_parameters()
|
||||
return list("id" = pref.current_character)
|
||||
|
||||
/datum/category_item/player_setup_item/skills/gather_save_query()
|
||||
return list(
|
||||
"ss13_characters" = list(
|
||||
"skills",
|
||||
"skill_specialization",
|
||||
"id" = 1,
|
||||
"ckey" = 1
|
||||
)
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/skills/gather_save_parameters()
|
||||
return list(
|
||||
"skills" = list2params(pref.skills),
|
||||
"skill_specialization" = pref.skill_specialization,
|
||||
"id" = pref.current_character,
|
||||
"ckey" = PREF_CLIENT_CKEY
|
||||
)
|
||||
|
||||
/datum/category_item/player_setup_item/skills/sanitize_character(var/sql_load = 0)
|
||||
if (SKILLS == null)
|
||||
setup_skills()
|
||||
if (!pref.skills)
|
||||
pref.skills = list()
|
||||
if (sql_load)
|
||||
pref.skills = params2list(pref.skills)
|
||||
|
||||
if (!pref.skills || !islist(pref.skills) || !pref.skills.len)
|
||||
pref.ZeroSkills()
|
||||
else
|
||||
for (var/skill in pref.skills)
|
||||
pref.skills[skill] = text2num(pref.skills[skill])
|
||||
|
||||
pref.CalculateSkillPoints()
|
||||
if (!pref.skills.len)
|
||||
pref.ZeroSkills()
|
||||
if (pref.used_skillpoints < 0)
|
||||
pref.used_skillpoints = 0
|
||||
|
||||
/datum/category_item/player_setup_item/skills/content()
|
||||
var/list/dat = list(
|
||||
"<b>Select your Skills</b><br>",
|
||||
"Current skill level: <b>[pref.GetSkillClass(pref.used_skillpoints)]</b> ([pref.used_skillpoints])<br>",
|
||||
"<a href='?src=\ref[src];preconfigured=1'>Use preconfigured skillset</a><br>",
|
||||
"<table>"
|
||||
)
|
||||
for(var/V in SKILLS)
|
||||
dat += "<tr><th colspan = 5><b>[V]</b>"
|
||||
dat += "</th></tr>"
|
||||
for(var/datum/skill/S in SKILLS[V])
|
||||
var/level = pref.skills[S.ID]
|
||||
dat += "<tr style='text-align:left;'>"
|
||||
dat += "<th><a href='?src=\ref[src];skillinfo=\ref[S]'>[S.name]</a></th>"
|
||||
dat += "<th><a href='?src=\ref[src];setskill=\ref[S];newvalue=[SKILL_NONE]'><font color=[(level == SKILL_NONE) ? "red" : ""]>\[Untrained\]</font></a></th>"
|
||||
// secondary skills don't have an amateur level
|
||||
if(S.secondary)
|
||||
dat += "<th></th>"
|
||||
else
|
||||
dat += "<th><a href='?src=\ref[src];setskill=\ref[S];newvalue=[SKILL_BASIC]'><font color=[(level == SKILL_BASIC) ? "red" : ""]>\[Amateur\]</font></a></th>"
|
||||
dat += "<th><a href='?src=\ref[src];setskill=\ref[S];newvalue=[SKILL_ADEPT]'><font color=[(level == SKILL_ADEPT) ? "red" : ""]>\[Trained\]</font></a></th>"
|
||||
dat += "<th><a href='?src=\ref[src];setskill=\ref[S];newvalue=[SKILL_EXPERT]'><font color=[(level == SKILL_EXPERT) ? "red" : ""]>\[Professional\]</font></a></th>"
|
||||
dat += "</tr>"
|
||||
dat += "</table>"
|
||||
. = dat.Join()
|
||||
|
||||
/datum/category_item/player_setup_item/skills/OnTopic(href, href_list, user)
|
||||
if(href_list["skillinfo"])
|
||||
var/datum/skill/S = locate(href_list["skillinfo"])
|
||||
var/HTML = "<b>[S.name]</b><br>[S.desc]"
|
||||
user << browse(HTML, "window=\ref[user]skillinfo")
|
||||
return TOPIC_HANDLED
|
||||
|
||||
else if(href_list["setskill"])
|
||||
var/datum/skill/S = locate(href_list["setskill"])
|
||||
var/value = text2num(href_list["newvalue"])
|
||||
pref.skills[S.ID] = value
|
||||
pref.CalculateSkillPoints()
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["preconfigured"])
|
||||
var/selected = input(user, "Select a skillset", "Skillset") as null|anything in SKILL_PRE
|
||||
if(!selected && !CanUseTopic(user)) return
|
||||
|
||||
pref.ZeroSkills(1)
|
||||
for(var/V in SKILL_PRE[selected])
|
||||
if(V == "field")
|
||||
pref.skill_specialization = SKILL_PRE[selected]["field"]
|
||||
continue
|
||||
pref.skills[V] = SKILL_PRE[selected][V]
|
||||
pref.CalculateSkillPoints()
|
||||
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["setspecialization"])
|
||||
pref.skill_specialization = href_list["setspecialization"]
|
||||
pref.CalculateSkillPoints()
|
||||
return TOPIC_REFRESH
|
||||
|
||||
return ..()
|
||||
|
||||
Reference in New Issue
Block a user