From 7bae2a36eeb2c796ec74cd4afe2cbd2f8a9c2798 Mon Sep 17 00:00:00 2001 From: DragonTrance Date: Thu, 9 Jun 2022 17:54:40 -0400 Subject: [PATCH] config junk --- code/__DEFINES/economy.dm | 13 +++++----- .../configuration/entries/game_options.dm | 4 +++ code/controllers/subsystem/job.dm | 5 ++++ code/game/objects/items.dm | 5 ++-- code/game/objects/items/cigs_lighters.dm | 1 - code/game/objects/items/mesmetron.dm | 2 +- code/game/objects/items/storage/belt.dm | 2 +- code/game/objects/items/storage/boxes.dm | 6 +++-- code/game/objects/items/storage/fancy.dm | 9 ++++--- code/game/objects/items/tools/weldingtool.dm | 3 ++- code/modules/clothing/gloves/color.dm | 9 ++++--- code/modules/clothing/head/jobs.dm | 3 ++- code/modules/clothing/masks/hailer.dm | 3 ++- code/modules/clothing/neck/_neck.dm | 3 ++- code/modules/clothing/shoes/miscellaneous.dm | 3 ++- code/modules/clothing/suits/jobs.dm | 2 +- code/modules/clothing/suits/miscellaneous.dm | 3 ++- code/modules/clothing/under/jobs/civilian.dm | 2 +- code/modules/clothing/under/jobs/security.dm | 8 +++--- code/modules/food_and_drinks/drinks/drinks.dm | 15 ++++++----- .../food_and_drinks/drinks/drinks/bottle.dm | 3 ++- .../drinks/drinks/drinkingglass.dm | 5 ++-- .../modules/food_and_drinks/food/condiment.dm | 3 ++- code/modules/food_and_drinks/food/snacks.dm | 2 ++ .../food_and_drinks/food/snacks_other.dm | 3 ++- .../food_and_drinks/food/snacks_vend.dm | 14 +++------- code/modules/jobs/job_types/assistant.dm | 2 -- code/modules/jobs/job_types/captain.dm | 4 +-- code/modules/jobs/job_types/cargo_service.dm | 18 +++++++------ code/modules/jobs/job_types/civilian.dm | 8 +++--- .../jobs/job_types/civilian_chaplain.dm | 2 +- code/modules/jobs/job_types/engineering.dm | 4 +-- code/modules/jobs/job_types/job.dm | 6 +++++ code/modules/jobs/job_types/medical.dm | 6 ++--- code/modules/jobs/job_types/science.dm | 4 +-- code/modules/jobs/job_types/security.dm | 7 +++-- .../reagents/reagent_containers/glass.dm | 2 +- .../reagents/reagent_containers/pill.dm | 11 +++++--- code/modules/vending/_vending.dm | 14 +++++----- config/game_options.txt | 13 ++++++---- .../code/controllers/subsystem/economy.dm | 26 +++++++++++++++++++ .../code/game/objects/items/cosmetics.dm | 3 ++- .../code/game/objects/items/lovedice.dm | 3 ++- hyperstation/code/modules/economy/account.dm | 5 ++-- hyperstation/code/obj/condom.dm | 2 +- hyperstation/code/obj/fleshlight.dm | 13 ++++++---- hyperstation/code/obj/kinkyclothes.dm | 12 ++++++--- hyperstation/code/obj/rope.dm | 3 ++- hyperstation/code/obj/sounding.dm | 2 +- hyperstation/code/obj/vibrator.dm | 2 +- .../items/devices/radio/shockcollar.dm | 3 ++- 51 files changed, 192 insertions(+), 114 deletions(-) diff --git a/code/__DEFINES/economy.dm b/code/__DEFINES/economy.dm index e08a6b7a4..e87b19bc4 100644 --- a/code/__DEFINES/economy.dm +++ b/code/__DEFINES/economy.dm @@ -2,9 +2,10 @@ #define ECONOMY_TYPE_DANGEROUS "Dangerous" #define ECONOMY_TYPE_COMMAND "Command" -#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 +#define ECONOMY_PRICE_DEFAULT 1 +#define ECONOMY_PRICE_LOW 2 +#define ECONOMY_PRICE_HIGH 3 +#define ECONOMY_PRICE_EROTIC 4 +#define ECONOMY_PRICE_EXPENSIVE 5 +#define ECONOMY_PRICE_EXPENSIVE_AF 6 +#define ECONOMY_PRICE_FORCED_FREE 7 //i sure do love force_free'd-ing with items :) diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index 0dad98b29..eff5c7b3e 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -393,6 +393,10 @@ config_entry_value = 3 min_val = 1 +/datum/config_entry/number/economy_price_multiplier + config_entry_value = 1 + min_val = 0 + /datum/config_entry/number/economy_price_low config_entry_value = 8 min_val = 0 diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm index e53f550ac..32cd7cd80 100644 --- a/code/controllers/subsystem/job.dm +++ b/code/controllers/subsystem/job.dm @@ -14,6 +14,9 @@ SUBSYSTEM_DEF(job) var/overflow_role = "Assistant" + var/list/economy_multipliers_by_job + var/list/economy_multipliers_by_type + /datum/controller/subsystem/job/Initialize(timeofday) SSmapping.HACK_LoadMapConfig() @@ -23,6 +26,8 @@ SUBSYSTEM_DEF(job) LoadJobs() generate_selectable_species() set_overflow_role(CONFIG_GET(string/overflow_job)) + economy_multipliers_by_job = CONFIG_GET(keyed_list/economy_job_rate) + economy_multipliers_by_type = CONFIG_GET(keyed_list/economy_job_rate_area) return ..() /datum/controller/subsystem/job/proc/set_overflow_role(new_overflow_role) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 0daccde53..c4e7dfee9 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -118,8 +118,9 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) var/list/grind_results //A reagent list containing the reagents this item produces when ground up in a grinder - this can be an empty list to allow for reagent transferring only var/list/juice_results //A reagent list containing blah blah... but when JUICED in a grinder! - //Hyper economy - var/price = 0 + //Hyper Economy + var/economy_type = 0 + var/economy_price_mul = 1 //Hyper, for clothes that reveal your behind! butt stuff, you know how it is. var/do_not_cover_butt = FALSE diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index 9e239420c..b1c5a900a 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -505,7 +505,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM w_class = WEIGHT_CLASS_TINY flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BELT - price = PRICE_LOW * 0.5 var/lit = 0 var/fancy = TRUE var/overlay_state diff --git a/code/game/objects/items/mesmetron.dm b/code/game/objects/items/mesmetron.dm index b42ddb356..d3cd77ac1 100644 --- a/code/game/objects/items/mesmetron.dm +++ b/code/game/objects/items/mesmetron.dm @@ -7,9 +7,9 @@ w_class = WEIGHT_CLASS_SMALL throw_range = 7 throw_speed = 3 + economy_type = ECONOMY_PRICE_EROTIC var/mob/living/carbon/subject = null var/closed = FALSE - price = PRICE_EROTICA //Hypnotize someone diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 4cdc7b160..eb7447f77 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -240,7 +240,7 @@ desc = "Holds a variety of gear for \"alternative\" peacekeeping." icon_state = "slutbelt" item_state = "slut" - price = PRICE_EROTICA + economy_type = ECONOMY_PRICE_EROTIC obj/item/storage/belt/slut/ComponentInitialize() . = ..() diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index 03dffc430..b2acc45d8 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -418,7 +418,8 @@ desc = "Instructions: Heat in microwave. Product will cool if not eaten within seven minutes." icon_state = "donkpocketbox" illustration=null - price = PRICE_EXPENSIVE * 0.85 + economy_type = ECONOMY_PRICE_EXPENSIVE_AF + economy_price_mul = 0.85 var/donktype = /obj/item/reagent_containers/food/snacks/donkpocket var/warmtype = /obj/item/reagent_containers/food/snacks/donkpocket/warm @@ -675,9 +676,10 @@ item_state = "zippo" w_class = WEIGHT_CLASS_TINY slot_flags = ITEM_SLOT_BELT - price = PRICE_LOW * 0.5 drop_sound = 'sound/items/handling/matchbox_drop.ogg' pickup_sound = 'sound/items/handling/matchbox_pickup.ogg' + economy_type = ECONOMY_PRICE_LOW + economy_price_mul = 0.5 /obj/item/storage/box/matches/ComponentInitialize() . = ..() diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm index 8f581933f..fb4ccdeed 100644 --- a/code/game/objects/items/storage/fancy.dm +++ b/code/game/objects/items/storage/fancy.dm @@ -136,7 +136,7 @@ slot_flags = ITEM_SLOT_BELT icon_type = "cigarette" spawn_type = /obj/item/clothing/mask/cigarette/space_cigarette - price = PRICE_LOW * 0.5 + economy_type = ECONOMY_PRICE_LOW /obj/item/storage/fancy/cigarettes/ComponentInitialize() . = ..() @@ -231,7 +231,7 @@ desc = "Smoked by the truly robust." icon_state = "robustg" spawn_type = /obj/item/clothing/mask/cigarette/robustgold - price = PRICE_LOW * 1.25 + economy_price_mul = 1.5 /obj/item/storage/fancy/cigarettes/cigpack_carp name = "\improper Carp Classic packet" @@ -283,7 +283,7 @@ icon_state = "cig_paper_pack" icon_type = "rolling paper" spawn_type = /obj/item/rollingpaper - price = PRICE_LOW * 0.25 + economy_price_mul = 0.25 /obj/item/storage/fancy/rollingpapers/ComponentInitialize() . = ..() @@ -308,7 +308,8 @@ w_class = WEIGHT_CLASS_NORMAL icon_type = "premium cigar" spawn_type = /obj/item/clothing/mask/cigarette/cigar - price = PRICE_BASE + economy_type = ECONOMY_PRICE_EXPENSIVE + economy_price_mul = 0.75 /obj/item/storage/fancy/cigarettes/cigars/ComponentInitialize() . = ..() diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index bc83dabb7..9919959f9 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -344,7 +344,8 @@ item_state = "upindwelder" max_fuel = 80 materials = list(MAT_METAL=70, MAT_GLASS=120) - price = PRICE_EXPENSIVE * 1.5 + economy_type = ECONOMY_PRICE_EXPENSIVE_AF + economy_price_mul = 1.5 /obj/item/weldingtool/experimental name = "experimental welding tool" diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index b79b77440..441e33847 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -8,7 +8,8 @@ item_color="yellow" resistance_flags = NONE var/can_be_cut = 1 - price = PRICE_EXPENSIVE + economy_type = ECONOMY_PRICE_EXPENSIVE_AF + economy_price_mul = 0.85 /obj/item/clothing/gloves/color/yellow/ce //funky looking, basically combat gloves desc = "Special Insulated gloves with pricy thermal shielding normally only found in combat gloves." @@ -34,7 +35,8 @@ item_color="yellow" resistance_flags = NONE var/can_be_cut = 1 - price = PRICE_LOW * 0.5 + economy_type = ECONOMY_PRICE_LOW + economy_price_mul = 1.2 /obj/item/clothing/gloves/color/fyellow/New() ..() @@ -129,7 +131,8 @@ siemens_coefficient = 0 permeability_coefficient = 0.05 resistance_flags = NONE - price = PRICE_EXPENSIVE + economy_type = ECONOMY_PRICE_EXPENSIVE_AF + economy_price_mul = 0.85 /obj/item/clothing/gloves/color/rainbow name = "rainbow gloves" diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index 622a63bb6..dab47cd05 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -260,7 +260,8 @@ name = "security's bitch beret" desc = "A softer beret with the word 'BITCH' embroidered on it in pink thread." icon_state = "bitchberet" - price = PRICE_BASE * 1.5 + economy_type = ECONOMY_PRICE_EROTIC + economy_price_mul = 0.85 //Curator /obj/item/clothing/head/fedora/curator diff --git a/code/modules/clothing/masks/hailer.dm b/code/modules/clothing/masks/hailer.dm index 79864797a..4860e809e 100644 --- a/code/modules/clothing/masks/hailer.dm +++ b/code/modules/clothing/masks/hailer.dm @@ -45,7 +45,8 @@ item_state = "sluthailer" aggressiveness = 0 //can't have your pets being mean! actions_types = list(/datum/action/item_action/halt) - price = PRICE_EROTICA + economy_type = ECONOMY_PRICE_EXPENSIVE + economy_price_mul = 0.85 /obj/item/clothing/mask/gas/sechailer/slut/attack_hand(mob/user) if(iscarbon(user)) diff --git a/code/modules/clothing/neck/_neck.dm b/code/modules/clothing/neck/_neck.dm index 98a9ea537..3c1ff4615 100644 --- a/code/modules/clothing/neck/_neck.dm +++ b/code/modules/clothing/neck/_neck.dm @@ -302,4 +302,5 @@ icon = 'icons/obj/clothing/neck.dmi' icon_state = "bling" item_color = "bling" - price = PRICE_EXPENSIVE \ No newline at end of file + economy_type = ECONOMY_PRICE_EXPENSIVE + economy_price_mul = 1.25 diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index 069dda542..2f8ce402d 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -137,7 +137,8 @@ desc = "A pair of knee-high jackboots, complete with heels. All style, all the time." icon_state = "jackboots-tall" item_state = "jackboots-tall" - price = PRICE_BASE * 0.75 + economy_type = ECONOMY_PRICE_DEFAULT + economy_price_mul = 0.75 /obj/item/clothing/shoes/jackboots/fast slowdown = -1 diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index 8eca34714..a59c1db0f 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -169,7 +169,7 @@ cold_protection = CHEST|LEGS|ARMS heat_protection = CHEST|LEGS|ARMS mutantrace_variation = NO_MUTANTRACE_VARIATION //you don't need it - price = PRICE_HIGH + economy_type = ECONOMY_PRICE_EXPENSIVE //Surgeon /obj/item/clothing/suit/apron/surgical diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 60314ead6..ee4d755b6 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -710,7 +710,8 @@ icon_state = "coatsecuritypink" item_state = "coatsecuritypink" hoodtype = /obj/item/clothing/head/hooded/winterhood/security/pink - price = PRICE_LOW + economy_type = ECONOMY_PRICE_EXPENSIVE + economy_price_mul = 0.85 /obj/item/clothing/suit/hooded/wintercoat/security/Initialize() . = ..() diff --git a/code/modules/clothing/under/jobs/civilian.dm b/code/modules/clothing/under/jobs/civilian.dm index 62c12768a..94efb5686 100644 --- a/code/modules/clothing/under/jobs/civilian.dm +++ b/code/modules/clothing/under/jobs/civilian.dm @@ -381,7 +381,7 @@ item_state = "b_suit" item_color = "galaxy_blue" can_adjust = FALSE - price = PRICE_EXPENSIVE + economy_type = ECONOMY_PRICE_DEFAULT /obj/item/clothing/under/lawyer/galaxy_red name = "\improper Pulsar Gonne" diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm index 20a06dedd..be6a42bae 100644 --- a/code/modules/clothing/under/jobs/security.dm +++ b/code/modules/clothing/under/jobs/security.dm @@ -30,7 +30,8 @@ icon_state = "rsecuritypink" item_state = "r_suit" item_color = "rsecuritypink" - price = PRICE_LOW + economy_type = ECONOMY_PRICE_DEFAULT + economy_price_mul = 1.35 /obj/item/clothing/under/rank/security/skirt name = "security jumpskirt" desc = "A \"tactical\" security jumpsuit with the legs replaced by a skirt." @@ -47,7 +48,8 @@ item_state = "secslutskirt" item_color = null //i dont understand what item_color even is, apparently setting it to null means it won't change color in a washing machine? mutantrace_variation = NO_MUTANTRACE_VARIATION //look at the first two comments in vg_under.dm - price = PRICE_EROTICA + economy_type = ECONOMY_PRICE_EROTIC + economy_price_mul = 0.75 /obj/item/clothing/under/rank/security/skirt/slut/pink desc = "A \"\"\"tactical\"\"\" security jumpsuit with the legs replaced by a skirt. No matter how you adjust it, it always feels a little too small. This one seems to have an experimental color scheme." icon_state = "secslutskirtpink" @@ -61,7 +63,7 @@ can_adjust = FALSE body_parts_covered = CHEST|GROIN mutantrace_variation = NO_MUTANTRACE_VARIATION - price = PRICE_EROTICA + economy_type = ECONOMY_PRICE_EROTIC /obj/item/clothing/under/rank/warden diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm index 85c41cb8a..2e4818df7 100644 --- a/code/modules/food_and_drinks/drinks/drinks.dm +++ b/code/modules/food_and_drinks/drinks/drinks.dm @@ -217,7 +217,7 @@ resistance_flags = FREEZE_PROOF isGlass = FALSE foodtype = BREAKFAST - price = PRICE_LOW + economy_type = ECONOMY_PRICE_LOW //Used by MREs /obj/item/reagent_containers/food/drinks/coffee/type2 @@ -241,7 +241,7 @@ icon_state = "tea" item_state = "coffee" spillable = TRUE - price = PRICE_LOW + economy_type = ECONOMY_PRICE_LOW /* Doesn't exist lol /datum/chemical_reaction/catnip_tea @@ -265,7 +265,7 @@ icon_state = "tea" desc = "An insult to Duke Purple is an insult to the Space Queen! Any proper gentleman will fight you, if you sully this tea." list_reagents = list(/datum/reagent/consumable/tea = 30) - price = PRICE_LOW + economy_type = ECONOMY_PRICE_LOW /obj/item/reagent_containers/food/drinks/mug/coco name = "Dutch hot coco" @@ -284,7 +284,8 @@ list_reagents = list(/datum/reagent/consumable/dry_ramen = 30) foodtype = GRAIN isGlass = FALSE - price = PRICE_BASE * 0.75 + economy_type = ECONOMY_PRICE_DEFAULT + economy_price_mul = 1.5 /obj/item/reagent_containers/food/drinks/beer name = "space beer" @@ -423,7 +424,8 @@ reagent_flags = NONE spillable = FALSE isGlass = FALSE - price = PRICE_LOW + economy_type = ECONOMY_PRICE_LOW + economy_price_mul = 0.8 /obj/item/reagent_containers/food/drinks/soda_cans/suicide_act(mob/living/carbon/user) user.visible_message("[user] is trying to eat \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") @@ -548,4 +550,5 @@ icon_state = "menergy" list_reagents = list(/datum/reagent/consumable/monkey_energy = 50) foodtype = SUGAR - price = PRICE_HIGH * 1.25 + economy_type = ECONOMY_PRICE_EXPENSIVE //same as insulated gloves but slightly cheaper given the nature of these + economy_price_mul = 0.75 diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm index 70e139d3b..1a2ebce8c 100644 --- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm +++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm @@ -416,7 +416,8 @@ isGlass = FALSE list_reagents = list(/datum/reagent/consumable/cream = 100) foodtype = DAIRY - price = PRICE_LOW + economy_type = ECONOMY_PRICE_LOW + economy_price_mul = 1.5 /obj/item/reagent_containers/food/drinks/bottle/tomatojuice name = "tomato juice" diff --git a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm index 7ad3baf0c..86193090b 100644 --- a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm +++ b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm @@ -93,10 +93,11 @@ /obj/item/reagent_containers/food/drinks/drinkingglass/filled/nuka_cola name = "Nuka Cola" list_reagents = list(/datum/reagent/consumable/nuka_cola = 50) - price = PRICE_BASE * 1.1 + economy_type = ECONOMY_PRICE_DEFAULT + economy_price_mul = 1.5 /obj/item/reagent_containers/food/drinks/drinkingglass/filled/syndicatebomb - name = "Syndicat Bomb" + name = "Syndicate Bomb" list_reagents = list(/datum/reagent/consumable/ethanol/syndicatebomb = 50) /obj/item/reagent_containers/food/drinks/drinkingglass/attackby(obj/item/I, mob/user, params) diff --git a/code/modules/food_and_drinks/food/condiment.dm b/code/modules/food_and_drinks/food/condiment.dm index 2693c192d..a33ac1eca 100644 --- a/code/modules/food_and_drinks/food/condiment.dm +++ b/code/modules/food_and_drinks/food/condiment.dm @@ -186,7 +186,8 @@ righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi' list_reagents = list(/datum/reagent/consumable/milk = 50) possible_states = list() - price = PRICE_LOW + economy_type = ECONOMY_PRICE_LOW + economy_price_mul = 1.5 /obj/item/reagent_containers/food/condiment/flour name = "flour sack" diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index ee7e129ae..426ed5013 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -35,6 +35,8 @@ All foods are distributed among various categories. Use common sense. righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi' obj_flags = UNIQUE_RENAME grind_results = list() //To let them be ground up to transfer their reagents + economy_type = ECONOMY_PRICE_LOW + economy_price_mul = 1.5 var/bitesize = 2 var/bitecount = 0 var/trash = null diff --git a/code/modules/food_and_drinks/food/snacks_other.dm b/code/modules/food_and_drinks/food/snacks_other.dm index b83e25905..dddee9331 100644 --- a/code/modules/food_and_drinks/food/snacks_other.dm +++ b/code/modules/food_and_drinks/food/snacks_other.dm @@ -59,7 +59,8 @@ tastes = list("chocolate" = 1) foodtype = JUNKFOOD | SUGAR dunkable = TRUE - price = PRICE_LOW + economy_type = ECONOMY_PRICE_LOW + economy_price_mul = 1.5 /obj/item/reagent_containers/food/snacks/hugemushroomslice diff --git a/code/modules/food_and_drinks/food/snacks_vend.dm b/code/modules/food_and_drinks/food/snacks_vend.dm index a894e3bd0..a3aa7f9ea 100644 --- a/code/modules/food_and_drinks/food/snacks_vend.dm +++ b/code/modules/food_and_drinks/food/snacks_vend.dm @@ -12,7 +12,6 @@ filling_color = "#D2691E" tastes = list("candy" = 1) foodtype = JUNKFOOD | SUGAR - price = PRICE_LOW /obj/item/reagent_containers/food/snacks/sosjerky name = "\improper Scaredy's Private Reserve Beef Jerky" @@ -24,7 +23,6 @@ filling_color = "#8B0000" tastes = list("dried meat" = 1) foodtype = JUNKFOOD | MEAT | SUGAR - price = PRICE_LOW /obj/item/reagent_containers/food/snacks/sosjerky/healthy name = "homemade beef jerky" @@ -43,7 +41,6 @@ filling_color = "#FFD700" tastes = list("salt" = 1, "crisps" = 1) foodtype = JUNKFOOD | FRIED - price = PRICE_LOW /obj/item/reagent_containers/food/snacks/no_raisin name = "4no raisins" @@ -55,7 +52,6 @@ filling_color = "#8B0000" tastes = list("dried raisins" = 1) foodtype = JUNKFOOD | FRUIT | SUGAR - price = PRICE_LOW /obj/item/reagent_containers/food/snacks/no_raisin/healthy name = "homemade raisins" @@ -72,7 +68,6 @@ junkiness = 25 filling_color = "#FFD700" foodtype = JUNKFOOD | GRAIN | SUGAR - price = PRICE_LOW /obj/item/reagent_containers/food/snacks/cheesiehonkers name = "cheesie honkers" @@ -84,7 +79,6 @@ filling_color = "#FFD700" tastes = list("cheese" = 5, "crisps" = 2) foodtype = JUNKFOOD | DAIRY | SUGAR - price = PRICE_LOW /obj/item/reagent_containers/food/snacks/soyfood name = "Soyfood" @@ -96,7 +90,7 @@ filling_color = "#FFD700" tastes = list("nanomachines" = 2, "soybeans" = 5) foodtype = JUNKFOOD | DAIRY | GRAIN - price = PRICE_LOW + economy_price_mul = 2 /obj/item/reagent_containers/food/snacks/syndicake name = "syndi-cakes" @@ -107,7 +101,7 @@ filling_color = "#F5F5DC" tastes = list("sweetness" = 3, "cake" = 1) foodtype = GRAIN | FRUIT | VEGETABLES | ANTITOXIC - price = PRICE_LOW + economy_price_mul = 2.5 /obj/item/reagent_containers/food/snacks/carbonnanotube_noodles name = "carbon nanotube noodles" @@ -119,7 +113,7 @@ filling_color = "#FFD700" tastes = list("charcoal" = 1, "spiciness" = 3, "soysauce" = 3) foodtype = GRAIN | VEGETABLES - price = PRICE_LOW + economy_price_mul = 2.5 /obj/item/reagent_containers/food/snacks/bird_seed name = "Sunflower Seeds" @@ -130,4 +124,4 @@ filling_color = "#b497162f" tastes = list("olives" = 1, "Nuts" = 3, "spice" = 2) foodtype = GRAIN | VEGETABLES - price = PRICE_LOW \ No newline at end of file + economy_price_mul = 2.5 \ No newline at end of file diff --git a/code/modules/jobs/job_types/assistant.dm b/code/modules/jobs/job_types/assistant.dm index 82e65a84a..cecc7d3e7 100644 --- a/code/modules/jobs/job_types/assistant.dm +++ b/code/modules/jobs/job_types/assistant.dm @@ -14,8 +14,6 @@ Assistant minimal_access = list() //See /datum/job/assistant/get_access() outfit = /datum/outfit/job/assistant antag_rep = 7 - base_paycheck_multiplier = BASEPAY_ASSISTANT - /datum/job/assistant/get_access() if(CONFIG_GET(flag/assistants_have_maint_access) || !CONFIG_GET(flag/jobs_have_minimal_access)) //Config has assistant maint access set diff --git a/code/modules/jobs/job_types/captain.dm b/code/modules/jobs/job_types/captain.dm index 19fde21df..13ff8523c 100644 --- a/code/modules/jobs/job_types/captain.dm +++ b/code/modules/jobs/job_types/captain.dm @@ -16,7 +16,7 @@ Captain exp_requirements = 3000 exp_type = EXP_TYPE_COMMAND exp_type_department = EXP_TYPE_COMMAND - base_paycheck_multiplier = BASEPAY_CAPTAIN + economy_type = ECONOMY_TYPE_COMMAND outfit = /datum/outfit/job/captain @@ -97,7 +97,7 @@ Head of Personnel exp_requirements = 1500 exp_type = EXP_TYPE_SERVICE exp_type_department = EXP_TYPE_SERVICE - base_paycheck_multiplier = BASEPAY_COMMAND + economy_type = ECONOMY_TYPE_COMMAND outfit = /datum/outfit/job/hop diff --git a/code/modules/jobs/job_types/cargo_service.dm b/code/modules/jobs/job_types/cargo_service.dm index 5663d9ace..6d6bd8c9c 100644 --- a/code/modules/jobs/job_types/cargo_service.dm +++ b/code/modules/jobs/job_types/cargo_service.dm @@ -15,7 +15,7 @@ Quartermaster is a real head fuck you minimal_player_age = 7 exp_type = EXP_TYPE_SUPPLY exp_type_department = EXP_TYPE_SUPPLY - base_paycheck_multiplier = BASEPAY_COMMAND + economy_type = ECONOMY_TYPE_COMMAND exp_requirements = 1200 outfit = /datum/outfit/job/quartermaster @@ -89,7 +89,7 @@ Shaft Miner exp_requirements = 600 exp_type = EXP_TYPE_CREW exp_type_department = EXP_TYPE_SUPPLY - base_paycheck_multiplier = BASEPAY_DEFAULT * 1.2 //Just a teeny tiny bit more because they dangerous bro + economy_type = ECONOMY_TYPE_DANGEROUS outfit = /datum/outfit/job/miner @@ -169,7 +169,7 @@ Bartender spawn_positions = 1 supervisors = "the head of personnel" selection_color = "#bbe291" - base_paycheck_multiplier = BASEPAY_ROOKIE + economy_type = ECONOMY_TYPE_ROOKIE outfit = /datum/outfit/job/bartender @@ -202,14 +202,15 @@ Cook spawn_positions = 1 supervisors = "the head of personnel" selection_color = "#bbe291" - base_paycheck_multiplier = BASEPAY_ROOKIE - var/cooks = 0 //Counts cooks amount + economy_type = ECONOMY_TYPE_ROOKIE outfit = /datum/outfit/job/cook access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_MINERAL_STOREROOM) minimal_access = list(ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_MINERAL_STOREROOM) + var/cooks = 0 //Counts cooks amount + /datum/outfit/job/cook name = "Cook" jobtype = /datum/job/cook @@ -256,7 +257,7 @@ Botanist spawn_positions = 2 supervisors = "the head of personnel" selection_color = "#bbe291" - base_paycheck_multiplier = BASEPAY_ROOKIE + economy_type = ECONOMY_TYPE_ROOKIE outfit = /datum/outfit/job/botanist @@ -295,14 +296,15 @@ Janitor spawn_positions = 1 supervisors = "the head of personnel" selection_color = "#bbe291" - base_paycheck_multiplier = BASEPAY_ROOKIE - var/global/janitors = 0 + economy_type = ECONOMY_TYPE_ROOKIE outfit = /datum/outfit/job/janitor access = list(ACCESS_JANITOR, ACCESS_MAINT_TUNNELS, ACCESS_MINERAL_STOREROOM) minimal_access = list(ACCESS_JANITOR, ACCESS_MAINT_TUNNELS, ACCESS_MINERAL_STOREROOM) + var/global/janitors = 0 + /datum/outfit/job/janitor name = "Janitor" jobtype = /datum/job/janitor diff --git a/code/modules/jobs/job_types/civilian.dm b/code/modules/jobs/job_types/civilian.dm index c0cc9965d..64c66734b 100644 --- a/code/modules/jobs/job_types/civilian.dm +++ b/code/modules/jobs/job_types/civilian.dm @@ -11,7 +11,7 @@ Clown spawn_positions = 1 supervisors = "the head of personnel" selection_color = "#dddddd" - base_paycheck_multiplier = BASEPAY_ROOKIE + economy_type = ECONOMY_TYPE_ROOKIE outfit = /datum/outfit/job/clown @@ -79,7 +79,7 @@ Mime spawn_positions = 1 supervisors = "the head of personnel" selection_color = "#dddddd" - base_paycheck_multiplier = BASEPAY_ROOKIE + economy_type = ECONOMY_TYPE_ROOKIE outfit = /datum/outfit/job/mime @@ -132,7 +132,7 @@ Curator spawn_positions = 1 supervisors = "the head of personnel" selection_color = "#dddddd" - base_paycheck_multiplier = BASEPAY_ROOKIE + economy_type = ECONOMY_TYPE_ROOKIE outfit = /datum/outfit/job/curator @@ -176,7 +176,7 @@ Lawyer spawn_positions = 2 supervisors = "the head of personnel" selection_color = "#dddddd" - base_paycheck_multiplier = BASEPAY_ROOKIE + economy_type = ECONOMY_TYPE_ROOKIE var/lawyers = 0 //Counts lawyer amount outfit = /datum/outfit/job/lawyer diff --git a/code/modules/jobs/job_types/civilian_chaplain.dm b/code/modules/jobs/job_types/civilian_chaplain.dm index 496824d7f..4b686924f 100644 --- a/code/modules/jobs/job_types/civilian_chaplain.dm +++ b/code/modules/jobs/job_types/civilian_chaplain.dm @@ -13,7 +13,7 @@ Chaplain supervisors = "the head of personnel" selection_color = "#dddddd" custom_spawn_text = "You're playing a job that is essential for when the station deals with paranormal threats. While you have access to weapons, armor and tools such as your nullrod and bible, this does not mean you should hunt those threats unless warranted. If you have any questions, don't hesitate to ask mentors." - base_paycheck_multiplier = BASEPAY_ROOKIE + economy_type = ECONOMY_TYPE_ROOKIE outfit = /datum/outfit/job/chaplain diff --git a/code/modules/jobs/job_types/engineering.dm b/code/modules/jobs/job_types/engineering.dm index 43a6f8d40..d7529e909 100644 --- a/code/modules/jobs/job_types/engineering.dm +++ b/code/modules/jobs/job_types/engineering.dm @@ -17,7 +17,7 @@ Chief Engineer exp_requirements = 1500 exp_type = EXP_TYPE_ENGINEERING exp_type_department = EXP_TYPE_ENGINEERING - base_paycheck_multiplier = BASEPAY_COMMAND + economy_type = ECONOMY_TYPE_COMMAND outfit = /datum/outfit/job/ce @@ -190,7 +190,7 @@ Junior Engineer selection_color = "#fff5cc" exp_requirements = 120 exp_type = EXP_TYPE_CREW - base_paycheck_multiplier = BASEPAY_ROOKIE + economy_type = ECONOMY_TYPE_ROOKIE outfit = /datum/outfit/job/engineer/junior diff --git a/code/modules/jobs/job_types/job.dm b/code/modules/jobs/job_types/job.dm index 590adee04..ea7af49ea 100644 --- a/code/modules/jobs/job_types/job.dm +++ b/code/modules/jobs/job_types/job.dm @@ -63,6 +63,8 @@ /// A multiplier for how much a person gets each paycheck var/base_paycheck_multiplier = 1.2 + /// The "type" of economy this job falls under + var/economy_type var/override_roundstart_spawn = null //Where the player spawns at roundstart if defined @@ -71,6 +73,10 @@ /datum/job/New() base_paycheck_multiplier = CONFIG_GET(number/economy_job_rate_default) + if(SSjob.economy_multipliers_by_job[title]) + base_paycheck_multiplier *= SSjob.economy_multipliers_by_job[title] + if(SSjob.economy_multipliers_by_type[economy_type]) + base_paycheck_multiplier *= SSjob.economy_multipliers_by_type[economy_type] //Only override this proc //H is usually a human unless an /equip override transformed it diff --git a/code/modules/jobs/job_types/medical.dm b/code/modules/jobs/job_types/medical.dm index eb142a67c..a9c28619c 100644 --- a/code/modules/jobs/job_types/medical.dm +++ b/code/modules/jobs/job_types/medical.dm @@ -17,7 +17,7 @@ Chief Medical Officer exp_requirements = 1500 exp_type = EXP_TYPE_MEDICAL exp_type_department = EXP_TYPE_MEDICAL - base_paycheck_multiplier = BASEPAY_COMMAND + economy_type = ECONOMY_TYPE_COMMAND outfit = /datum/outfit/job/cmo @@ -238,7 +238,7 @@ Junior Doctor selection_color = "#ffeef0" exp_requirements = 120 exp_type = EXP_TYPE_CREW - base_paycheck_multiplier = BASEPAY_ROOKIE + economy_type = ECONOMY_TYPE_ROOKIE outfit = /datum/outfit/job/doctor/junior @@ -280,7 +280,7 @@ Psychologist selection_color = "#ffeef0" exp_requirements = 240 exp_type = EXP_TYPE_CREW - base_paycheck_multiplier = BASEPAY_ROOKIE + economy_type = ECONOMY_TYPE_ROOKIE outfit = /datum/outfit/job/doctor/psychologist diff --git a/code/modules/jobs/job_types/science.dm b/code/modules/jobs/job_types/science.dm index 95ff1ecb7..30934b5ae 100644 --- a/code/modules/jobs/job_types/science.dm +++ b/code/modules/jobs/job_types/science.dm @@ -17,7 +17,7 @@ Research Director exp_requirements = 1500 exp_type = EXP_TYPE_SCIENCE exp_type_department = EXP_TYPE_SCIENCE - base_paycheck_multiplier = BASEPAY_COMMAND + economy_type = ECONOMY_TYPE_COMMAND outfit = /datum/outfit/job/rd @@ -155,7 +155,7 @@ Junior Scientist selection_color = "#ffeeff" exp_requirements = 120 exp_type = EXP_TYPE_CREW - base_paycheck_multiplier = BASEPAY_ROOKIE + economy_type = ECONOMY_TYPE_ROOKIE outfit = /datum/outfit/job/scientist/junior diff --git a/code/modules/jobs/job_types/security.dm b/code/modules/jobs/job_types/security.dm index a9421d5c0..6b83b0e55 100644 --- a/code/modules/jobs/job_types/security.dm +++ b/code/modules/jobs/job_types/security.dm @@ -23,7 +23,7 @@ Head of Security exp_requirements = 2000 exp_type = EXP_TYPE_SECURITY exp_type_department = EXP_TYPE_SECURITY - base_paycheck_multiplier = BASEPAY_COMMAND + economy_type = ECONOMY_TYPE_COMMAND outfit = /datum/outfit/job/hos @@ -92,6 +92,7 @@ Warden exp_requirements = 720 exp_type = EXP_TYPE_SECURITY exp_type_department = EXP_TYPE_SECURITY + economy_type = ECONOMY_TYPE_DANGEROUS outfit = /datum/outfit/job/warden @@ -151,6 +152,7 @@ Detective exp_requirements = 300 exp_type = EXP_TYPE_SECURITY exp_type_department = EXP_TYPE_SECURITY + economy_type = ECONOMY_TYPE_DANGEROUS outfit = /datum/outfit/job/detective @@ -208,6 +210,7 @@ Security Officer exp_requirements = 420 exp_type = EXP_TYPE_SECURITY exp_type_department = EXP_TYPE_SECURITY + economy_type = ECONOMY_TYPE_DANGEROUS outfit = /datum/outfit/job/security @@ -368,7 +371,7 @@ Junior Security Officer minimal_player_age = 3 exp_requirements = 300 exp_type = EXP_TYPE_CREW - base_paycheck_multiplier = BASEPAY_ROOKIE + economy_type = ECONOMY_TYPE_ROOKIE outfit = /datum/outfit/job/security/junior diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 8183a4688..463881e88 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -336,7 +336,7 @@ volume = 50 amount_per_transfer_from_this = 10 container_HP = 1 - price = PRICE_LOW + economy_type = ECONOMY_PRICE_LOW /obj/item/reagent_containers/glass/beaker/waterbottle/Initialize() beaker_weakness_bitflag |= TEMP_WEAK diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 712b4c12d..3394a515a 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -269,17 +269,20 @@ /obj/item/reagent_containers/pill/penis_enlargement name = "penis enlargement pill" list_reagents = list(/datum/reagent/fermi/penis_enlarger = 10) - price = PRICE_LOW icon_state = "pill_lewd" + economy_type = ECONOMY_PRICE_EROTIC + economy_price_mul = 0.25 /obj/item/reagent_containers/pill/breast_enlargement name = "breast enlargement pill" list_reagents = list(/datum/reagent/fermi/breast_enlarger = 10) - price = PRICE_LOW icon_state = "pill_lewd" + economy_type = ECONOMY_PRICE_EROTIC + economy_price_mul = 0.25 /obj/item/reagent_containers/pill/butt_enlargement name = "butt enlargement pill" list_reagents = list(/datum/reagent/fermi/butt_enlarger = 10) - price = PRICE_LOW - icon_state = "pill_lewd" \ No newline at end of file + icon_state = "pill_lewd" + economy_type = ECONOMY_PRICE_EROTIC + economy_price_mul = 0.25 diff --git a/code/modules/vending/_vending.dm b/code/modules/vending/_vending.dm index 0e06b1638..fed6345ed 100644 --- a/code/modules/vending/_vending.dm +++ b/code/modules/vending/_vending.dm @@ -167,14 +167,12 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C var/datum/data/vending_product/R = new /datum/data/vending_product() R.name = initial(temp.name) R.product_path = typepath - R.price = baseprice - if(product) //its a item! - if((initial(product.price))) - R.price = FLOOR(initial(product.price), 1) - else - R.price = baseprice - if(free) - R.price = 0 + if(!free) + R.price = baseprice + if(product) //its a item! + var/product_price = SSeconomy.GetPrice(product) + if(!isnull(product_price)) + R.price = product_price if(!start_empty) R.amount = amount R.max_amount = amount diff --git a/config/game_options.txt b/config/game_options.txt index 0f73f1f08..82168de3c 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -608,11 +608,13 @@ 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 +ECONOMY_JOB_RATE Captain, 1.5 -# 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 +# Examples for adding a single job datum. 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. This is less than 1 because assistants get the default multiplier added to them +ECONOMY_JOB_RATE Assistant, 0.83 +# This is a multiplier that Shaft Miners get for their paycheck. They count as a dangerous job, but they shouldn't get the same as security +ECONOMY_JOB_RATE Shaft Miner, 0.9 # Default price for items that use these values @@ -623,5 +625,6 @@ 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 +# A multiplier to the prices of items inside vendors. Avoid setting this higher than the Assistant's paycheck multiplier if possible +# This scales every item found in vendors. If you want to change an individual item, you have to change it through code ECONOMY_PRICE_MULTIPLIER 1 diff --git a/hyperstation/code/controllers/subsystem/economy.dm b/hyperstation/code/controllers/subsystem/economy.dm index 4efb15009..62906fb1c 100644 --- a/hyperstation/code/controllers/subsystem/economy.dm +++ b/hyperstation/code/controllers/subsystem/economy.dm @@ -7,6 +7,23 @@ SUBSYSTEM_DEF(economy) /// How many "paychecks" someone gets at the creation of the bank account var/roundstart_paychecks = 5 var/list/bank_accounts = list() //List of normal accounts (not department accounts) + var/static/list/prices_by_type + +/// Updates the prices from the config. Assorted into this individual proc instead of Initialize() so testers can change the config mid-round +/// without having to initialize the economy SS again +/datum/controller/subsystem/economy/proc/UpdatePrices() + prices_by_type = list() + prices_by_type += CONFIG_GET(number/economy_price_default) //ECONOMY_PRICE_DEFAULT.. 1 + prices_by_type += CONFIG_GET(number/economy_price_low) //ECONOMY_PRICE_LOW.. 2 + prices_by_type += CONFIG_GET(number/economy_price_high) + prices_by_type += CONFIG_GET(number/economy_price_erotic) + prices_by_type += CONFIG_GET(number/economy_price_expensive) + prices_by_type += CONFIG_GET(number/economy_price_expensive_af) + prices_by_type += 0 //ECONOMY_PRICE_FORCED_FREE.. 7 + +/datum/controller/subsystem/economy/Initialize() + UpdatePrices() + return ..() /datum/controller/subsystem/economy/fire() for(var/datum/bank_account/account as anything in bank_accounts) @@ -21,3 +38,12 @@ SUBSYSTEM_DEF(economy) */ /datum/controller/subsystem/economy/proc/GetPaycheck(datum/bank_account/account, datum/job/job, multiplier=1) return FLOOR((account:base_pay * job:base_paycheck_multiplier * multiplier) / 3, 1) + +/** + * Returns a price value from a subtype of an /obj/item, assuming it was compiled to use money. + * Otherwise, returns null if it does not use economy + */ +/datum/controller/subsystem/economy/proc/GetPrice(obj/item/costly_item) + if(!costly_item.economy_type) + return + return FLOOR(prices_by_type[costly_item.economy_type] * costly_item.economy_price_mul, 1) diff --git a/hyperstation/code/game/objects/items/cosmetics.dm b/hyperstation/code/game/objects/items/cosmetics.dm index 4ddff571b..fa55603a7 100644 --- a/hyperstation/code/game/objects/items/cosmetics.dm +++ b/hyperstation/code/game/objects/items/cosmetics.dm @@ -7,8 +7,9 @@ icon_state = "nailcap" item_state = "nailpolish" w_class = WEIGHT_CLASS_SMALL + economy_type = ECONOMY_PRICE_LOW + economy_price_mul = 1.25 var/paint = "black" - price = PRICE_LOW * 0.5 var/mutable_appearance/bottle //show the colour on the bottle. /obj/item/nailpolish/red diff --git a/hyperstation/code/game/objects/items/lovedice.dm b/hyperstation/code/game/objects/items/lovedice.dm index 1bba2e1a1..2a1c72f8b 100644 --- a/hyperstation/code/game/objects/items/lovedice.dm +++ b/hyperstation/code/game/objects/items/lovedice.dm @@ -12,7 +12,8 @@ sarcoph mar 2022 desc = "Contains all the intimate ideas you'll ever need. A game that everyone wins!" icon = 'hyperstation/icons/obj/toy.dmi' icon_state = "lovedicebag" - price = PRICE_LOW * 1.25 + economy_type = ECONOMY_PRICE_EROTIC + economy_price_mul = 0.5 /obj/item/storage/pill_bottle/lovedice/Initialize() . = ..() diff --git a/hyperstation/code/modules/economy/account.dm b/hyperstation/code/modules/economy/account.dm index 4edb3d39e..9e0fda100 100644 --- a/hyperstation/code/modules/economy/account.dm +++ b/hyperstation/code/modules/economy/account.dm @@ -8,8 +8,7 @@ /// The pin number that the owner wanted. Not set by default, so anyone can just steal your ID if you don't remember to set it var/account_pin /// The base amount of pay you get per paycheck - /// At the moment of documenting this, the base pay is 80 - var/base_pay = PRICE_BASE * 5 + var/base_pay = 80 /// The linked job datum for this bank account, for calculating unique base payment for each job var/datum/job/account_job /// The associated ID, for letting the card-holder know when a paycheck is processed @@ -25,6 +24,8 @@ stack_trace("A new bank account was made without the economy subsystem being initialized first. If this is an issue, change the subsystem's init_order.") return + base_pay = CONFIG_GET(number/economy_base_payment) + SSeconomy.bank_accounts += src balance += SSeconomy.GetPaycheck(src, job, SSeconomy.roundstart_paychecks) diff --git a/hyperstation/code/obj/condom.dm b/hyperstation/code/obj/condom.dm index 159bc7bdd..642ab38d8 100644 --- a/hyperstation/code/obj/condom.dm +++ b/hyperstation/code/obj/condom.dm @@ -9,7 +9,7 @@ icon_state = "b_condom_wrapped" var/unwrapped = 0 w_class = WEIGHT_CLASS_TINY - price = PRICE_LOW * 0.5 + economy_type = ECONOMY_PRICE_LOW obj/item/condom/Initialize() create_reagents(300, DRAWABLE|NO_REACT) diff --git a/hyperstation/code/obj/fleshlight.dm b/hyperstation/code/obj/fleshlight.dm index bd1b1d8dd..7349a0522 100644 --- a/hyperstation/code/obj/fleshlight.dm +++ b/hyperstation/code/obj/fleshlight.dm @@ -10,10 +10,11 @@ icon_state = "fleshlight_base" item_state = "fleshlight" w_class = WEIGHT_CLASS_SMALL - var/sleevecolor = "#ffcbd4" //pink - price = PRICE_EROTICA * 0.75 - var/mutable_appearance/sleeve + economy_type = ECONOMY_PRICE_EROTIC + economy_price_mul = 0.95 var/inuse = 0 + var/sleevecolor = "#ffcbd4" //pink + var/mutable_appearance/sleeve /obj/item/fleshlight/examine(mob/user) . = ..() @@ -78,10 +79,11 @@ icon_state = "unpaired" item_state = "fleshlight" w_class = WEIGHT_CLASS_SMALL + economy_type = ECONOMY_PRICE_EROTIC + economy_price_mul = 1.2 var/partnercolor = "#ffcbd4" var/partnerbase = "normal" var/partnerorgan = "portal_vag" - price = PRICE_EROTICA var/mutable_appearance/sleeve var/mutable_appearance/organ var/inuse = 0 @@ -276,7 +278,8 @@ icon = 'hyperstation/icons/obj/fleshlight.dmi' desc = "A small silver box with Silver Love Co embossed." icon_state = "box" - price = PRICE_EROTICA * 1.15 + economy_type = ECONOMY_PRICE_EROTIC + economy_price_mul = 1.5 // portal fleshlight box /obj/item/storage/box/portallight/PopulateContents() diff --git a/hyperstation/code/obj/kinkyclothes.dm b/hyperstation/code/obj/kinkyclothes.dm index 1326bad33..b44bc41df 100644 --- a/hyperstation/code/obj/kinkyclothes.dm +++ b/hyperstation/code/obj/kinkyclothes.dm @@ -6,14 +6,16 @@ icon = 'hyperstation/icons/obj/clothing/gloves.dmi' alternate_worn_icon = 'hyperstation/icons/mobs/gloves.dmi' mutantrace_variation = NO_MUTANTRACE_VARIATION - price = PRICE_EROTICA * 0.75 + economy_type = ECONOMY_PRICE_EROTIC + economy_price_mul = 0.75 /obj/item/clothing/gloves/latexsleeves/security name = "security sleeves" desc = "A pair of latex sleeves, with a band of red above the elbows denoting that the wearer is part of the security team." icon_state = "latexsec" item_state = "latexsec" - price = PRICE_EROTICA * 0.75 + economy_type = ECONOMY_PRICE_EROTIC + economy_price_mul = 0.75 /obj/item/clothing/head/dominatrixcap name = "dominatrix cap" @@ -45,7 +47,8 @@ obj/item/clothing/neck/stole w_class = WEIGHT_CLASS_SMALL icon_state = "stole" item_state = "" //no inhands - price = PRICE_HIGH * 0.75 + economy_type = ECONOMY_PRICE_EXPENSIVE + economy_price_mul = 0.75 obj/item/clothing/neck/stole/black name = "black boa" @@ -55,7 +58,8 @@ obj/item/clothing/neck/stole/black icon_state = "stole" item_state = "" //no inhands color = "#3d3d3d" - price = PRICE_HIGH * 0.75 + economy_type = ECONOMY_PRICE_EXPENSIVE + economy_price_mul = 0.75 /obj/item/clothing/suit/fluffyhalfcrop name = "fluffy half-crop jacket" diff --git a/hyperstation/code/obj/rope.dm b/hyperstation/code/obj/rope.dm index a66cde289..d8cc0a6d6 100644 --- a/hyperstation/code/obj/rope.dm +++ b/hyperstation/code/obj/rope.dm @@ -10,7 +10,8 @@ item_state = "rope" //This sprite is in restraints.dmi until I figure out how to refrence somewhere else cuffsound = 'sound/weapons/cablecuff.ogg' armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) - price = PRICE_LOW * 1.25 + economy_type = ECONOMY_PRICE_LOW + economy_price_mul = 1.25 /mob/living/proc/rope_add(source) //Check to see if the rope is on, and then add effects var/mob/living/carbon/M = source diff --git a/hyperstation/code/obj/sounding.dm b/hyperstation/code/obj/sounding.dm index e6f07cdbf..47e76a9fe 100644 --- a/hyperstation/code/obj/sounding.dm +++ b/hyperstation/code/obj/sounding.dm @@ -6,7 +6,7 @@ icon_state = "sounding_wrapped" var/unwrapped = 0 w_class = WEIGHT_CLASS_TINY - price = PRICE_LOW + economy_type = ECONOMY_PRICE_LOW /obj/item/sounding/attack_self(mob/user) if(!istype(user)) diff --git a/hyperstation/code/obj/vibrator.dm b/hyperstation/code/obj/vibrator.dm index df93113c4..247cc2440 100644 --- a/hyperstation/code/obj/vibrator.dm +++ b/hyperstation/code/obj/vibrator.dm @@ -13,7 +13,7 @@ var/style = "long" var/inside = FALSE var/last = 0 - price = PRICE_LOW * 1.25 + economy_type = ECONOMY_PRICE_EROTIC /obj/item/electropack/vibrator/Initialize() //give the device its own code . = ..() diff --git a/modular_citadel/code/game/objects/items/devices/radio/shockcollar.dm b/modular_citadel/code/game/objects/items/devices/radio/shockcollar.dm index 440f8eba7..a2179fb21 100644 --- a/modular_citadel/code/game/objects/items/devices/radio/shockcollar.dm +++ b/modular_citadel/code/game/objects/items/devices/radio/shockcollar.dm @@ -11,7 +11,8 @@ strip_delay = 60 equip_delay_other = 60 materials = list(MAT_METAL=5000, MAT_GLASS=2000) - price = PRICE_HIGH + economy_type = ECONOMY_PRICE_EXPENSIVE + economy_price_mul = 0.75 var/tagname = null /datum/design/electropack/shockcollar