diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index 2611a418ee..cf582cfb99 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -305,6 +305,14 @@ Class Procs: CB.apply_default_parts(src) RefreshParts() +/obj/machinery/proc/default_use_hicell() + var/obj/item/weapon/cell/C = locate(/obj/item/weapon/cell) in component_parts + if(C) + component_parts -= C + qdel(C) + C = new /obj/item/weapon/cell/high(src) + component_parts += C + /obj/machinery/proc/default_part_replacement(var/mob/user, var/obj/item/weapon/storage/part_replacer/R) if(!istype(R)) return 0 diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index c683a56c0e..59d788b524 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -24,7 +24,8 @@ /obj/machinery/recharge_station/Initialize() . = ..() - default_apply_parts() + default_apply_parts() + default_use_hicell() update_icon() /obj/machinery/recharge_station/proc/has_cell_power() diff --git a/code/modules/mining/drilling/drill.dm b/code/modules/mining/drilling/drill.dm index 415a4b2041..ca04d74650 100644 --- a/code/modules/mining/drilling/drill.dm +++ b/code/modules/mining/drilling/drill.dm @@ -57,6 +57,7 @@ if(ispath(cell)) cell = new cell(src) default_apply_parts() + default_use_hicell() /obj/machinery/mining/drill/loaded cell = /obj/item/weapon/cell/high @@ -174,7 +175,7 @@ to_chat(user, "The drill already has a cell installed.") else user.drop_item() - O.loc = src + O.forceMove(src) cell = O component_parts += O to_chat(user, "You install \the [O].") @@ -186,7 +187,7 @@ if (panel_open && cell && user.Adjacent(src)) to_chat(user, "You take out \the [cell].") - cell.loc = get_turf(user) + cell.forceMove(get_turf(user)) component_parts -= cell cell = null return