Replaces NT Relation with Economic Status

Because starting money is pretty much all it affects, anyway. Instead of just being used to measure NT's opinion of you, you now choose income categories to fall under. This still affects how much money you start with, with the highest category giving a 1.3x modifier, but the lowest has been lowered to 0.5 times. Now you can start with even less money than before.

Currently doesn't change the "this person might be willing to help you" message for traitors, but it would be easy to do something different with that if requested.
This commit is contained in:
PrismaticGynoid
2018-01-07 13:56:33 -08:00
parent ed9f417cc3
commit 5ffb0ee7e7
5 changed files with 26 additions and 26 deletions

View File

@@ -102,14 +102,14 @@
#define INV_SUIT_DEF_ICON 'icons/mob/suit.dmi' #define INV_SUIT_DEF_ICON 'icons/mob/suit.dmi'
#define MAX_SUPPLIED_LAW_NUMBER 50 #define MAX_SUPPLIED_LAW_NUMBER 50
// NT's alignment towards the character // Character's economic class
#define COMPANY_LOYAL "Loyal" #define CLASS_UPPER "Wealthy"
#define COMPANY_SUPPORTATIVE "Supportive" #define CLASS_UPMID "Well-off"
#define COMPANY_NEUTRAL "Neutral" #define CLASS_MIDDLE "Average"
#define COMPANY_SKEPTICAL "Skeptical" #define CLASS_LOWMID "Underpaid"
#define COMPANY_OPPOSED "Opposed" #define CLASS_LOWER "Poor"
#define COMPANY_ALIGNMENTS list(COMPANY_LOYAL,COMPANY_SUPPORTATIVE,COMPANY_NEUTRAL,COMPANY_SKEPTICAL,COMPANY_OPPOSED) #define ECONOMIC_CLASS list(CLASS_UPPER,CLASS_UPMID,CLASS_MIDDLE,CLASS_LOWMID,CLASS_LOWER)
// Defines mob sizes, used by lockers and to determine what is considered a small sized mob, etc. // Defines mob sizes, used by lockers and to determine what is considered a small sized mob, etc.

View File

@@ -514,9 +514,9 @@ proc/get_nt_opposed()
var/list/dudes = list() var/list/dudes = list()
for(var/mob/living/carbon/human/man in player_list) for(var/mob/living/carbon/human/man in player_list)
if(man.client) if(man.client)
if(man.client.prefs.nanotrasen_relation == COMPANY_OPPOSED) if(man.client.prefs.economic_status == CLASS_LOWER)
dudes += man dudes += man
else if(man.client.prefs.nanotrasen_relation == COMPANY_SKEPTICAL && prob(50)) else if(man.client.prefs.economic_status == CLASS_LOWMID && prob(50))
dudes += man dudes += man
if(dudes.len == 0) return null if(dudes.len == 0) return null
return pick(dudes) return pick(dudes)

View File

@@ -51,17 +51,17 @@
if(!account_allowed || (H.mind && H.mind.initial_account)) if(!account_allowed || (H.mind && H.mind.initial_account))
return return
var/loyalty = 1 var/income = 1
if(H.client) if(H.client)
switch(H.client.prefs.nanotrasen_relation) switch(H.client.prefs.economic_status)
if(COMPANY_LOYAL) loyalty = 1.30 if(CLASS_UPPER) income = 1.30
if(COMPANY_SUPPORTATIVE)loyalty = 1.15 if(CLASS_UPMID) income = 1.15
if(COMPANY_NEUTRAL) loyalty = 1 if(CLASS_MIDDLE) income = 1
if(COMPANY_SKEPTICAL) loyalty = 0.85 if(CLASS_LOWMID) income = 0.75
if(COMPANY_OPPOSED) loyalty = 0.70 if(CLASS_LOWER) income = 0.50
//give them an account in the station database //give them an account in the station database
var/money_amount = (rand(5,50) + rand(5, 50)) * loyalty * economic_modifier * (H.species ? economic_species_modifier[H.species.type] : 2) var/money_amount = (rand(5,50) + rand(5, 50)) * income * economic_modifier * (H.species ? economic_species_modifier[H.species.type] : 2)
var/datum/money_account/M = create_account(H.real_name, money_amount, null) var/datum/money_account/M = create_account(H.real_name, money_amount, null)
if(H.mind) if(H.mind)
var/remembered_info = "" var/remembered_info = ""

View File

