Adds Inflation (#19447)

* it's yours my friend

as long as you have enough

* Sellable

AND bombcode is fixed

* this

* Craftable

* Update code/controllers/subsystems/supply.dm

* Update code/modules/economy/cargo_point_scanner.dm

* Apply suggestion from @Cameron-The-Raven
This commit is contained in:
Cameron Lennox
2026-05-21 10:22:06 -04:00
committed by GitHub
parent 56a5747dcb
commit 6ac39e264e
19 changed files with 392 additions and 25 deletions
+3 -3
View File
@@ -841,7 +841,7 @@ SUBSYSTEM_DEF(internal_wiki)
data["stack_size"] = initial(stack_path.max_amount) ? initial(stack_path.max_amount) : 0
var/supply_value = M.supply_conversion_value ? M.supply_conversion_value : 0
data["supply_points"] = supply_value
var/value = supply_value * SSsupply.points_per_money
var/value = supply_value * SSsupply.money_per_points
value = FLOOR(value * 100, 1) / 100 // Truncate decimals
data["market_price"] = value
@@ -1132,7 +1132,7 @@ SUBSYSTEM_DEF(internal_wiki)
data["industrial_use"] = R.industrial_use
data["supply_points"] = R.supply_conversion_value ? R.supply_conversion_value : 0
data["cooling_mod"] = R.coolant_modifier
var/value = R.supply_conversion_value * REAGENTS_PER_SHEET * SSsupply.points_per_money
var/value = R.supply_conversion_value * REAGENTS_PER_SHEET * SSsupply.money_per_points
value = FLOOR(value * 100,1) / 100 // Truncate decimals
data["market_price"] = value
data["sintering"] = SSinternal_wiki.assemble_sintering(GLOB.reagent_sheets[R.id])
@@ -1243,7 +1243,7 @@ SUBSYSTEM_DEF(internal_wiki)
var/list/recipe_data = list()
var/value = recipe["Price"] ? recipe["Price"] : 0
recipe_data["supply_points"] = value
value *= SSsupply.points_per_money // convert to cash
value *= SSsupply.money_per_points // convert to cash
value = FLOOR(value * 100,1) / 100 // Truncate decimals
recipe_data["market_price"] = value
recipe_data["appliance"] = recipe["Appliance"]
+25 -8
View File
@@ -7,11 +7,23 @@ SUBSYSTEM_DEF(supply)
//Initializes at default time
flags = SS_NO_TICK_CHECK
//supply points
/// Supply points
var/points = 50
var/points_per_process = 1.0 // Processes every 20 seconds, so this is 3 per minute
/// How many points we get every SSSupply fire.
var/points_per_process = 1.0
/// How much money we get for every stamped slip we return to Central
var/points_per_slip = 2
var/points_per_money = 0.02 // 1 point for $50
/// How much money one SP is worth in thalers. Shows up in the end of round stats.
var/money_per_points = 50
/// How much power we've sold this round.
var/watts_sold = 0
/// How many watts that have to be sold for a point - NYI
var/points_per_watt = 10 MEGAWATTS
/// How many TTVs we have sold this round.
var/warheads_sold = 0
/// How many points we've made selling TTVs
var/warheads_value = 0
//control
var/ordernum = 0 // Start at zero, it's per-shift tracking
var/list/shoppinglist = list() // Approved orders
@@ -53,10 +65,12 @@ SUBSYSTEM_DEF(supply)
return 1
if(istype(A,/obj/item/radio/beacon))
return 1
if(istype(A,/obj/item/perfect_tele_beacon)) //VOREStation Addition: Translocator beacons
return 1 //VOREStation Addition: Translocator beacons
if(istype(A,/obj/machinery/power/quantumpad)) // //VOREStation Add: Quantum pads
return 1 //VOREStation Add: Quantum pads
if(istype(A,/obj/item/perfect_tele_beacon))
return 1
if(istype(A,/obj/machinery/power/quantumpad))
return 1
if(istype(A,/obj/structure/extraction_point))
return 1
for(var/atom/B in A.contents)
if(.(B))
@@ -68,7 +82,7 @@ SUBSYSTEM_DEF(supply)
SEND_GLOBAL_SIGNAL(COMSIG_GLOB_SUPPLY_SHUTTLE_DEPART, shuttle.shuttle_area)
for(var/area/subarea in shuttle.shuttle_area)
for(var/atom/movable/MA in subarea)
if(MA.anchored)
if(MA.anchored && !istype(MA,/obj/mecha))
continue
var/datum/exported_crate/EC = new /datum/exported_crate()
@@ -376,3 +390,6 @@ SUBSYSTEM_DEF(supply)
var/ordered_at // Date and time the order was requested at
var/approved_at // Date and time the order was approved at
var/status // [Requested, Accepted, Denied, Shipped]
/datum/controller/subsystem/supply/proc/points_to_cash(val)
return FLOOR(((val * money_per_points)), 1)