diff --git a/_maps/map_files/stations/boxstation.dmm b/_maps/map_files/stations/boxstation.dmm index 47652584299..c458812957d 100644 --- a/_maps/map_files/stations/boxstation.dmm +++ b/_maps/map_files/stations/boxstation.dmm @@ -12435,7 +12435,7 @@ /obj/structure/cable{ icon_state = "0-8" }, -/obj/machinery/power/smes/engineering, +/obj/machinery/power/smes/transformer, /turf/simulated/floor/plating, /area/station/maintenance/electrical/fore_starboard) "aUl" = ( @@ -57836,10 +57836,10 @@ /turf/simulated/floor/grass, /area/station/hallway/secondary/exit) "jwr" = ( -/obj/machinery/power/smes/engineering, /obj/structure/cable{ icon_state = "0-2" }, +/obj/machinery/power/smes/transformer, /turf/simulated/floor/plating, /area/station/maintenance/electrical/aft_starboard) "jwu" = ( @@ -69978,7 +69978,7 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/power/smes/engineering, +/obj/machinery/power/smes/transformer, /turf/simulated/floor/plating, /area/station/maintenance/electrical/fore_starboard) "oXK" = ( @@ -80160,10 +80160,10 @@ /turf/simulated/wall, /area/station/maintenance/fore) "tIZ" = ( -/obj/machinery/power/smes/engineering, /obj/structure/cable{ icon_state = "0-2" }, +/obj/machinery/power/smes/transformer, /turf/simulated/floor/plating, /area/station/maintenance/electrical/fore_port) "tJA" = ( diff --git a/_maps/map_files/stations/cerestation.dmm b/_maps/map_files/stations/cerestation.dmm index 17bb7566e2f..2e005ba3a1e 100644 --- a/_maps/map_files/stations/cerestation.dmm +++ b/_maps/map_files/stations/cerestation.dmm @@ -9856,10 +9856,10 @@ /turf/simulated/floor/transparent/glass/reinforced, /area/station/hallway/spacebridge/cargocom) "bCK" = ( -/obj/machinery/power/smes/engineering, /obj/structure/cable{ icon_state = "0-4" }, +/obj/machinery/power/smes/transformer, /turf/simulated/floor/transparent/glass/reinforced, /area/station/maintenance/command/starboard) "bCP" = ( @@ -22510,9 +22510,7 @@ /obj/structure/cable{ icon_state = "0-4" }, -/obj/machinery/power/smes/engineering{ - output_level = 100000 - }, +/obj/machinery/power/smes/transformer, /turf/simulated/floor/transparent/glass/reinforced, /area/station/maintenance/electrical/fore_starboard) "dCh" = ( @@ -25202,7 +25200,7 @@ /area/space/nearstation) "ejQ" = ( /obj/structure/cable, -/obj/machinery/power/smes/engineering, +/obj/machinery/power/smes/transformer, /turf/simulated/floor/transparent/glass/reinforced, /area/station/maintenance/electrical/port) "ejZ" = ( @@ -31126,7 +31124,7 @@ /area/station/maintenance/starboard) "fyH" = ( /obj/structure/cable, -/obj/machinery/power/smes/engineering, +/obj/machinery/power/smes/transformer, /turf/simulated/floor/transparent/glass/reinforced, /area/station/maintenance/electrical/aft_starboard) "fyR" = ( @@ -87895,7 +87893,7 @@ /area/station/maintenance/fsmaint) "scR" = ( /obj/structure/cable, -/obj/machinery/power/smes/engineering, +/obj/machinery/power/smes/transformer, /turf/simulated/floor/transparent/glass/reinforced, /area/station/maintenance/starboard) "scU" = ( @@ -96687,10 +96685,10 @@ /turf/simulated/floor/plasteel/dark, /area/station/security/checkpoint/secondary) "tZa" = ( -/obj/machinery/power/smes/engineering, /obj/structure/cable/extra_insulated{ icon_state = "0-8" }, +/obj/machinery/power/smes/transformer, /turf/simulated/floor/transparent/glass/reinforced, /area/station/maintenance/electrical/fore_port) "tZf" = ( @@ -98843,10 +98841,10 @@ /area/station/hallway/spacebridge/scidock) "uwj" = ( /obj/structure/cable, -/obj/machinery/power/smes/engineering, /obj/structure/cable{ icon_state = "1-8" }, +/obj/machinery/power/smes/transformer, /turf/simulated/floor/transparent/glass/reinforced, /area/station/maintenance/apmaint) "uwk" = ( diff --git a/_maps/map_files/stations/deltastation.dmm b/_maps/map_files/stations/deltastation.dmm index ffe252aeb3e..2913bf54429 100644 --- a/_maps/map_files/stations/deltastation.dmm +++ b/_maps/map_files/stations/deltastation.dmm @@ -37097,7 +37097,7 @@ /obj/structure/cable{ icon_state = "0-2" }, -/obj/machinery/power/smes/engineering, +/obj/machinery/power/smes/transformer, /turf/simulated/floor/plating, /area/station/maintenance/electrical/aft_port) "cMZ" = ( @@ -37522,7 +37522,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/power/smes/engineering, +/obj/machinery/power/smes/transformer, /turf/simulated/floor/plating, /area/station/maintenance/electrical/aft_port) "cOB" = ( @@ -67627,10 +67627,10 @@ /area/station/security/permabrig) "lKI" = ( /obj/structure/cable, -/obj/machinery/power/smes/engineering, /obj/effect/turf_decal/stripes/line{ dir = 10 }, +/obj/machinery/power/smes/transformer, /turf/simulated/floor/plating, /area/station/maintenance/electrical/fore_starboard) "lKO" = ( @@ -98157,7 +98157,7 @@ /area/station/maintenance/fsmaint) "yeb" = ( /obj/structure/cable, -/obj/machinery/power/smes/engineering, +/obj/machinery/power/smes/transformer, /turf/simulated/floor/plating, /area/station/maintenance/electrical/aft_starboard) "yee" = ( diff --git a/_maps/map_files/stations/emeraldstation.dmm b/_maps/map_files/stations/emeraldstation.dmm index 738e012708a..75744c22a65 100644 --- a/_maps/map_files/stations/emeraldstation.dmm +++ b/_maps/map_files/stations/emeraldstation.dmm @@ -22283,7 +22283,7 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/power/smes/engineering, +/obj/machinery/power/smes/transformer, /turf/simulated/floor/plating, /area/station/maintenance/electrical/aft_starboard) "eyE" = ( @@ -47158,11 +47158,11 @@ /turf/simulated/floor/plasteel, /area/station/public/dorms) "jvQ" = ( -/obj/machinery/power/smes/engineering, /obj/structure/cable, /obj/effect/turf_decal/stripes/line{ dir = 10 }, +/obj/machinery/power/smes/transformer, /turf/simulated/floor/plating, /area/station/maintenance/electrical/aft_port) "jvR" = ( @@ -48487,10 +48487,10 @@ /obj/structure/cable{ icon_state = "0-8" }, -/obj/machinery/power/smes/engineering, /obj/effect/turf_decal/stripes/line{ dir = 5 }, +/obj/machinery/power/smes/transformer, /turf/simulated/floor/plating, /area/station/maintenance/electrical/fore_starboard) "jHP" = ( @@ -81021,7 +81021,7 @@ /obj/structure/cable{ icon_state = "0-4" }, -/obj/machinery/power/smes/engineering, +/obj/machinery/power/smes/transformer, /turf/simulated/floor/plating, /area/station/maintenance/electrical/aft_starboard) "qkY" = ( diff --git a/_maps/map_files/stations/metastation.dmm b/_maps/map_files/stations/metastation.dmm index 2c3a75771fa..50e4de7e716 100644 --- a/_maps/map_files/stations/metastation.dmm +++ b/_maps/map_files/stations/metastation.dmm @@ -35311,10 +35311,10 @@ /turf/simulated/floor/plasteel/white, /area/station/science/break_room) "fjk" = ( -/obj/machinery/power/smes/engineering, /obj/structure/cable{ icon_state = "0-4" }, +/obj/machinery/power/smes/transformer, /turf/simulated/floor/plating, /area/station/maintenance/electrical/fore_port) "fjw" = ( @@ -43752,8 +43752,8 @@ /turf/simulated/floor/plasteel/dark, /area/station/engineering/atmos/control) "igw" = ( -/obj/machinery/power/smes/engineering, /obj/structure/cable, +/obj/machinery/power/smes/transformer, /turf/simulated/floor/plating, /area/station/maintenance/electrical/aft_starboard) "igE" = ( @@ -74738,13 +74738,13 @@ /turf/simulated/floor/plasteel/dark, /area/station/security/checkpoint/secondary) "sDg" = ( -/obj/machinery/power/smes/engineering, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, /obj/structure/cable{ icon_state = "0-2" }, +/obj/machinery/power/smes/transformer, /turf/simulated/floor/plating, /area/station/maintenance/electrical/port) "sDr" = ( diff --git a/code/game/machinery/machine_frame.dm b/code/game/machinery/machine_frame.dm index 86345b83754..2d3e74eb2a9 100644 --- a/code/game/machinery/machine_frame.dm +++ b/code/game/machinery/machine_frame.dm @@ -380,6 +380,16 @@ to destroy them and players will be able to make replacements. /obj/item/stock_parts/cell = 5, /obj/item/stock_parts/capacitor = 1) +/obj/item/circuitboard/transformer + board_name = "Electrical Transformer" + icon_state = "engineering" + build_path = /obj/machinery/power/smes/transformer + board_type = "machine" + origin_tech = "programming=3;powerstorage=3;engineering=3" + req_components = list( + /obj/item/stack/cable_coil = 5, + /obj/item/stock_parts/capacitor = 1) + /obj/item/circuitboard/emitter board_name = "Emitter" icon_state = "engineering" diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index a0d497bdd0e..df6cb4df810 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -460,6 +460,32 @@ /obj/machinery/power/smes/empty +/obj/machinery/power/smes/transformer + name = "electrical transformer" + desc = "A device that can convert between high and low voltage. It serves as an intermediary between a powerplant and power-consuming machinery." + icon_state = "transformer" + capacity = 300 // Low capacitance + input_level = 200000 + +/obj/machinery/power/smes/transformer/Initialize(mapload) + . = ..() + component_parts = list() + component_parts += new /obj/item/circuitboard/transformer(null) + component_parts += new /obj/item/stock_parts/capacitor(null) + component_parts += new /obj/item/stack/cable_coil(null, 5) + RefreshParts() + +/obj/machinery/power/smes/transformer/RefreshParts() + var/IO = 0 + for(var/obj/item/stock_parts/capacitor/CP in component_parts) + IO += CP.rating + input_level_max = initial(input_level) * IO + output_level_max = initial(input_level) * IO + +/obj/machinery/power/smes/transformer/update_overlays() + ..() + overlays.Cut() + /obj/machinery/power/smes/magical name = "magical power storage unit" desc = "A high-capacity superconducting magnetic energy storage (SMES) unit. Magically produces power." diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index f93823699de..e86e41cd9f1 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -62,6 +62,16 @@ build_path = /obj/item/circuitboard/smes category = list ("Engineering Machinery") +/datum/design/transformer + name = "Machine Board (Electrical Transformer)" + desc = "The circuit board for an electrical transformer." + id = "ptransformer" + req_tech = list("programming" = 4, "powerstorage" = 5, "engineering" = 4) + build_type = IMPRINTER + materials = list(MAT_GLASS = 1000) + build_path = /obj/item/circuitboard/transformer + category = list ("Engineering Machinery") + /datum/design/emitter name = "Machine Board (Emitter)" desc = "The circuit board for an emitter." diff --git a/icons/obj/power.dmi b/icons/obj/power.dmi index fb0edc51ba4..a3fc16e9112 100644 Binary files a/icons/obj/power.dmi and b/icons/obj/power.dmi differ