mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-12 03:02:54 +00:00
Added citizenship, faction, religion and home system to character generation.
This commit is contained in:
@@ -746,6 +746,7 @@
|
|||||||
#include "code\modules\client\client defines.dm"
|
#include "code\modules\client\client defines.dm"
|
||||||
#include "code\modules\client\client procs.dm"
|
#include "code\modules\client\client procs.dm"
|
||||||
#include "code\modules\client\preferences.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_gear.dm"
|
||||||
#include "code\modules\client\preferences_savefile.dm"
|
#include "code\modules\client\preferences_savefile.dm"
|
||||||
#include "code\modules\client\preferences_spawnpoints.dm"
|
#include "code\modules\client\preferences_spawnpoints.dm"
|
||||||
|
|||||||
@@ -77,6 +77,12 @@ datum/preferences
|
|||||||
var/language = "None" //Secondary language
|
var/language = "None" //Secondary language
|
||||||
var/list/gear //Custom/fluff item loadout.
|
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
|
//Mob preview
|
||||||
var/icon/preview_icon = null
|
var/icon/preview_icon = null
|
||||||
var/icon/preview_icon_front = null
|
var/icon/preview_icon_front = null
|
||||||
@@ -404,7 +410,14 @@ datum/preferences
|
|||||||
dat += "<br><b>Body Color</b><br>"
|
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 += "<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>"
|
dat += "<br><br>"
|
||||||
|
|
||||||
if(jobban_isbanned(user, "Syndicate"))
|
if(jobban_isbanned(user, "Syndicate"))
|
||||||
dat += "<b>You are banned from antagonist roles.</b>"
|
dat += "<b>You are banned from antagonist roles.</b>"
|
||||||
src.be_special = 0
|
src.be_special = 0
|
||||||
@@ -1337,6 +1350,48 @@ datum/preferences
|
|||||||
return
|
return
|
||||||
spawnpoint = choice
|
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
|
else
|
||||||
switch(href_list["preference"])
|
switch(href_list["preference"])
|
||||||
if("gender")
|
if("gender")
|
||||||
|
|||||||
40
code/modules/client/preferences_factions.dm
Normal file
40
code/modules/client/preferences_factions.dm
Normal 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"
|
||||||
|
)
|
||||||
@@ -166,6 +166,10 @@
|
|||||||
S["skill_specialization"] >> skill_specialization
|
S["skill_specialization"] >> skill_specialization
|
||||||
S["organ_data"] >> organ_data
|
S["organ_data"] >> organ_data
|
||||||
S["gear"] >> gear
|
S["gear"] >> gear
|
||||||
|
S["home_system"] >> home_system
|
||||||
|
S["citizenship"] >> citizenship
|
||||||
|
S["faction"] >> faction
|
||||||
|
S["religion"] >> religion
|
||||||
|
|
||||||
S["nanotrasen_relation"] >> nanotrasen_relation
|
S["nanotrasen_relation"] >> nanotrasen_relation
|
||||||
//S["skin_style"] >> skin_style
|
//S["skin_style"] >> skin_style
|
||||||
@@ -225,6 +229,11 @@
|
|||||||
if(!gear) src.gear = list()
|
if(!gear) src.gear = list()
|
||||||
//if(!skin_style) skin_style = "Default"
|
//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
|
return 1
|
||||||
|
|
||||||
/datum/preferences/proc/save_character()
|
/datum/preferences/proc/save_character()
|
||||||
@@ -297,6 +306,10 @@
|
|||||||
S["skill_specialization"] << skill_specialization
|
S["skill_specialization"] << skill_specialization
|
||||||
S["organ_data"] << organ_data
|
S["organ_data"] << organ_data
|
||||||
S["gear"] << gear
|
S["gear"] << gear
|
||||||
|
S["home_system"] << home_system
|
||||||
|
S["citizenship"] << citizenship
|
||||||
|
S["faction"] << faction
|
||||||
|
S["religion"] << religion
|
||||||
|
|
||||||
S["nanotrasen_relation"] << nanotrasen_relation
|
S["nanotrasen_relation"] << nanotrasen_relation
|
||||||
//S["skin_style"] << skin_style
|
//S["skin_style"] << skin_style
|
||||||
|
|||||||
@@ -330,6 +330,9 @@
|
|||||||
if(character.mind.assigned_role != "Cyborg")
|
if(character.mind.assigned_role != "Cyborg")
|
||||||
data_core.manifest_inject(character)
|
data_core.manifest_inject(character)
|
||||||
ticker.minds += character.mind//Cyborgs and AIs handle this in the transform proc. //TODO!!!!! ~Carn
|
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)
|
AnnounceArrival(character, rank, join_message)
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user