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 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.
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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 = ""
|
||||||
|
|||||||
@@ -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"])
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user