Files
Batrachophreno 4ecb0bc21c Repath obj/machinery to obj/structure/machinery [MDB Ignore] (#22500)
Repaths obj/machinery to obj/structure/machinery. **Note for
reviewers:** the only meaningful changed code exists within
**code/game/objects/structures.dm** and
**code/game/objects/structures/_machinery.dm**, largely concerning
damage procs. With the exception of moving airlock defines to their own
file, ALL OTHER CHANGES ARE STRICTLY PATH CHANGES.

Objects, _categorically_, are largely divided between those you can hold
in your hand/inventory and those you can't. Machinery objects are
already subtypes of Structures behaviorally, this PR just makes their
pathing reflect that, and allows for future work (tool actions, more
health/destruction functionality) to be developed without unnecessary
code duplication.

I have tested this PR by loading up the Horizon and dismantling various
machines and structures with tools, shooting guns of various types
throughout the ship, and detonating a bunch of explosions throughout the
ship.
2026-05-26 19:35:48 +00:00

103 lines
3.0 KiB
Plaintext

/datum/export/large/crate
cost = 15
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 = 15
unit_name = "large 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)
/*
/datum/export/large/crate/wood
cost = 240
unit_name = "wooden crate"
export_types = list(/obj/structure/closet/crate/wooden)
exclude_types = list()
*/
/datum/export/large/crate/coffin
cost = 250//50 wooden crates cost 2000 points, and you can make 10 coffins in seconds with those planks. Each coffin selling for 250 means you can make a net gain of 500 points for wasting your time making coffins.
unit_name = "coffin"
export_types = list(/obj/structure/closet/crate/coffin)
/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
if(D?.reagents)
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/keg/beerkeg)
/datum/export/large/emitter
cost = 200
unit_name = "emitter"
export_types = list(/obj/structure/machinery/power/emitter)
/datum/export/large/field_generator
cost = 200
unit_name = "field generator"
export_types = list(/obj/structure/machinery/field_generator)
/datum/export/large/pa
cost = 300
unit_name = "particle accelerator part"
export_types = list(/obj/structure/particle_accelerator)
/datum/export/large/pa/controls
cost = 500
unit_name = "particle accelerator control console"
export_types = list(/obj/structure/machinery/particle_accelerator/control_box)
/datum/export/large/pipedispenser
cost = 500
unit_name = "pipe dispenser"
export_types = list(/obj/structure/machinery/pipedispenser)
/datum/export/large/supermatter
cost = 9000
unit_name = "supermatter shard"
export_types = list(/obj/structure/machinery/power/supermatter)
/datum/export/large/iv
cost = 50
unit_name = "iv drip"
export_types = list(/obj/structure/machinery/iv_drip)
/datum/export/large/barrier
cost = 25
unit_name = "security barrier"
export_types = list(/obj/structure/machinery/deployable/barrier)