Files
kiwistation/code/modules/cargo/exports/large_objects.dm
T
Iamgoofball 448d3bc89e Balances Exports finally (#27099)
* Balances Exports finally

Exports have a basic sense of maximum amount, lowering by 1% in value for every sale, raising in 0.1% every 2 ticks up to it's max

* Update exports.dm

* Adds consistent marginal cost function (with decreasing marginal returns) and its associated antiderivative for total cost

* Tweaks get_cost procs and other properties in accordance with the new cost function

* Removes undefined vars causing errors

* Tweaks crates cost property

* I hate MINERAL_MATERIAL_AMOUNT AKA minor snowflake refactor

* Fixes price elasticity comments

* Changes var kelasticity to k_elasticity for better readablity

* Removes meme math obfuscation
2017-05-14 00:19:05 +12:00

100 lines
2.8 KiB
Plaintext

// Large objects that don't fit in crates, but must be sellable anyway.
// Crates, boxes, lockers.
/datum/export/large/crate
cost = 500
k_elasticity = 0
unit_name = "crate"
export_types = list(/obj/structure/closet/crate)
exclude_types = list(/obj/structure/closet/crate/large)
/datum/export/large/crate/total_printout() // That's why a goddamn metal crate costs that much.
. = ..()
if(.)
. += " Thanks for participating in Nanotrasen Crates Recycling Program."
/datum/export/large/crate/wooden
cost = 100
unit_name = "wooden crate"
export_types = list(/obj/structure/closet/crate/large)
exclude_types = list()
/datum/export/large/crate/wooden/ore
unit_name = "ore box"
export_types = list(/obj/structure/ore_box)
// Reagent dispensers.
/datum/export/large/reagent_dispenser
cost = 100 // +0-400 depending on amount of reagents left
var/contents_cost = 400
/datum/export/large/reagent_dispenser/get_cost(obj/O)
var/obj/structure/reagent_dispensers/D = O
var/ratio = D.reagents.total_volume / D.reagents.maximum_volume
return ..() + round(contents_cost * ratio)
/datum/export/large/reagent_dispenser/water
unit_name = "watertank"
export_types = list(/obj/structure/reagent_dispensers/watertank)
contents_cost = 200
/datum/export/large/reagent_dispenser/fuel
unit_name = "fueltank"
export_types = list(/obj/structure/reagent_dispensers/fueltank)
/datum/export/large/reagent_dispenser/beer
unit_name = "beer keg"
contents_cost = 700
export_types = list(/obj/structure/reagent_dispensers/beerkeg)
// Heavy engineering equipment. Singulo/Tesla parts mostly.
/datum/export/large/emitter
cost = 400
unit_name = "emitter"
export_types = list(/obj/machinery/power/emitter)
/datum/export/large/field_generator
cost = 400
unit_name = "field generator"
export_types = list(/obj/machinery/field/generator)
/datum/export/large/collector
cost = 600
unit_name = "collector"
export_types = list(/obj/machinery/power/rad_collector)
/datum/export/large/collector/pa
cost = 300
unit_name = "particle accelerator part"
export_types = list(/obj/structure/particle_accelerator)
/datum/export/large/collector/pa/controls
cost = 500
unit_name = "particle accelerator control console"
export_types = list(/obj/machinery/particle_accelerator/control_box)
/datum/export/large/pipedispenser
cost = 500
unit_name = "pipe dispenser"
export_types = list(/obj/machinery/pipedispenser)
/datum/export/large/supermatter
cost = 9000
unit_name = "supermatter shard"
export_types = list(/obj/machinery/power/supermatter_shard)
// Misc
/datum/export/large/iv
cost = 300
unit_name = "iv drip"
export_types = list(/obj/machinery/iv_drip)
/datum/export/large/barrier
cost = 325
unit_name = "security barrier"
export_types = list(/obj/item/weapon/grenade/barrier, /obj/structure/barricade/security)