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)