From fcfe84b9ffb056a38451e92f4a3aa2d73543dac6 Mon Sep 17 00:00:00 2001 From: ShizCalev Date: Sat, 10 Nov 2018 14:01:56 -0500 Subject: [PATCH] Allows custom pricing of premium vending machine items --- code/game/atoms.dm | 1 + code/modules/vending/_vending.dm | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 2b32a5421fc..4b496af485b 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -33,6 +33,7 @@ var/list/filter_data //For handling persistent filters var/custom_price + var/custom_premium_price var/datum/component/orbiter/orbiters diff --git a/code/modules/vending/_vending.dm b/code/modules/vending/_vending.dm index 80561512667..7824edcf73b 100644 --- a/code/modules/vending/_vending.dm +++ b/code/modules/vending/_vending.dm @@ -23,6 +23,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C var/max_amount = 0 var/display_color = "blue" var/custom_price + var/custom_premium_price /obj/machinery/vending name = "\improper Vendomat" @@ -165,6 +166,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C R.max_amount = amount R.display_color = pick("#ff8080","#80ff80","#8080ff") R.custom_price = initial(temp.custom_price) + R.custom_premium_price = initial(temp.custom_premium_price) recordlist += R /obj/machinery/vending/proc/restock(obj/item/vending_refill/canister) @@ -332,7 +334,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C if(!onstation || account && account.account_job && account.account_job.paycheck_department == payment_department) price_listed = "FREE" if(coin_records.Find(R) || is_hidden) - price_listed = "$[extra_price]" + price_listed = "$[R.custom_premium_price ? R.custom_premium_price : extra_price]" dat += "
  • " if(R.amount > 0 && ((C && C.registered_account && onstation) || (!onstation && iscarbon(user)))) dat += "Vend " @@ -455,7 +457,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C if(account.account_job && account.account_job.paycheck_department == payment_department) price_to_use = 0 if(coin_records.Find(R) || hidden_records.Find(R)) - price_to_use = extra_price + price_to_use = R.custom_premium_price ? R.custom_premium_price : extra_price if(price_to_use && !account.adjust_money(-price_to_use)) say("You do not possess the funds to purchase [R.name].") flick(icon_deny,src)