mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-21 20:13:45 +01:00
Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into OrganRefactor
This commit is contained in:
@@ -187,21 +187,21 @@ proc/getFilesSlow(var/client/client, var/list/files, var/register_asset = TRUE)
|
||||
//DEFINITIONS FOR ASSET DATUMS START HERE.
|
||||
/datum/asset/simple/paper
|
||||
assets = list(
|
||||
"large_stamp-clown.png" = 'icons/paper_icons/large_stamp-clown.png',
|
||||
"large_stamp-deny.png" = 'icons/paper_icons/large_stamp-deny.png',
|
||||
"large_stamp-ok.png" = 'icons/paper_icons/large_stamp-ok.png',
|
||||
"large_stamp-hop.png" = 'icons/paper_icons/large_stamp-hop.png',
|
||||
"large_stamp-cmo.png" = 'icons/paper_icons/large_stamp-cmo.png',
|
||||
"large_stamp-ce.png" = 'icons/paper_icons/large_stamp-ce.png',
|
||||
"large_stamp-hos.png" = 'icons/paper_icons/large_stamp-hos.png',
|
||||
"large_stamp-rd.png" = 'icons/paper_icons/large_stamp-rd.png',
|
||||
"large_stamp-cap.png" = 'icons/paper_icons/large_stamp-cap.png',
|
||||
"large_stamp-qm.png" = 'icons/paper_icons/large_stamp-qm.png',
|
||||
"large_stamp-law.png" = 'icons/paper_icons/large_stamp-law.png',
|
||||
"large_stamp-cent.png" = 'icons/paper_icons/large_stamp-cent.png',
|
||||
"large_stamp-clown.png" = 'icons/paper_icons/large_stamp-clown.png',
|
||||
"large_stamp-deny.png" = 'icons/paper_icons/large_stamp-deny.png',
|
||||
"large_stamp-ok.png" = 'icons/paper_icons/large_stamp-ok.png',
|
||||
"large_stamp-hop.png" = 'icons/paper_icons/large_stamp-hop.png',
|
||||
"large_stamp-cmo.png" = 'icons/paper_icons/large_stamp-cmo.png',
|
||||
"large_stamp-ce.png" = 'icons/paper_icons/large_stamp-ce.png',
|
||||
"large_stamp-hos.png" = 'icons/paper_icons/large_stamp-hos.png',
|
||||
"large_stamp-rd.png" = 'icons/paper_icons/large_stamp-rd.png',
|
||||
"large_stamp-cap.png" = 'icons/paper_icons/large_stamp-cap.png',
|
||||
"large_stamp-qm.png" = 'icons/paper_icons/large_stamp-qm.png',
|
||||
"large_stamp-law.png" = 'icons/paper_icons/large_stamp-law.png',
|
||||
"large_stamp-cent.png" = 'icons/paper_icons/large_stamp-cent.png',
|
||||
"large_stamp-syndicate.png" = 'icons/paper_icons/large_stamp-syndicate.png',
|
||||
"talisman.png" = 'icons/paper_icons/talisman.png',
|
||||
"ntlogo.png" = 'icons/paper_icons/ntlogo.png'
|
||||
"talisman.png" = 'icons/paper_icons/talisman.png',
|
||||
"ntlogo.png" = 'icons/paper_icons/ntlogo.png'
|
||||
)
|
||||
|
||||
/datum/asset/nanoui
|
||||
@@ -209,8 +209,7 @@ proc/getFilesSlow(var/client/client, var/list/files, var/register_asset = TRUE)
|
||||
|
||||
var/list/common_dirs = list(
|
||||
"nano/assets/",
|
||||
"nano/css/",
|
||||
"nano/js/",
|
||||
"nano/codemirror/",
|
||||
"nano/images/",
|
||||
"nano/layouts/"
|
||||
)
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
preload_rsc = 1 // This is 0 so we can set it to an URL once the player logs in and have them download the resources from a different server.
|
||||
|
||||
var/global/obj/screen/click_catcher/void
|
||||
|
||||
|
||||
var/karma = 0
|
||||
var/karma_spent = 0
|
||||
var/karma_tab = 0
|
||||
@@ -76,4 +76,6 @@
|
||||
"off" = "borgmacro")
|
||||
)
|
||||
|
||||
var/reset_stretch = 0 //Used by things that fiddle with client's stretch-to-fit.
|
||||
var/reset_stretch = 0 //Used by things that fiddle with client's stretch-to-fit.
|
||||
|
||||
var/topic_debugging = 0 //if set to true, allows client to see nanoUI errors -- yes i realize this is messy but it'll make live testing infinitely easier
|
||||
@@ -29,11 +29,12 @@
|
||||
|
||||
#if defined(TOPIC_DEBUGGING)
|
||||
world << "[src]'s Topic: [href] destined for [hsrc]."
|
||||
#endif
|
||||
|
||||
if(href_list["nano_err"]) //nano throwing errors
|
||||
world << "## NanoUI, Subject [src]: " + html_decode(href_list["nano_err"]) //NANO DEBUG HOOK
|
||||
if(topic_debugging)
|
||||
src << "## NanoUI: " + html_decode(href_list["nano_err"]) //NANO DEBUG HOOK
|
||||
|
||||
#endif
|
||||
|
||||
if(href_list["asset_cache_confirm_arrival"])
|
||||
//src << "ASSET JOB [href_list["asset_cache_confirm_arrival"]] ARRIVED."
|
||||
|
||||
@@ -97,6 +97,14 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
|
||||
var/undershirt = "Nude" //undershirt type
|
||||
var/socks = "Nude" //socks type
|
||||
var/backbag = 2 //backpack type
|
||||
var/ha_style = "None" //Head accessory style
|
||||
var/r_headacc = 0 //Head accessory colour
|
||||
var/g_headacc = 0 //Head accessory colour
|
||||
var/b_headacc = 0 //Head accessory colour
|
||||
var/m_style = "None" //Marking style
|
||||
var/r_markings = 0 //Marking colour
|
||||
var/g_markings = 0 //Marking colour
|
||||
var/b_markings = 0 //Marking colour
|
||||
var/h_style = "Bald" //Hair type
|
||||
var/r_hair = 0 //Hair color
|
||||
var/g_hair = 0 //Hair color
|
||||
@@ -341,6 +349,18 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
|
||||
dat += "[TextPreview(flavor_text)]...<br>"
|
||||
dat += "<br>"
|
||||
|
||||
if((species in list("Unathi", "Vulpkanin", "Tajaran"))) //Species that have head accessories.
|
||||
var/headaccessoryname = "Head Accessory"
|
||||
if(species == "Unathi")
|
||||
headaccessoryname = "Horns"
|
||||
dat += "<br><b>[headaccessoryname]</b><br>"
|
||||
dat += "<a href='?_src_=prefs;preference=headaccessory;task=input'>Change Color</a> <font face='fixedsys' size='3' color='#[num2hex(r_headacc, 2)][num2hex(g_headacc, 2)][num2hex(b_headacc, 2)]'><table style='display:inline;' bgcolor='#[num2hex(r_headacc, 2)][num2hex(g_headacc, 2)][num2hex(b_headacc)]'><tr><td>__</td></tr></table></font> "
|
||||
dat += "Style: <a href='?_src_=prefs;preference=ha_style;task=input'>[ha_style]</a><br>"
|
||||
|
||||
dat += "<br><b>Body Markings</b><br>"
|
||||
dat += "<a href='?_src_=prefs;preference=markings;task=input'>Change Color</a> <font face='fixedsys' size='3' color='#[num2hex(r_markings, 2)][num2hex(g_markings, 2)][num2hex(b_markings, 2)]'><table style='display:inline;' bgcolor='#[num2hex(r_markings, 2)][num2hex(g_markings, 2)][num2hex(b_markings)]'><tr><td>__</td></tr></table></font> "
|
||||
dat += "<br>Style: <a href='?_src_=prefs;preference=m_style;task=input'>[m_style]</a><br>"
|
||||
|
||||
var/hairname = "Hair"
|
||||
if(species == "Machine")
|
||||
hairname = "Frame Color"
|
||||
@@ -1112,7 +1132,10 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
|
||||
|
||||
s_tone = 0
|
||||
|
||||
body_accessory = null //no vulpatail on humans damnit
|
||||
ha_style = "None" // No Vulp ears on Unathi
|
||||
m_style = "None" // No Unathi markings on Tajara
|
||||
|
||||
body_accessory = null //no vulptail on humans damnit
|
||||
if("speciesprefs")//oldvox code
|
||||
speciesprefs = !speciesprefs
|
||||
|
||||
@@ -1172,6 +1195,52 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
|
||||
if(new_h_style)
|
||||
h_style = new_h_style
|
||||
|
||||
if("headaccessory")
|
||||
if((species in list("Unathi", "Vulpkanin", "Tajaran"))) // Species with head accessories
|
||||
var/input = "Choose the colour of your your character's head accessory:"
|
||||
var/new_head_accessory = input(user, input, "Character Preference", rgb(r_headacc, g_headacc, b_headacc)) as color|null
|
||||
if(new_head_accessory)
|
||||
r_headacc = hex2num(copytext(new_head_accessory, 2, 4))
|
||||
g_headacc = hex2num(copytext(new_head_accessory, 4, 6))
|
||||
b_headacc = hex2num(copytext(new_head_accessory, 6, 8))
|
||||
|
||||
if("ha_style")
|
||||
if((species in list("Unathi", "Vulpkanin", "Tajaran"))) // Species with head accessories
|
||||
var/list/valid_head_accessory_styles = list()
|
||||
for(var/head_accessory_style in head_accessory_styles_list)
|
||||
var/datum/sprite_accessory/H = head_accessory_styles_list[head_accessory_style]
|
||||
if( !(species in H.species_allowed))
|
||||
continue
|
||||
|
||||
valid_head_accessory_styles[head_accessory_style] = head_accessory_styles_list[head_accessory_style]
|
||||
|
||||
var/new_head_accessory_style = input(user, "Choose the style of your character's head accessory:", "Character Preference") as null|anything in valid_head_accessory_styles
|
||||
if(new_head_accessory_style)
|
||||
ha_style = new_head_accessory_style
|
||||
|
||||
if("markings")
|
||||
if((species in list("Unathi", "Vulpkanin", "Tajaran"))) // Species with markings
|
||||
var/input = "Choose the colour of your your character's body markings:"
|
||||
var/new_markings = input(user, input, "Character Preference", rgb(r_markings, g_markings, b_markings)) as color|null
|
||||
if(new_markings)
|
||||
r_markings = hex2num(copytext(new_markings, 2, 4))
|
||||
g_markings = hex2num(copytext(new_markings, 4, 6))
|
||||
b_markings = hex2num(copytext(new_markings, 6, 8))
|
||||
|
||||
if("m_style")
|
||||
if((species in list("Unathi", "Vulpkanin", "Tajaran"))) // Species with markings
|
||||
var/list/valid_markings = list()
|
||||
for(var/markingstyle in marking_styles_list)
|
||||
var/datum/sprite_accessory/M = marking_styles_list[markingstyle]
|
||||
if( !(species in M.species_allowed))
|
||||
continue
|
||||
|
||||
valid_markings[markingstyle] = marking_styles_list[markingstyle]
|
||||
|
||||
var/new_marking_style = input(user, "Choose the style of your character's body markings:", "Character Preference") as null|anything in valid_markings
|
||||
if(new_marking_style)
|
||||
m_style = new_marking_style
|
||||
|
||||
if("body_accessory")
|
||||
var/list/possible_body_accessories = list()
|
||||
if(check_rights(R_ADMIN, 1, user))
|
||||
@@ -1597,6 +1666,17 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
|
||||
character.undershirt = undershirt
|
||||
character.socks = socks
|
||||
|
||||
if(character.species.bodyflags & HAS_HEAD_ACCESSORY)
|
||||
character.r_headacc = r_headacc
|
||||
character.g_headacc = g_headacc
|
||||
character.b_headacc = b_headacc
|
||||
character.ha_style = ha_style
|
||||
if(character.species.bodyflags & HAS_MARKINGS)
|
||||
character.r_markings = r_markings
|
||||
character.g_markings = g_markings
|
||||
character.b_markings = b_markings
|
||||
character.m_style = m_style
|
||||
|
||||
if(body_accessory)
|
||||
character.body_accessory = body_accessory_by_name["[body_accessory]"]
|
||||
|
||||
|
||||
@@ -35,8 +35,6 @@
|
||||
randomslot = text2num(query.item[9])
|
||||
volume = text2num(query.item[10])
|
||||
|
||||
old_roles_to_new(C)
|
||||
|
||||
//Sanitize
|
||||
ooccolor = sanitize_hexcolor(ooccolor, initial(ooccolor))
|
||||
// lastchangelog = sanitize_text(lastchangelog, initial(lastchangelog))
|
||||
@@ -108,8 +106,16 @@
|
||||
skin_red,
|
||||
skin_green,
|
||||
skin_blue,
|
||||
markings_red,
|
||||
markings_green,
|
||||
markings_blue,
|
||||
head_accessory_red,
|
||||
head_accessory_green,
|
||||
head_accessory_blue,
|
||||
hair_style_name,
|
||||
facial_style_name,
|
||||
marking_style_name,
|
||||
head_accessory_style_name,
|
||||
eyes_red,
|
||||
eyes_green,
|
||||
eyes_blue,
|
||||
@@ -170,47 +176,55 @@
|
||||
r_skin = text2num(query.item[15])
|
||||
g_skin = text2num(query.item[16])
|
||||
b_skin = text2num(query.item[17])
|
||||
h_style = query.item[18]
|
||||
f_style = query.item[19]
|
||||
r_eyes = text2num(query.item[20])
|
||||
g_eyes = text2num(query.item[21])
|
||||
b_eyes = text2num(query.item[22])
|
||||
underwear = query.item[23]
|
||||
undershirt = query.item[24]
|
||||
backbag = text2num(query.item[25])
|
||||
b_type = query.item[26]
|
||||
r_markings = text2num(query.item[18])
|
||||
g_markings = text2num(query.item[19])
|
||||
b_markings = text2num(query.item[20])
|
||||
r_headacc = text2num(query.item[21])
|
||||
g_headacc = text2num(query.item[22])
|
||||
b_headacc = text2num(query.item[23])
|
||||
h_style = query.item[24]
|
||||
f_style = query.item[25]
|
||||
m_style = query.item[26]
|
||||
ha_style = query.item[27]
|
||||
r_eyes = text2num(query.item[28])
|
||||
g_eyes = text2num(query.item[29])
|
||||
b_eyes = text2num(query.item[30])
|
||||
underwear = query.item[31]
|
||||
undershirt = query.item[32]
|
||||
backbag = text2num(query.item[33])
|
||||
b_type = query.item[34]
|
||||
|
||||
|
||||
//Jobs
|
||||
alternate_option = text2num(query.item[27])
|
||||
job_support_high = text2num(query.item[28])
|
||||
job_support_med = text2num(query.item[29])
|
||||
job_support_low = text2num(query.item[30])
|
||||
job_medsci_high = text2num(query.item[31])
|
||||
job_medsci_med = text2num(query.item[32])
|
||||
job_medsci_low = text2num(query.item[33])
|
||||
job_engsec_high = text2num(query.item[34])
|
||||
job_engsec_med = text2num(query.item[35])
|
||||
job_engsec_low = text2num(query.item[36])
|
||||
job_karma_high = text2num(query.item[37])
|
||||
job_karma_med = text2num(query.item[38])
|
||||
job_karma_low = text2num(query.item[39])
|
||||
alternate_option = text2num(query.item[35])
|
||||
job_support_high = text2num(query.item[36])
|
||||
job_support_med = text2num(query.item[37])
|
||||
job_support_low = text2num(query.item[38])
|
||||
job_medsci_high = text2num(query.item[39])
|
||||
job_medsci_med = text2num(query.item[40])
|
||||
job_medsci_low = text2num(query.item[41])
|
||||
job_engsec_high = text2num(query.item[42])
|
||||
job_engsec_med = text2num(query.item[43])
|
||||
job_engsec_low = text2num(query.item[44])
|
||||
job_karma_high = text2num(query.item[45])
|
||||
job_karma_med = text2num(query.item[46])
|
||||
job_karma_low = text2num(query.item[47])
|
||||
|
||||
//Miscellaneous
|
||||
flavor_text = query.item[40]
|
||||
med_record = query.item[41]
|
||||
sec_record = query.item[42]
|
||||
gen_record = query.item[43]
|
||||
disabilities = text2num(query.item[44])
|
||||
player_alt_titles = params2list(query.item[45])
|
||||
organ_data = params2list(query.item[46])
|
||||
rlimb_data = params2list(query.item[47])
|
||||
nanotrasen_relation = query.item[48]
|
||||
speciesprefs = text2num(query.item[49])
|
||||
flavor_text = query.item[48]
|
||||
med_record = query.item[49]
|
||||
sec_record = query.item[50]
|
||||
gen_record = query.item[51]
|
||||
disabilities = text2num(query.item[52])
|
||||
player_alt_titles = params2list(query.item[53])
|
||||
organ_data = params2list(query.item[54])
|
||||
rlimb_data = params2list(query.item[55])
|
||||
nanotrasen_relation = query.item[56]
|
||||
speciesprefs = text2num(query.item[57])
|
||||
|
||||
//socks
|
||||
socks = query.item[50]
|
||||
body_accessory = query.item[51]
|
||||
socks = query.item[58]
|
||||
body_accessory = query.item[59]
|
||||
|
||||
//Sanitize
|
||||
metadata = sanitize_text(metadata, initial(metadata))
|
||||
@@ -233,8 +247,16 @@
|
||||
r_skin = sanitize_integer(r_skin, 0, 255, initial(r_skin))
|
||||
g_skin = sanitize_integer(g_skin, 0, 255, initial(g_skin))
|
||||
b_skin = sanitize_integer(b_skin, 0, 255, initial(b_skin))
|
||||
r_markings = sanitize_integer(r_markings, 0, 255, initial(r_markings))
|
||||
g_markings = sanitize_integer(g_markings, 0, 255, initial(g_markings))
|
||||
b_markings = sanitize_integer(b_markings, 0, 255, initial(b_markings))
|
||||
r_headacc = sanitize_integer(r_headacc, 0, 255, initial(r_headacc))
|
||||
g_headacc = sanitize_integer(g_headacc, 0, 255, initial(g_headacc))
|
||||
b_headacc = sanitize_integer(b_headacc, 0, 255, initial(b_headacc))
|
||||
h_style = sanitize_inlist(h_style, hair_styles_list, initial(h_style))
|
||||
f_style = sanitize_inlist(f_style, facial_hair_styles_list, initial(f_style))
|
||||
m_style = sanitize_inlist(m_style, marking_styles_list, initial(m_style))
|
||||
ha_style = sanitize_inlist(ha_style, head_accessory_styles_list, initial(ha_style))
|
||||
r_eyes = sanitize_integer(r_eyes, 0, 255, initial(r_eyes))
|
||||
g_eyes = sanitize_integer(g_eyes, 0, 255, initial(g_eyes))
|
||||
b_eyes = sanitize_integer(b_eyes, 0, 255, initial(b_eyes))
|
||||
@@ -300,8 +322,16 @@
|
||||
skin_red='[r_skin]',
|
||||
skin_green='[g_skin]',
|
||||
skin_blue='[b_skin]',
|
||||
markings_red='[r_markings]',
|
||||
markings_green='[g_markings]',
|
||||
markings_blue='[b_markings]',
|
||||
head_accessory_red='[r_headacc]',
|
||||
head_accessory_green='[g_headacc]',
|
||||
head_accessory_blue='[b_headacc]',
|
||||
hair_style_name='[sql_sanitize_text(h_style)]',
|
||||
facial_style_name='[sql_sanitize_text(f_style)]',
|
||||
marking_style_name='[sql_sanitize_text(m_style)]',
|
||||
head_accessory_style_name='[sql_sanitize_text(ha_style)]',
|
||||
eyes_red='[r_eyes]',
|
||||
eyes_green='[g_eyes]',
|
||||
eyes_blue='[b_eyes]',
|
||||
@@ -351,7 +381,9 @@
|
||||
hair_red, hair_green, hair_blue,
|
||||
facial_red, facial_green, facial_blue,
|
||||
skin_tone, skin_red, skin_green, skin_blue,
|
||||
hair_style_name, facial_style_name,
|
||||
markings_red, markings_green, markings_blue,
|
||||
head_accessory_red, head_accessory_green, head_accessory_blue,
|
||||
hair_style_name, facial_style_name, marking_style_name, head_accessory_style_name,
|
||||
eyes_red, eyes_green, eyes_blue,
|
||||
underwear, undershirt,
|
||||
backbag, b_type, alternate_option,
|
||||
@@ -370,7 +402,9 @@
|
||||
'[r_hair]', '[g_hair]', '[b_hair]',
|
||||
'[r_facial]', '[g_facial]', '[b_facial]',
|
||||
'[s_tone]', '[r_skin]', '[g_skin]', '[b_skin]',
|
||||
'[sql_sanitize_text(h_style)]', '[sql_sanitize_text(f_style)]',
|
||||
'[r_markings]', '[g_markings]', '[b_markings]',
|
||||
'[r_headacc]', '[g_headacc]', '[b_headacc]',
|
||||
'[sql_sanitize_text(h_style)]', '[sql_sanitize_text(f_style)]', '[sql_sanitize_text(m_style)]', '[sql_sanitize_text(ha_style)]',
|
||||
'[r_eyes]', '[g_eyes]', '[b_eyes]',
|
||||
'[underwear]', '[undershirt]',
|
||||
'[backbag]', '[b_type]', '[alternate_option]',
|
||||
@@ -393,98 +427,6 @@
|
||||
return
|
||||
return 1
|
||||
|
||||
// If you see this proc lying around and don't know why it's there, expunge it, as this is for a short-term DB update, starting 27/12/2015
|
||||
// 0 on failed update, 1 on success
|
||||
/datum/preferences/proc/old_roles_to_new(var/client/C)
|
||||
var/DBQuery/query = dbcon.NewQuery({"
|
||||
SELECT be_special
|
||||
FROM [format_table_name("player")]
|
||||
WHERE ckey='[C.ckey]'"})
|
||||
if(!query.Execute())
|
||||
return 0
|
||||
var/old_be_special
|
||||
while(query.NextRow())
|
||||
old_be_special = text2num(query.item[1])
|
||||
if(isnull(old_be_special))
|
||||
message_admins("SQL NOTICE: be_special has been purged from the database, bug the coders.\n")
|
||||
return 0
|
||||
|
||||
old_be_special = sanitize_integer(old_be_special, 0, 65535)
|
||||
var/B_traitor = 1
|
||||
var/B_operative = 2
|
||||
var/B_changeling = 4
|
||||
var/B_wizard = 8
|
||||
var/B_malf = 16
|
||||
var/B_rev = 32
|
||||
var/B_alien = 64
|
||||
var/B_pai = 128
|
||||
var/B_cultist = 256
|
||||
var/B_ninja = 512
|
||||
var/B_raider = 1024
|
||||
var/B_vampire = 2048
|
||||
var/B_mutineer = 4096
|
||||
var/B_blob = 8192
|
||||
var/B_shadowling = 16384
|
||||
var/B_revenant = 32768
|
||||
|
||||
var/list/archived = list(B_traitor,B_operative,B_changeling,B_wizard,B_malf,B_rev,B_alien,B_pai,B_cultist,B_ninja,B_raider,B_vampire,B_mutineer,B_blob,B_shadowling,B_revenant)
|
||||
|
||||
// meow meow I am the copy cat
|
||||
for(var/flag in archived)
|
||||
if(old_be_special & flag)
|
||||
switch(flag)
|
||||
// hello i am byond i think constant variables r dumm
|
||||
if(1)
|
||||
be_special |= ROLE_TRAITOR
|
||||
if(2)
|
||||
be_special |= ROLE_OPERATIVE
|
||||
if(4)
|
||||
be_special |= ROLE_CHANGELING
|
||||
if(8)
|
||||
be_special |= ROLE_WIZARD
|
||||
if(16)
|
||||
be_special |= ROLE_MALF
|
||||
if(32)
|
||||
be_special |= ROLE_REV
|
||||
if(64)
|
||||
be_special |= ROLE_ALIEN
|
||||
be_special |= ROLE_SENTIENT
|
||||
be_special |= ROLE_DEMON
|
||||
be_special |= ROLE_BORER
|
||||
if(128)
|
||||
be_special |= ROLE_PAI
|
||||
be_special |= ROLE_POSIBRAIN
|
||||
be_special |= ROLE_GUARDIAN
|
||||
if(256)
|
||||
be_special |= ROLE_CULTIST
|
||||
if(512)
|
||||
be_special |= ROLE_NINJA
|
||||
if(1024)
|
||||
be_special |= ROLE_RAIDER
|
||||
if(2048)
|
||||
be_special |= ROLE_VAMPIRE
|
||||
if(4096)
|
||||
be_special |= ROLE_MUTINEER
|
||||
if(8192)
|
||||
be_special |= ROLE_BLOB
|
||||
if(16384)
|
||||
be_special |= ROLE_SHADOWLING
|
||||
if(32768)
|
||||
be_special |= ROLE_REVENANT
|
||||
|
||||
var/DBQuery/query2 = dbcon.NewQuery({"UPDATE [format_table_name("player")]
|
||||
SET
|
||||
be_role='[list2params(sql_sanitize_text_list(be_special))]'
|
||||
WHERE ckey='[C.ckey]'"}
|
||||
)
|
||||
|
||||
if(!query2.Execute())
|
||||
var/err = query2.ErrorMsg()
|
||||
log_game("SQL ERROR during saving player preferences. Error : \[[err]\]\n")
|
||||
message_admins("SQL ERROR during saving player preferences. Error : \[[err]\]\n")
|
||||
return
|
||||
return 1
|
||||
|
||||
/*
|
||||
/datum/preferences/proc/random_character(client/C)
|
||||
var/DBQuery/query = dbcon.NewQuery("SELECT slot FROM [format_table_name("characters")] WHERE ckey='[C.ckey]' ORDER BY slot")
|
||||
|
||||
Reference in New Issue
Block a user