Added citizenship, faction, religion and home system to character generation.

This commit is contained in:
Zuhayr
2014-08-01 22:05:38 +09:30
parent 202398d0e2
commit 1bd8b7baf0
5 changed files with 112 additions and 0 deletions

View File

@@ -746,6 +746,7 @@
#include "code\modules\client\client defines.dm"
#include "code\modules\client\client procs.dm"
#include "code\modules\client\preferences.dm"
#include "code\modules\client\preferences_factions.dm"
#include "code\modules\client\preferences_gear.dm"
#include "code\modules\client\preferences_savefile.dm"
#include "code\modules\client\preferences_spawnpoints.dm"

View File

@@ -77,6 +77,12 @@ datum/preferences
var/language = "None" //Secondary language
var/list/gear //Custom/fluff item loadout.
//Some faction information.
var/home_system = "None" //System of birth.
var/citizenship = "None" //Current home system.
var/faction = "None" //Antag faction/general associated faction.
var/religion = "None" //Religious association.
//Mob preview
var/icon/preview_icon = null
var/icon/preview_icon_front = null
@@ -404,7 +410,14 @@ datum/preferences
dat += "<br><b>Body Color</b><br>"
dat += "<a href='?_src_=prefs;preference=skin;task=input'>Change Color</a> <font face='fixedsys' size='3' color='#[num2hex(r_skin, 2)][num2hex(g_skin, 2)][num2hex(b_skin, 2)]'><table style='display:inline;' bgcolor='#[num2hex(r_skin, 2)][num2hex(g_skin, 2)][num2hex(b_skin)]'><tr><td>__</td></tr></table></font>"
dat += "<br><br><b>Background Information</b><br>"
dat += "<b>Home system</b>: <a href='byond://?src=\ref[user];preference=home_system;task=input'>[home_system]</a><br/>"
dat += "<b>Citizenship</b>: <a href='byond://?src=\ref[user];preference=citizenship;task=input'>[citizenship]</a><br/>"
dat += "<b>Faction</b>: <a href='byond://?src=\ref[user];preference=faction;task=input'>[faction]</a><br/>"
dat += "<b>Religion</b>: <a href='byond://?src=\ref[user];preference=religion;task=input'>[religion]</a><br/>"
dat += "<br><br>"
if(jobban_isbanned(user, "Syndicate"))
dat += "<b>You are banned from antagonist roles.</b>"
src.be_special = 0
@@ -1337,6 +1350,48 @@ datum/preferences
return
spawnpoint = choice
if("home_system")
var/choice = input(user, "Please choose a home system.") as null|anything in home_system_choices + list("None","Other")
if(!choice)
return
if(choice == "Other")
var/raw_choice = input(user, "Please enter a home system.") as text|null
if(raw_choice)
home_system = sanitize(copytext(raw_choice,1,MAX_MESSAGE_LEN))
return
home_system = choice
if("citizenship")
var/choice = input(user, "Please choose your current citizenship.") as null|anything in citizenship_choices + list("None","Other")
if(!choice)
return
if(choice == "Other")
var/raw_choice = input(user, "Please enter your current citizenship.", "Character Preference") as text|null
if(raw_choice)
citizenship = sanitize(copytext(raw_choice,1,MAX_MESSAGE_LEN))
return
citizenship = choice
if("faction")
var/choice = input(user, "Please choose a faction to work for.") as null|anything in faction_choices + list("None","Other")
if(!choice)
return
if(choice == "Other")
var/raw_choice = input(user, "Please enter a faction.") as text|null
if(raw_choice)
faction = sanitize(copytext(raw_choice,1,MAX_MESSAGE_LEN))
return
faction = choice
if("religion")
var/choice = input(user, "Please choose a religion.") as null|anything in religion_choices + list("None","Other")
if(!choice)
return
if(choice == "Other")
var/raw_choice = input(user, "Please enter a religon.") as text|null
if(raw_choice)
religion = sanitize(copytext(raw_choice,1,MAX_MESSAGE_LEN))
return
religion = choice
else
switch(href_list["preference"])
if("gender")

View File

@@ -0,0 +1,40 @@
var/global/list/citizenship_choices = list(
"Earth",
"Mars",
"Moghes",
"Ahdomai",
"Qerrbalak"
)
var/global/list/home_system_choices = list(
"Sol",
"Nyx",
"Tau Ceti",
"Epsilon Ursae Majoris",
"S'randarr"
)
var/global/list/faction_choices = list(
"Sol Central",
"Vey Med",
"Aleph",
"Einstein Engines",
"Free Trade Union",
"NanoTrasen",
"Ward-Takahashi GMB",
"Gilthari Exports",
"Grayson Manufactories Ltd.",
"Aether Atmospherics",
"Zeng-Hu Pharmaceuticals",
"Hesphaistos Industries"
)
var/global/list/religion_choices = list(
"Unitarianism",
"Hinduism",
"Buddhist",
"Islamic",
"Christian",
"Agnostic",
"Deist"
)

View File

@@ -166,6 +166,10 @@
S["skill_specialization"] >> skill_specialization
S["organ_data"] >> organ_data
S["gear"] >> gear
S["home_system"] >> home_system
S["citizenship"] >> citizenship
S["faction"] >> faction
S["religion"] >> religion
S["nanotrasen_relation"] >> nanotrasen_relation
//S["skin_style"] >> skin_style
@@ -225,6 +229,11 @@
if(!gear) src.gear = list()
//if(!skin_style) skin_style = "Default"
if(!home_system) home_system = "None"
if(!citizenship) citizenship = "None"
if(!faction) faction = "None"
if(!religion) religion = "None"
return 1
/datum/preferences/proc/save_character()
@@ -297,6 +306,10 @@
S["skill_specialization"] << skill_specialization
S["organ_data"] << organ_data
S["gear"] << gear
S["home_system"] << home_system
S["citizenship"] << citizenship
S["faction"] << faction
S["religion"] << religion
S["nanotrasen_relation"] << nanotrasen_relation
//S["skin_style"] << skin_style

View File

@@ -330,6 +330,9 @@
if(character.mind.assigned_role != "Cyborg")
data_core.manifest_inject(character)
ticker.minds += character.mind//Cyborgs and AIs handle this in the transform proc. //TODO!!!!! ~Carn
//Grab some data from the character prefs for use in random news procs.
AnnounceArrival(character, rank, join_message)
else