Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Arconomy: The big balance PR. #65046

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
26 changes: 13 additions & 13 deletions _maps/map_files/debug/runtimestation.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -152,11 +152,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/engineering/gravity_generator)
"aH" = (
/obj/machinery/light/directional/east,
/obj/machinery/recharge_station,
/turf/open/floor/iron,
/area/engineering/main)
"aI" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
Expand Down Expand Up @@ -466,12 +461,6 @@
},
/turf/open/floor/iron,
/area/command/bridge)
"bK" = (
/obj/structure/table,
/obj/item/storage/backpack/holding,
/obj/item/storage/part_replacer/bluespace/tier4,
/turf/open/floor/iron,
/area/command/bridge)
"bL" = (
/turf/closed/wall/r_wall,
/area/maintenance/aft)
Expand Down Expand Up @@ -2095,6 +2084,11 @@
/obj/machinery/airalarm/directional/west,
/turf/open/floor/plating,
/area/engineering/atmos)
"oK" = (
/obj/machinery/light/directional/east,
/obj/machinery/recharge_station,
/turf/open/floor/iron,
/area/engineering/main)
"oV" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{
dir = 4
Expand Down Expand Up @@ -2544,6 +2538,12 @@
},
/turf/open/floor/iron,
/area/cargo/miningoffice)
"Tf" = (
/obj/structure/table,
/obj/item/storage/backpack/holding,
/obj/item/storage/part_replacer/bluespace/tier4,
/turf/open/floor/iron,
/area/command/bridge)
"Tj" = (
/obj/machinery/door/poddoor,
/turf/open/floor/engine,
Expand Down Expand Up @@ -6945,7 +6945,7 @@ ab
ab
ac
bv
bK
Tf
cf
Iy
bu
Expand Down Expand Up @@ -7491,7 +7491,7 @@ aa
aj
ar
aA
aH
oK
aF
lg
bf
Expand Down
12 changes: 4 additions & 8 deletions code/__DEFINES/economy.dm
Original file line number Diff line number Diff line change
@@ -1,19 +1,15 @@
/// Number of paychecks jobs start with at the creation of a new bank account for a player (So at shift-start or game join, but not a blank new account.)
#define STARTING_PAYCHECKS 7
#define STARTING_PAYCHECKS 5
/// How much mail the Economy SS will create per minute, regardless of firing time.
#define MAX_MAIL_PER_MINUTE 3
/// Probability of using letters of envelope sprites on all letters.
#define FULL_CRATE_LETTER_ODDS 70

//Experimental change: These are subject to tweaking based on the /tg/ economy overhaul.
//Current design direction: Higher paying jobs are vastly outnumbered by lower paying jobs, so anything above medium hurts inflation, common jobs help inflation
#define PAYCHECK_PRISONER 25
#define PAYCHECK_ASSISTANT 50
#define PAYCHECK_MINIMAL 55
#define PAYCHECK_EASY 60
#define PAYCHECK_MEDIUM 75
#define PAYCHECK_HARD 100
#define PAYCHECK_COMMAND 200
#define PAYCHECK_LOWER 25
#define PAYCHECK_CREW 50
#define PAYCHECK_COMMAND 100

#define STATION_TARGET_BUFFER 40

Expand Down
3 changes: 2 additions & 1 deletion code/controllers/subsystem/economy.dm
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ SUBSYSTEM_DEF(economy)
var/datum/bank_account/bank_account = bank_accounts_by_id[account]
if(bank_account?.account_job && !ispath(bank_account.account_job))
temporary_total += (bank_account.account_job.paycheck * STARTING_PAYCHECKS)
bank_account.payday(1, FALSE)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why the false here? isn't it implicit?

station_total += bank_account.account_balance
station_target = max(round(temporary_total / max(bank_accounts_by_id.len * 2, 1)) + station_target_buffer, 1)
if(!HAS_TRAIT(SSeconomy, TRAIT_MARKET_CRASHING))
Expand Down Expand Up @@ -121,7 +122,7 @@ SUBSYSTEM_DEF(economy)
if(!is_station_level(V.z))
continue
V.reset_prices(V.product_records, V.coin_records)
earning_report = "Sector Economic Report<br /> Sector vendor prices is currently at [SSeconomy.inflation_value()*100]%.<br /> The station spending power is currently <b>[station_total] Credits</b>, and the crew's targeted allowance is at <b>[station_target] Credits</b>.<br /> That's all from the <i>Nanotrasen Economist Division</i>."
earning_report = "<b>Sector Economic Report</b><br /> Sector vendor prices is currently at [SSeconomy.inflation_value()*100]%.<br /> The station spending power is currently <b>[station_total] Credits</b>, and the crew's targeted allowance is at <b>[station_target] Credits</b>.<br /> That's all from the <i>Nanotrasen Economist Division</i>."
GLOB.news_network.SubmitArticle(earning_report, "Station Earnings Report", "Station Announcements", null, update_alert = FALSE)

/**
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/RCD.dm
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ RLD
worn_icon_state = "RCD"
lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
custom_premium_price = PAYCHECK_HARD * 10
custom_premium_price = PAYCHECK_COMMAND * 10
max_matter = 160
slot_flags = ITEM_SLOT_BELT
item_flags = NO_MAT_REDEMPTION | NOBLUDGEON
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/cigs_lighters.dm
Original file line number Diff line number Diff line change
Expand Up @@ -657,7 +657,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
heat = 1500
resistance_flags = FIRE_PROOF
grind_results = list(/datum/reagent/iron = 1, /datum/reagent/fuel = 5, /datum/reagent/fuel/oil = 5)
custom_price = PAYCHECK_ASSISTANT * 1.1
custom_price = PAYCHECK_CREW * 1.1
light_system = MOVABLE_LIGHT
light_range = 2
light_power = 0.6
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -500,7 +500,7 @@
/obj/item/circuitboard/machine/vendor
name = "Custom Vendor (Machine Board)"
desc = "You can turn the \"brand selection\" dial using a screwdriver."
custom_premium_price = PAYCHECK_ASSISTANT * 1.5
custom_premium_price = PAYCHECK_CREW * 1.5
build_path = /obj/machinery/vending/custom
req_components = list(/obj/item/vending_refill/custom = 1)

Expand Down
4 changes: 2 additions & 2 deletions code/game/objects/items/devices/flashlight.dm
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/obj/item/flashlight
name = "flashlight"
desc = "A hand-held emergency light."
custom_price = PAYCHECK_EASY
custom_price = PAYCHECK_CREW
icon = 'icons/obj/lighting.dmi'
icon_state = "flashlight"
inhand_icon_state = "flashlight"
Expand Down Expand Up @@ -450,7 +450,7 @@
/obj/item/flashlight/glowstick
name = "glowstick"
desc = "A military-grade glowstick."
custom_price = PAYCHECK_PRISONER
custom_price = PAYCHECK_LOWER
w_class = WEIGHT_CLASS_SMALL
light_range = 4
light_system = MOVABLE_LIGHT
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/devices/multitool.dm
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
drop_sound = 'sound/items/handling/multitool_drop.ogg'
pickup_sound = 'sound/items/handling/multitool_pickup.ogg'
custom_materials = list(/datum/material/iron=50, /datum/material/glass=20)
custom_premium_price = PAYCHECK_HARD * 3
custom_premium_price = PAYCHECK_COMMAND * 3
toolspeed = 1
usesound = 'sound/weapons/empty.ogg'
var/obj/machinery/buffer // simple machine buffer for device linkage
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/devices/paicard.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
w_class = WEIGHT_CLASS_SMALL
slot_flags = ITEM_SLOT_BELT
custom_premium_price = PAYCHECK_HARD * 1.25
custom_premium_price = PAYCHECK_COMMAND * 1.25
resistance_flags = FIRE_PROOF | ACID_PROOF | INDESTRUCTIBLE

/// Spam alert prevention
Expand Down
4 changes: 2 additions & 2 deletions code/game/objects/items/devices/portable_chem_mixer.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
w_class = WEIGHT_CLASS_HUGE
slot_flags = ITEM_SLOT_BELT
equip_sound = 'sound/items/equip/toolbelt_equip.ogg'
custom_price = PAYCHECK_MEDIUM * 10
custom_premium_price = PAYCHECK_MEDIUM * 14
custom_price = PAYCHECK_CREW * 10
custom_premium_price = PAYCHECK_CREW * 14

var/obj/item/reagent_containers/beaker = null ///Creating an empty slot for a beaker that can be added to dispense into
var/amount = 30 ///The amount of reagent that is to be dispensed currently
Expand Down
6 changes: 3 additions & 3 deletions code/game/objects/items/devices/scanners.dm
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ GENE SCANNER
/obj/item/t_scanner
name = "\improper T-ray scanner"
desc = "A terahertz-ray emitter and scanner used to detect underfloor objects such as cables and pipes."
custom_price = PAYCHECK_ASSISTANT * 0.7
custom_price = PAYCHECK_CREW * 0.7
icon = 'icons/obj/device.dmi'
icon_state = "t-ray0"
var/on = FALSE
Expand Down Expand Up @@ -96,7 +96,7 @@ GENE SCANNER
var/mode = SCANNER_VERBOSE
var/scanmode = SCANMODE_HEALTH
var/advanced = FALSE
custom_price = PAYCHECK_HARD
custom_price = PAYCHECK_COMMAND

/obj/item/healthanalyzer/Initialize(mapload)
. = ..()
Expand Down Expand Up @@ -585,7 +585,7 @@ GENE SCANNER
/obj/item/analyzer
desc = "A hand-held environmental scanner which reports current gas levels. Alt-Click to use the built in barometer function."
name = "gas analyzer"
custom_price = PAYCHECK_ASSISTANT * 0.9
custom_price = PAYCHECK_CREW * 0.9
icon = 'icons/obj/device.dmi'
icon_state = "analyzer"
inhand_icon_state = "analyzer"
Expand Down
4 changes: 2 additions & 2 deletions code/game/objects/items/devices/sensor_device.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
worn_icon_state = "electronic"
w_class = WEIGHT_CLASS_SMALL
slot_flags = ITEM_SLOT_BELT
custom_price = PAYCHECK_MEDIUM * 5
custom_premium_price = PAYCHECK_MEDIUM * 6
custom_price = PAYCHECK_CREW * 5
custom_premium_price = PAYCHECK_CREW * 6

/obj/item/sensor_device/attack_self(mob/user)
GLOB.crewmonitor.show(user,src) //Proc already exists, just had to call it
6 changes: 3 additions & 3 deletions code/game/objects/items/food/burgers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
desc = "The cornerstone of every nutritious breakfast."
food_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/nutriment/protein = 6, /datum/reagent/consumable/nutriment/vitamin = 1)
foodtypes = GRAIN | MEAT
custom_price = PAYCHECK_ASSISTANT * 0.8
custom_price = PAYCHECK_CREW * 0.8
venue_value = FOOD_PRICE_CHEAP

/obj/item/food/burger/plain/Initialize(mapload)
Expand Down Expand Up @@ -325,7 +325,7 @@
icon_state = "baseball"
food_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/protein = 5, /datum/reagent/consumable/nutriment/vitamin = 2)
foodtypes = GRAIN | GROSS
custom_price = PAYCHECK_ASSISTANT * 0.8
custom_price = PAYCHECK_CREW * 0.8
venue_value = FOOD_PRICE_NORMAL

/obj/item/food/burger/baconburger
Expand All @@ -335,7 +335,7 @@
food_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/protein = 6, /datum/reagent/consumable/nutriment/vitamin = 2)
tastes = list("bacon" = 4, "bun" = 2)
foodtypes = GRAIN | MEAT
custom_premium_price = PAYCHECK_ASSISTANT * 1.6
custom_premium_price = PAYCHECK_CREW * 1.6
venue_value = FOOD_PRICE_NORMAL

/obj/item/food/burger/empoweredburger
Expand Down
18 changes: 9 additions & 9 deletions code/game/objects/items/food/moth.dm
Original file line number Diff line number Diff line change
Expand Up @@ -369,7 +369,7 @@
foodtypes = VEGETABLES
w_class = WEIGHT_CLASS_SMALL

/obj/item/food/soup/moth_bean_stew
/obj/item/food/soup/moth_bean_stew
name = "prickeldröndolhaskl" //prickeld = spicy, röndol = bean, haskl = stew
desc = "A spicy bean stew with lots of veggies, commonly served aboard the fleet as a filling and satisfying meal with rice or bread."
icon = 'icons/obj/food/moth.dmi'
Expand All @@ -389,7 +389,7 @@
foodtypes = VEGETABLES | GRAIN
w_class = WEIGHT_CLASS_SMALL

/obj/item/food/soup/moth_fire_soup
/obj/item/food/soup/moth_fire_soup
name = "tömpröttkrakklmæsch" //tömprött = heart (tömp = thump, rött = muscle), krakkl = fire, mæsch = soup
desc = "Tömpröttkrakklmæsch, or heartburn soup, is a cold soup dish that originated amongst the jungle moths, and is named for two things- its rosy pink colour, and its scorchingly hot chilli heat."
icon = 'icons/obj/food/moth.dmi'
Expand All @@ -400,7 +400,7 @@
w_class = WEIGHT_CLASS_SMALL

/obj/item/food/soup/rice_porridge
name = "rice porridge"
name = "rice porridge"
desc = "A plate of rice porridge. It's mostly flavourless, but it does fill a spot. To the Chinese it's congee, and moths call it höllflöfmisklsløsk." //höllflöfmiskl = rice (höllflöf = cloud, miskl = seed), sløsk = porridge
icon = 'icons/obj/food/moth.dmi'
icon_state = "rice_porridge"
Expand All @@ -410,7 +410,7 @@
w_class = WEIGHT_CLASS_SMALL

/obj/item/food/soup/hua_mulan_congee
name = "\improper Hua Mulan congee"
name = "\improper Hua Mulan congee"
desc = "Nobody is quite sure why this smiley bowl of rice porridge with eggs and bacon is named after a mythological Chinese figure- it's just sorta what it's always been called."
icon = 'icons/obj/food/moth.dmi'
icon_state = "hua_mulan_congee"
Expand All @@ -420,7 +420,7 @@
w_class = WEIGHT_CLASS_SMALL

/obj/item/food/soup/toechtauese_rice_porridge
name = "töchtaüse rice porridge"
name = "töchtaüse rice porridge"
desc = "Commonly served aboard the mothic fleet, rice porridge with töchtaüse syrup is more palatable than the regular stuff, if even just because it's spicier than normal."
icon = 'icons/obj/food/moth.dmi'
icon_state = "toechtauese_rice_porridge"
Expand All @@ -430,7 +430,7 @@
w_class = WEIGHT_CLASS_SMALL

/obj/item/food/soup/cornmeal_porridge
name = "cornmeal porridge"
name = "cornmeal porridge"
desc = "A plate of cornmeal porridge. It's more flavourful than most porridges, and makes a good base for other flavours, too."
icon = 'icons/obj/food/moth.dmi'
icon_state = "cornmeal_porridge"
Expand All @@ -440,7 +440,7 @@
w_class = WEIGHT_CLASS_SMALL

/obj/item/food/soup/cheesy_porridge //milk, polenta, firm cheese, curd cheese, butter
name = "cheesy porridge"
name = "cheesy porridge"
desc = "A rich and creamy bowl of cheesy cornmeal porridge."
icon = 'icons/obj/food/moth.dmi'
icon_state = "cheesy_porridge"
Expand All @@ -450,7 +450,7 @@
w_class = WEIGHT_CLASS_SMALL

/obj/item/food/soup/fried_eggplant_polenta
name = "fried eggplant and polenta"
name = "fried eggplant and polenta"
desc = "Polenta loaded with cheese, served with a few discs of fried eggplant and some tomato sauce. Lække!"
icon = 'icons/obj/food/moth.dmi'
icon_state = "fried_eggplant_polenta"
Expand Down Expand Up @@ -762,7 +762,7 @@
name = "\improper Activin 12 Hour medicated gum packet"
desc = "Stay awake during long shifts in the maintenance tunnels with Activin! The approval seal of the Mothic Nomad Fleet is emblazoned on the packaging, alongside a litany of health and safety disclaimers in both Mothic and Galactic Common."
icon_state = "bubblegum_wake_up"
custom_premium_price = PAYCHECK_EASY * 1.5
custom_premium_price = PAYCHECK_CREW * 1.5

/obj/item/storage/box/gum/wake_up/examine_more(mob/user)
var/list/msg = list(span_notice("<i>You read some of the health and safety information...</i>"))
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/food/salad.dm
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@
reagent_flags = OPENCONTAINER
custom_materials = list(/datum/material/glass = 500)
w_class = WEIGHT_CLASS_NORMAL
custom_price = PAYCHECK_ASSISTANT * 0.6
custom_price = PAYCHECK_CREW * 0.6

/obj/item/reagent_containers/glass/bowl/Initialize(mapload)
. = ..()
Expand Down