mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
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:
@@ -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.
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 = ""
|
||||
|
||||
@@ -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)
|
||||
. += "<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/>"
|
||||
. += "Citizenship: <a href='?src=\ref[src];citizenship=1'>[pref.citizenship]</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>"
|
||||
|
||||
/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"])
|
||||
|
||||
@@ -105,7 +105,7 @@ datum/preferences
|
||||
var/exploit_record = ""
|
||||
var/disabilities = 0
|
||||
|
||||
var/nanotrasen_relation = "Neutral"
|
||||
var/economic_status = "Average"
|
||||
|
||||
var/uplinklocation = "PDA"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user