From 28e952806c553fbcdc2fe21cb0e5fc3fe97add7b Mon Sep 17 00:00:00 2001 From: Atermonera Date: Thu, 4 Jun 2020 19:37:53 -0700 Subject: [PATCH] Adds proc to replace default cells with high cap on machinery (#7241) * Adds proc to replace default cells with high cap on machinery * *grumbling* --- code/game/machinery/machinery.dm | 8 ++++++++ code/game/machinery/rechargestation.dm | 3 ++- code/modules/mining/drilling/drill.dm | 5 +++-- 3 files changed, 13 insertions(+), 3 deletions(-) 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