@@ -10,7 +10,7 @@
S["citizenship"] >> pref.citizenship S["citizenship"] >> pref.citizenship
S["faction"] >> pref.faction S["faction"] >> pref.faction
S["religion"] >> pref.religion S["religion"] >> pref.religion
S["nanotrasen_relation"] >> pref.nanotrasen_relation S["economic_status"] >> pref.economic_status
/datum/category_item/player_setup_item/general/background/save_character(var/savefile/S) /datum/category_item/player_setup_item/general/background/save_character(var/savefile/S)
S["med_record"] << pref.med_record S["med_record"] << pref.med_record
@@ -20,7 +20,7 @@
S["citizenship"] << pref.citizenship S["citizenship"] << pref.citizenship
S["faction"] << pref.faction S["faction"] << pref.faction
S["religion"] << pref.religion S["religion"] << pref.religion
S["nanotrasen_relation"] << pref.nanotrasen_relation S["economic_status"] << pref.economic_status
/datum/category_item/player_setup_item/general/background/sanitize_character() /datum/category_item/player_setup_item/general/background/sanitize_character()
if(!pref.home_system) pref.home_system = "Unset" if(!pref.home_system) pref.home_system = "Unset"
@@ -28,7 +28,7 @@
if(!pref.faction) pref.faction = "None" if(!pref.faction) pref.faction = "None"
if(!pref.religion) pref.religion = "None" if(!pref.religion) pref.religion = "None"
pref.nanotrasen_relation = sanitize_inlist(pref.nanotrasen_relation, COMPANY_ALIGNMENTS, initial(pref.nanotrasen_relation)) pref.economic_status = sanitize_inlist(pref.economic_status, ECONOMIC_CLASS, initial(pref.economic_status))
// Moved from /datum/preferences/proc/copy_to() // Moved from /datum/preferences/proc/copy_to()
/datum/category_item/player_setup_item/general/background/copy_to_mob(var/mob/living/carbon/human/character) /datum/category_item/player_setup_item/general/background/copy_to_mob(var/mob/living/carbon/human/character)
@@ -42,7 +42,7 @@
/datum/category_item/player_setup_item/general/background/content(var/mob/user) /datum/category_item/player_setup_item/general/background/content(var/mob/user)
. += "<b>Background Information</b><br>" . += "<b>Background Information</b><br>"
. += "[using_map.company_name] Relation: <a href='?src=\ref[src];nt_relation=1'>[pref.nanotrasen_relation]</a><br/>" . += "Economic Status: <a href='?src=\ref[src];econ_status=1'>[pref.economic_status]</a><br/>"
. += "Home System: <a href='?src=\ref[src];home_system=1'>[pref.home_system]</a><br/>" . += "Home System: <a href='?src=\ref[src];home_system=1'>[pref.home_system]</a><br/>"
. += "Citizenship: <a href='?src=\ref[src];citizenship=1'>[pref.citizenship]</a><br/>" . += "Citizenship: <a href='?src=\ref[src];citizenship=1'>[pref.citizenship]</a><br/>"
. += "Faction: <a href='?src=\ref[src];faction=1'>[pref.faction]</a><br/>" . += "Faction: <a href='?src=\ref[src];faction=1'>[pref.faction]</a><br/>"
@@ -60,10 +60,10 @@
. += "<a href='?src=\ref[src];set_security_records=1'>[TextPreview(pref.sec_record,40)]</a><br>" . += "<a href='?src=\ref[src];set_security_records=1'>[TextPreview(pref.sec_record,40)]</a><br>"
/datum/category_item/player_setup_item/general/background/OnTopic(var/href,var/list/href_list, var/mob/user) /datum/category_item/player_setup_item/general/background/OnTopic(var/href,var/list/href_list, var/mob/user)
if(href_list["nt_relation"]) if(href_list["econ_status"])
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 var/new_class = input(user, "Choose your economic status. This will affect the amount of money you will start with.", "Character Preference", pref.economic_status) as null|anything in ECONOMIC_CLASS
if(new_relation && CanUseTopic(user)) if(new_class && CanUseTopic(user))
pref.nanotrasen_relation = new_relation pref.economic_status = new_class
return TOPIC_REFRESH return TOPIC_REFRESH
else if(href_list["home_system"]) else if(href_list["home_system"])

View File

@@ -105,7 +105,7 @@ datum/preferences
var/exploit_record = "" var/exploit_record = ""
var/disabilities = 0 var/disabilities = 0
var/nanotrasen_relation = "Neutral" var/economic_status = "Average"
var/uplinklocation = "PDA" var/uplinklocation = "PDA"