From db73bb2579db72dcd3f4c6fe44a03a3de95485ed Mon Sep 17 00:00:00 2001 From: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> Date: Tue, 1 Jul 2025 19:00:56 +0530 Subject: [PATCH] Motorized wheelchairs can be upgraded again (#91823) ## About The Pull Request - Fixes #91822 ## Changelog :cl: fix: motorized wheelchairs can be upgraded again /:cl: --- code/datums/components/crafting/equipment.dm | 2 ++ code/modules/vehicles/motorized_wheelchair.dm | 16 +++++++++------- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/code/datums/components/crafting/equipment.dm b/code/datums/components/crafting/equipment.dm index 227a9000d2d..f06f228de90 100644 --- a/code/datums/components/crafting/equipment.dm +++ b/code/datums/components/crafting/equipment.dm @@ -72,6 +72,8 @@ /obj/item/stock_parts/power_store/cell = 1, ) parts = list( + /obj/item/stock_parts/servo = 2, + /obj/item/stock_parts/capacitor = 1, /obj/item/stock_parts/power_store/cell = 1, ) tool_behaviors = list(TOOL_WELDER, TOOL_SCREWDRIVER, TOOL_WRENCH) diff --git a/code/modules/vehicles/motorized_wheelchair.dm b/code/modules/vehicles/motorized_wheelchair.dm index 7ee3d667237..7d11155bbab 100644 --- a/code/modules/vehicles/motorized_wheelchair.dm +++ b/code/modules/vehicles/motorized_wheelchair.dm @@ -41,12 +41,15 @@ AddElement(/datum/element/ridable, /datum/component/riding/vehicle/wheelchair/motorized) /obj/vehicle/ridden/wheelchair/motorized/on_craft_completion(list/components, datum/crafting_recipe/current_recipe, atom/crafter) - // This wheelchair was crafted, so clean out default parts - qdel(power_cell) - component_parts = list() + . = ..() + // This wheelchair was crafted, so clean out default parts + QDEL_NULL(power_cell) + + component_parts = list() for(var/obj/item/stock_parts/part in contents) - if(istype(part, /obj/item/stock_parts/power_store/cell)) // power cell, physically moves into the wheelchair + // power cell, physically moves into the wheelchair + if(istype(part, /obj/item/stock_parts/power_store/cell)) power_cell = part continue @@ -55,10 +58,9 @@ if(isnull(newstockpart)) CRASH("No corresponding datum/stock_part for [part.type]") component_parts += newstockpart + qdel(part) refresh_parts() - return ..() - /obj/vehicle/ridden/wheelchair/motorized/proc/refresh_parts() speed = 1 // Should never be under 1 for(var/datum/stock_part/servo/servo in component_parts) @@ -163,7 +165,7 @@ return . += "Speed: [speed]" . += "Energy efficiency: [power_efficiency]" - . += "Power: [power_cell.charge] out of [power_cell.maxcharge]" + . += "Power: [display_energy(power_cell.charge)] out of [display_energy(power_cell.maxcharge)]" /obj/vehicle/ridden/wheelchair/motorized/Move(newloc, direct) . = ..()