diff --git a/_maps/map_files/AsteroidStation/Asteroidstation.dmm b/_maps/map_files/AsteroidStation/Asteroidstation.dmm
index a855fc85a89..29b348f4ae3 100644
--- a/_maps/map_files/AsteroidStation/Asteroidstation.dmm
+++ b/_maps/map_files/AsteroidStation/Asteroidstation.dmm
@@ -528,7 +528,7 @@
"akh" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/storage/eva)
"aki" = (/obj/structure/table,/obj/item/device/aicard,/obj/item/weapon/aiModule/reset,/turf/simulated/floor/plasteel{icon_state = "yellow"; dir = 10},/area/storage/tech)
"akj" = (/obj/structure/table,/obj/item/weapon/screwdriver{pixel_y = 16},/obj/item/weapon/wirecutters,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/storage/tech)
-"akk" = (/obj/structure/table,/obj/item/weapon/module/power_control,/obj/item/weapon/airlock_electronics,/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/storage/tech)
+"akk" = (/obj/structure/table,/obj/item/weapon/electronics/apc,/obj/item/weapon/electronics/airlock,/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/storage/tech)
"akl" = (/obj/structure/rack,/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/device/multitool,/obj/item/clothing/glasses/meson,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/storage/tech)
"akm" = (/obj/machinery/vending/assist,/obj/machinery/camera{c_tag = "Tech Storage"; dir = 1},/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/storage/tech)
"akn" = (/obj/structure/rack,/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/clothing/gloves/color/yellow,/obj/item/device/multitool,/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/storage/tech)
@@ -1977,7 +1977,7 @@
"aMa" = (/obj/machinery/field/generator,/turf/simulated/floor/plating,/area/engine/engineering)
"aMb" = (/obj/machinery/power/port_gen/pacman,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/engine/engineering)
"aMc" = (/obj/machinery/portable_atmospherics/canister/toxins,/obj/machinery/camera{c_tag = "Engineering Secure Storage"},/turf/simulated/floor/plating,/area/engine/engineering)
-"aMd" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/sheet/mineral/plasma{amount = 30},/turf/simulated/floor/plating,/area/engine/engineering)
+"aMd" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/electronics/airlock,/obj/item/weapon/electronics/airlock,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/sheet/mineral/plasma{amount = 30},/turf/simulated/floor/plating,/area/engine/engineering)
"aMe" = (/obj/structure/closet/secure_closet/engineering_chief,/obj/machinery/status_display{layer = 4; pixel_y = 32},/obj/machinery/light{dir = 8},/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Engineer's Desk"; departmentType = 3; name = "Chief Engineer's Requests Console"; pixel_x = -32},/turf/simulated/floor/plasteel{dir = 9; icon_state = "yellow"},/area/engine/chiefs_office)
"aMf" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellow"},/area/engine/chiefs_office)
"aMg" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellow"},/area/engine/chiefs_office)
@@ -2460,7 +2460,7 @@
"aVp" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_y = -32},/turf/simulated/floor/plasteel,/area/engine/engineering)
"aVq" = (/obj/structure/rack,/obj/item/clothing/mask/gas{pixel_x = 3; pixel_y = 3},/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = -3},/obj/machinery/button/door{id = "singularity"; name = "Shutters Control"; pixel_y = -25; req_access_txt = "11"},/turf/simulated/floor/plasteel{icon_state = "yellowcorner"},/area/engine/engineering)
"aVr" = (/obj/structure/rack,/obj/item/clothing/suit/hazardvest,/obj/item/clothing/suit/hazardvest,/obj/item/weapon/tank/internals/emergency_oxygen/engi,/obj/item/weapon/tank/internals/emergency_oxygen/engi,/obj/machinery/light,/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/engine/engineering)
-"aVs" = (/obj/structure/closet/crate{name = "solar pack crate"},/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/weapon/circuitboard/solar_control,/obj/item/weapon/tracker_electronics,/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/engine/engineering)
+"aVs" = (/obj/structure/closet/crate{name = "solar pack crate"},/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/weapon/circuitboard/solar_control,/obj/item/weapon/electronics/tracker,/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/engine/engineering)
"aVt" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "yellowcorner"},/area/engine/engineering)
"aVu" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/engine/engineering)
"aVv" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel,/area/engine/engineering)
@@ -2764,7 +2764,7 @@
"bbh" = (/obj/machinery/door/poddoor/shutters/preopen{id = "singularity"; name = "radiation shutters"},/obj/machinery/door/firedoor,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/engine/engineering)
"bbi" = (/obj/effect/landmark{name = "lightsout"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel,/area/engine/engineering)
"bbj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/hologram/holopad,/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel,/area/engine/engineering)
-"bbk" = (/obj/structure/table,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/clothing/ears/earmuffs{pixel_x = -3; pixel_y = -2},/turf/simulated/floor/plasteel,/area/engine/engineering)
+"bbk" = (/obj/structure/table,/obj/item/weapon/electronics/airlock,/obj/item/weapon/electronics/airlock,/obj/item/clothing/ears/earmuffs{pixel_x = -3; pixel_y = -2},/turf/simulated/floor/plasteel,/area/engine/engineering)
"bbl" = (/obj/structure/table,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/clothing/glasses/meson,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel,/area/engine/engineering)
"bbm" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Station Engineer"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/engine/engineering)
"bbn" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellow"},/area/engine/engineering)
@@ -5351,7 +5351,7 @@
"bYU" = (/obj/structure/cable/cyan{icon_state = "1-2"},/turf/simulated/wall/r_wall,/area/medical/cmo)
"bYV" = (/obj/structure/rack,/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/sunglasses,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"bYW" = (/obj/structure/cable/cyan{icon_state = "2-4"},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bYX" = (/obj/structure/closet/crate,/obj/item/weapon/module/power_control,/obj/structure/cable/cyan{icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
+"bYX" = (/obj/structure/closet/crate,/obj/item/weapon/electronics/apc,/obj/structure/cable/cyan{icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
"bYY" = (/obj/structure/cable/cyan{icon_state = "4-8"},/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"bYZ" = (/obj/structure/closet/crate,/obj/item/stack/sheet/glass{amount = 10},/obj/item/stack/rods,/obj/structure/cable/cyan{icon_state = "4-8"},/turf/simulated/floor/plating/airless,/area/maintenance/asmaint)
"bZa" = (/obj/structure/cable/cyan{icon_state = "4-8"},/obj/structure/cable/cyan{icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
diff --git a/_maps/map_files/MetaStation/MetaStation.v41F.dmm b/_maps/map_files/MetaStation/MetaStation.v41F.dmm
index 2ab144c2822..afcc5f7f1f7 100644
--- a/_maps/map_files/MetaStation/MetaStation.v41F.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.v41F.dmm
@@ -1576,7 +1576,7 @@
"aEp" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/gloves/color/black,/obj/item/weapon/extinguisher{pixel_x = 8},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = 21},/obj/item/clothing/glasses/meson,/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/engine/engineering)
"aEq" = (/obj/structure/table,/obj/item/stack/cable_coil{amount = 5},/obj/item/device/flashlight,/turf/simulated/floor/plasteel,/area/construction)
"aEr" = (/turf/simulated/wall,/area/hallway/primary/fore)
-"aEs" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/module/power_control,/obj/item/weapon/stock_parts/cell{maxcharge = 2000},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/sorting{name = "\improper Warehouse"})
+"aEs" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/electronics/apc,/obj/item/weapon/stock_parts/cell{maxcharge = 2000},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/sorting{name = "\improper Warehouse"})
"aEt" = (/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore)
"aEu" = (/obj/structure/stool,/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore)
"aEv" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore)
@@ -1772,8 +1772,8 @@
"aId" = (/obj/structure/closet/secure_closet/personal/cabinet,/obj/item/clothing/under/assistantformal,/turf/simulated/floor/wood,/area/crew_quarters/sleep)
"aIe" = (/obj/structure/table,/obj/item/stack/rods{amount = 50},/obj/item/weapon/wrench,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/engine/engineering)
"aIf" = (/obj/structure/closet/crate/internals,/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/spawner/lootdrop/maintenance{lootcount = 3; name = "3maintenance loot spawner"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/sorting{name = "\improper Warehouse"})
-"aIg" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/clothing/ears/earmuffs{pixel_x = -3; pixel_y = -2},/obj/item/clothing/ears/earmuffs{pixel_x = -5; pixel_y = 6},/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/engine/engineering)
-"aIh" = (/obj/structure/closet/crate{name = "solar pack crate"},/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/weapon/circuitboard/solar_control,/obj/item/weapon/tracker_electronics,/obj/item/weapon/paper/solar,/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/engine/engineering)
+"aIg" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil,/obj/item/weapon/electronics/airlock,/obj/item/weapon/electronics/airlock,/obj/item/clothing/ears/earmuffs{pixel_x = -3; pixel_y = -2},/obj/item/clothing/ears/earmuffs{pixel_x = -5; pixel_y = 6},/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/engine/engineering)
+"aIh" = (/obj/structure/closet/crate{name = "solar pack crate"},/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/weapon/circuitboard/solar_control,/obj/item/weapon/electronics/tracker,/obj/item/weapon/paper/solar,/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/engine/engineering)
"aIi" = (/obj/machinery/power/port_gen/pacman,/obj/structure/cable/yellow,/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/engine/engineering)
"aIj" = (/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/engine/engineering)
"aIk" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/plasteel,/area/engine/engineering)
@@ -1878,7 +1878,7 @@
"aKf" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore)
"aKg" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/components/unary/vent_pump{dir = 4; on = 1},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel,/area/hallway/primary/fore)
"aKh" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/hallway/primary/fore)
-"aKi" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/item/weapon/firealarm_electronics,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
+"aKi" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/item/weapon/electronics/firealarm,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
"aKj" = (/obj/structure/stool/bed/chair{name = "Bailiff"},/turf/simulated/floor/plasteel,/area/crew_quarters/courtroom)
"aKk" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor/plasteel,/area/crew_quarters/courtroom)
"aKl" = (/obj/structure/stool/bed/chair{name = "Judge"},/turf/simulated/floor/plasteel{dir = 9; icon_state = "blue"},/area/crew_quarters/courtroom)
@@ -2117,7 +2117,7 @@
"aOK" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/mob/living/simple_animal/chicken{name = "Kentucky"; real_name = "Kentucky"},/turf/simulated/floor/grass,/area/hallway/secondary/construction{name = "\improper Garden"})
"aOL" = (/obj/structure/rack,/obj/item/clothing/suit/hazardvest,/turf/simulated/floor/plating,/area/maintenance/starboard)
"aOM" = (/obj/machinery/power/emitter,/obj/machinery/light/small,/turf/simulated/floor/plating,/area/engine/engineering)
-"aON" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/sheet/mineral/plasma{amount = 30},/obj/item/device/gps,/turf/simulated/floor/plating,/area/engine/engineering)
+"aON" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/electronics/airlock,/obj/item/weapon/electronics/airlock,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/sheet/mineral/plasma{amount = 30},/obj/item/device/gps,/turf/simulated/floor/plating,/area/engine/engineering)
"aOO" = (/obj/machinery/the_singularitygen{anchored = 0},/turf/simulated/floor/plating,/area/engine/engineering)
"aOP" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/engine/engineering)
"aOQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/engine/engineering)
@@ -3360,7 +3360,7 @@
"bmF" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 2},/obj/structure/sign/map/left{desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; icon_state = "map-left-MS"; pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "neutral"; dir = 1},/area/hallway/primary/port)
"bmG" = (/obj/structure/extinguisher_cabinet{pixel_x = 30; pixel_y = 0},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/structure/sign/map/right{desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; icon_state = "map-right-MS"; pixel_y = 32},/turf/simulated/floor/plasteel{dir = 5; icon_state = "neutral"},/area/hallway/primary/port)
"bmH" = (/obj/machinery/recharge_station,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/storage/secure{name = "MiniSat Maintenance"})
-"bmI" = (/obj/structure/table,/obj/item/weapon/module/power_control,/obj/item/weapon/airlock_electronics,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/storage/tech)
+"bmI" = (/obj/structure/table,/obj/item/weapon/electronics/apc,/obj/item/weapon/electronics/airlock,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/storage/tech)
"bmJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/stool/bed/chair/office/dark,/obj/effect/landmark/start{name = "Cargo Technician"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "arrival"},/area/quartermaster/office{name = "\improper Cargo Office"})
"bmK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{dir = 2; icon_state = "arrival"},/area/quartermaster/office{name = "\improper Cargo Office"})
"bmL" = (/obj/structure/filingcabinet/filingcabinet,/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = -28},/obj/machinery/camera{c_tag = "Cargo - Mailroom"; dir = 1; network = list("SS13")},/turf/simulated/floor/plasteel{dir = 2; icon_state = "arrival"},/area/quartermaster/office{name = "\improper Cargo Office"})
@@ -3446,7 +3446,7 @@
"bon" = (/obj/structure/showcase{density = 0; desc = "An old, deactivated cyborg. Whilst once actively used to guard against intruders, it now simply intimidates them with its cold, steely gaze."; dir = 4; icon = 'icons/mob/robots.dmi'; icon_state = "robot_old"; name = "Cyborg Statue"; pixel_x = -9; pixel_y = 2},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "darkbluecorners"; tag = "icon-darkbluecorners"},/area/turret_protected/tcomfoyer{name = "\improper MiniSat Foyer"})
"boo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/bridge)
"bop" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/turret_protected/aisat_interior)
-"boq" = (/obj/structure/rack,/obj/item/weapon/module/power_control,/obj/item/weapon/airlock_electronics,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plasteel{dir = 2; icon_state = "yellow"},/area/storage/tools)
+"boq" = (/obj/structure/rack,/obj/item/weapon/electronics/apc,/obj/item/weapon/electronics/airlock,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plasteel{dir = 2; icon_state = "yellow"},/area/storage/tools)
"bor" = (/turf/simulated/floor/carpet,/area/bridge)
"bos" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet,/area/hallway/primary/port)
"bot" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralcorner"},/area/hallway/primary/central)
@@ -5599,7 +5599,7 @@
"cdI" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
"cdJ" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurple"},/area/medical/research{name = "Research Division"})
"cdK" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/flora/kirbyplants{icon_state = "plant-10"; layer = 4.1; tag = "icon-plant-10"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "purplecorner"},/area/hallway/primary/central)
-"cdL" = (/obj/structure/table,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/airlock_electronics,/obj/item/device/assembly/timer{pixel_x = -4; pixel_y = 2},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurple"},/area/medical/research{name = "Research Division"})
+"cdL" = (/obj/structure/table,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/electronics/airlock,/obj/item/device/assembly/timer{pixel_x = -4; pixel_y = 2},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurple"},/area/medical/research{name = "Research Division"})
"cdM" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/pen,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light/small{dir = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/camera{c_tag = "Research Division - Lobby"; dir = 2; network = list("SS13","RD")},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurple"},/area/medical/research{name = "Research Division"})
"cdN" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/obj/machinery/light_switch{pixel_x = -27; pixel_y = 6},/obj/machinery/newscaster/security_unit{pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 9},/area/security/checkpoint/science{name = "Security Post - Research Division"})
"cdO" = (/obj/structure/rack,/obj/item/weapon/tank/internals/anesthetic,/obj/item/clothing/mask/gas,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
diff --git a/_maps/map_files/MetaStation/z3.dmm b/_maps/map_files/MetaStation/z3.dmm
index eeefbc9fdec..a7f00b9686f 100644
--- a/_maps/map_files/MetaStation/z3.dmm
+++ b/_maps/map_files/MetaStation/z3.dmm
@@ -130,7 +130,7 @@
"cz" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel/airless{icon_state = "dark"},/area/tcommsat/chamber)
"cA" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel/airless{icon_state = "dark"},/area/tcommsat/chamber)
"cB" = (/obj/structure/window/reinforced,/turf/simulated/floor/plasteel/airless{icon_state = "dark"},/area/tcommsat/chamber)
-"cC" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/airlock_electronics,/turf/simulated/floor/plasteel/airless{icon_state = "dark"},/area/tcommsat/chamber)
+"cC" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/electronics/airlock,/turf/simulated/floor/plasteel/airless{icon_state = "dark"},/area/tcommsat/chamber)
"cD" = (/obj/structure/door_assembly/door_assembly_hatch,/turf/simulated/floor/plasteel/airless,/area/tcommsat/chamber)
"cE" = (/obj/item/weapon/cigbutt,/turf/simulated/floor/plasteel/airless,/area/tcommsat/chamber)
"cF" = (/obj/machinery/vending/snack,/turf/simulated/floor/plasteel/airless,/area/tcommsat/chamber)
@@ -253,7 +253,7 @@
"eS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/AIsattele)
"eT" = (/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/plating/airless,/area/AIsattele)
"eU" = (/obj/effect/decal/cleanable/oil,/turf/simulated/floor/plating/airless,/area/AIsattele)
-"eV" = (/obj/item/weapon/shard,/obj/item/weapon/module/power_control,/turf/simulated/floor/plating/airless,/area/AIsattele)
+"eV" = (/obj/item/weapon/shard,/obj/item/weapon/electronics/apc,/turf/simulated/floor/plating/airless,/area/AIsattele)
"eW" = (/obj/structure/closet,/turf/simulated/floor/plating/airless,/area/AIsattele)
"eX" = (/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/turf/simulated/floor/plating/airless,/area/AIsattele)
"eY" = (/obj/structure/closet/crate,/obj/item/device/aicard,/obj/item/device/multitool,/obj/item/weapon/weldingtool,/obj/item/weapon/wrench,/obj/item/weapon/circuitboard/teleporter,/turf/simulated/floor/plating/airless,/area/AIsattele)
diff --git a/_maps/map_files/MetaStation/z4.dmm b/_maps/map_files/MetaStation/z4.dmm
index c75c4cbc4f0..0289d8b49a4 100644
--- a/_maps/map_files/MetaStation/z4.dmm
+++ b/_maps/map_files/MetaStation/z4.dmm
@@ -178,7 +178,7 @@
"dv" = (/obj/structure/rack,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
"dw" = (/obj/structure/rack,/obj/item/clothing/head/helmet/swat,/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
"dx" = (/obj/structure/rack,/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
-"dy" = (/obj/structure/rack,/obj/item/weapon/module/power_control,/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
+"dy" = (/obj/structure/rack,/obj/item/weapon/electronics/apc,/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
"dz" = (/obj/structure/rack,/obj/item/weapon/circuitboard/smes,/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
"dA" = (/obj/structure/rack,/obj/item/weapon/stock_parts/capacitor,/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
"dB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
@@ -739,7 +739,7 @@
"op" = (/obj/machinery/power/smes,/obj/structure/cable,/turf/simulated/floor/plasteel/airless,/area/derelict/se_solar)
"oq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel/airless,/area/derelict/se_solar)
"or" = (/turf/simulated/floor/plasteel/airless{icon_state = "damaged4"},/area/derelict/se_solar)
-"os" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/module/power_control,/obj/item/weapon/module/power_control,/obj/item/weapon/module/power_control,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/turf/simulated/floor/plasteel/airless,/area/derelict/se_solar)
+"os" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/electronics/apc,/obj/item/weapon/electronics/apc,/obj/item/weapon/electronics/apc,/obj/item/weapon/electronics/airlock,/obj/item/weapon/electronics/airlock,/obj/item/weapon/electronics/airlock,/obj/item/weapon/electronics/airlock,/obj/item/weapon/electronics/airlock,/turf/simulated/floor/plasteel/airless,/area/derelict/se_solar)
"ot" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/airlock_painter,/turf/simulated/floor/plasteel/airless,/area/derelict/se_solar)
"ou" = (/obj/docking_port/stationary{dheight = 0; dir = 2; dwidth = 11; height = 15; id = "whiteship_z4"; name = "KC13: Space, Station-Aft"; width = 27},/turf/space,/area/space)
"ov" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plasteel/airless,/area/derelict/se_solar)
diff --git a/_maps/map_files/MiniStation/MiniStation.dmm b/_maps/map_files/MiniStation/MiniStation.dmm
index e0d3770ce1e..7ec490939e4 100644
--- a/_maps/map_files/MiniStation/MiniStation.dmm
+++ b/_maps/map_files/MiniStation/MiniStation.dmm
@@ -1291,9 +1291,9 @@
"yR" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/engineering,/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/engine/engineering)
"yS" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/engineering,/turf/simulated/floor/plasteel{dir = 6; icon_state = "warning"},/area/engine/engineering)
"yT" = (/obj/structure/table,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/clothing/gloves/color/yellow,/obj/item/weapon/storage/toolbox/electrical{pixel_y = 5},/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; listening = 1; name = "Common Channel"; pixel_y = 25},/turf/simulated/floor/plasteel,/area/engine/engineering)
-"yU" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/sheet/mineral/plasma{amount = 30},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "warningcorner"; dir = 8},/area/engine/engineering)
+"yU" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/electronics/airlock,/obj/item/weapon/electronics/airlock,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/sheet/mineral/plasma{amount = 30},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "warningcorner"; dir = 8},/area/engine/engineering)
"yV" = (/obj/machinery/power/apc{auto_name = 1; dir = 1; name = "_North APC"; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/engine/engineering)
-"yW" = (/obj/structure/table,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/module/power_control,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel{icon_state = "warningcorner"; dir = 4},/area/engine/engineering)
+"yW" = (/obj/structure/table,/obj/item/weapon/electronics/airlock,/obj/item/weapon/electronics/airlock,/obj/item/weapon/electronics/apc,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel{icon_state = "warningcorner"; dir = 4},/area/engine/engineering)
"yX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/vending/cola,/turf/simulated/floor/plasteel,/area/hallway/primary/central)
"yY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/vending/snack,/turf/simulated/floor/plasteel,/area/hallway/primary/central)
"yZ" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plasteel,/area/engine/engineering)
@@ -1402,7 +1402,7 @@
"Bj" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/components/unary/portables_connector/visible,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/engineering)
"Bk" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/engine/engineering)
"Bn" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/cyan/visible{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engine/engineering)
-"Bo" = (/obj/structure/closet/crate{name = "solar pack crate"},/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/weapon/circuitboard/solar_control,/obj/item/weapon/tracker_electronics,/obj/item/weapon/paper/solar,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/engineering)
+"Bo" = (/obj/structure/closet/crate{name = "solar pack crate"},/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/weapon/circuitboard/solar_control,/obj/item/weapon/electronics/tracker,/obj/item/weapon/paper/solar,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/engineering)
"Bp" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellow"},/area/engine/engineering)
"Bq" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engine/engineering)
"Br" = (/obj/machinery/atmospherics/pipe/manifold/cyan/visible,/turf/simulated/floor/plating,/area/engine/engineering)
@@ -1453,7 +1453,7 @@
"Cq" = (/obj/structure/transit_tube,/turf/space,/area/space)
"Cr" = (/obj/structure/transit_tube{tag = "icon-E-W-Pass"; icon_state = "E-W-Pass"},/obj/structure/lattice,/turf/space,/area/space)
"Cs" = (/obj/structure/transit_tube{icon_state = "W-SE"},/turf/space,/area/space)
-"Ct" = (/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/turf/simulated/floor/plasteel,/area/engine/engineering)
+"Ct" = (/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/weapon/electronics/airlock,/obj/item/weapon/electronics/airlock,/turf/simulated/floor/plasteel,/area/engine/engineering)
"Cu" = (/obj/structure/table,/obj/item/weapon/folder/yellow,/obj/item/clothing/ears/earmuffs{pixel_x = -3; pixel_y = -2},/turf/simulated/floor/plasteel,/area/engine/engineering)
"Cv" = (/obj/structure/table,/obj/item/stack/rods{amount = 50},/obj/item/device/analyzer,/turf/simulated/floor/plasteel,/area/engine/engineering)
"Cx" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/turf/simulated/floor/plasteel,/area/engine/engineering)
diff --git a/_maps/map_files/TgStation/tgstation.2.1.3.dmm b/_maps/map_files/TgStation/tgstation.2.1.3.dmm
index 7647eb4d0a0..9d9f5317db8 100644
--- a/_maps/map_files/TgStation/tgstation.2.1.3.dmm
+++ b/_maps/map_files/TgStation/tgstation.2.1.3.dmm
@@ -21342,8 +21342,8 @@
/area/storage/tools)
"aSo" = (
/obj/structure/table,
-/obj/item/weapon/module/power_control,
-/obj/item/weapon/airlock_electronics,
+/obj/item/weapon/electronics/apc,
+/obj/item/weapon/electronics/airlock,
/turf/simulated/floor/plasteel,
/area/storage/tools)
"aSp" = (
@@ -24734,7 +24734,7 @@
dir = 8;
layer = 2.9
},
-/obj/item/weapon/module/power_control,
+/obj/item/weapon/electronics/apc,
/obj/item/weapon/stock_parts/cell{
maxcharge = 2000
},
@@ -39267,8 +39267,8 @@
/area/storage/tech)
"bCh" = (
/obj/structure/table,
-/obj/item/weapon/module/power_control,
-/obj/item/weapon/airlock_electronics,
+/obj/item/weapon/electronics/apc,
+/obj/item/weapon/electronics/airlock,
/obj/machinery/light/small{
dir = 1
},
@@ -44857,7 +44857,7 @@
/turf/simulated/floor/plating,
/area/maintenance/fpmaint2)
"bMS" = (
-/obj/item/weapon/airalarm_electronics,
+/obj/item/weapon/electronics/airalarm,
/obj/item/weapon/circuitboard/seed_extractor,
/obj/structure/table,
/obj/effect/spawner/lootdrop/maintenance{
@@ -54769,8 +54769,8 @@
/obj/item/stack/sheet/glass{
amount = 50
},
-/obj/item/weapon/airlock_electronics,
-/obj/item/weapon/airlock_electronics,
+/obj/item/weapon/electronics/airlock,
+/obj/item/weapon/electronics/airlock,
/obj/item/weapon/stock_parts/cell/high{
charge = 100;
maxcharge = 15000
@@ -55638,9 +55638,9 @@
/area/engine/engineering)
"ciF" = (
/obj/structure/table,
-/obj/item/weapon/airlock_electronics,
-/obj/item/weapon/airlock_electronics,
-/obj/item/weapon/module/power_control,
+/obj/item/weapon/electronics/airlock,
+/obj/item/weapon/electronics/airlock,
+/obj/item/weapon/electronics/apc,
/obj/item/weapon/stock_parts/cell/high{
charge = 100;
maxcharge = 15000
@@ -55687,7 +55687,7 @@
/obj/item/solar_assembly,
/obj/item/solar_assembly,
/obj/item/weapon/circuitboard/solar_control,
-/obj/item/weapon/tracker_electronics,
+/obj/item/weapon/electronics/tracker,
/obj/item/weapon/paper/solar,
/turf/simulated/floor/plasteel,
/area/engine/engineering)
@@ -58488,8 +58488,8 @@
pixel_y = -7
},
/obj/item/stack/cable_coil,
-/obj/item/weapon/airlock_electronics,
-/obj/item/weapon/airlock_electronics,
+/obj/item/weapon/electronics/airlock,
+/obj/item/weapon/electronics/airlock,
/turf/simulated/floor/plasteel,
/area/engine/engineering)
"cnX" = (
diff --git a/_maps/map_files/generic/z3.dmm b/_maps/map_files/generic/z3.dmm
index de3d265f3ac..96b671a035f 100644
--- a/_maps/map_files/generic/z3.dmm
+++ b/_maps/map_files/generic/z3.dmm
@@ -119,7 +119,7 @@
"cL" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel/airless{icon_state = "dark"},/area/tcommsat/chamber)
"cM" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel/airless{icon_state = "dark"},/area/tcommsat/chamber)
"cN" = (/obj/structure/window/reinforced,/turf/simulated/floor/plasteel/airless{icon_state = "dark"},/area/tcommsat/chamber)
-"cO" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/airlock_electronics,/turf/simulated/floor/plasteel/airless{icon_state = "dark"},/area/tcommsat/chamber)
+"cO" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/electronics/airlock,/turf/simulated/floor/plasteel/airless{icon_state = "dark"},/area/tcommsat/chamber)
"cP" = (/obj/structure/door_assembly/door_assembly_hatch,/turf/simulated/floor/plasteel/airless,/area/tcommsat/chamber)
"cQ" = (/obj/item/weapon/cigbutt,/turf/simulated/floor/plasteel/airless,/area/tcommsat/chamber)
"cR" = (/obj/machinery/vending/snack,/turf/simulated/floor/plasteel/airless,/area/tcommsat/chamber)
@@ -241,7 +241,7 @@
"fe" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/AIsattele)
"ff" = (/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/plating/airless,/area/AIsattele)
"fg" = (/obj/effect/decal/cleanable/oil,/turf/simulated/floor/plating/airless,/area/AIsattele)
-"fh" = (/obj/item/weapon/shard,/obj/item/weapon/module/power_control,/turf/simulated/floor/plating/airless,/area/AIsattele)
+"fh" = (/obj/item/weapon/shard,/obj/item/weapon/electronics/apc,/turf/simulated/floor/plating/airless,/area/AIsattele)
"fi" = (/obj/structure/closet,/turf/simulated/floor/plating/airless,/area/AIsattele)
"fj" = (/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/turf/simulated/floor/plating/airless,/area/AIsattele)
"fk" = (/obj/structure/closet/crate,/obj/item/device/aicard,/obj/item/device/multitool,/obj/item/weapon/weldingtool,/obj/item/weapon/wrench,/obj/item/weapon/circuitboard/teleporter,/turf/simulated/floor/plating/airless,/area/AIsattele)
diff --git a/_maps/map_files/generic/z4.dmm b/_maps/map_files/generic/z4.dmm
index bcf438b0b78..e1371b05dde 100644
--- a/_maps/map_files/generic/z4.dmm
+++ b/_maps/map_files/generic/z4.dmm
@@ -358,7 +358,7 @@
"gT" = (/obj/structure/window/reinforced,/turf/simulated/floor/plasteel/airless{icon_state = "white"},/area/space)
"gU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/hallway/primary)
"gV" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel,/area/derelict/arrival)
-"gW" = (/obj/structure/table,/obj/machinery/light/small{dir = 1},/obj/item/weapon/airlock_electronics,/turf/simulated/floor/plasteel/airless,/area/derelict/bridge/access)
+"gW" = (/obj/structure/table,/obj/machinery/light/small{dir = 1},/obj/item/weapon/electronics/airlock,/turf/simulated/floor/plasteel/airless,/area/derelict/bridge/access)
"gX" = (/obj/structure/rack,/obj/item/weapon/circuitboard/autolathe,/obj/item/weapon/circuitboard/protolathe{pixel_x = -5; pixel_y = -3},/turf/simulated/floor/plasteel,/area/derelict/bridge/ai_upload)
"gY" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "chapel"},/area/derelict/medical/chapel)
"gZ" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "chapel"},/area/derelict/medical/chapel)
@@ -700,7 +700,7 @@
"nx" = (/obj/machinery/light/small,/turf/simulated/floor/plasteel,/area/derelict/solar_control)
"ny" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/wall,/area/derelict/bridge/access)
"nz" = (/obj/machinery/door/airlock/maintenance,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
-"nA" = (/obj/structure/rack,/obj/item/weapon/module/power_control,/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
+"nA" = (/obj/structure/rack,/obj/item/weapon/electronics/apc,/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
"nB" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/wall,/area/derelict/bridge/access)
"nC" = (/turf/simulated/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/atmospherics)
"nD" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm
index 311699f3819..4d358db2cbf 100644
--- a/code/datums/supplypacks.dm
+++ b/code/datums/supplypacks.dm
@@ -481,7 +481,7 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
/obj/item/solar_assembly,
/obj/item/solar_assembly, // 21 Solar Assemblies. 1 Extra for the controller
/obj/item/weapon/circuitboard/solar_control,
- /obj/item/weapon/tracker_electronics,
+ /obj/item/weapon/electronics/tracker,
/obj/item/weapon/paper/solar)
cost = 20
containername = "solar pack crate"
diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm
index 9bc371b9d9f..49a97334eaa 100644
--- a/code/game/machinery/alarm.dm
+++ b/code/game/machinery/alarm.dm
@@ -750,7 +750,7 @@
if (do_after(user, 20, target = src))
if (buildstage == 1)
user <<"You remove the air alarm electronics."
- new /obj/item/weapon/airalarm_electronics( src.loc )
+ new /obj/item/weapon/electronics/airalarm( src.loc )
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
buildstage = 0
update_icon()
@@ -777,7 +777,7 @@
update_icon()
return
if(0)
- if(istype(W, /obj/item/weapon/airalarm_electronics))
+ if(istype(W, /obj/item/weapon/electronics/airalarm))
if(user.unEquip(W))
user << "You insert the circuit."
buildstage = 1
@@ -817,14 +817,9 @@
AIR ALARM CIRCUIT
Just a object used in constructing air alarms
*/
-/obj/item/weapon/airalarm_electronics
+/obj/item/weapon/electronics/airalarm
name = "air alarm electronics"
- icon = 'icons/obj/module.dmi'
icon_state = "airalarm_electronics"
- desc = "Looks like a circuit. Probably is."
- w_class = 2.0
- materials = list(MAT_METAL=50, MAT_GLASS=50)
-
/*
AIR ALARM ITEM
@@ -979,11 +974,11 @@ FIRE ALARM
user << "You remove the destroyed circuit."
else
user << "You pry out the circuit."
- new /obj/item/weapon/firealarm_electronics(user.loc)
+ new /obj/item/weapon/electronics/firealarm(user.loc)
buildstage = 0
update_icon()
if(0)
- if(istype(W, /obj/item/weapon/firealarm_electronics))
+ if(istype(W, /obj/item/weapon/electronics/firealarm))
user << "You insert the circuit."
qdel(W)
buildstage = 1
@@ -1140,13 +1135,9 @@ FIRE ALARM
FIRE ALARM CIRCUIT
Just a object used in constructing fire alarms
*/
-/obj/item/weapon/firealarm_electronics
+/obj/item/weapon/electronics/firealarm
name = "fire alarm electronics"
- icon = 'icons/obj/doors/door_assembly.dmi'
- icon_state = "door_electronics"
desc = "A circuit. It has a label on it, it says \"Can handle heat levels up to 40 degrees celsius!\""
- w_class = 2.0
- materials = list(MAT_METAL=50, MAT_GLASS=50)
/*
diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm
index ee9a0041756..44bef9fac82 100644
--- a/code/game/machinery/buttons.dm
+++ b/code/game/machinery/buttons.dm
@@ -6,7 +6,7 @@
var/skin = "doorctrl"
power_channel = ENVIRON
var/obj/item/device/assembly/device
- var/obj/item/weapon/airlock_electronics/board
+ var/obj/item/weapon/electronics/airlock/board
var/device_type = null
var/id = null
@@ -79,7 +79,7 @@
device = W
user << "You add [W] to the button."
- if(!board && istype(W, /obj/item/weapon/airlock_electronics))
+ if(!board && istype(W, /obj/item/weapon/electronics/airlock))
if(!user.unEquip(W))
user << "\The [W] is stuck to you!"
return
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index 245b949cb79..003aa1d0b77 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -42,7 +42,7 @@
var/justzap = 0
var/safe = 1
normalspeed = 1
- var/obj/item/weapon/airlock_electronics/electronics = null
+ var/obj/item/weapon/electronics/airlock/electronics = null
var/hasShocked = 0 //Prevents multiple shocks from happening
var/autoclose = 1
var/obj/item/device/doorCharge/charge = null //If applied, causes an explosion upon opening the door
@@ -990,9 +990,9 @@ About the new airlock wires panel:
return
user << "You remove the airlock electronics."
- var/obj/item/weapon/airlock_electronics/ae
+ var/obj/item/weapon/electronics/airlock/ae
if(!electronics)
- ae = new/obj/item/weapon/airlock_electronics( src.loc )
+ ae = new/obj/item/weapon/electronics/airlock( src.loc )
if(req_one_access)
ae.use_one_access = 1
ae.conf_access = src.req_one_access
diff --git a/code/game/machinery/doors/airlock_electronics.dm b/code/game/machinery/doors/airlock_electronics.dm
index 0b1761281a2..11b4182152a 100644
--- a/code/game/machinery/doors/airlock_electronics.dm
+++ b/code/game/machinery/doors/airlock_electronics.dm
@@ -1,11 +1,7 @@
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
-/obj/item/weapon/airlock_electronics
+/obj/item/weapon/electronics/airlock
name = "airlock electronics"
- icon = 'icons/obj/doors/door_assembly.dmi'
- icon_state = "door_electronics"
- w_class = 2.0 //It should be tiny! -Agouri
- materials = list(MAT_METAL=50, MAT_GLASS=50)
req_access = list(access_maint_tunnels)
@@ -14,7 +10,7 @@
var/last_configurator = null
var/locked = 1
-/obj/item/weapon/airlock_electronics/attack_self(mob/user)
+/obj/item/weapon/electronics/airlock/attack_self(mob/user)
if (!ishuman(user))
return ..(user)
@@ -67,7 +63,7 @@
popup.open()
onclose(user, "airlock")
-/obj/item/weapon/airlock_electronics/Topic(href, href_list)
+/obj/item/weapon/electronics/airlock/Topic(href, href_list)
..()
if (usr.stat || usr.restrained() || !ishuman(usr))
return
@@ -95,7 +91,7 @@
attack_self(usr)
-/obj/item/weapon/airlock_electronics/proc/toggle_access(acc)
+/obj/item/weapon/electronics/airlock/proc/toggle_access(acc)
if (acc == "all")
conf_access = null
else if(acc == "one")
diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm
index 917e92f7f7e..2d85875a50b 100644
--- a/code/game/machinery/doors/firedoor.dm
+++ b/code/game/machinery/doors/firedoor.dm
@@ -170,13 +170,10 @@
icon = 'icons/obj/doors/Doorfire.dmi'
glass = 0
-/obj/item/weapon/firelock_board
+/obj/item/weapon/electronics/firelock
name = "firelock circuitry"
desc = "A circuit board used in construction of firelocks."
- icon = 'icons/obj/module.dmi'
icon_state = "mainboard"
- w_class = 2
- materials = list(MAT_METAL = 50, MAT_GLASS = 50)
/obj/structure/firelock_frame
name = "firelock frame"
@@ -270,7 +267,7 @@
if(constructionStep != CONSTRUCTION_GUTTED) return
user.visible_message("[user] removes [src]'s circuit board.", \
"You remove the circuit board from [src].")
- new /obj/item/weapon/firelock_board(get_turf(src))
+ new /obj/item/weapon/electronics/firelock(get_turf(src))
playsound(get_turf(src), 'sound/items/Crowbar.ogg', 50, 1)
constructionStep = CONSTRUCTION_NOCIRCUIT
update_icon()
@@ -308,7 +305,7 @@
M.amount = 3
qdel(src)
return
- if(istype(C, /obj/item/weapon/firelock_board))
+ if(istype(C, /obj/item/weapon/electronics/firelock))
user.visible_message("[user] starts adding [C] to [src]...", \
"You begin adding a circuit board to [src]...")
playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1)
diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm
index 82a66b848e1..291b83074db 100644
--- a/code/game/machinery/doors/windowdoor.dm
+++ b/code/game/machinery/doors/windowdoor.dm
@@ -8,7 +8,7 @@
visible = 0.0
flags = ON_BORDER
opacity = 0
- var/obj/item/weapon/airlock_electronics/electronics = null
+ var/obj/item/weapon/electronics/airlock/electronics = null
var/reinf = 0
/obj/machinery/door/window/New()
@@ -311,9 +311,9 @@
user << "You remove the airlock electronics."
- var/obj/item/weapon/airlock_electronics/ae
+ var/obj/item/weapon/electronics/airlock/ae
if(!electronics)
- ae = new/obj/item/weapon/airlock_electronics( src.loc )
+ ae = new/obj/item/weapon/electronics/airlock( src.loc )
if(req_one_access)
ae.use_one_access = 1
ae.conf_access = src.req_one_access
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index a3787a9b5ab..3bbc353f9d1 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -910,7 +910,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
icon_state = "engivend"
icon_deny = "engivend-deny"
req_access_txt = "11" //Engineering Equipment access
- products = list(/obj/item/clothing/glasses/meson/engine = 2,/obj/item/device/multitool = 4,/obj/item/weapon/airlock_electronics = 10,/obj/item/weapon/module/power_control = 10,/obj/item/weapon/airalarm_electronics = 10,/obj/item/weapon/stock_parts/cell/high = 10, /obj/item/weapon/rcd/loaded = 3,)
+ products = list(/obj/item/clothing/glasses/meson/engine = 2,/obj/item/device/multitool = 4,/obj/item/weapon/electronics/airlock = 10,/obj/item/weapon/electronics/apc = 10,/obj/item/weapon/electronics/airalarm = 10,/obj/item/weapon/stock_parts/cell/high = 10, /obj/item/weapon/rcd/loaded = 3,)
contraband = list(/obj/item/weapon/stock_parts/cell/potato = 3)
premium = list(/obj/item/weapon/storage/belt/utility = 3)
diff --git a/code/game/objects/items/apc_frame.dm b/code/game/objects/items/apc_frame.dm
index 120442e7e25..b86ddc77b64 100644
--- a/code/game/objects/items/apc_frame.dm
+++ b/code/game/objects/items/apc_frame.dm
@@ -86,3 +86,14 @@
usr << "You cut the cables and disassemble the unused power terminal."
qdel(T)
return 1
+
+
+/obj/item/weapon/electronics
+ desc = "Looks like a circuit. Probably is."
+ icon = 'icons/obj/module.dmi'
+ icon_state = "door_electronics"
+ item_state = "electronic"
+ flags = CONDUCT
+ w_class = 2
+ origin_tech = "engineering=2;programming=1"
+ materials = list(MAT_METAL=50, MAT_GLASS=50)
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm
index b5ffd7faa7a..f44a7870f5d 100644
--- a/code/game/objects/items/weapons/RCD.dm
+++ b/code/game/objects/items/weapons/RCD.dm
@@ -357,7 +357,7 @@ RCD
activate()
var/obj/machinery/door/airlock/T = new airlock_type( A )
- T.electronics = new/obj/item/weapon/airlock_electronics( src.loc )
+ T.electronics = new/obj/item/weapon/electronics/airlock( src.loc )
if(conf_access)
T.electronics.conf_access = conf_access.Copy()
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
index a96337856ac..0ae8d3f8177 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
@@ -37,9 +37,9 @@
new /obj/item/weapon/storage/toolbox/electrical(src)
new /obj/item/weapon/storage/toolbox/electrical(src)
new /obj/item/weapon/storage/toolbox/electrical(src)
- new /obj/item/weapon/module/power_control(src)
- new /obj/item/weapon/module/power_control(src)
- new /obj/item/weapon/module/power_control(src)
+ new /obj/item/weapon/electronics/apc(src)
+ new /obj/item/weapon/electronics/apc(src)
+ new /obj/item/weapon/electronics/apc(src)
new /obj/item/device/multitool(src)
new /obj/item/device/multitool(src)
new /obj/item/device/multitool(src)
diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm
index e130ef5811a..8f44995f4dc 100644
--- a/code/game/objects/structures/door_assembly.dm
+++ b/code/game/objects/structures/door_assembly.dm
@@ -11,7 +11,7 @@
var/icontext = ""
var/base_icon_state = "door_as_"
var/glass_base_icon_state = "door_as_g"
- var/obj/item/weapon/airlock_electronics/electronics = null
+ var/obj/item/weapon/electronics/airlock/electronics = null
var/airlock_type = /obj/machinery/door/airlock //the type path of the airlock once completed
var/glass_type = /obj/machinery/door/airlock/glass
var/created_name = null
@@ -506,7 +506,7 @@
src.state = 0
src.name = "secured airlock assembly"
- else if(istype(W, /obj/item/weapon/airlock_electronics) && state == 1 )
+ else if(istype(W, /obj/item/weapon/electronics/airlock) && state == 1 )
playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
user.visible_message("[user] installs the electronics into the airlock assembly.", \
"You start to install electronics into the airlock assembly...")
@@ -534,9 +534,9 @@
user << "You remove the airlock electronics."
src.state = 1
src.name = "wired airlock assembly"
- var/obj/item/weapon/airlock_electronics/ae
+ var/obj/item/weapon/electronics/airlock/ae
if (!electronics)
- ae = new/obj/item/weapon/airlock_electronics( src.loc )
+ ae = new/obj/item/weapon/electronics/airlock( src.loc )
else
ae = electronics
electronics = null
diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm
index 867b7e5723f..90007323b52 100644
--- a/code/game/objects/structures/windoor_assembly.dm
+++ b/code/game/objects/structures/windoor_assembly.dm
@@ -19,7 +19,7 @@
dir = NORTH
var/ini_dir
- var/obj/item/weapon/airlock_electronics/electronics = null
+ var/obj/item/weapon/electronics/airlock/electronics = null
var/created_name = null
//Vars to help with the icon's name
@@ -189,7 +189,7 @@
name = "anchored windoor assembly"
//Adding airlock electronics for access. Step 6 complete.
- else if(istype(W, /obj/item/weapon/airlock_electronics))
+ else if(istype(W, /obj/item/weapon/electronics/airlock))
if(!user.drop_item())
return
playsound(loc, 'sound/items/Screwdriver.ogg', 100, 1)
@@ -219,7 +219,7 @@
return
user << "You remove the airlock electronics."
name = "wired windoor assembly"
- var/obj/item/weapon/airlock_electronics/ae
+ var/obj/item/weapon/electronics/airlock/ae
ae = electronics
electronics = null
ae.loc = loc
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index 9f5696d1320..5a04c7fad26 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -398,7 +398,7 @@
user.visible_message(\
"[user.name] has removed the power control board from [src.name]!",\
"You remove the power control board.")
- new /obj/item/weapon/module/power_control(loc)
+ new /obj/item/weapon/electronics/apc(loc)
else if (opened!=2) //cover isn't removed
opened = 0
update_icon()
@@ -496,7 +496,7 @@
else if (istype(W, /obj/item/weapon/wirecutters) && terminal && opened && has_electronics!=2)
terminal.dismantle(user)
- else if (istype(W, /obj/item/weapon/module/power_control) && opened && has_electronics==0 && !((stat & BROKEN) || malfhack))
+ else if (istype(W, /obj/item/weapon/electronics/apc) && opened && has_electronics==0 && !((stat & BROKEN) || malfhack))
user.visible_message("[user.name] inserts the power control board into [src].", \
"You start to insert the power control board into the frame...")
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
@@ -505,7 +505,7 @@
has_electronics = 1
user << "You place the power control board inside the frame."
qdel(W)
- else if (istype(W, /obj/item/weapon/module/power_control) && opened && has_electronics==0 && ((stat & BROKEN) || malfhack))
+ else if (istype(W, /obj/item/weapon/electronics/apc) && opened && has_electronics==0 && ((stat & BROKEN) || malfhack))
user << "You cannot put the board inside, the frame is damaged!"
return
else if (istype(W, /obj/item/weapon/weldingtool) && opened && has_electronics==0 && !terminal)
@@ -1232,15 +1232,7 @@
#undef APC_UPDATE_ICON_COOLDOWN
/*Power module, used for APC construction*/
-/obj/item/weapon/module
- icon = 'icons/obj/module.dmi'
- icon_state = "std_module"
- w_class = 2.0
- item_state = "electronic"
- flags = CONDUCT
-
-
-/obj/item/weapon/module/power_control
+/obj/item/weapon/electronics/apc
name = "power control module"
icon_state = "power_mod"
desc = "Heavy-duty switching circuits for power control."
diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm
index ab650dfa411..8375b2d8d4e 100644
--- a/code/modules/power/solar.dm
+++ b/code/modules/power/solar.dm
@@ -255,7 +255,7 @@
return 1
if(!tracker)
- if(istype(W, /obj/item/weapon/tracker_electronics))
+ if(istype(W, /obj/item/weapon/electronics/tracker))
if(!user.drop_item())
return
tracker = 1
@@ -264,7 +264,7 @@
return 1
else
if(istype(W, /obj/item/weapon/crowbar))
- new /obj/item/weapon/tracker_electronics(src.loc)
+ new /obj/item/weapon/electronics/tracker(src.loc)
tracker = 0
user.visible_message("[user] takes out the electronics from the solar assembly.", "You take out the electronics from the solar assembly.")
return 1
diff --git a/code/modules/power/tracker.dm b/code/modules/power/tracker.dm
index b2771ae6d4f..f85bdd99153 100644
--- a/code/modules/power/tracker.dm
+++ b/code/modules/power/tracker.dm
@@ -76,9 +76,5 @@
// Tracker Electronic
-/obj/item/weapon/tracker_electronics
-
- name = "tracker electronics"
- icon = 'icons/obj/doors/door_assembly.dmi'
- icon_state = "door_electronics"
- w_class = 2.0
\ No newline at end of file
+/obj/item/weapon/electronics/tracker
+ name = "tracker electronics"
\ No newline at end of file
diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm
index 938edd44db8..7dabb694a75 100644
--- a/code/modules/research/designs/autolathe_designs.dm
+++ b/code/modules/research/designs/autolathe_designs.dm
@@ -111,7 +111,7 @@
id = "power control"
build_type = AUTOLATHE
materials = list(MAT_METAL = 100, MAT_GLASS = 100)
- build_path = /obj/item/weapon/module/power_control
+ build_path = /obj/item/weapon/electronics/apc
category = list("initial", "Electronics")
/datum/design/airlock_board
@@ -119,7 +119,7 @@
id = "airlock_board"
build_type = AUTOLATHE
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
- build_path = /obj/item/weapon/airlock_electronics
+ build_path = /obj/item/weapon/electronics/airlock
category = list("initial", "Electronics")
/datum/design/firelock_board
@@ -127,7 +127,7 @@
id = "firelock_board"
build_type = AUTOLATHE
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
- build_path = /obj/item/weapon/firelock_board
+ build_path = /obj/item/weapon/electronics/firelock
category = list("initial", "Electronics")
/datum/design/airalarm_electronics
@@ -135,7 +135,7 @@
id = "airalarm_electronics"
build_type = AUTOLATHE
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
- build_path = /obj/item/weapon/airalarm_electronics
+ build_path = /obj/item/weapon/electronics/airalarm
category = list("initial", "Electronics")
/datum/design/firealarm_electronics
@@ -143,7 +143,7 @@
id = "firealarm_electronics"
build_type = AUTOLATHE
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
- build_path = /obj/item/weapon/firealarm_electronics
+ build_path = /obj/item/weapon/electronics/firealarm
category = list("initial", "Electronics")
/datum/design/pipe_painter
diff --git a/icons/obj/doors/door_assembly.dmi b/icons/obj/doors/door_assembly.dmi
index 06689649d8e..8812c0a4217 100644
Binary files a/icons/obj/doors/door_assembly.dmi and b/icons/obj/doors/door_assembly.dmi differ
diff --git a/icons/obj/module.dmi b/icons/obj/module.dmi
index 8a522bf5746..e7fc43e6109 100644
Binary files a/icons/obj/module.dmi and b/icons/obj/module.dmi differ