Enforces Lineendings and adds Editorconfig (#7657)

This commit is contained in:
Werner
2019-12-21 16:19:24 +01:00
committed by GitHub
parent 7bd19c7b08
commit cb4a712851
1031 changed files with 223381 additions and 223321 deletions
@@ -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 ..()