diff --git a/code/__DEFINES/economy.dm b/code/__DEFINES/economy.dm
new file mode 100644
index 000000000..c00b4d593
--- /dev/null
+++ b/code/__DEFINES/economy.dm
@@ -0,0 +1,12 @@
+#define BASEPAY_ASSISTANT 1
+#define BASEPAY_ROOKIE 1
+#define BASEPAY_DEFAULT 1.1
+#define BASEPAY_COMMAND 1.25
+#define BASEPAY_CAPTAIN 1.5
+
+
+#define PRICE_BASE (FLOOR(BASEPAY_ASSISTANT * 16, 1))
+#define PRICE_LOW (FLOOR(PRICE_BASE * 0.5, 1))
+#define PRICE_HIGH (FLOOR(PRICE_BASE * 2, 1))
+#define PRICE_EROTICA (FLOOR(PRICE_HIGH * 1.15, 1))
+#define PRICE_EXPENSIVE (FLOOR(PRICE_HIGH * 1.5), 1)
diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm
index 135781f1c..9e239420c 100644
--- a/code/game/objects/items/cigs_lighters.dm
+++ b/code/game/objects/items/cigs_lighters.dm
@@ -505,7 +505,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
w_class = WEIGHT_CLASS_TINY
flags_1 = CONDUCT_1
slot_flags = ITEM_SLOT_BELT
- price = 1
+ 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 05eb013fa..b42ddb356 100644
--- a/code/game/objects/items/mesmetron.dm
+++ b/code/game/objects/items/mesmetron.dm
@@ -9,7 +9,7 @@
throw_speed = 3
var/mob/living/carbon/subject = null
var/closed = FALSE
- price = 10
+ price = PRICE_EROTICA
//Hypnotize someone
diff --git a/code/game/objects/items/stacks/cash.dm b/code/game/objects/items/stacks/cash.dm
index e7de4e6a1..8b9f89ed1 100644
--- a/code/game/objects/items/stacks/cash.dm
+++ b/code/game/objects/items/stacks/cash.dm
@@ -20,7 +20,7 @@
/obj/item/stack/spacecash/proc/update_desc()
var/total_worth = amount*value
- desc = "A outdated form of currency, It's worth [total_worth] credit[( total_worth > 1 ) ? "s" : ""]"
+ desc = "An outdated form of currency, It's worth [total_worth] credit[( total_worth > 1 ) ? "s" : ""]"
/obj/item/stack/spacecash/merge(obj/item/stack/S)
diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm
index 0196daee0..4cdc7b160 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 = 5
+ price = PRICE_EROTICA
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 899617fd1..03dffc430 100644
--- a/code/game/objects/items/storage/boxes.dm
+++ b/code/game/objects/items/storage/boxes.dm
@@ -418,7 +418,7 @@
desc = "Instructions: Heat in microwave. Product will cool if not eaten within seven minutes."
icon_state = "donkpocketbox"
illustration=null
- price = 10
+ price = PRICE_EXPENSIVE * 0.85
var/donktype = /obj/item/reagent_containers/food/snacks/donkpocket
var/warmtype = /obj/item/reagent_containers/food/snacks/donkpocket/warm
@@ -675,7 +675,7 @@
item_state = "zippo"
w_class = WEIGHT_CLASS_TINY
slot_flags = ITEM_SLOT_BELT
- price = 2
+ price = PRICE_LOW * 0.5
drop_sound = 'sound/items/handling/matchbox_drop.ogg'
pickup_sound = 'sound/items/handling/matchbox_pickup.ogg'
diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm
index 2d1b0b57a..6f533b245 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 = 5
+ price = PRICE_LOW * 0.5
/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 = 6
+ price = PRICE_LOW * 0.75
/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 = 2
+ price = PRICE_LOW * 0.25
/obj/item/storage/fancy/rollingpapers/ComponentInitialize()
. = ..()
@@ -308,7 +308,7 @@
w_class = WEIGHT_CLASS_NORMAL
icon_type = "premium cigar"
spawn_type = /obj/item/clothing/mask/cigarette/cigar
- price = 8
+ price = PRICE_BASE
/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 9b43af283..50b5f4754 100644
--- a/code/game/objects/items/tools/weldingtool.dm
+++ b/code/game/objects/items/tools/weldingtool.dm
@@ -344,7 +344,7 @@
item_state = "upindwelder"
max_fuel = 80
materials = list(MAT_METAL=70, MAT_GLASS=120)
- price = 10
+ price = PRICE_EXPENSIVE * 1.1
/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 9b82fc1e3..b79b77440 100644
--- a/code/modules/clothing/gloves/color.dm
+++ b/code/modules/clothing/gloves/color.dm
@@ -8,7 +8,7 @@
item_color="yellow"
resistance_flags = NONE
var/can_be_cut = 1
- price = 10
+ price = PRICE_EXPENSIVE
/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 +34,7 @@
item_color="yellow"
resistance_flags = NONE
var/can_be_cut = 1
- price = 5
+ price = PRICE_LOW * 0.5
/obj/item/clothing/gloves/color/fyellow/New()
..()
@@ -129,7 +129,7 @@
siemens_coefficient = 0
permeability_coefficient = 0.05
resistance_flags = NONE
- price = 12
+ price = PRICE_EXPENSIVE
/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 3acdb8335..de3a7d5af 100644
--- a/code/modules/clothing/head/jobs.dm
+++ b/code/modules/clothing/head/jobs.dm
@@ -260,7 +260,7 @@
name = "security's bitch beret"
desc = "A softer beret with the word 'BITCH' embroidered on it in pink thread."
icon_state = "bitchberet"
- price = 5
+ price = PRICE_LOW * 1.5
//Curator
/obj/item/clothing/head/fedora/curator
diff --git a/code/modules/clothing/masks/hailer.dm b/code/modules/clothing/masks/hailer.dm
index 5d53688cd..79864797a 100644
--- a/code/modules/clothing/masks/hailer.dm
+++ b/code/modules/clothing/masks/hailer.dm
@@ -45,7 +45,7 @@
item_state = "sluthailer"
aggressiveness = 0 //can't have your pets being mean!
actions_types = list(/datum/action/item_action/halt)
- price = 5
+ price = PRICE_EROTICA
/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 3f7909b1e..98a9ea537 100644
--- a/code/modules/clothing/neck/_neck.dm
+++ b/code/modules/clothing/neck/_neck.dm
@@ -302,4 +302,4 @@
icon = 'icons/obj/clothing/neck.dmi'
icon_state = "bling"
item_color = "bling"
- price = 30
\ No newline at end of file
+ price = PRICE_EXPENSIVE
\ No newline at end of file
diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm
index 13eb8eacc..069dda542 100644
--- a/code/modules/clothing/shoes/miscellaneous.dm
+++ b/code/modules/clothing/shoes/miscellaneous.dm
@@ -137,7 +137,7 @@
desc = "A pair of knee-high jackboots, complete with heels. All style, all the time."
icon_state = "jackboots-tall"
item_state = "jackboots-tall"
- price = 5
+ price = PRICE_BASE * 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 e193aa3e4..8eca34714 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 = 5
+ price = PRICE_HIGH
//Surgeon
/obj/item/clothing/suit/apron/surgical
diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm
index 6e002119b..60314ead6 100644
--- a/code/modules/clothing/suits/miscellaneous.dm
+++ b/code/modules/clothing/suits/miscellaneous.dm
@@ -710,7 +710,7 @@
icon_state = "coatsecuritypink"
item_state = "coatsecuritypink"
hoodtype = /obj/item/clothing/head/hooded/winterhood/security/pink
- price = 5
+ price = PRICE_LOW
/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 6b5eea68b..62c12768a 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 = 10
+ price = PRICE_EXPENSIVE
/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 722c71640..916b012cb 100644
--- a/code/modules/clothing/under/jobs/security.dm
+++ b/code/modules/clothing/under/jobs/security.dm
@@ -30,7 +30,7 @@
icon_state = "rsecuritypink"
item_state = "r_suit"
item_color = "rsecuritypink"
- price = 3
+ price = PRICE_LOW
/obj/item/clothing/under/rank/security/skirt
name = "security jumpskirt"
desc = "A \"tactical\" security jumpsuit with the legs replaced by a skirt."
@@ -47,7 +47,7 @@
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 = 3
+ price = PRICE_LOW
/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 +61,7 @@
can_adjust = FALSE
body_parts_covered = CHEST|GROIN
mutantrace_variation = NO_MUTANTRACE_VARIATION
- price = 5
+ price = PRICE_EROTICA
/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 7cb5e3df4..85c41cb8a 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 = 2
+ price = 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 = 2
+ price = PRICE_LOW
/* Doesn't exist lol
/datum/chemical_reaction/catnip_tea
@@ -252,7 +252,7 @@
*/
/obj/item/reagent_containers/food/drinks/mug/on_reagent_change(changetype)
- cut_overlays()
+ cut_overlays()
if(reagents.total_volume)
var/mutable_appearance/MA = mutable_appearance(icon,"mugoverlay")
MA.color = mix_color_from_reagents(reagents.reagent_list)
@@ -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 = 2
+ price = PRICE_LOW
/obj/item/reagent_containers/food/drinks/mug/coco
name = "Dutch hot coco"
@@ -284,7 +284,7 @@
list_reagents = list(/datum/reagent/consumable/dry_ramen = 30)
foodtype = GRAIN
isGlass = FALSE
- price = 3
+ price = PRICE_BASE * 0.75
/obj/item/reagent_containers/food/drinks/beer
name = "space beer"
@@ -423,7 +423,7 @@
reagent_flags = NONE
spillable = FALSE
isGlass = FALSE
- price = 2
+ price = PRICE_LOW
/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 +548,4 @@
icon_state = "menergy"
list_reagents = list(/datum/reagent/consumable/monkey_energy = 50)
foodtype = SUGAR
- price = 3
+ price = PRICE_HIGH * 1.25
diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm
index 623179f8f..70e139d3b 100644
--- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm
+++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm
@@ -416,7 +416,7 @@
isGlass = FALSE
list_reagents = list(/datum/reagent/consumable/cream = 100)
foodtype = DAIRY
- price = 3
+ price = PRICE_LOW
/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 95b3e8dbc..7ad3baf0c 100644
--- a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm
+++ b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm
@@ -93,7 +93,7 @@
/obj/item/reagent_containers/food/drinks/drinkingglass/filled/nuka_cola
name = "Nuka Cola"
list_reagents = list(/datum/reagent/consumable/nuka_cola = 50)
- price = 7
+ price = PRICE_BASE * 1.1
/obj/item/reagent_containers/food/drinks/drinkingglass/filled/syndicatebomb
name = "Syndicat Bomb"
diff --git a/code/modules/food_and_drinks/food/condiment.dm b/code/modules/food_and_drinks/food/condiment.dm
index 69d943681..2693c192d 100644
--- a/code/modules/food_and_drinks/food/condiment.dm
+++ b/code/modules/food_and_drinks/food/condiment.dm
@@ -186,7 +186,7 @@
righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi'
list_reagents = list(/datum/reagent/consumable/milk = 50)
possible_states = list()
- price = 5
+ price = PRICE_LOW
/obj/item/reagent_containers/food/condiment/flour
name = "flour sack"
diff --git a/code/modules/food_and_drinks/food/snacks_other.dm b/code/modules/food_and_drinks/food/snacks_other.dm
index 30f12279c..435326ea0 100644
--- a/code/modules/food_and_drinks/food/snacks_other.dm
+++ b/code/modules/food_and_drinks/food/snacks_other.dm
@@ -59,7 +59,7 @@
tastes = list("chocolate" = 1)
foodtype = JUNKFOOD | SUGAR
dunkable = TRUE
- price = 2
+ price = PRICE_LOW * 0.5
/obj/item/reagent_containers/food/snacks/hugemushroomslice
@@ -663,4 +663,4 @@
else if (icon_state != "marshmallowrburned")
icon_state = "marshmallowburned"
desc = "[initial(desc)] It looks just right for eating!"
- tastes = list("marshmallow" = 1, "cream" = 1)
+ tastes = list("marshmallow" = 1, "cream" = 1)
diff --git a/code/modules/food_and_drinks/food/snacks_vend.dm b/code/modules/food_and_drinks/food/snacks_vend.dm
index e96e92d87..797a4f4a7 100644
--- a/code/modules/food_and_drinks/food/snacks_vend.dm
+++ b/code/modules/food_and_drinks/food/snacks_vend.dm
@@ -12,7 +12,7 @@
filling_color = "#D2691E"
tastes = list("candy" = 1)
foodtype = JUNKFOOD | SUGAR
- price = 2
+ price = PRICE_LOW * 0.5
/obj/item/reagent_containers/food/snacks/sosjerky
name = "\improper Scaredy's Private Reserve Beef Jerky"
@@ -24,7 +24,7 @@
filling_color = "#8B0000"
tastes = list("dried meat" = 1)
foodtype = JUNKFOOD | MEAT | SUGAR
- price = 3
+ price = PRICE_LOW * 0.75
/obj/item/reagent_containers/food/snacks/sosjerky/healthy
name = "homemade beef jerky"
@@ -43,7 +43,7 @@
filling_color = "#FFD700"
tastes = list("salt" = 1, "crisps" = 1)
foodtype = JUNKFOOD | FRIED
- price = 2
+ price = PRICE_LOW * 0.5
/obj/item/reagent_containers/food/snacks/no_raisin
name = "4no raisins"
@@ -55,7 +55,7 @@
filling_color = "#8B0000"
tastes = list("dried raisins" = 1)
foodtype = JUNKFOOD | FRUIT | SUGAR
- price = 2
+ price = PRICE_LOW * 0.5
/obj/item/reagent_containers/food/snacks/no_raisin/healthy
name = "homemade raisins"
@@ -72,7 +72,7 @@
junkiness = 25
filling_color = "#FFD700"
foodtype = JUNKFOOD | GRAIN | SUGAR
- price = 4
+ price = PRICE_LOW
/obj/item/reagent_containers/food/snacks/cheesiehonkers
name = "cheesie honkers"
@@ -84,7 +84,7 @@
filling_color = "#FFD700"
tastes = list("cheese" = 5, "crisps" = 2)
foodtype = JUNKFOOD | DAIRY | SUGAR
- price = 4
+ price = PRICE_LOW * 0.5
/obj/item/reagent_containers/food/snacks/soyfood
name = "Soyfood"
@@ -96,7 +96,7 @@
filling_color = "#FFD700"
tastes = list("nanomachines" = 2, "soybeans" = 5)
foodtype = JUNKFOOD | DAIRY | GRAIN
- price = 3
+ price = PRICE_LOW * 1.25
/obj/item/reagent_containers/food/snacks/syndicake
name = "syndi-cakes"
@@ -107,7 +107,7 @@
filling_color = "#F5F5DC"
tastes = list("sweetness" = 3, "cake" = 1)
foodtype = GRAIN | FRUIT | VEGETABLES | ANTITOXIC
- price = 5
+ price = PRICE_LOW * 1.75
/obj/item/reagent_containers/food/snacks/carbonnanotube_noodles
name = "carbon nanotube noodles"
@@ -119,7 +119,7 @@
filling_color = "#FFD700"
tastes = list("charcoal" = 1, "spiciness" = 3, "soysauce" = 3)
foodtype = GRAIN | VEGETABLES
- price = 3
+ price = PRICE_LOW * 1.75
/obj/item/reagent_containers/food/snacks/bird_seed
name = "Sunflower Seeds"
@@ -130,4 +130,4 @@
filling_color = "#b497162f"
tastes = list("olives" = 1, "Nuts" = 3, "spice" = 2)
foodtype = GRAIN | VEGETABLES
- price = 3
\ No newline at end of file
+ price = PRICE_LOW
\ No newline at end of file
diff --git a/code/modules/jobs/job_types/job.dm b/code/modules/jobs/job_types/job.dm
index 1b07a8c75..b44914b71 100644
--- a/code/modules/jobs/job_types/job.dm
+++ b/code/modules/jobs/job_types/job.dm
@@ -62,7 +62,7 @@
var/list/alt_titles = list()
/// A multiplier for how much a person gets each paycheck
- var/base_paycheck_multiplier = 0.7
+ var/base_paycheck_multiplier = 1
var/override_roundstart_spawn = null //Where the player spawns at roundstart if defined
diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm
index 0a577dc44..8183a4688 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 = 1
+ price = 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 9a7404a98..712b4c12d 100644
--- a/code/modules/reagents/reagent_containers/pill.dm
+++ b/code/modules/reagents/reagent_containers/pill.dm
@@ -269,17 +269,17 @@
/obj/item/reagent_containers/pill/penis_enlargement
name = "penis enlargement pill"
list_reagents = list(/datum/reagent/fermi/penis_enlarger = 10)
- price = 4
+ price = PRICE_LOW
icon_state = "pill_lewd"
/obj/item/reagent_containers/pill/breast_enlargement
name = "breast enlargement pill"
list_reagents = list(/datum/reagent/fermi/breast_enlarger = 10)
- price = 4
+ price = PRICE_LOW
icon_state = "pill_lewd"
/obj/item/reagent_containers/pill/butt_enlargement
name = "butt enlargement pill"
list_reagents = list(/datum/reagent/fermi/butt_enlarger = 10)
- price = 4
+ price = PRICE_LOW
icon_state = "pill_lewd"
\ No newline at end of file
diff --git a/hyperstation/code/controllers/subsystem/economy.dm b/hyperstation/code/controllers/subsystem/economy.dm
index ca1fa5201..157a7ac3f 100644
--- a/hyperstation/code/controllers/subsystem/economy.dm
+++ b/hyperstation/code/controllers/subsystem/economy.dm
@@ -20,4 +20,4 @@ SUBSYSTEM_DEF(economy)
* job datums if the respective one is null. You can pass zero arguments here and you'd get the "default" amount of a paycheck.
*/
/datum/controller/subsystem/economy/proc/GetPaycheck(datum/bank_account/account, datum/job/job, multiplier=1)
- return account:base_pay * job:base_paycheck_multiplier * multiplier
+ return FLOOR(account:base_pay * job:base_paycheck_multiplier * multiplier, 1)
diff --git a/hyperstation/code/game/objects/items/cosmetics.dm b/hyperstation/code/game/objects/items/cosmetics.dm
index e30267472..4ddff571b 100644
--- a/hyperstation/code/game/objects/items/cosmetics.dm
+++ b/hyperstation/code/game/objects/items/cosmetics.dm
@@ -8,7 +8,7 @@
item_state = "nailpolish"
w_class = WEIGHT_CLASS_SMALL
var/paint = "black"
- price = 5
+ 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 2048fce55..a3d36b163 100644
--- a/hyperstation/code/game/objects/items/lovedice.dm
+++ b/hyperstation/code/game/objects/items/lovedice.dm
@@ -1,4 +1,4 @@
-/*
+/*
lover's dice: based off a really funny yakuza gif i saw on tumblr years ago
these give suggestions for sex acts to perform. it's stupid but fun.
@@ -12,7 +12,7 @@ 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 = 1
+ price = PRICE_LOW
/obj/item/storage/pill_bottle/lovedice/Initialize()
. = ..()
diff --git a/hyperstation/code/modules/economy/account.dm b/hyperstation/code/modules/economy/account.dm
index a244ed0eb..4edb3d39e 100644
--- a/hyperstation/code/modules/economy/account.dm
+++ b/hyperstation/code/modules/economy/account.dm
@@ -8,7 +8,8 @@
/// 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
- var/base_pay = 60
+ /// At the moment of documenting this, the base pay is 80
+ var/base_pay = PRICE_BASE * 5
/// 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
diff --git a/hyperstation/code/obj/condom.dm b/hyperstation/code/obj/condom.dm
index 2c3122fe2..1e3aeb8f3 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 = 1
+ price = 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 421cfb8f6..bd1b1d8dd 100644
--- a/hyperstation/code/obj/fleshlight.dm
+++ b/hyperstation/code/obj/fleshlight.dm
@@ -11,7 +11,7 @@
item_state = "fleshlight"
w_class = WEIGHT_CLASS_SMALL
var/sleevecolor = "#ffcbd4" //pink
- price = 8
+ price = PRICE_EROTICA * 0.75
var/mutable_appearance/sleeve
var/inuse = 0
@@ -81,7 +81,7 @@
var/partnercolor = "#ffcbd4"
var/partnerbase = "normal"
var/partnerorgan = "portal_vag"
- price = 20
+ price = PRICE_EROTICA
var/mutable_appearance/sleeve
var/mutable_appearance/organ
var/inuse = 0
@@ -96,7 +96,7 @@
else
. += "The device is paired, and awaiting input. "
-/obj/item/portallight/attack(mob/living/carbon/user, mob/living/holder)
+/obj/item/portallight/attack(mob/living/carbon/user, mob/living/holder)
if(inuse) //just to stop stacking and causing people to cum instantly
return
if(!UpdateUsability())
@@ -111,8 +111,8 @@
if(option == "Fuck" && !P.is_exposed())
to_chat(holder, "You don't see anywhere to use this on.")
return
- /*
- WARMUP START - prevents spam/instant climax
+ /*
+ WARMUP START - prevents spam/instant climax
*/
inuse = TRUE
if(user != holder)
@@ -122,8 +122,8 @@
inuse = FALSE
return
inuse = FALSE
- /*
- WARMUP END - proceed with the action
+ /*
+ WARMUP END - proceed with the action
*/
switch(option)
if("Fuck")
@@ -140,7 +140,7 @@
user.adjustArousalLoss(20)
target.adjustArousalLoss(20)
target.do_jitter_animation()
- if(target.can_orgasm() && prob(5))
+ if(target.can_orgasm() && prob(5))
target.mob_climax_outside(target_genital, spillage=target_genital.is_exposed())
if(user.can_orgasm())
var/mob/living/carbon/human/O = user
@@ -276,7 +276,7 @@
icon = 'hyperstation/icons/obj/fleshlight.dmi'
desc = "A small silver box with Silver Love Co embossed."
icon_state = "box"
- price = 15
+ price = PRICE_EROTICA * 1.15
// portal fleshlight box
/obj/item/storage/box/portallight/PopulateContents()
diff --git a/hyperstation/code/obj/kinkyclothes.dm b/hyperstation/code/obj/kinkyclothes.dm
index e7be65751..1326bad33 100644
--- a/hyperstation/code/obj/kinkyclothes.dm
+++ b/hyperstation/code/obj/kinkyclothes.dm
@@ -6,14 +6,14 @@
icon = 'hyperstation/icons/obj/clothing/gloves.dmi'
alternate_worn_icon = 'hyperstation/icons/mobs/gloves.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
- price = 5
+ price = PRICE_EROTICA * 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 = 5
+ price = PRICE_EROTICA * 0.75
/obj/item/clothing/head/dominatrixcap
name = "dominatrix cap"
@@ -45,7 +45,7 @@ obj/item/clothing/neck/stole
w_class = WEIGHT_CLASS_SMALL
icon_state = "stole"
item_state = "" //no inhands
- price = 3
+ price = PRICE_HIGH * 0.75
obj/item/clothing/neck/stole/black
name = "black boa"
@@ -55,7 +55,7 @@ obj/item/clothing/neck/stole/black
icon_state = "stole"
item_state = "" //no inhands
color = "#3d3d3d"
- price = 3
+ price = PRICE_HIGH * 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 4e029509a..28bb84750 100644
--- a/hyperstation/code/obj/rope.dm
+++ b/hyperstation/code/obj/rope.dm
@@ -10,7 +10,7 @@
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 = 2
+ price = PRICE_LOW * 1.25 //What's so expensive about a rope?
/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 08715aa38..94b8b33bf 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 = 1
+ price = 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 40e1446e9..870b5069b 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 = 3
+ price = PRICE_LOW * 1.2
/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 0b97815b6..440f8eba7 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,7 @@
strip_delay = 60
equip_delay_other = 60
materials = list(MAT_METAL=5000, MAT_GLASS=2000)
- price = 5
+ price = PRICE_HIGH
var/tagname = null
/datum/design/electropack/shockcollar
diff --git a/tgstation.dme b/tgstation.dme
index bd40b91ac..03f7a2973 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -43,6 +43,7 @@
#include "code\__DEFINES\cult.dm"
#include "code\__DEFINES\diseases.dm"
#include "code\__DEFINES\DNA.dm"
+#include "code\__DEFINES\economy.dm"
#include "code\__DEFINES\events.dm"
#include "code\__DEFINES\exports.dm"
#include "code\__DEFINES\fantasy_affixes.dm"