diff --git a/_maps/RandomRuins/IceRuins/icemoon_surface_engioutpost.dmm b/_maps/RandomRuins/IceRuins/icemoon_surface_engioutpost.dmm
index 2f052271031..1a1d07b6a99 100644
--- a/_maps/RandomRuins/IceRuins/icemoon_surface_engioutpost.dmm
+++ b/_maps/RandomRuins/IceRuins/icemoon_surface_engioutpost.dmm
@@ -44,9 +44,8 @@
dir = 8
},
/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/east{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/apc/no_charge,
/turf/open/floor/iron,
/area/ruin/planetengi)
"au" = (
diff --git a/_maps/RandomRuins/IceRuins/icemoon_surface_pizza.dmm b/_maps/RandomRuins/IceRuins/icemoon_surface_pizza.dmm
index da2316b4929..21bc5a318d6 100644
--- a/_maps/RandomRuins/IceRuins/icemoon_surface_pizza.dmm
+++ b/_maps/RandomRuins/IceRuins/icemoon_surface_pizza.dmm
@@ -260,9 +260,8 @@
/area/ruin/pizzeria/kitchen)
"jY" = (
/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/north{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/effect/decal/cleanable/ash,
/obj/effect/turf_decal/tile/blue/opposingcorners{
dir = 1
@@ -563,9 +562,8 @@
/area/ruin/pizzeria/kitchen)
"yS" = (
/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/north{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/effect/turf_decal/tile/blue/opposingcorners{
dir = 1
},
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm
index 1b0274a5fce..5eac34187fd 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm
@@ -387,10 +387,8 @@
/obj/effect/decal/cleanable/cobweb,
/obj/effect/spawner/random/decoration/glowstick,
/obj/effect/spawner/random/decoration/paint,
-/obj/machinery/power/apc/unlocked{
- pixel_y = 25;
- dir = 1
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/unlocked,
/turf/open/floor/plating/lavaland_atmos,
/area/ruin/unpowered)
"xP" = (
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm
index 304a845796d..8d1b543e6d1 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm
@@ -325,11 +325,8 @@
/area/ruin/syndicate_lava_base/cargo)
"dA" = (
/obj/structure/closet/l3closet,
-/obj/machinery/power/apc/syndicate{
- dir = 8;
- name = "Chemistry APC";
- pixel_x = -25
- },
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/effect/mapping_helpers/apc/syndicate_access,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4{
dir = 6
},
@@ -493,11 +490,8 @@
/area/ruin/syndicate_lava_base/cargo)
"ef" = (
/obj/machinery/light/small/directional/north,
-/obj/machinery/power/apc/syndicate{
- dir = 1;
- name = "Cargo Bay APC";
- pixel_y = 25
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/syndicate_access,
/obj/structure/closet/emcloset/anchored,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -720,11 +714,8 @@
pixel_y = 2
},
/obj/item/storage/box/syringes,
-/obj/machinery/power/apc/syndicate{
- dir = 1;
- name = "Virology APC";
- pixel_y = 25
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/syndicate_access,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
/turf/open/floor/iron/white/side{
@@ -1515,11 +1506,8 @@
/turf/open/floor/plating/lavaland_atmos,
/area/lavaland/surface/outdoors)
"ji" = (
-/obj/machinery/power/apc/syndicate{
- dir = 8;
- name = "Primary Hallway APC";
- pixel_x = -25
- },
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/effect/mapping_helpers/apc/syndicate_access,
/obj/structure/cable,
/obj/effect/turf_decal/tile/red/half/contrasted{
dir = 8
@@ -2081,10 +2069,8 @@
"mv" = (
/obj/structure/table/wood,
/obj/machinery/light/small/directional/south,
-/obj/machinery/power/apc/syndicate{
- name = "Bar APC";
- pixel_y = -25
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/syndicate_access,
/obj/structure/cable,
/turf/open/floor/wood,
/area/ruin/syndicate_lava_base/bar)
@@ -2271,11 +2257,8 @@
"oc" = (
/obj/machinery/light/small/directional/south,
/obj/structure/extinguisher_cabinet/directional/south,
-/obj/machinery/power/apc/syndicate{
- dir = 4;
- name = "Medbay APC";
- pixel_x = 25
- },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/apc/syndicate_access,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
/turf/open/floor/iron/white/side{
@@ -2418,11 +2401,8 @@
dir = 4
},
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/power/apc/syndicate{
- dir = 1;
- name = "Arrival Hallway APC";
- pixel_y = 25
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/syndicate_access,
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer2,
/obj/effect/turf_decal/tile/red/half/contrasted{
@@ -3570,11 +3550,8 @@
/area/ruin/syndicate_lava_base/dormitories)
"JQ" = (
/obj/machinery/light/small/directional/north,
-/obj/machinery/power/apc/syndicate{
- dir = 1;
- name = "Engineering APC";
- pixel_y = 25
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/syndicate_access,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
/turf/open/floor/iron,
@@ -4372,10 +4349,8 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4{
dir = 4
},
-/obj/machinery/power/apc/syndicate{
- name = "Dormitories APC";
- pixel_y = -25
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/syndicate_access,
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer2,
/obj/effect/turf_decal/tile/neutral,
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/commswilding_1.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/commswilding_1.dmm
index f37752d58f5..25aab3ccf7b 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/commswilding_1.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/commswilding_1.dmm
@@ -77,10 +77,8 @@
/obj/structure/chair{
dir = 8
},
-/obj/machinery/power/apc/syndicate{
- name = "Telecommunications APC";
- pixel_y = -25
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/syndicate_access,
/obj/structure/cable,
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/commswilding_2.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/commswilding_2.dmm
index 56bf133ef9a..0beb9632095 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/commswilding_2.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/commswilding_2.dmm
@@ -31,10 +31,8 @@
/obj/effect/turf_decal/siding/wood{
dir = 4
},
-/obj/machinery/power/apc/syndicate{
- name = "Telecommunications APC";
- pixel_y = -25
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/syndicate_access,
/turf/open/floor/wood,
/area/ruin/syndicate_lava_base/telecomms)
"k" = (
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/commswilding_3.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/commswilding_3.dmm
index b3274359a26..bae1b50984b 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/commswilding_3.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/commswilding_3.dmm
@@ -46,10 +46,8 @@
/obj/structure/chair{
dir = 8
},
-/obj/machinery/power/apc/syndicate{
- name = "Telecommunications APC";
- pixel_y = -25
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/syndicate_access,
/obj/structure/cable,
/turf/open/floor/iron,
/area/ruin/syndicate_lava_base/telecomms)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/mistake_feasible.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/mistake_feasible.dmm
index 162045cebbb..ca428942e32 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/mistake_feasible.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/mistake_feasible.dmm
@@ -272,9 +272,8 @@
"X" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/south{
- req_access = list("syndicate")
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/syndicate_access,
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/ruin/syndicate_lava_base/testlab)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/mistake_inevitable.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/mistake_inevitable.dmm
index 1b2fb4ec37a..8006f2a0bb1 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/mistake_inevitable.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/mistake_inevitable.dmm
@@ -9,9 +9,8 @@
/area/ruin/syndicate_lava_base/testlab)
"be" = (
/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/south{
- req_access = list("syndicate")
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/syndicate_access,
/turf/open/floor/iron/dark,
/area/ruin/syndicate_lava_base/testlab)
"bs" = (
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/mistake_unlikely.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/mistake_unlikely.dmm
index 33352d483e5..1d4646b9a39 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/mistake_unlikely.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/mistake_unlikely.dmm
@@ -63,9 +63,8 @@
dir = 4
},
/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/west{
- req_access = list("syndicate")
- },
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/effect/mapping_helpers/apc/syndicate_access,
/turf/open/floor/iron/dark,
/area/ruin/syndicate_lava_base/testlab)
"N" = (
diff --git a/_maps/RandomRuins/SpaceRuins/abandonedzoo.dmm b/_maps/RandomRuins/SpaceRuins/abandonedzoo.dmm
index 6e5bdecdd44..588dc37d736 100644
--- a/_maps/RandomRuins/SpaceRuins/abandonedzoo.dmm
+++ b/_maps/RandomRuins/SpaceRuins/abandonedzoo.dmm
@@ -429,14 +429,12 @@
/obj/structure/rack,
/obj/effect/spawner/random/maintenance,
/obj/structure/cable,
-/obj/machinery/power/apc/unlocked{
- dir = 8;
+/obj/machinery/power/apc/worn_out/directional/west{
environ = 0;
- lighting = 0;
- name = "Worn-out APC";
- pixel_x = -25
+ lighting = 0
},
/obj/item/melee/baton/security/cattleprod,
+/obj/effect/mapping_helpers/apc/unlocked,
/turf/open/floor/iron/dark/side,
/area/ruin/space/has_grav/abandonedzoo)
"Mb" = (
diff --git a/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm b/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm
index f03dc768611..315eb923063 100644
--- a/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm
+++ b/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm
@@ -56,9 +56,8 @@
/area/ruin/space/has_grav/derelictoutpost/cargobay)
"ao" = (
/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/east{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/apc/no_charge,
/turf/open/floor/iron,
/area/ruin/space/has_grav/derelictoutpost/cargobay)
"ap" = (
@@ -498,9 +497,8 @@
/area/ruin/space/has_grav/derelictoutpost/powerstorage)
"ca" = (
/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/east{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/apc/no_charge,
/turf/open/floor/iron,
/area/ruin/space/has_grav/derelictoutpost/powerstorage)
"cb" = (
@@ -540,9 +538,8 @@
/area/ruin/space/has_grav/derelictoutpost)
"ck" = (
/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/south{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/no_charge,
/turf/open/floor/iron,
/area/ruin/space/has_grav/derelictoutpost)
"cl" = (
@@ -1032,9 +1029,8 @@
/area/ruin/space/has_grav/derelictoutpost/cargostorage)
"el" = (
/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/east{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/apc/no_charge,
/turf/open/floor/iron,
/area/ruin/space/has_grav/derelictoutpost/cargostorage)
"eo" = (
diff --git a/_maps/RandomRuins/SpaceRuins/crashedship.dmm b/_maps/RandomRuins/SpaceRuins/crashedship.dmm
index 412fc40d8df..75dda39e173 100644
--- a/_maps/RandomRuins/SpaceRuins/crashedship.dmm
+++ b/_maps/RandomRuins/SpaceRuins/crashedship.dmm
@@ -240,11 +240,10 @@
/area/awaymission/bmpship/aft)
"lx" = (
/obj/structure/cable,
-/obj/machinery/power/apc/unlocked{
- dir = 1;
- environ = 0;
- pixel_y = 25
+/obj/machinery/power/apc/auto_name/directional/north{
+ environ = 0
},
+/obj/effect/mapping_helpers/apc/unlocked,
/turf/open/floor/iron/airless,
/area/awaymission/bmpship/midship)
"lG" = (
diff --git a/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm b/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm
index c223b20fc70..da21f9ffb4a 100644
--- a/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm
+++ b/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm
@@ -2670,10 +2670,8 @@
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/power/apc/away{
- name = "ASRC Lobby";
- pixel_y = -25
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/away_general_access,
/obj/effect/turf_decal/tile/purple/half/contrasted,
/turf/open/floor/iron/white,
/area/ruin/space/has_grav/dangerous_research)
@@ -2758,11 +2756,8 @@
"JN" = (
/obj/effect/turf_decal/tile/neutral/diagonal_edge,
/obj/structure/cable,
-/obj/machinery/power/apc/away{
- dir = 8;
- name = "ASRC Dorms";
- pixel_x = -25
- },
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/effect/mapping_helpers/apc/away_general_access,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark/diagonal,
/area/ruin/space/has_grav/dangerous_research/dorms)
@@ -3807,11 +3802,8 @@
/area/ruin/space/has_grav/dangerous_research/maint)
"XI" = (
/obj/structure/cable,
-/obj/machinery/power/apc/away{
- dir = 1;
- name = "ASRC Maintenance";
- pixel_y = 25
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/away_general_access,
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/decal/cleanable/oil/slippery,
/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
@@ -3861,11 +3853,8 @@
/area/ruin/space/has_grav/dangerous_research/lab)
"Yr" = (
/obj/structure/cable,
-/obj/machinery/power/apc/away{
- dir = 1;
- name = "ASRC Laboratory";
- pixel_y = 25
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/away_general_access,
/obj/effect/turf_decal/tile/neutral/half,
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/dangerous_research/lab)
@@ -3902,11 +3891,8 @@
},
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/cable,
-/obj/machinery/power/apc/away{
- dir = 4;
- name = "ASRC Medical Facility";
- pixel_x = 25
- },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/apc/away_general_access,
/turf/open/floor/iron/white,
/area/ruin/space/has_grav/dangerous_research/medical)
"YZ" = (
diff --git a/_maps/RandomRuins/SpaceRuins/deepstorage.dmm b/_maps/RandomRuins/SpaceRuins/deepstorage.dmm
index 447f0002329..5b9a0200a71 100644
--- a/_maps/RandomRuins/SpaceRuins/deepstorage.dmm
+++ b/_maps/RandomRuins/SpaceRuins/deepstorage.dmm
@@ -131,10 +131,8 @@
/turf/open/floor/plating,
/area/ruin/space/has_grav/deepstorage/crusher)
"aE" = (
-/obj/machinery/power/apc/away{
- name = "Recycling APC";
- pixel_y = -25
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/away_general_access,
/obj/structure/cable,
/turf/open/floor/plating,
/area/ruin/space/has_grav/deepstorage/crusher)
@@ -636,10 +634,8 @@
/turf/open/floor/iron/cafeteria,
/area/ruin/space/has_grav/deepstorage/kitchen)
"bN" = (
-/obj/machinery/power/apc/away{
- name = "Kitchen APC";
- pixel_y = -25
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/away_general_access,
/obj/structure/cable,
/turf/open/floor/iron/cafeteria,
/area/ruin/space/has_grav/deepstorage/kitchen)
@@ -780,9 +776,8 @@
/turf/open/floor/iron,
/area/ruin/space/has_grav/deepstorage/hydroponics)
"cg" = (
-/obj/machinery/power/apc/highcap/five_k/directional/east{
- name = "Hydroponics APC"
- },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/apc/cell_5k,
/obj/structure/cable,
/turf/open/floor/iron,
/area/ruin/space/has_grav/deepstorage/hydroponics)
@@ -1063,9 +1058,8 @@
/turf/open/floor/iron,
/area/ruin/space/has_grav/deepstorage)
"cQ" = (
-/obj/machinery/power/apc/highcap/five_k/directional/east{
- name = "Storage APC"
- },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/apc/cell_5k,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
/turf/open/floor/iron,
@@ -1433,10 +1427,8 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{
dir = 4
},
-/obj/machinery/power/apc/away{
- name = "Main Area APC";
- pixel_y = -25
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/away_general_access,
/obj/effect/turf_decal/stripes/corner,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -1489,9 +1481,8 @@
/obj/item/storage/backpack/duffelbag/sec/surgery{
pixel_y = 5
},
-/obj/machinery/power/apc/highcap/five_k/directional/east{
- name = "Armory APC"
- },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/apc/cell_5k,
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/deepstorage/armory)
@@ -1718,11 +1709,8 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden{
dir = 10
},
-/obj/machinery/power/apc/away{
- dir = 1;
- name = "Airlock Control APC";
- pixel_y = 25
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/away_general_access,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
/turf/open/floor/iron,
@@ -1974,11 +1962,8 @@
/area/ruin/space/has_grav/deepstorage/airlock)
"fx" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible,
-/obj/machinery/power/apc/away{
- dir = 8;
- name = "Power and Atmospherics APC";
- pixel_x = -25
- },
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/effect/mapping_helpers/apc/away_general_access,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
/turf/open/floor/iron,
@@ -2025,9 +2010,8 @@
/area/ruin/space/has_grav/deepstorage/power)
"fE" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/power/apc/highcap/five_k/directional/east{
- name = "Dormitory APC"
- },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/apc/cell_5k,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
/turf/open/floor/iron,
@@ -2751,7 +2735,8 @@
/area/ruin/space/has_grav/deepstorage/dorm)
"Az" = (
/obj/structure/cable,
-/obj/machinery/power/apc/highcap/ten_k/directional/east,
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/apc/cell_10k,
/turf/open/floor/engine,
/area/ruin/space/has_grav/deepstorage/pharmacy)
"AI" = (
diff --git a/_maps/RandomRuins/SpaceRuins/derelict_sulaco.dmm b/_maps/RandomRuins/SpaceRuins/derelict_sulaco.dmm
index 8dcd6939ca9..3383d24bedc 100644
--- a/_maps/RandomRuins/SpaceRuins/derelict_sulaco.dmm
+++ b/_maps/RandomRuins/SpaceRuins/derelict_sulaco.dmm
@@ -859,11 +859,11 @@
/obj/structure/cable,
/obj/machinery/power/apc/auto_name/directional/north{
start_charge = 25;
- locked = 0;
equipment = 0;
environ = 0;
lighting = 0
},
+/obj/effect/mapping_helpers/apc/unlocked,
/turf/open/floor/plating/airless,
/area/ruin/space/has_grav/derelictsulaco)
"DJ" = (
diff --git a/_maps/RandomRuins/SpaceRuins/forgottenship.dmm b/_maps/RandomRuins/SpaceRuins/forgottenship.dmm
index b8e14aaf89c..27626b3466d 100644
--- a/_maps/RandomRuins/SpaceRuins/forgottenship.dmm
+++ b/_maps/RandomRuins/SpaceRuins/forgottenship.dmm
@@ -322,12 +322,9 @@
/turf/open/floor/mineral/plastitanium,
/area/ruin/space/has_grav/syndicate_forgotten_ship)
"bf" = (
-/obj/machinery/power/apc/syndicate{
- dir = 1;
- name = "Syndicate Cargo Pod APC";
- pixel_y = 25;
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/no_charge,
+/obj/effect/mapping_helpers/apc/syndicate_access,
/obj/structure/cable,
/obj/structure/closet/crate/secure/gear{
req_access = list("syndicate")
@@ -439,12 +436,9 @@
/turf/open/floor/mineral/plastitanium,
/area/ruin/space/has_grav/syndicate_forgotten_cargopod)
"bv" = (
-/obj/machinery/power/apc/syndicate{
- dir = 1;
- name = "Syndicate Forgotten Ship APC";
- pixel_y = 25;
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/no_charge,
+/obj/effect/mapping_helpers/apc/syndicate_access,
/obj/structure/cable,
/turf/open/floor/mineral/plastitanium,
/area/ruin/space/has_grav/syndicate_forgotten_ship)
diff --git a/_maps/RandomRuins/SpaceRuins/hellfactory.dmm b/_maps/RandomRuins/SpaceRuins/hellfactory.dmm
index 431f5f805fa..438e36acb59 100644
--- a/_maps/RandomRuins/SpaceRuins/hellfactory.dmm
+++ b/_maps/RandomRuins/SpaceRuins/hellfactory.dmm
@@ -647,7 +647,8 @@
/area/ruin/space/has_grav/hellfactory)
"cm" = (
/obj/structure/cable,
-/obj/machinery/power/apc/highcap/ten_k/directional/north,
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/cell_10k,
/turf/open/floor/plating,
/area/ruin/space/has_grav/hellfactory)
"cn" = (
@@ -909,7 +910,8 @@
/turf/open/floor/iron,
/area/ruin/space/has_grav/hellfactory)
"wv" = (
-/obj/machinery/power/apc/highcap/ten_k/directional/north,
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/cell_10k,
/obj/structure/cable,
/turf/open/floor/iron/grimy,
/area/ruin/space/has_grav/hellfactoryoffice)
diff --git a/_maps/RandomRuins/SpaceRuins/interdyne.dmm b/_maps/RandomRuins/SpaceRuins/interdyne.dmm
index c590e9e962d..321c368f843 100644
--- a/_maps/RandomRuins/SpaceRuins/interdyne.dmm
+++ b/_maps/RandomRuins/SpaceRuins/interdyne.dmm
@@ -810,7 +810,8 @@
/area/ruin/space/has_grav/interdyne)
"Fe" = (
/obj/structure/cable,
-/obj/machinery/power/apc/highcap/ten_k/directional/north,
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/cell_10k,
/turf/open/floor/iron/smooth,
/area/ruin/space/has_grav/interdyne)
"Fw" = (
diff --git a/_maps/RandomRuins/SpaceRuins/listeningstation.dmm b/_maps/RandomRuins/SpaceRuins/listeningstation.dmm
index dcdb6374685..cb6f2621841 100644
--- a/_maps/RandomRuins/SpaceRuins/listeningstation.dmm
+++ b/_maps/RandomRuins/SpaceRuins/listeningstation.dmm
@@ -463,11 +463,8 @@
/turf/open/floor/iron,
/area/ruin/space/has_grav/listeningstation)
"yH" = (
-/obj/machinery/power/apc/syndicate{
- dir = 4;
- name = "Syndicate Listening Post APC";
- pixel_x = 25
- },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/apc/syndicate_access,
/obj/structure/cable,
/turf/open/floor/plating,
/area/ruin/space/has_grav/listeningstation)
diff --git a/_maps/RandomRuins/SpaceRuins/oldstation.dmm b/_maps/RandomRuins/SpaceRuins/oldstation.dmm
index c5e357821a6..b52d531e461 100644
--- a/_maps/RandomRuins/SpaceRuins/oldstation.dmm
+++ b/_maps/RandomRuins/SpaceRuins/oldstation.dmm
@@ -417,9 +417,8 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/light/small/directional/north,
-/obj/machinery/power/apc/auto_name/directional/north{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/turf/open/floor/iron,
/area/ruin/space/ancientstation/beta/hall)
@@ -1040,9 +1039,8 @@
/obj/effect/decal/cleanable/dirt,
/obj/structure/table,
/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/west{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/effect/turf_decal/tile/red/anticorner/contrasted{
dir = 1
},
@@ -1069,9 +1067,8 @@
/obj/structure/cable,
/obj/effect/decal/cleanable/cobweb,
/obj/machinery/light_switch/directional/west,
-/obj/machinery/power/apc/auto_name/directional/north{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
dir = 1
},
@@ -1115,9 +1112,8 @@
"ec" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/north{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/no_charge,
/turf/open/floor/iron/white,
/area/ruin/space/ancientstation/delta/rnd)
"ed" = (
@@ -1748,9 +1744,8 @@
/obj/structure/cable,
/obj/effect/decal/cleanable/blood/gibs/old,
/obj/effect/decal/cleanable/blood/old,
-/obj/machinery/power/apc/auto_name/directional/east{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/apc/no_charge,
/turf/open/floor/iron/dark,
/area/ruin/space/ancientstation/delta/ai)
"gf" = (
@@ -1906,9 +1901,8 @@
/area/ruin/space/ancientstation/charlie/hydro)
"gF" = (
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/power/apc/auto_name/directional/east{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/obj/effect/turf_decal/tile/green/half/contrasted{
dir = 4
@@ -2853,9 +2847,8 @@
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/layer_manifold,
-/obj/machinery/power/apc/auto_name/directional/east{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 4
},
@@ -3293,9 +3286,8 @@
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/power/apc/auto_name/directional/east{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/machinery/duct,
/turf/open/floor/iron,
/area/ruin/space/ancientstation/delta/hall)
@@ -3718,9 +3710,8 @@
"mQ" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/south{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/effect/turf_decal/tile/brown/half/contrasted,
/turf/open/floor/iron,
/area/ruin/space/ancientstation/beta/mining)
@@ -4488,9 +4479,8 @@
/obj/structure/mirror/directional/north,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/cobweb/cobweb2,
-/obj/machinery/power/apc/auto_name/directional/east{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/turf/open/floor/iron,
/area/ruin/space/ancientstation/charlie/dorms)
@@ -5087,9 +5077,8 @@
"uG" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/west{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/engine/airless,
/area/ruin/space/ancientstation/beta/supermatter)
@@ -6263,9 +6252,8 @@
default_raw_text = "*Prototype Sleeper*
We have deliverted the lastest in medical technology to the medical bay for your use."
},
/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/north{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
dir = 4
},
@@ -7205,9 +7193,8 @@
"Mh" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/west{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/effect/mapping_helpers/apc/no_charge,
/turf/open/floor/iron/cafeteria,
/area/ruin/space/ancientstation/charlie/kitchen)
"Ms" = (
@@ -7570,9 +7557,8 @@
"PA" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/west{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/effect/turf_decal/tile/purple/half/contrasted{
dir = 8
},
@@ -7798,9 +7784,8 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/power/apc/auto_name/directional/east{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/turf/open/floor/iron,
/area/ruin/space/ancientstation/charlie/engie)
@@ -7816,9 +7801,8 @@
/area/ruin/space/ancientstation/delta/hall)
"RO" = (
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/power/apc/auto_name/directional/west{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/turf/open/floor/plating/rust,
/area/ruin/space/ancientstation/charlie/hall)
@@ -7829,9 +7813,8 @@
/area/ruin/space/ancientstation/charlie/sec)
"RV" = (
/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/east{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 8
},
@@ -8134,9 +8117,8 @@
"UB" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/north{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/no_charge,
/turf/open/floor/iron/white/textured,
/area/ruin/space/ancientstation/delta/proto)
"UE" = (
@@ -8213,9 +8195,8 @@
dir = 1;
pixel_y = 23
},
-/obj/machinery/power/apc/auto_name/directional/east{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/turf/open/floor/plating,
/area/ruin/space/ancientstation/charlie/storage)
diff --git a/_maps/RandomRuins/SpaceRuins/russian_derelict.dmm b/_maps/RandomRuins/SpaceRuins/russian_derelict.dmm
index 6d90cca2791..8f251fa24d3 100644
--- a/_maps/RandomRuins/SpaceRuins/russian_derelict.dmm
+++ b/_maps/RandomRuins/SpaceRuins/russian_derelict.dmm
@@ -21,9 +21,8 @@
/area/ruin/space/ks13/command/bridge)
"ah" = (
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/power/apc/auto_name/directional/east{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/apc/no_charge,
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/service/cafe)
"ai" = (
@@ -204,9 +203,8 @@
"cn" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/power/apc/auto_name/directional/east{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/turf/open/floor/plating/airless,
/area/ruin/space/ks13/security/cell)
@@ -225,9 +223,8 @@
/area/ruin/space/ks13/security/sec)
"cu" = (
/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/power/apc/auto_name/directional/north{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/security/court_hall)
@@ -257,15 +254,13 @@
dir = 4
},
/obj/structure/cable,
-/obj/machinery/power/apc/unlocked{
- dir = 8;
+/obj/machinery/power/apc/auto_name/directional/west{
environ = 0;
equipment = 0;
- lighting = 0;
- name = "Aft Solar APC";
- pixel_x = -25;
- start_charge = 0
+ lighting = 0
},
+/obj/effect/mapping_helpers/apc/no_charge,
+/obj/effect/mapping_helpers/apc/unlocked,
/turf/open/floor/iron,
/area/ruin/space/ks13/engineering/sb_bow_solars_control)
"de" = (
@@ -837,9 +832,8 @@
/obj/structure/rack,
/obj/item/stock_parts/cell/lead,
/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/power/apc/auto_name/directional/south{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/no_charge,
/turf/open/floor/plating/airless,
/area/ruin/space/ks13/engineering/aux_storage)
"mb" = (
@@ -861,9 +855,8 @@
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/hallway/central)
"mv" = (
-/obj/machinery/power/apc/auto_name/directional/north{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/hallway/aft)
@@ -948,9 +941,8 @@
/turf/open/floor/plating/airless,
/area/space/nearstation)
"nK" = (
-/obj/machinery/power/apc/auto_name/directional/south{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/obj/structure/table_frame,
/obj/item/bot_assembly/medbot,
@@ -1182,9 +1174,8 @@
dir = 6
},
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/power/apc/auto_name/directional/west{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/turf/open/floor/plating/airless,
/area/ruin/space/ks13/engineering/atmos)
@@ -1419,9 +1410,8 @@
"qJ" = (
/obj/structure/table_frame,
/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/power/apc/auto_name/directional/west{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/effect/mapping_helpers/apc/no_charge,
/turf/open/floor/plating/airless,
/area/ruin/space/ks13/service/hydro)
"qK" = (
@@ -1807,9 +1797,8 @@
"sA" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/power/apc/auto_name/directional/north{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/engineering/secure_storage)
@@ -1877,9 +1866,8 @@
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/engineering/tech_storage)
"sM" = (
-/obj/machinery/power/apc/auto_name/directional/south{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/turf/open/floor/iron,
/area/ruin/space/ks13/hallway/starboard_bow)
@@ -1906,9 +1894,8 @@
"sS" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/power/apc/auto_name/directional/north{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/turf/open/floor/plating/airless,
/area/ruin/space/ks13/engineering/singulo)
@@ -2110,9 +2097,8 @@
/area/ruin/space/ks13/service/chapel)
"ug" = (
/obj/structure/table/glass,
-/obj/machinery/power/apc/auto_name/directional/north{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/turf/open/floor/plating/airless,
/area/ruin/space/ks13/science/genetics)
@@ -2677,9 +2663,8 @@
/turf/open/floor/plating,
/area/ruin/space/ks13/security/court)
"xA" = (
-/obj/machinery/power/apc/auto_name/directional/south{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/obj/structure/rack,
/obj/item/pushbroom,
@@ -2790,9 +2775,8 @@
/obj/item/mop,
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/power/apc/auto_name/directional/south{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/no_charge,
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/service/jani)
"yc" = (
@@ -3213,9 +3197,8 @@
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/hallway/central)
"Am" = (
-/obj/machinery/power/apc/auto_name/directional/south{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/iron,
@@ -4085,9 +4068,8 @@
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/engineering/secure_storage)
"EI" = (
-/obj/machinery/power/apc/auto_name/directional/west{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/turf/open/floor/iron,
/area/ruin/space/ks13/command/bridge_hall)
@@ -4869,9 +4851,8 @@
/obj/item/stack/cable_coil/cut,
/obj/effect/decal/cleanable/glass,
/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/power/apc/auto_name/directional/north{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/no_charge,
/turf/open/floor/plating/airless,
/area/ruin/space/ks13/science/ordnance_hall)
"IY" = (
@@ -5066,9 +5047,8 @@
/turf/open/floor/plating/airless,
/area/ruin/space/ks13/engineering/atmos)
"JS" = (
-/obj/machinery/power/apc/auto_name/directional/south{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
@@ -5535,9 +5515,8 @@
"MJ" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/power/apc/auto_name/directional/north{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/hallway/central)
@@ -5682,9 +5661,8 @@
/turf/open/floor/plating/airless,
/area/ruin/space/ks13/ai/vault)
"Ns" = (
-/obj/machinery/power/apc/auto_name/directional/east{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/service/bar)
@@ -5809,9 +5787,8 @@
pixel_x = 5
},
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/power/apc/auto_name/directional/north{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/no_charge,
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/science/rnd)
"Og" = (
@@ -5879,9 +5856,8 @@
/obj/effect/mapping_helpers/burnt_floor,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/light/small/directional/north,
-/obj/machinery/power/apc/auto_name/directional/north{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/no_charge,
/turf/open/floor/plating/airless,
/area/ruin/space/ks13/security/sec)
"OA" = (
@@ -6049,9 +6025,8 @@
/area/ruin/space/ks13/ai/corridor)
"Pq" = (
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/power/apc/auto_name/directional/south{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/turf/open/floor/iron,
/area/ruin/space/ks13/security/court)
@@ -6130,9 +6105,8 @@
/obj/structure/frame/machine{
anchored = 1
},
-/obj/machinery/power/apc/auto_name/directional/north{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/service/kitchen)
@@ -6150,9 +6124,8 @@
/area/ruin/space/ks13/engineering/singulo)
"PH" = (
/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/power/apc/auto_name/directional/north{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/engineering/tech_storage)
@@ -6203,9 +6176,8 @@
/area/ruin/space/ks13/ai/corridor)
"PX" = (
/obj/effect/mapping_helpers/burnt_floor,
-/obj/machinery/power/apc/auto_name/directional/north{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/dorms)
@@ -6492,9 +6464,8 @@
/area/ruin/space/ks13/service/chapel)
"RH" = (
/obj/structure/table_frame,
-/obj/machinery/power/apc/auto_name/directional/south{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/ruin/space/ks13/medical/morgue)
@@ -7061,9 +7032,8 @@
/turf/open/floor/plating,
/area/ruin/space/ks13/science/ordnance)
"Ug" = (
-/obj/machinery/power/apc/auto_name/directional/west{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/turf/open/floor/plating/airless,
/area/ruin/space/ks13/engineering/grav_gen)
@@ -7630,9 +7600,8 @@
/area/ruin/space/ks13/service/cafe)
"Xi" = (
/obj/machinery/computer/atmos_alert,
-/obj/machinery/power/apc/auto_name/directional/north{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/turf/open/floor/iron,
/area/ruin/space/ks13/ai/corridor)
@@ -7713,9 +7682,8 @@
/turf/open/floor/iron/white/airless,
/area/ruin/space/ks13/medical/medbay)
"XJ" = (
-/obj/machinery/power/apc/auto_name/directional/west{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/ai/vault)
@@ -7810,9 +7778,8 @@
},
/obj/item/stack/cable_coil/cut,
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/power/apc/auto_name/directional/west{
- start_charge = 0
- },
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/effect/mapping_helpers/apc/no_charge,
/obj/structure/cable,
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/tool_storage)
@@ -8051,15 +8018,13 @@
/turf/open/floor/plating/airless,
/area/ruin/space/ks13/engineering/atmos)
"Zz" = (
-/obj/machinery/power/apc/unlocked{
- dir = 8;
+/obj/machinery/power/apc/auto_name/directional/west{
environ = 0;
equipment = 0;
- lighting = 0;
- name = "Starboard Solar APC";
- pixel_x = -25;
- start_charge = 0
+ lighting = 0
},
+/obj/effect/mapping_helpers/apc/no_charge,
+/obj/effect/mapping_helpers/apc/unlocked,
/obj/structure/cable,
/turf/open/floor/plating/airless,
/area/ruin/space/ks13/engineering/aft_solars_control)
diff --git a/_maps/RandomRuins/SpaceRuins/spacehotel.dmm b/_maps/RandomRuins/SpaceRuins/spacehotel.dmm
index fe39a8c6f08..61c3e62e341 100644
--- a/_maps/RandomRuins/SpaceRuins/spacehotel.dmm
+++ b/_maps/RandomRuins/SpaceRuins/spacehotel.dmm
@@ -1,9 +1,8 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"ae" = (
/obj/structure/cable,
-/obj/machinery/power/apc/highcap/five_k/directional/south{
- name = "Guest Room APC"
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/cell_5k,
/turf/open/floor/carpet/purple,
/area/ruin/space/has_grav/hotel/guestroom/room_5)
"ag" = (
@@ -98,9 +97,8 @@
},
/area/ruin/space/has_grav/hotel/workroom)
"bj" = (
-/obj/machinery/power/apc/highcap/five_k/directional/north{
- name = "Guest Room APC"
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/cell_5k,
/obj/structure/cable,
/turf/open/floor/wood/parquet,
/area/ruin/space/has_grav/hotel/guestroom/room_2)
@@ -189,9 +187,8 @@
/obj/effect/turf_decal/siding/wood{
dir = 1
},
-/obj/machinery/power/apc/highcap/five_k/directional/south{
- name = "Dock APC"
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/cell_5k,
/obj/structure/cable,
/obj/structure/chair{
dir = 1
@@ -792,9 +789,8 @@
/turf/open/floor/iron/cafeteria,
/area/ruin/space/has_grav/hotel/bar)
"hT" = (
-/obj/machinery/power/apc/highcap/five_k/directional/south{
- name = "Kitchen APC"
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/cell_5k,
/obj/structure/cable,
/turf/open/floor/iron/cafeteria,
/area/ruin/space/has_grav/hotel/bar)
@@ -1366,9 +1362,8 @@
/turf/open/floor/iron/sepia,
/area/ruin/space/has_grav/hotel/pool)
"mh" = (
-/obj/machinery/power/apc/highcap/five_k/directional/south{
- name = "Guest Room APC"
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/cell_5k,
/obj/structure/cable,
/turf/open/floor/carpet/red,
/area/ruin/space/has_grav/hotel/guestroom/room_3)
@@ -1785,9 +1780,8 @@
/turf/open/floor/wood/tile,
/area/ruin/space/has_grav/hotel)
"qG" = (
-/obj/machinery/power/apc/highcap/five_k/directional/south{
- name = "Custodial APC"
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/cell_5k,
/obj/structure/cable,
/obj/structure/sink/directional/west,
/obj/item/reagent_containers/spray/cleaner,
@@ -2889,9 +2883,8 @@
"EJ" = (
/obj/structure/table/wood/fancy/purple,
/obj/item/paper_bin,
-/obj/machinery/power/apc/highcap/five_k/directional/north{
- name = "Guest Room APC"
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/cell_5k,
/obj/structure/cable,
/obj/item/pen,
/turf/open/floor/carpet/lone,
@@ -3031,9 +3024,8 @@
/area/ruin/space/has_grav/hotel)
"Gd" = (
/obj/structure/cable,
-/obj/machinery/power/apc/highcap/five_k/directional/north{
- name = "Power Storage APC"
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/cell_5k,
/turf/open/floor/plating,
/area/ruin/space/has_grav/hotel/power)
"Gg" = (
@@ -3494,9 +3486,8 @@
/turf/open/floor/iron,
/area/ruin/space/has_grav/hotel)
"MQ" = (
-/obj/machinery/power/apc/highcap/five_k/directional/south{
- name = "Pool Room APC"
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/cell_5k,
/obj/structure/cable,
/turf/open/floor/iron/freezer,
/area/ruin/space/has_grav/hotel/pool)
@@ -3665,9 +3656,8 @@
/area/ruin/space/has_grav/hotel)
"OW" = (
/obj/structure/table/wood/fancy/orange,
-/obj/machinery/power/apc/highcap/five_k/directional/south{
- name = "Guest Room APC"
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/cell_5k,
/obj/structure/cable,
/turf/open/floor/carpet/royalblue,
/area/ruin/space/has_grav/hotel/guestroom/room_4)
@@ -4212,9 +4202,8 @@
/area/template_noop)
"VM" = (
/obj/structure/table/reinforced/plastitaniumglass,
-/obj/machinery/power/apc/highcap/five_k/directional/south{
- name = "Staff Room APC"
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/cell_5k,
/obj/structure/cable,
/obj/item/gps/spaceruin{
name = "hotel gps"
@@ -4516,9 +4505,8 @@
"YE" = (
/obj/structure/table/wood/fancy/royalblue,
/obj/item/paper_bin,
-/obj/machinery/power/apc/highcap/five_k/directional/south{
- name = "Guest Room APC"
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/cell_5k,
/obj/structure/cable,
/obj/item/pen,
/turf/open/floor/carpet/orange,
diff --git a/_maps/RandomRuins/SpaceRuins/thelizardsgas.dmm b/_maps/RandomRuins/SpaceRuins/thelizardsgas.dmm
index 1f07cd0f25d..5f09680f185 100644
--- a/_maps/RandomRuins/SpaceRuins/thelizardsgas.dmm
+++ b/_maps/RandomRuins/SpaceRuins/thelizardsgas.dmm
@@ -245,10 +245,10 @@
},
/obj/machinery/power/apc/auto_name/directional/north{
coverlocked = 0;
- locked = 0;
network_id = null;
start_charge = 60
},
+/obj/effect/mapping_helpers/apc/unlocked,
/obj/structure/cable,
/obj/item/paper/fluff/spaceruins/lizardsgas/memorandum,
/obj/effect/spawner/random/contraband/cannabis/lizardsgas,
diff --git a/_maps/RandomRuins/SpaceRuins/travelers_rest.dmm b/_maps/RandomRuins/SpaceRuins/travelers_rest.dmm
index 7a9a4a89234..b08b516d1fd 100644
--- a/_maps/RandomRuins/SpaceRuins/travelers_rest.dmm
+++ b/_maps/RandomRuins/SpaceRuins/travelers_rest.dmm
@@ -100,9 +100,9 @@
/obj/machinery/power/apc/auto_name/directional/east{
environ = 0;
equipment = 0;
- lighting = 0;
- locked = 0
+ lighting = 0
},
+/obj/effect/mapping_helpers/apc/unlocked,
/obj/effect/spawner/random/engineering/toolbox,
/obj/effect/turf_decal/trimline/yellow/filled/line{
dir = 4
diff --git a/_maps/RandomZLevels/moonoutpost19.dmm b/_maps/RandomZLevels/moonoutpost19.dmm
index afa8e78d92e..88fc43ef68a 100644
--- a/_maps/RandomZLevels/moonoutpost19.dmm
+++ b/_maps/RandomZLevels/moonoutpost19.dmm
@@ -848,11 +848,10 @@
},
/area/awaymission/moonoutpost19/syndicate)
"cK" = (
-/obj/machinery/power/apc/highcap/ten_k/directional/south{
- locked = 0;
- name = "Worn Out APC";
- start_charge = 100
- },
+/obj/machinery/power/apc/worn_out,
+/obj/effect/mapping_helpers/apc/full_charge,
+/obj/effect/mapping_helpers/apc/unlocked,
+/obj/effect/mapping_helpers/apc/cell_10k,
/obj/structure/cable,
/obj/effect/turf_decal/tile/red/half/contrasted,
/turf/open/floor/iron{
@@ -2378,11 +2377,10 @@
},
/area/awaymission/moonoutpost19/research)
"gG" = (
-/obj/machinery/power/apc/highcap/ten_k/directional/east{
- locked = 0;
- name = "Worn Out APC";
- start_charge = 100
- },
+/obj/machinery/power/apc/worn_out,
+/obj/effect/mapping_helpers/apc/full_charge,
+/obj/effect/mapping_helpers/apc/unlocked,
+/obj/effect/mapping_helpers/apc/cell_10k,
/obj/structure/cable,
/obj/effect/turf_decal/tile/purple,
/turf/open/floor/iron/white{
@@ -3610,11 +3608,10 @@
},
/area/awaymission/moonoutpost19/arrivals)
"jH" = (
-/obj/machinery/power/apc/highcap/ten_k/directional/north{
- locked = 0;
- name = "Worn Out APC";
- start_charge = 100
- },
+/obj/machinery/power/apc/worn_out,
+/obj/effect/mapping_helpers/apc/full_charge,
+/obj/effect/mapping_helpers/apc/unlocked,
+/obj/effect/mapping_helpers/apc/cell_10k,
/obj/structure/cable,
/turf/open/floor/iron{
heat_capacity = 1e+006
diff --git a/_maps/RandomZLevels/research.dmm b/_maps/RandomZLevels/research.dmm
index 93c2c2c0731..bc6878f0953 100644
--- a/_maps/RandomZLevels/research.dmm
+++ b/_maps/RandomZLevels/research.dmm
@@ -274,7 +274,8 @@
/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 4
},
-/obj/machinery/power/apc/highcap/ten_k/directional/west,
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/effect/mapping_helpers/apc/cell_10k,
/obj/structure/cable,
/turf/open/floor/iron/white,
/area/awaymission/research/interior/engineering)
@@ -471,9 +472,8 @@
/turf/open/floor/iron/dark,
/area/awaymission/research/interior/gateway)
"cb" = (
-/obj/machinery/power/apc/highcap/ten_k/directional/east{
- name = "Gateway APC"
- },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/apc/cell_10k,
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/awaymission/research/interior/gateway)
@@ -1190,9 +1190,8 @@
/turf/open/floor/iron/dark,
/area/awaymission/research/interior/secure)
"fy" = (
-/obj/machinery/power/apc/highcap/ten_k/directional/east{
- name = "Vault APC"
- },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/apc/cell_10k,
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/awaymission/research/interior/secure)
@@ -2175,9 +2174,8 @@
/turf/open/floor/iron/white,
/area/awaymission/research/interior/medbay)
"kp" = (
-/obj/machinery/power/apc/highcap/five_k/directional/east{
- name = "Dorms APC"
- },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/apc/cell_5k,
/obj/structure/cable,
/turf/open/floor/plating,
/area/awaymission/research/interior/maint)
@@ -2430,7 +2428,8 @@
dir = 8
},
/obj/structure/cable,
-/obj/machinery/power/apc/highcap/five_k/directional/west,
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/effect/mapping_helpers/apc/cell_5k,
/turf/open/floor/iron,
/area/awaymission/research/interior/dorm)
"lo" = (
@@ -3405,7 +3404,8 @@
"DC" = (
/obj/effect/turf_decal/tile/purple/fourcorners,
/obj/structure/cable,
-/obj/machinery/power/apc/highcap/five_k/directional/west,
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/effect/mapping_helpers/apc/cell_5k,
/turf/open/floor/iron/dark,
/area/awaymission/research/interior/genetics)
"DO" = (
@@ -3745,7 +3745,8 @@
dir = 1
},
/obj/structure/cable,
-/obj/machinery/power/apc/highcap/five_k/directional/north,
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/cell_5k,
/turf/open/floor/iron/white,
/area/awaymission/research/interior/cryo)
"Or" = (
diff --git a/_maps/RandomZLevels/undergroundoutpost45.dmm b/_maps/RandomZLevels/undergroundoutpost45.dmm
index 1159dc1c33c..8379a5185d3 100644
--- a/_maps/RandomZLevels/undergroundoutpost45.dmm
+++ b/_maps/RandomZLevels/undergroundoutpost45.dmm
@@ -1991,11 +1991,10 @@
c_tag = "Hydroponics";
network = list("uo45")
},
-/obj/machinery/power/apc/highcap/ten_k/directional/south{
- locked = 0;
- name = "UO45 Hydroponics APC";
- start_charge = 100
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/full_charge,
+/obj/effect/mapping_helpers/apc/unlocked,
+/obj/effect/mapping_helpers/apc/cell_10k,
/obj/structure/cable,
/obj/effect/turf_decal/tile/green/half/contrasted,
/turf/open/floor/iron{
@@ -3891,11 +3890,10 @@
},
/area/awaymission/undergroundoutpost45/crew_quarters)
"jV" = (
-/obj/machinery/power/apc/highcap/ten_k/directional/north{
- locked = 0;
- name = "UO45 Bar APC";
- start_charge = 100
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/full_charge,
+/obj/effect/mapping_helpers/apc/unlocked,
+/obj/effect/mapping_helpers/apc/cell_10k,
/obj/structure/cable,
/obj/effect/turf_decal/tile/bar/opposingcorners,
/turf/open/floor/iron{
@@ -4770,10 +4768,9 @@
},
/area/awaymission/undergroundoutpost45/research)
"lH" = (
-/obj/machinery/power/apc/highcap/ten_k/directional/south{
- name = "UO45 Research Division APC";
- start_charge = 100
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/full_charge,
+/obj/effect/mapping_helpers/apc/cell_10k,
/obj/structure/disposalpipe/segment{
dir = 4
},
@@ -5232,11 +5229,10 @@
},
/area/awaymission/undergroundoutpost45/gateway)
"mE" = (
-/obj/machinery/power/apc/highcap/ten_k/directional/south{
- locked = 0;
- name = "UO45 Gateway APC";
- start_charge = 100
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/full_charge,
+/obj/effect/mapping_helpers/apc/unlocked,
+/obj/effect/mapping_helpers/apc/cell_10k,
/obj/structure/rack,
/obj/item/clothing/shoes/magboots,
/obj/effect/turf_decal/stripes/line{
@@ -7508,10 +7504,9 @@
/turf/closed/wall/r_wall,
/area/awaymission/undergroundoutpost45/engineering)
"rp" = (
-/obj/machinery/power/apc/highcap/ten_k/directional/west{
- name = "UO45 Engineering APC";
- start_charge = 100
- },
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/effect/mapping_helpers/apc/full_charge,
+/obj/effect/mapping_helpers/apc/cell_10k,
/obj/machinery/atmospherics/components/unary/vent_pump/on{
dir = 8
},
@@ -8016,11 +8011,10 @@
},
/area/awaymission/undergroundoutpost45/mining)
"sj" = (
-/obj/machinery/power/apc/highcap/ten_k/directional/south{
- locked = 0;
- name = "UO45 Mining APC";
- start_charge = 100
- },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/full_charge,
+/obj/effect/mapping_helpers/apc/unlocked,
+/obj/effect/mapping_helpers/apc/cell_10k,
/obj/machinery/light/small/directional/south,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden{
dir = 4
diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm
index e97f0347cbb..76a74aab332 100644
--- a/_maps/map_files/Deltastation/DeltaStation2.dmm
+++ b/_maps/map_files/Deltastation/DeltaStation2.dmm
@@ -86628,7 +86628,8 @@
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/light/directional/north,
-/obj/machinery/power/apc/sm_apc/directional/north,
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/cell_10k,
/turf/open/floor/plating,
/area/station/engineering/supermatter/room)
"vFm" = (
diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm
index 84117c48e7e..cfa022f61d7 100644
--- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm
+++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm
@@ -25588,7 +25588,8 @@
"ijn" = (
/obj/structure/cable,
/obj/item/reagent_containers/cup/glass/bottle/hooch,
-/obj/machinery/power/apc/highcap/five_k/directional/north,
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/cell_5k,
/turf/open/floor/plating,
/area/mine/storage)
"ijp" = (
@@ -34926,7 +34927,8 @@
/area/station/hallway/primary/starboard)
"lfp" = (
/obj/structure/cable,
-/obj/machinery/power/apc/sm_apc/directional/south,
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/cell_10k,
/turf/open/floor/plating,
/area/station/engineering/supermatter/room)
"lfs" = (
diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm
index 4e6f16c4f1e..4ead7e4f190 100644
--- a/_maps/map_files/KiloStation/KiloStation.dmm
+++ b/_maps/map_files/KiloStation/KiloStation.dmm
@@ -19747,7 +19747,8 @@
/obj/machinery/light/directional/east,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
-/obj/machinery/power/apc/sm_apc/directional/south,
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/cell_10k,
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/engineering/supermatter/room)
@@ -60257,7 +60258,8 @@
pixel_y = 6
},
/obj/item/food/grown/poppy/lily,
-/obj/machinery/power/apc/highcap/five_k/directional/north,
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/cell_5k,
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/service/chapel/monastery)
diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm
index 364310804b9..422be050b44 100644
--- a/_maps/map_files/MetaStation/MetaStation.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.dmm
@@ -28795,7 +28795,8 @@
/area/station/maintenance/starboard/fore)
"kxw" = (
/obj/structure/cable,
-/obj/machinery/power/apc/sm_apc/directional/east,
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/apc/cell_10k,
/turf/open/floor/plating,
/area/station/engineering/supermatter/room)
"kxz" = (
diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm
index d7773ca23fa..d454829cc29 100644
--- a/_maps/map_files/tramstation/tramstation.dmm
+++ b/_maps/map_files/tramstation/tramstation.dmm
@@ -67450,7 +67450,8 @@
/obj/effect/turf_decal/stripes/line{
dir = 1
},
-/obj/machinery/power/apc/sm_apc/directional/north,
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/cell_10k,
/obj/structure/cable,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
diff --git a/_maps/shuttles/infiltrator_advanced.dmm b/_maps/shuttles/infiltrator_advanced.dmm
index 4efe992d433..1a2e99fea5c 100644
--- a/_maps/shuttles/infiltrator_advanced.dmm
+++ b/_maps/shuttles/infiltrator_advanced.dmm
@@ -185,12 +185,11 @@
dir = 8
},
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/power/apc/syndicate{
- aidisabled = 1;
- area = "/area/shuttle/syndicate/bridge";
- name = "Infiltrator E.V.A APC";
- pixel_y = -25
+/obj/machinery/power/apc/auto_name/directional/south{
+ area = "/area/shuttle/syndicate/bridge"
},
+/obj/effect/mapping_helpers/apc/cut_AI_wire,
+/obj/effect/mapping_helpers/apc/syndicate_access,
/obj/structure/cable,
/turf/open/floor/mineral/plastitanium/red,
/area/shuttle/syndicate/bridge)
@@ -332,13 +331,11 @@
name = "tactical chair"
},
/obj/effect/turf_decal/bot,
-/obj/machinery/power/apc/syndicate{
- aidisabled = 1;
- area = "/area/shuttle/syndicate/airlock";
- dir = 4;
- name = "Infiltrator Airlock APC";
- pixel_x = 25
+/obj/machinery/power/apc/auto_name/directional/east{
+ area = "/area/shuttle/syndicate/airlock"
},
+/obj/effect/mapping_helpers/apc/cut_AI_wire,
+/obj/effect/mapping_helpers/apc/syndicate_access,
/obj/structure/cable,
/turf/open/floor/mineral/plastitanium,
/area/shuttle/syndicate/airlock)
@@ -403,13 +400,11 @@
pixel_x = -6;
pixel_y = -2
},
-/obj/machinery/power/apc/syndicate{
- aidisabled = 1;
- area = "/area/shuttle/syndicate/hallway";
- dir = 1;
- name = "Infiltrator APC";
- pixel_y = 25
+/obj/machinery/power/apc/auto_name/directional/north{
+ area = "/area/shuttle/syndicate/hallway"
},
+/obj/effect/mapping_helpers/apc/cut_AI_wire,
+/obj/effect/mapping_helpers/apc/syndicate_access,
/obj/machinery/airalarm/syndicate{
dir = 4;
pixel_x = 25
@@ -869,13 +864,11 @@
/obj/machinery/suit_storage_unit/syndicate,
/obj/effect/turf_decal/box,
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/power/apc/syndicate{
- aidisabled = 1;
- area = "/area/shuttle/syndicate/eva";
- dir = 1;
- name = "Infiltrator E.V.A APC";
- pixel_y = 25
+/obj/machinery/power/apc/auto_name/directional/north{
+ area = "/area/shuttle/syndicate/eva"
},
+/obj/effect/mapping_helpers/apc/cut_AI_wire,
+/obj/effect/mapping_helpers/apc/syndicate_access,
/obj/structure/cable,
/turf/open/floor/pod/dark,
/area/shuttle/syndicate/eva)
@@ -1720,13 +1713,11 @@
dir = 4
},
/obj/effect/turf_decal/delivery,
-/obj/machinery/power/apc/syndicate{
- aidisabled = 1;
- area = "/area/shuttle/syndicate/medical";
- dir = 8;
- name = "Infiltrator Medical APC";
- pixel_x = -25
+/obj/machinery/power/apc/auto_name/directional/west{
+ area = "/area/shuttle/syndicate/medical"
},
+/obj/effect/mapping_helpers/apc/cut_AI_wire,
+/obj/effect/mapping_helpers/apc/syndicate_access,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
/turf/open/floor/pod/dark,
@@ -1782,13 +1773,11 @@
/obj/item/flashlight/seclite,
/obj/item/flashlight/seclite,
/obj/item/extinguisher/mini,
-/obj/machinery/power/apc/syndicate{
- aidisabled = 1;
- area = "/area/shuttle/syndicate/armory";
- dir = 4;
- name = "Infiltrator Armory APC";
- pixel_x = 25
+/obj/machinery/power/apc/auto_name/directional/east{
+ area = "/area/shuttle/syndicate/armory"
},
+/obj/effect/mapping_helpers/apc/cut_AI_wire,
+/obj/effect/mapping_helpers/apc/syndicate_access,
/obj/structure/cable,
/turf/open/floor/pod/dark,
/area/shuttle/syndicate/armory)
diff --git a/_maps/shuttles/ruin_cyborg_mothership.dmm b/_maps/shuttles/ruin_cyborg_mothership.dmm
index 7b49ff360a1..0b3bc064bd5 100644
--- a/_maps/shuttles/ruin_cyborg_mothership.dmm
+++ b/_maps/shuttles/ruin_cyborg_mothership.dmm
@@ -193,9 +193,9 @@
/obj/machinery/power/apc/auto_name/directional/south{
environ = 0;
equipment = 0;
- locked = 0;
lighting = 0
},
+/obj/effect/mapping_helpers/apc/unlocked,
/turf/open/floor/circuit/airless,
/area/shuttle/ruin/cyborg_mothership)
"mc" = (
diff --git a/_maps/shuttles/ruin_syndicate_dropship.dmm b/_maps/shuttles/ruin_syndicate_dropship.dmm
index ea8862e512d..f2378b9c468 100644
--- a/_maps/shuttles/ruin_syndicate_dropship.dmm
+++ b/_maps/shuttles/ruin_syndicate_dropship.dmm
@@ -319,11 +319,8 @@
"Jm" = (
/obj/structure/chair/comfy/shuttle,
/obj/machinery/light/small/directional/west,
-/obj/machinery/power/apc/syndicate{
- dir = 8;
- name = "Syndicate Drop Ship APC";
- pixel_x = -25
- },
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/effect/mapping_helpers/apc/syndicate_access,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
/turf/open/floor/pod/dark,
diff --git a/_maps/shuttles/ruin_syndicate_fighter_shiv.dmm b/_maps/shuttles/ruin_syndicate_fighter_shiv.dmm
index cab4b074cc0..8db823566c2 100644
--- a/_maps/shuttles/ruin_syndicate_fighter_shiv.dmm
+++ b/_maps/shuttles/ruin_syndicate_fighter_shiv.dmm
@@ -90,10 +90,9 @@
/turf/open/floor/plating,
/area/shuttle/ruin/caravan/syndicate1)
"YY" = (
-/obj/machinery/power/apc/highcap/ten_k/directional/west{
- name = "Syndicate Fighter Power Controller";
- req_access = list("syndicate")
- },
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/effect/mapping_helpers/apc/syndicate_access,
+/obj/effect/mapping_helpers/apc/cell_10k,
/obj/machinery/computer/security{
dir = 1;
network = list("caravansyndicate1")
diff --git a/_maps/templates/battlecruiser_starfury.dmm b/_maps/templates/battlecruiser_starfury.dmm
index e5cf632dced..0dfdd46b5dd 100644
--- a/_maps/templates/battlecruiser_starfury.dmm
+++ b/_maps/templates/battlecruiser_starfury.dmm
@@ -2987,12 +2987,9 @@
/turf/open/floor/mineral/plastitanium,
/area/shuttle/sbc_starfury)
"jf" = (
-/obj/machinery/power/apc/syndicate{
- cell_type = /obj/item/stock_parts/cell/high;
- dir = 1;
- name = "Syndicate Battlecruiser APC";
- pixel_y = 25
- },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/cell_10k,
+/obj/effect/mapping_helpers/apc/syndicate_access,
/obj/structure/cable,
/turf/open/floor/catwalk_floor/iron_dark,
/area/shuttle/sbc_starfury)
diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm
index 5b86a3ee433..a5ed899e17f 100644
--- a/code/__DEFINES/layers.dm
+++ b/code/__DEFINES/layers.dm
@@ -158,7 +158,7 @@
#define LOW_SIGIL_LAYER 2.52
#define SIGIL_LAYER 2.53
#define HIGH_PIPE_LAYER 2.54
-// Anything aboe this layer is not "on" a turf for the purposes of washing
+// Anything above this layer is not "on" a turf for the purposes of washing
// I hate this life of ours
#define FLOOR_CLEAN_LAYER 2.55
diff --git a/code/datums/wires/apc.dm b/code/datums/wires/apc.dm
index 92e3254210f..eebab28613a 100644
--- a/code/datums/wires/apc.dm
+++ b/code/datums/wires/apc.dm
@@ -40,9 +40,9 @@
A.aidisabled = TRUE
addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/power/apc, reset), wire), 1 SECONDS)
-/datum/wires/apc/on_cut(index, mend)
+/datum/wires/apc/on_cut(wire, mend)
var/obj/machinery/power/apc/A = holder
- switch(index)
+ switch(wire)
if(WIRE_POWER1, WIRE_POWER2) // Short out.
if(mend && !is_cut(WIRE_POWER1) && !is_cut(WIRE_POWER2))
A.shorted = FALSE
diff --git a/code/modules/mapping/mapping_helpers.dm b/code/modules/mapping/mapping_helpers.dm
index 9e676c386bb..4ef5b4cfe0d 100644
--- a/code/modules/mapping/mapping_helpers.dm
+++ b/code/modules/mapping/mapping_helpers.dm
@@ -245,6 +245,142 @@
else
airlock.autoname = TRUE
+//apc helpers
+/obj/effect/mapping_helpers/apc
+ desc = "You shouldn't see this. Report it please."
+ layer = DOOR_HELPER_LAYER
+ late = TRUE
+
+/obj/effect/mapping_helpers/apc/Initialize(mapload)
+ . = ..()
+ if(!mapload)
+ log_mapping("[src] spawned outside of mapload!")
+ return INITIALIZE_HINT_QDEL
+
+ var/obj/machinery/power/apc/target = locate(/obj/machinery/power/apc) in loc
+ if(isnull(target))
+ var/area/target_area = get_area(target)
+ log_mapping("[src] failed to find an apc at [AREACOORD(src)] ([target_area.type]).")
+ else
+ payload(target)
+
+ return INITIALIZE_HINT_LATELOAD
+
+/obj/effect/mapping_helpers/apc/LateInitialize()
+ . = ..()
+ var/obj/machinery/power/apc/target = locate(/obj/machinery/power/apc) in loc
+
+ if(isnull(target))
+ qdel(src)
+ return
+ if(target.cut_AI_wire)
+ target.wires.cut(WIRE_AI)
+ if(target.cell_5k)
+ target.install_cell_5k()
+ if(target.cell_10k)
+ target.install_cell_10k()
+ if(target.unlocked)
+ target.unlock()
+ if(target.syndicate_access)
+ target.give_syndicate_access()
+ if(target.away_general_access)
+ target.give_away_general_access()
+ if(target.no_charge)
+ target.set_no_charge()
+ if(target.full_charge)
+ target.set_full_charge()
+ if(target.cell_5k && target.cell_10k)
+ CRASH("Tried to combine non-combinable cell_5k and cell_10k APC helpers!")
+ if(target.syndicate_access && target.away_general_access)
+ CRASH("Tried to combine non-combinable syndicate_access and away_general_access APC helpers!")
+ if(target.no_charge && target.full_charge)
+ CRASH("Tried to combine non-combinable no_charge and full_charge APC helpers!")
+ target.update_appearance()
+ qdel(src)
+
+/obj/effect/mapping_helpers/apc/proc/payload(obj/machinery/power/apc/target)
+ return
+
+/obj/effect/mapping_helpers/apc/cut_AI_wire
+ name = "apc AI wire mended helper"
+ icon_state = "apc_cut_AIwire_helper"
+
+/obj/effect/mapping_helpers/apc/cut_AI_wire/payload(obj/machinery/power/apc/target)
+ if(target.cut_AI_wire)
+ var/area/apc_area = get_area(target)
+ log_mapping("[src] at [AREACOORD(src)] [(apc_area.type)] tried to mend the AI wire on the [target] but it's already cut!")
+ target.cut_AI_wire = TRUE
+
+/obj/effect/mapping_helpers/apc/cell_5k
+ name = "apc 5k cell helper"
+ icon_state = "apc_5k_cell_helper"
+
+/obj/effect/mapping_helpers/apc/cell_5k/payload(obj/machinery/power/apc/target)
+ if(target.cell_5k)
+ var/area/apc_area = get_area(target)
+ log_mapping("[src] at [AREACOORD(src)] [(apc_area.type)] tried to change [target]'s cell to cell_5k but it's already changed!")
+ target.cell_5k = TRUE
+
+/obj/effect/mapping_helpers/apc/cell_10k
+ name = "apc 10k cell helper"
+ icon_state = "apc_10k_cell_helper"
+
+/obj/effect/mapping_helpers/apc/cell_10k/payload(obj/machinery/power/apc/target)
+ if(target.cell_10k)
+ var/area/apc_area = get_area(target)
+ log_mapping("[src] at [AREACOORD(src)] [(apc_area.type)] tried to change [target]'s cell to cell_10k but it's already changed!")
+ target.cell_10k = TRUE
+
+/obj/effect/mapping_helpers/apc/syndicate_access
+ name = "apc syndicate access helper"
+ icon_state = "apc_syndicate_access_helper"
+
+/obj/effect/mapping_helpers/apc/syndicate_access/payload(obj/machinery/power/apc/target)
+ if(target.syndicate_access)
+ var/area/apc_area = get_area(target)
+ log_mapping("[src] at [AREACOORD(src)] [(apc_area.type)] tried to adjust [target]'s access to syndicate but it's already changed!")
+ target.syndicate_access = TRUE
+
+/obj/effect/mapping_helpers/apc/away_general_access
+ name = "apc away access helper"
+ icon_state = "apc_away_general_access_helper"
+
+/obj/effect/mapping_helpers/apc/away_general_access/payload(obj/machinery/power/apc/target)
+ if(target.away_general_access)
+ var/area/apc_area = get_area(target)
+ log_mapping("[src] at [AREACOORD(src)] [(apc_area.type)] tried to adjust [target]'s access to away_general but it's already changed!")
+ target.away_general_access = TRUE
+
+/obj/effect/mapping_helpers/apc/unlocked
+ name = "apc unlocked interface helper"
+ icon_state = "apc_unlocked_interface_helper"
+
+/obj/effect/mapping_helpers/apc/unlocked/payload(obj/machinery/power/apc/target)
+ if(target.unlocked)
+ var/area/apc_area = get_area(target)
+ log_mapping("[src] at [AREACOORD(src)] [(apc_area.type)] tried to unlock the [target] but it's already unlocked!")
+ target.unlocked = TRUE
+
+/obj/effect/mapping_helpers/apc/no_charge
+ name = "apc no charge helper"
+ icon_state = "apc_no_charge_helper"
+
+/obj/effect/mapping_helpers/apc/no_charge/payload(obj/machinery/power/apc/target)
+ if(target.no_charge)
+ var/area/apc_area = get_area(target)
+ log_mapping("[src] at [AREACOORD(src)] [(apc_area.type)] tried to set [target]'s charge to 0 but it's already at 0!")
+ target.no_charge = TRUE
+
+/obj/effect/mapping_helpers/apc/full_charge
+ name = "apc full charge helper"
+ icon_state = "apc_full_charge_helper"
+
+/obj/effect/mapping_helpers/apc/full_charge/payload(obj/machinery/power/apc/target)
+ if(target.full_charge)
+ var/area/apc_area = get_area(target)
+ log_mapping("[src] at [AREACOORD(src)] [(apc_area.type)] tried to set [target]'s charge to 100 but it's already at 100!")
+ target.full_charge = TRUE
+
//needs to do its thing before spawn_rivers() is called
INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava)
diff --git a/code/modules/power/apc/apc_main.dm b/code/modules/power/apc/apc_main.dm
index 89f451beb2b..2699bb052f7 100644
--- a/code/modules/power/apc/apc_main.dm
+++ b/code/modules/power/apc/apc_main.dm
@@ -109,6 +109,22 @@
var/datum/alarm_handler/alarm_manager
/// Offsets the object by APC_PIXEL_OFFSET (defined in apc_defines.dm) pixels in the direction we want it placed in. This allows the APC to be embedded in a wall, yet still inside an area (like mapping).
var/offset_old
+ /// Used for apc helper called cut_AI_wire to make apc's wore responsible for ai connectione mended.
+ var/cut_AI_wire = FALSE
+ /// Used for apc helper called unlocked to make apc unlocked.
+ var/unlocked = FALSE
+ /// Used for apc helper called syndicate_access to make apc's required access syndicate_access.
+ var/syndicate_access = FALSE
+ /// Used for apc helper called away_general_access to make apc's required access away_general_access.
+ var/away_general_access = FALSE
+ /// Used for apc helper called cell_5k to install 5k cell into apc.
+ var/cell_5k = FALSE
+ /// Used for apc helper called cell_10k to install 10k cell into apc.
+ var/cell_10k = FALSE
+ /// Used for apc helper called no_charge to make apc's charge at 0% meter.
+ var/no_charge = FALSE
+ /// Used for apc helper called full_charge to make apc's charge at 100% meter.
+ var/full_charge = FALSE
armor_type = /datum/armor/power_apc
/datum/armor/power_apc
@@ -655,6 +671,36 @@
update_appearance(UPDATE_ICON)
update()
+///Used for cell_5k apc helper, which installs 5k cell into apc.
+/obj/machinery/power/apc/proc/install_cell_5k()
+ cell_type = /obj/item/stock_parts/cell/upgraded/plus
+ cell = new cell_type(src)
+
+/// Used for cell_10k apc helper, which installs 10k cell into apc.
+/obj/machinery/power/apc/proc/install_cell_10k()
+ cell_type = /obj/item/stock_parts/cell/high
+ cell = new cell_type(src)
+
+/// Used for unlocked apc helper, which unlocks the apc.
+/obj/machinery/power/apc/proc/unlock()
+ locked = FALSE
+
+/// Used for syndicate_access apc helper, which sets apc's required access to syndicate_access.
+/obj/machinery/power/apc/proc/give_syndicate_access()
+ req_access = list(ACCESS_SYNDICATE)
+
+///Used for away_general_access apc helper, which set apc's required access to away_general_access.
+/obj/machinery/power/apc/proc/give_away_general_access()
+ req_access = list(ACCESS_AWAY_GENERAL)
+
+/// Used for no_charge apc helper, which sets apc charge to 0%.
+/obj/machinery/power/apc/proc/set_no_charge()
+ cell.charge = 0
+
+/// Used for full_charge apc helper, which sets apc charge to 100%.
+/obj/machinery/power/apc/proc/set_full_charge()
+ cell.charge = 100
+
/*Power module, used for APC construction*/
/obj/item/electronics/apc
name = "power control module"
diff --git a/code/modules/power/apc/apc_mapping.dm b/code/modules/power/apc/apc_mapping.dm
index ead66d3813f..1463c20d600 100644
--- a/code/modules/power/apc/apc_mapping.dm
+++ b/code/modules/power/apc/apc_mapping.dm
@@ -1,26 +1,9 @@
-/obj/machinery/power/apc/unlocked
- locked = FALSE
-
-/obj/machinery/power/apc/syndicate //general syndicate access
- req_access = list(ACCESS_SYNDICATE)
-
-/obj/machinery/power/apc/away //general away mission access
- req_access = list(ACCESS_AWAY_GENERAL)
-
-/obj/machinery/power/apc/highcap/five_k
- cell_type = /obj/item/stock_parts/cell/upgraded/plus
-
-/obj/machinery/power/apc/highcap/ten_k
- cell_type = /obj/item/stock_parts/cell/high
+///Used to change name for apcs on away missions
+/obj/machinery/power/apc/worn_out
+ name = "Worn out APC"
/obj/machinery/power/apc/auto_name
auto_name = TRUE
-/obj/machinery/power/apc/sm_apc
- auto_name = TRUE
- cell_type = /obj/item/stock_parts/cell/high
-
+MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/worn_out, APC_PIXEL_OFFSET)
MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, APC_PIXEL_OFFSET)
-MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/highcap/five_k, APC_PIXEL_OFFSET)
-MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/highcap/ten_k, APC_PIXEL_OFFSET)
-MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/sm_apc, APC_PIXEL_OFFSET)
diff --git a/icons/effects/mapping_helpers.dmi b/icons/effects/mapping_helpers.dmi
index 5666ae2a828..1e7fcef6f6a 100644
Binary files a/icons/effects/mapping_helpers.dmi and b/icons/effects/mapping_helpers.dmi differ
diff --git a/tools/UpdatePaths/Scripts/74651_apc_to_apc_helpers.txt b/tools/UpdatePaths/Scripts/74651_apc_to_apc_helpers.txt
new file mode 100644
index 00000000000..34c4c581f52
--- /dev/null
+++ b/tools/UpdatePaths/Scripts/74651_apc_to_apc_helpers.txt
@@ -0,0 +1,38 @@
+#comment Repaths subtypes and some commonly used properties of apc to apc helpers. You really should change it if you have other apc's that this or else it might break everything.
+
+/obj/machinery/power/apc/unlocked : /obj/machinery/power/apc/auto_name{@OLD}, /obj/effect/mapping_helpers/apc/unlocked
+/obj/machinery/power/apc/syndicate : /obj/machinery/power/apc/auto_name{@OLD}, /obj/effect/mapping_helpers/apc/syndicate_access
+/obj/machinery/power/apc/away : /obj/machinery/power/apc/auto_name{@OLD}, /obj/effect/mapping_helpers/apc/away_general_access
+/obj/machinery/power/apc/highcap/five_k : /obj/machinery/power/apc/auto_name{@OLD}, /obj/effect/mapping_helpers/apc/cell_5k
+/obj/machinery/power/apc/highcap/five_k/directional/north : /obj/machinery/power/apc/auto_name/directional/north{@OLD}, /obj/effect/mapping_helpers/apc/cell_5k
+/obj/machinery/power/apc/highcap/five_k/directional/south : /obj/machinery/power/apc/auto_name/directional/south{@OLD}, /obj/effect/mapping_helpers/apc/cell_5k
+/obj/machinery/power/apc/highcap/five_k/directional/east : /obj/machinery/power/apc/auto_name/directional/east{@OLD}, /obj/effect/mapping_helpers/apc/cell_5k
+/obj/machinery/power/apc/highcap/five_k/directional/west : /obj/machinery/power/apc/auto_name/directional/west{@OLD}, /obj/effect/mapping_helpers/apc/cell_5k
+/obj/machinery/power/apc/highcap/ten_k : /obj/machinery/power/apc/auto_name{@OLD}, /obj/effect/mapping_helpers/apc/cell_10k
+/obj/machinery/power/apc/highcap/ten_k/directional/north : /obj/machinery/power/apc/auto_name/directional/north{@OLD}, /obj/effect/mapping_helpers/apc/cell_10k
+/obj/machinery/power/apc/highcap/ten_k/directional/south : /obj/machinery/power/apc/auto_name/directional/south{@OLD}, /obj/effect/mapping_helpers/apc/cell_10k
+/obj/machinery/power/apc/highcap/ten_k/directional/east : /obj/machinery/power/apc/auto_name/directional/east{@OLD}, /obj/effect/mapping_helpers/apc/cell_10k
+/obj/machinery/power/apc/highcap/ten_k/directional/west : /obj/machinery/power/apc/auto_name/directional/west{@OLD}, /obj/effect/mapping_helpers/apc/cell_10k
+/obj/machinery/power/apc/sm_apc : /obj/machinery/power/apc/auto_name{@OLD}, /obj/effect/mapping_helpers/apc/cell_10k
+/obj/machinery/power/apc/sm_apc/directional/north : /obj/machinery/power/apc/auto_name/directional/north{@OLD}, /obj/effect/mapping_helpers/apc/cell_10k
+/obj/machinery/power/apc/sm_apc/directional/south : /obj/machinery/power/apc/auto_name/directional/south{@OLD}, /obj/effect/mapping_helpers/apc/cell_10k
+/obj/machinery/power/apc/sm_apc/directional/east : /obj/machinery/power/apc/auto_name/directional/east{@OLD}, /obj/effect/mapping_helpers/apc/cell_10k
+/obj/machinery/power/apc/sm_apc/directional/west : /obj/machinery/power/apc/auto_name/directional/west{@OLD}, /obj/effect/mapping_helpers/apc/cell_10k
+/obj/machinery/power/apc/@SUBTYPES{pixel_y = 25} : /obj/machinery/power/apc/auto_name/directional/north{@OLD;pixel_y=@SKIP;dir=@SKIP}
+/obj/machinery/power/apc/@SUBTYPES{pixel_y = -25} : /obj/machinery/power/apc/auto_name/directional/south{@OLD;pixel_y=@SKIP;dir=@SKIP}
+/obj/machinery/power/apc/@SUBTYPES{pixel_x = 25} : /obj/machinery/power/apc/auto_name/directional/east{@OLD;pixel_x=@SKIP;dir=@SKIP}
+/obj/machinery/power/apc/@SUBTYPES{pixel_x = -25} : /obj/machinery/power/apc/auto_name/directional/west{@OLD;pixel_x=@SKIP;dir=@SKIP}
+/obj/machinery/power/apc/@SUBTYPES{name = "Worn Out APC"} : /obj/machinery/power/apc/worn_out{@OLD;name=@SKIP}
+/obj/machinery/power/apc/auto_name/directional/north : /obj/machinery/power/apc/auto_name/directional/north{@OLD;name=@SKIP}
+/obj/machinery/power/apc/auto_name/directional/south : /obj/machinery/power/apc/auto_name/directional/south{@OLD;name=@SKIP}
+/obj/machinery/power/apc/auto_name/directional/east : /obj/machinery/power/apc/auto_name/directional/east{@OLD;name=@SKIP}
+/obj/machinery/power/apc/auto_name/directional/west : /obj/machinery/power/apc/auto_name/directional/west{@OLD;name=@SKIP}
+/obj/machinery/power/apc/@SUBTYPES{aidisabled = 1} : @OLD{@OLD;aidisabled=@SKIP}, /obj/effect/mapping_helpers/apc/cut_AI_wire
+/obj/machinery/power/apc/@SUBTYPES{locked = 0} : @OLD{@OLD;locked=@SKIP}, /obj/effect/mapping_helpers/apc/unlocked
+/obj/machinery/power/apc/@SUBTYPES{req_access = list(ACCESS_AWAY_GENERAL)} : @OLD{@OLD;req_access=@SKIP}, /obj/effect/mapping_helpers/apc/away_general_access
+/obj/machinery/power/apc/@SUBTYPES{req_access = list(ACCESS_SYNDICATE)} : @OLD{@OLD;req_access=@SKIP}, /obj/effect/mapping_helpers/apc/syndicate_access
+/obj/machinery/power/apc/@SUBTYPES{req_access = list("syndicate")} : @OLD{@OLD;req_access=@SKIP}, /obj/effect/mapping_helpers/apc/syndicate_access
+/obj/machinery/power/apc/@SUBTYPES{cell_type = /obj/item/stock_parts/cell/upgraded/plus} : @OLD{@OLD;cell_type=@SKIP}, /obj/effect/mapping_helpers/apc/cell_5k
+/obj/machinery/power/apc/@SUBTYPES{cell_type = /obj/item/stock_parts/cell/high} : @OLD{@OLD;cell_type=@SKIP}, /obj/effect/mapping_helpers/apc/cell_10k
+/obj/machinery/power/apc/@SUBTYPES{start_charge = 100} : @OLD{@OLD;start_charge=@SKIP}, /obj/effect/mapping_helpers/apc/full_charge
+/obj/machinery/power/apc/@SUBTYPES{start_charge = 0} : @OLD{@OLD;start_charge=@SKIP}, /obj/effect/mapping_helpers/apc/no_charge
\ No newline at end of file