From a272cb26264046aa60806410028d689e9d67a483 Mon Sep 17 00:00:00 2001 From: PJB3005 Date: Wed, 17 Dec 2014 14:18:57 +0100 Subject: [PATCH 1/4] Old vox choice --- SQL/paradise_schema.sql | 1 + code/modules/client/preferences.dm | 9 ++++++++- code/modules/client/preferences_mysql.dm | 6 ++++-- code/modules/customitems/item_spawning.dm | 12 +++++++++--- 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql index 8bee94b9436..a38d292bcd4 100644 --- a/SQL/paradise_schema.sql +++ b/SQL/paradise_schema.sql @@ -76,6 +76,7 @@ CREATE TABLE `characters` ( `player_alt_titles` mediumtext NOT NULL, `organ_data` mediumtext NOT NULL, `nanotrasen_relation` varchar(45) NOT NULL, + `speciesprefs` int(1) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 8e31738e667..7eb55dd8996 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -19,7 +19,7 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set "slime" = 1, // 12 "vampire" = IS_MODE_COMPILED("vampire"), // 13 "mutineer" = IS_MODE_COMPILED("mutiny"), // 14 - "blob" = IS_MODE_COMPILED("blob") // 15 + "blob" = IS_MODE_COMPILED("blob") // 15 ) var/const/MAX_SAVE_SLOTS = 10 @@ -79,6 +79,8 @@ datum/preferences var/species = "Human" var/language = "None" //Secondary language + var/speciesprefs = 0//I hate having to do this, I really do (Using this for oldvox code, making names universal I guess + //Mob preview var/icon/preview_icon = null var/icon/preview_icon_front = null @@ -182,10 +184,13 @@ datum/preferences dat += "(®)" dat += "
" dat += "Species: [species]
" + if(species == "Vox")//oldvox code, sucks I know + dat += "Old vox? [speciesprefs ? "Yes(Big N2 tank w/ magclaws)" : "No(Vox-special N2 tank w/o magclaws)"]
" dat += "Secondary Language:
[language]
" dat += "Blood Type: [b_type]
" if(species == "Human") dat += "Skin Tone: [-s_tone + 35]/220
" + // dat += "Skin pattern: Adjust
" dat += "
Handicaps
" dat += "\t\[Set Disabilities\]
" @@ -1022,6 +1027,8 @@ datum/preferences b_hair = 0//hex2num(copytext(new_hair, 6, 8)) s_tone = 0 + if("speciesprefs")//oldvox code + speciesprefs = !speciesprefs if("language") // var/languages_available diff --git a/code/modules/client/preferences_mysql.dm b/code/modules/client/preferences_mysql.dm index b7365d004b2..c4f86593d10 100644 --- a/code/modules/client/preferences_mysql.dm +++ b/code/modules/client/preferences_mysql.dm @@ -119,6 +119,7 @@ organ_data = params2list(query.item[50]) nanotrasen_relation = query.item[51] + speciesprefs = text2num(query.item[52]) //Sanitize metadata = sanitize_text(metadata, initial(metadata)) @@ -126,6 +127,7 @@ if(isnull(species)) species = "Human" if(isnull(language)) language = "None" if(isnull(nanotrasen_relation)) nanotrasen_relation = initial(nanotrasen_relation) + if(isnull(speciesprefs)) speciesprefs = initial(speciesprefs) if(!real_name) real_name = random_name(gender,species) be_random_name = sanitize_integer(be_random_name, 0, 1, initial(be_random_name)) gender = sanitize_gender(gender) @@ -184,14 +186,14 @@ firstquery.Execute() while(firstquery.NextRow()) if(text2num(firstquery.item[1]) == default_slot) - var/DBQuery/query = dbcon.NewQuery("UPDATE characters SET OOC_Notes='[sql_sanitize_text(metadata)]',real_name='[sql_sanitize_text(real_name)]',name_is_always_random='[be_random_name]',gender='[gender]',age='[age]',species='[sql_sanitize_text(species)]',language='[sql_sanitize_text(language)]',hair_red='[r_hair]',hair_green='[g_hair]',hair_blue='[b_hair]',facial_red='[r_facial]',facial_green='[g_facial]',facial_blue='[b_facial]',skin_tone='[s_tone]',skin_red='[r_skin]',skin_green='[g_skin]',skin_blue='[b_skin]',hair_style_name='[sql_sanitize_text(h_style)]',facial_style_name='[sql_sanitize_text(f_style)]',eyes_red='[r_eyes]',eyes_green='[g_eyes]',eyes_blue='[b_eyes]',underwear='[underwear]',undershirt='[undershirt]',backbag='[backbag]',b_type='[b_type]',alternate_option='[alternate_option]',job_support_high='[job_support_high]',job_support_med='[job_support_med]',job_support_low='[job_support_low]',job_medsci_high='[job_medsci_high]',job_medsci_med='[job_medsci_med]',job_medsci_low='[job_medsci_low]',job_engsec_high='[job_engsec_high]',job_engsec_med='[job_engsec_med]',job_engsec_low='[job_engsec_low]',job_karma_high='[job_karma_high]',job_karma_med='[job_karma_med]',job_karma_low='[job_karma_low]',flavor_text='[sql_sanitize_text(flavor_text)]',med_record='[sql_sanitize_text(med_record)]',sec_record='[sql_sanitize_text(sec_record)]',gen_record='[sql_sanitize_text(gen_record)]',player_alt_titles='[sql_sanitize_text(playertitlelist)]',be_special='[be_special]',disabilities='[disabilities]',organ_data='[organlist]',nanotrasen_relation='[nanotrasen_relation]' WHERE ckey='[C.ckey]' AND slot='[default_slot]'") + var/DBQuery/query = dbcon.NewQuery("UPDATE characters SET OOC_Notes='[sql_sanitize_text(metadata)]',real_name='[sql_sanitize_text(real_name)]',name_is_always_random='[be_random_name]',gender='[gender]',age='[age]',species='[sql_sanitize_text(species)]',language='[sql_sanitize_text(language)]',hair_red='[r_hair]',hair_green='[g_hair]',hair_blue='[b_hair]',facial_red='[r_facial]',facial_green='[g_facial]',facial_blue='[b_facial]',skin_tone='[s_tone]',skin_red='[r_skin]',skin_green='[g_skin]',skin_blue='[b_skin]',hair_style_name='[sql_sanitize_text(h_style)]',facial_style_name='[sql_sanitize_text(f_style)]',eyes_red='[r_eyes]',eyes_green='[g_eyes]',eyes_blue='[b_eyes]',underwear='[underwear]',undershirt='[undershirt]',backbag='[backbag]',b_type='[b_type]',alternate_option='[alternate_option]',job_support_high='[job_support_high]',job_support_med='[job_support_med]',job_support_low='[job_support_low]',job_medsci_high='[job_medsci_high]',job_medsci_med='[job_medsci_med]',job_medsci_low='[job_medsci_low]',job_engsec_high='[job_engsec_high]',job_engsec_med='[job_engsec_med]',job_engsec_low='[job_engsec_low]',job_karma_high='[job_karma_high]',job_karma_med='[job_karma_med]',job_karma_low='[job_karma_low]',flavor_text='[sql_sanitize_text(flavor_text)]',med_record='[sql_sanitize_text(med_record)]',sec_record='[sql_sanitize_text(sec_record)]',gen_record='[sql_sanitize_text(gen_record)]',player_alt_titles='[sql_sanitize_text(playertitlelist)]',be_special='[be_special]',disabilities='[disabilities]',organ_data='[organlist]',nanotrasen_relation='[nanotrasen_relation]', speciesprefs='[speciesprefs]' WHERE ckey='[C.ckey]' AND slot='[default_slot]'") if(!query.Execute()) var/err = query.ErrorMsg() log_game("SQL ERROR during character slot saving. Error : \[[err]\]\n") message_admins("SQL ERROR during character slot saving. Error : \[[err]\]\n") return return 1 - var/DBQuery/query = dbcon.NewQuery("INSERT INTO characters (ckey,slot,OOC_Notes,real_name,name_is_always_random,gender,age,species,language,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,eyes_red,eyes_green,eyes_blue,underwear,undershirt,backbag,b_type,alternate_option,job_support_high,job_support_med,job_support_low,job_medsci_high,job_medsci_med,job_medsci_low,job_engsec_high,job_engsec_med,job_engsec_low,job_karma_high,job_karma_med,job_karma_low,flavor_text,med_record,sec_record,gen_record,player_alt_titles,be_special,disabilities,organ_data,nanotrasen_relation) VALUES ('[C.ckey]','[default_slot]','[sql_sanitize_text(metadata)]','[sql_sanitize_text(real_name)]','[be_random_name]','[gender]','[age]','[sql_sanitize_text(species)]','[sql_sanitize_text(language)]','[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_eyes]','[g_eyes]','[b_eyes]','[underwear]','[undershirt]','[backbag]','[b_type]','[alternate_option]','[job_support_high]','[job_support_med]','[job_support_low]','[job_medsci_high]','[job_medsci_med]','[job_medsci_low]','[job_engsec_high]','[job_engsec_med]','[job_engsec_low]','[job_karma_high]','[job_karma_med]','[job_karma_low]','[sql_sanitize_text(flavor_text)]','[sql_sanitize_text(med_record)]','[sql_sanitize_text(sec_record)]','[sql_sanitize_text(gen_record)]','[playertitlelist]','[be_special]','[disabilities]','[organlist]','[nanotrasen_relation]')") + var/DBQuery/query = dbcon.NewQuery("INSERT INTO characters (ckey,slot,OOC_Notes,real_name,name_is_always_random,gender,age,species,language,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,eyes_red,eyes_green,eyes_blue,underwear,undershirt,backbag,b_type,alternate_option,job_support_high,job_support_med,job_support_low,job_medsci_high,job_medsci_med,job_medsci_low,job_engsec_high,job_engsec_med,job_engsec_low,job_karma_high,job_karma_med,job_karma_low,flavor_text,med_record,sec_record,gen_record,player_alt_titles,be_special,disabilities,organ_data,nanotrasen_relation, speciesprefs) VALUES ('[C.ckey]','[default_slot]','[sql_sanitize_text(metadata)]','[sql_sanitize_text(real_name)]','[be_random_name]','[gender]','[age]','[sql_sanitize_text(species)]','[sql_sanitize_text(language)]','[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_eyes]','[g_eyes]','[b_eyes]','[underwear]','[undershirt]','[backbag]','[b_type]','[alternate_option]','[job_support_high]','[job_support_med]','[job_support_low]','[job_medsci_high]','[job_medsci_med]','[job_medsci_low]','[job_engsec_high]','[job_engsec_med]','[job_engsec_low]','[job_karma_high]','[job_karma_med]','[job_karma_low]','[sql_sanitize_text(flavor_text)]','[sql_sanitize_text(med_record)]','[sql_sanitize_text(sec_record)]','[sql_sanitize_text(gen_record)]','[playertitlelist]','[be_special]','[disabilities]','[organlist]','[nanotrasen_relation]', '[speciesprefs]')") if(!query.Execute()) var/err = query.ErrorMsg() log_game("SQL ERROR during character slot saving. Error : \[[err]\]\n") diff --git a/code/modules/customitems/item_spawning.dm b/code/modules/customitems/item_spawning.dm index 431e1a0d89d..4b20638acc9 100644 --- a/code/modules/customitems/item_spawning.dm +++ b/code/modules/customitems/item_spawning.dm @@ -1,9 +1,15 @@ /proc/EquipRacialItems(mob/living/carbon/human/M) if(M.species.name == "Vox" || M.species.name == "Vox Armalis") M.equip_to_slot_or_del(new /obj/item/clothing/mask/breath(M), slot_wear_mask) - M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/vox(M), slot_l_hand) - M << "\blue You are now running on nitrogen internals from your [M.l_hand]. Your species finds oxygen toxic, so you must breathe nitrogen only." - M.internal = M.l_hand + if(M.client.prefs.speciesprefs)//Diseasel, here you go + M.equip_to_slot_or_del(new /obj/item/weapon/tank/nitrogen(M), slot_back) + M << "\blue You are now running on nitrogen internals from the [M.back] in your suit storage. Your species finds oxygen toxic, so you must breathe nitrogen only." + M.internal = M.back + M.equip_to_slot_or_del(new /obj/item/clothing/shoes/magboots/vox(M), slot_shoes) + else + M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/vox(M), slot_l_hand) + M << "\blue You are now running on nitrogen internals from your [M.l_hand]. Your species finds oxygen toxic, so you must breathe nitrogen only." + M.internal = M.l_hand if (M.internals) M.internals.icon_state = "internal1" From 25e6558f4f180126bb22f8a2ee4bef3a304a7a01 Mon Sep 17 00:00:00 2001 From: PJB3005 Date: Thu, 18 Dec 2014 12:47:53 +0100 Subject: [PATCH 2/4] fine, have it your way, fox --- code/modules/customitems/item_spawning.dm | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/code/modules/customitems/item_spawning.dm b/code/modules/customitems/item_spawning.dm index 4b20638acc9..121dc274ca4 100644 --- a/code/modules/customitems/item_spawning.dm +++ b/code/modules/customitems/item_spawning.dm @@ -3,13 +3,10 @@ M.equip_to_slot_or_del(new /obj/item/clothing/mask/breath(M), slot_wear_mask) if(M.client.prefs.speciesprefs)//Diseasel, here you go M.equip_to_slot_or_del(new /obj/item/weapon/tank/nitrogen(M), slot_back) - M << "\blue You are now running on nitrogen internals from the [M.back] in your suit storage. Your species finds oxygen toxic, so you must breathe nitrogen only." - M.internal = M.back - M.equip_to_slot_or_del(new /obj/item/clothing/shoes/magboots/vox(M), slot_shoes) else M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/vox(M), slot_l_hand) - M << "\blue You are now running on nitrogen internals from your [M.l_hand]. Your species finds oxygen toxic, so you must breathe nitrogen only." - M.internal = M.l_hand + M << "\blue You are now running on nitrogen internals from your [M.l_hand]. Your species finds oxygen toxic, so you must breathe nitrogen only." + M.internal = M.l_hand if (M.internals) M.internals.icon_state = "internal1" From 67c1b34aaed6b1b4328ed1ac598e878f610ff28c Mon Sep 17 00:00:00 2001 From: PJB3005 Date: Thu, 18 Dec 2014 13:04:54 +0100 Subject: [PATCH 3/4] oops, I forgot a thing --- code/modules/client/preferences.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 7eb55dd8996..bf5a8674465 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -185,7 +185,7 @@ datum/preferences dat += "
" dat += "Species: [species]
" if(species == "Vox")//oldvox code, sucks I know - dat += "Old vox? [speciesprefs ? "Yes(Big N2 tank w/ magclaws)" : "No(Vox-special N2 tank w/o magclaws)"]
" + dat += "Old vox? [speciesprefs ? "Yes(Big N2 tank)" : "No(Vox-special N2 tank)"]
" dat += "Secondary Language:
[language]
" dat += "Blood Type: [b_type]
" if(species == "Human") From 922c5a93e2f457651210ea3550f7767e39ddc056 Mon Sep 17 00:00:00 2001 From: PJB3005 Date: Fri, 19 Dec 2014 12:11:03 +0100 Subject: [PATCH 4/4] fixed --- code/modules/customitems/item_spawning.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/customitems/item_spawning.dm b/code/modules/customitems/item_spawning.dm index 121dc274ca4..98321a82954 100644 --- a/code/modules/customitems/item_spawning.dm +++ b/code/modules/customitems/item_spawning.dm @@ -2,7 +2,7 @@ if(M.species.name == "Vox" || M.species.name == "Vox Armalis") M.equip_to_slot_or_del(new /obj/item/clothing/mask/breath(M), slot_wear_mask) if(M.client.prefs.speciesprefs)//Diseasel, here you go - M.equip_to_slot_or_del(new /obj/item/weapon/tank/nitrogen(M), slot_back) + M.equip_to_slot_or_del(new /obj/item/weapon/tank/nitrogen(M), slot_l_hand) else M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/vox(M), slot_l_hand) M << "\blue You are now running on nitrogen internals from your [M.l_hand]. Your species finds oxygen toxic, so you must breathe nitrogen only."