diff --git a/code/modules/modular_computers/computers/item/computer_power.dm b/code/modules/modular_computers/computers/item/computer_power.dm
index d3c65f86ec3..b5188f43d96 100644
--- a/code/modules/modular_computers/computers/item/computer_power.dm
+++ b/code/modules/modular_computers/computers/item/computer_power.dm
@@ -28,8 +28,7 @@
/obj/item/modular_computer/get_cell()
var/obj/item/computer_hardware/battery/battery_module = all_components[MC_CELL]
- if(battery_module && battery_module.battery)
- return battery_module.battery
+ return battery_module?.get_cell()
// Used in following function to reduce copypaste
/obj/item/modular_computer/proc/power_failure()
diff --git a/code/modules/modular_computers/hardware/battery_module.dm b/code/modules/modular_computers/hardware/battery_module.dm
index 091dc03953c..6e3193abfd7 100644
--- a/code/modules/modular_computers/hardware/battery_module.dm
+++ b/code/modules/modular_computers/hardware/battery_module.dm
@@ -7,6 +7,9 @@
var/obj/item/stock_parts/cell/battery = null
device_type = MC_CELL
+/obj/item/computer_hardware/battery/get_cell()
+ return battery
+
/obj/item/computer_hardware/battery/New(loc, battery_type = null)
if(battery_type)
battery = new battery_type(src)
diff --git a/code/modules/reagents/reagent_containers/maunamug.dm b/code/modules/reagents/reagent_containers/maunamug.dm
index 39289d71c07..6e3ad20eb69 100644
--- a/code/modules/reagents/reagent_containers/maunamug.dm
+++ b/code/modules/reagents/reagent_containers/maunamug.dm
@@ -15,6 +15,9 @@
. = ..()
cell = new /obj/item/stock_parts/cell(src)
+/obj/item/reagent_containers/glass/maunamug/get_cell()
+ return cell
+
/obj/item/reagent_containers/glass/maunamug/examine(mob/user)
. = ..()
. += "The status display reads: Current temperature: [reagents.chem_temp]K Current Charge:[cell ? "[cell.charge / cell.maxcharge * 100]%" : "No cell found"]."
diff --git a/code/modules/surgery/bodyparts/robot_bodyparts.dm b/code/modules/surgery/bodyparts/robot_bodyparts.dm
index e05c5ad6aa9..9d50faae898 100644
--- a/code/modules/surgery/bodyparts/robot_bodyparts.dm
+++ b/code/modules/surgery/bodyparts/robot_bodyparts.dm
@@ -117,6 +117,8 @@
var/wired = FALSE
var/obj/item/stock_parts/cell/cell = null
+/obj/item/bodypart/chest/robot/get_cell()
+ return cell
/obj/item/bodypart/chest/robot/handle_atom_del(atom/A)
if(A == cell)
diff --git a/code/modules/vehicles/motorized_wheelchair.dm b/code/modules/vehicles/motorized_wheelchair.dm
index 0113abd0d00..179010e7301 100644
--- a/code/modules/vehicles/motorized_wheelchair.dm
+++ b/code/modules/vehicles/motorized_wheelchair.dm
@@ -6,7 +6,7 @@
var/power_efficiency = 1
var/power_usage = 100
var/panel_open = FALSE
- var/list/required_parts = list(/obj/item/stock_parts/manipulator,
+ var/list/required_parts = list(/obj/item/stock_parts/manipulator,
/obj/item/stock_parts/manipulator,
/obj/item/stock_parts/capacitor)
var/obj/item/stock_parts/cell/power_cell
@@ -24,6 +24,10 @@
var/datum/component/riding/D = GetComponent(/datum/component/riding)
D.vehicle_move_delay = round(CONFIG_GET(number/movedelay/run_delay) * delay_multiplier) / speed
+
+/obj/vehicle/ridden/wheelchair/motorized/get_cell()
+ return power_cell
+
/obj/vehicle/ridden/wheelchair/motorized/obj_destruction(damage_flag)
var/turf/T = get_turf(src)
for(var/atom/movable/A in contents)
@@ -42,7 +46,7 @@
canmove = FALSE
addtimer(VARSET_CALLBACK(src, canmove, TRUE), 20)
return FALSE
- if(power_cell.charge < power_usage / max(power_efficiency, 1))
+ if(power_cell.charge < power_usage / max(power_efficiency, 1))
to_chat(user, "The display on [src] blinks 'Out of Power'.")
canmove = FALSE
addtimer(VARSET_CALLBACK(src, canmove, TRUE), 20)
@@ -74,7 +78,7 @@
to_chat(user, "You remove the power cell from [src].")
return
return ..()
-
+
/obj/vehicle/ridden/wheelchair/motorized/attackby(obj/item/I, mob/user, params)
if(I.tool_behaviour == TOOL_SCREWDRIVER)
I.play_tool_sound(src)