From 5ffb0ee7e7380389778b6129deb85f92db59cacb Mon Sep 17 00:00:00 2001 From: PrismaticGynoid Date: Sun, 7 Jan 2018 13:56:33 -0800 Subject: [PATCH] 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. --- code/__defines/mobs.dm | 14 +++++++------- code/game/gamemodes/game_mode.dm | 4 ++-- code/game/jobs/job/job.dm | 16 ++++++++-------- .../preference_setup/general/05_background.dm | 16 ++++++++-------- code/modules/client/preferences.dm | 2 +- 5 files changed, 26 insertions(+), 26 deletions(-) diff --git a/code/__defines/mobs.dm b/code/__defines/mobs.dm index 84007beae3..95ed996f24 100644 --- a/code/__defines/mobs.dm +++ b/code/__defines/mobs.dm @@ -102,14 +102,14 @@ #define INV_SUIT_DEF_ICON 'icons/mob/suit.dmi' #define MAX_SUPPLIED_LAW_NUMBER 50 -// NT's alignment towards the character -#define COMPANY_LOYAL "Loyal" -#define COMPANY_SUPPORTATIVE "Supportive" -#define COMPANY_NEUTRAL "Neutral" -#define COMPANY_SKEPTICAL "Skeptical" -#define COMPANY_OPPOSED "Opposed" +// Character's economic class +#define CLASS_UPPER "Wealthy" +#define CLASS_UPMID "Well-off" +#define CLASS_MIDDLE "Average" +#define CLASS_LOWMID "Underpaid" +#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. diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 2418f8afb9..8ab82e5e84 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -514,9 +514,9 @@ proc/get_nt_opposed() var/list/dudes = list() for(var/mob/living/carbon/human/man in player_list) if(man.client) - if(man.client.prefs.nanotrasen_relation == COMPANY_OPPOSED) + if(man.client.prefs.economic_status == CLASS_LOWER) 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 if(dudes.len == 0) return null return pick(dudes) diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm index 5614e1d738..e2a92afd34 100644 --- a/code/game/jobs/job/job.dm +++ b/code/game/jobs/job/job.dm @@ -51,17 +51,17 @@ if(!account_allowed || (H.mind && H.mind.initial_account)) return - var/loyalty = 1 + var/income = 1 if(H.client) - switch(H.client.prefs.nanotrasen_relation) - if(COMPANY_LOYAL) loyalty = 1.30 - if(COMPANY_SUPPORTATIVE)loyalty = 1.15 - if(COMPANY_NEUTRAL) loyalty = 1 - if(COMPANY_SKEPTICAL) loyalty = 0.85 - if(COMPANY_OPPOSED) loyalty = 0.70 + switch(H.client.prefs.economic_status) + if(CLASS_UPPER) income = 1.30 + if(CLASS_UPMID) income = 1.15 + if(CLASS_MIDDLE) income = 1 + if(CLASS_LOWMID) income = 0.75 + if(CLASS_LOWER) income = 0.50 //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) if(H.mind) var/remembered_info = "" diff --git a/code/modules/client/preference_setup/general/05_background.dm b/code/modules/client/preference_setup/general/05_background.dm index 1f87f0a379..079cedca93 100644 --- a/code/modules/client/preference_setup/general/05_background.dm +++ b/code/modules/client/preference_setup/general/05_background.dm @@ -10,7 +10,7 @@ S["citizenship"] >> pref.citizenship S["faction"] >> pref.faction 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) S["med_record"] << pref.med_record @@ -20,7 +20,7 @@ S["citizenship"] << pref.citizenship S["faction"] << pref.faction 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() if(!pref.home_system) pref.home_system = "Unset" @@ -28,7 +28,7 @@ if(!pref.faction) pref.faction = "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() /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) . += "Background Information
" - . += "[using_map.company_name] Relation: [pref.nanotrasen_relation]
" + . += "Economic Status: [pref.economic_status]
" . += "Home System: [pref.home_system]
" . += "Citizenship: [pref.citizenship]
" . += "Faction: [pref.faction]
" @@ -60,10 +60,10 @@ . += "[TextPreview(pref.sec_record,40)]
" /datum/category_item/player_setup_item/general/background/OnTopic(var/href,var/list/href_list, var/mob/user) - if(href_list["nt_relation"]) - 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 - if(new_relation && CanUseTopic(user)) - pref.nanotrasen_relation = new_relation + if(href_list["econ_status"]) + 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_class && CanUseTopic(user)) + pref.economic_status = new_class return TOPIC_REFRESH else if(href_list["home_system"]) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 23ad2d7409..40322abb57 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -105,7 +105,7 @@ datum/preferences var/exploit_record = "" var/disabilities = 0 - var/nanotrasen_relation = "Neutral" + var/economic_status = "Average" var/uplinklocation = "PDA"