Adds configuration options to economy pay & prices

This commit is contained in:
DragonTrance
2022-06-08 21:39:27 -04:00
parent 2b6fb195a2
commit c771649850
4 changed files with 103 additions and 13 deletions
+9 -12
View File
@@ -1,13 +1,10 @@
#define BASEPAY_ASSISTANT 1
#define BASEPAY_ROOKIE 1.05 //rookies, chaplain, clown, curator, lawyer, etc that dont take much effort to be good in
#define BASEPAY_DEFAULT 1.1
#define BASEPAY_COMMAND 1.3
#define BASEPAY_CAPTAIN 1.65
#define ECONOMY_TYPE_ROOKIE "Rookie"
#define ECONOMY_TYPE_DANGEROUS "Dangerous"
#define ECONOMY_TYPE_COMMAND "Command"
#define PRICE_BASE (BASEPAY_ASSISTANT * 32)
#define PRICE_DEFAULT (PRICE_BASE * 0.5)
#define PRICE_LOW (PRICE_DEFAULT * 0.75)
#define PRICE_HIGH (PRICE_DEFAULT * 2)
#define PRICE_EROTICA (PRICE_DEFAULT * 1.75)
#define PRICE_EXPENSIVE (PRICE_HIGH * 2)
#define ECONOY_PRICE_DEFAULT 0
#define ECONOMY_PRICE_LOW 1
#define ECONOMY_PRICE_HIGH 2
#define ECONOMY_PRICE_EROTIC 3
#define ECONOMY_PRICE_EXPENSIVE 4
#define ECONOMY_PRICE_EXPENSIVE_AF 5
@@ -384,3 +384,51 @@
min_val = 0
/datum/config_entry/flag/dynamic_mode
/datum/config_entry/number/economy_base_payment
config_entry_value = 80
min_val = 0
/datum/config_entry/number/economy_base_pay_ratio
config_entry_value = 3
min_val = 1
/datum/config_entry/number/economy_price_low
config_entry_value = 8
min_val = 0
/datum/config_entry/number/economy_price_default
config_entry_value = 15
min_val = 0
/datum/config_entry/number/economy_price_high
config_entry_value = 30
min_val = 0
/datum/config_entry/number/economy_price_erotic
config_entry_value = 25
min_val = 0
/datum/config_entry/number/economy_price_expensive
config_entry_value = 60
min_val = 0
/datum/config_entry/number/economy_price_expensive_af
config_entry_value = 90
min_val = 0
/datum/config_entry/number/economy_job_rate_default
config_entry_value = 1.2
min_val = 0
/datum/config_entry/keyed_list/economy_job_rate
key_mode = KEY_MODE_TEXT
value_mode = VALUE_MODE_NUM
lowercase = FALSE
splitter = ","
/datum/config_entry/keyed_list/economy_job_rate_area
key_mode = KEY_MODE_TEXT
value_mode = VALUE_MODE_NUM
lowercase = FALSE
splitter = ","
+4 -1
View File
@@ -62,13 +62,16 @@
var/list/alt_titles = list()
/// A multiplier for how much a person gets each paycheck
var/base_paycheck_multiplier = BASEPAY_DEFAULT
var/base_paycheck_multiplier = 1.2
var/override_roundstart_spawn = null //Where the player spawns at roundstart if defined
//whitelisting
var/whitelist_type = ""
/datum/job/New()
base_paycheck_multiplier = CONFIG_GET(number/economy_job_rate_default)
//Only override this proc
//H is usually a human unless an /equip override transformed it
/datum/job/proc/after_spawn(mob/living/H, mob/M, latejoin = FALSE)
+42
View File
@@ -583,3 +583,45 @@ BOX_RANDOM_ENGINE Box TEG,2
BOX_RANDOM_ENGINE Box Empty,0
BOX_RANDOM_ENGINE Box Antimatter,0
BOX_RANDOM_ENGINE Box P.A.C.M.A.N,0
#
## HYPERSTATION
#
## ECONOMY
# Paychecks get sent to each bank account, which is only initialized if the account holder spawned on the station.
# Bank Accounts are tied to the ID cards that players spawn with. If you have an unset pin, then that means anyone that gets the ID card has access to your money
# The base amount of credits, before any math whatsoever gets involved, that paychecks give
ECONOMY_BASE_PAYMENT 40
# The base pay for paychecks get divided by this amount. Useful for slowing down the rate of payment.
ECONOMY_BASE_PAY_RATIO 3
# The default multiplier for a paycheck if nothing is assigned to a specific job.
# You're allowed to set specific jobs a specific type of pay multiplier with ECONOMY_JOB_RATE
ECONOMY_JOB_RATE_DEFAULT 1.2
# The multiplier that Rookies get. This should be slightly more than assistant but less than default.
ECONOMY_JOB_RATE_AREA Rookie, 1.1
# The multiplier that Dangerous jobs get, such as Shaft Miner and Security. Should be somewhere between default and command pay rate
ECONOMY_JOB_RATE_AREA Dangerous, 1.3
# The multiplier that Command roles get, including QM because they're a head :)
ECONOMY_JOB_RATE_AREA Command, 1.4
# The multiplier for payment that the Captain gets. He controls the station, logically it's harder to do than all of the other jobs.
ECONOMY_JOB_RATE captain, 1.65
# Example for adding a single job datum. This basically adds /job/datum/ to what you put here. The value will be included if it falls in a category from ECONOMY_JOB_RATE
# This is a multiplier that Assistants get for their paycheck.
ECONOMY_JOB_RATE assistant, 1
# Default price for items that use these values
ECONOMY_PRICE_LOW 8
ECONOMY_PRICE_DEFAULT 15
ECONOMY_PRICE_HIGH 30
ECONOMY_PRICE_EROTIC 25
ECONOMY_PRICE_EXPENSIVE 60
ECONOMY_PRICE_EXPENSIVE_AF 90
# A multiplier to the prices of items inside vendors. Avoid setting this lower than the Assistant's paycheck multiplier if possible
ECONOMY_PRICE_MULTIPLIER 1