diff --git a/code/game/machinery/transformer.dm b/code/game/machinery/transformer.dm index 79428fce6fb..fe18365a9c3 100644 --- a/code/game/machinery/transformer.dm +++ b/code/game/machinery/transformer.dm @@ -98,9 +98,7 @@ use_power(5000) // Use a lot of power. var/mob/living/silicon/robot/R = H.Robotize() - - R.cell.maxcharge = robot_cell_charge - R.cell.charge = robot_cell_charge + R.cell = new /obj/item/stock_parts/cell/upgraded/plus(R, robot_cell_charge) // So he can't jump out the gate right away. R.SetLockdown() diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm index 08f6aaa2325..56e3ccc6c31 100644 --- a/code/game/mecha/combat/gygax.dm +++ b/code/game/mecha/combat/gygax.dm @@ -44,9 +44,7 @@ C.forceMove(src) cell = C return - cell = new(src) - cell.charge = 30000 - cell.maxcharge = 30000 + cell = new /obj/item/stock_parts/cell/hyper(src) /obj/mecha/combat/gygax/GrantActions(mob/living/user, human_occupant = 0) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index ba41609fca7..d5ad847afd5 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -231,9 +231,7 @@ C.forceMove(src) cell = C return - cell = new(src) - cell.charge = 15000 - cell.maxcharge = 15000 + cell = new /obj/item/stock_parts/cell/high/plus(src) /obj/mecha/proc/add_cabin() cabin_air = new diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index f9c023e89d0..6090eb79c8f 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -113,9 +113,7 @@ ident = rand(1, 999) if(!cell) - cell = new /obj/item/stock_parts/cell(src) - cell.maxcharge = 7500 - cell.charge = 7500 + cell = new /obj/item/stock_parts/cell/high(src, 7500) if(lawupdate) make_laws() @@ -813,8 +811,7 @@ /mob/living/silicon/robot/modules/syndicate/Initialize() . = ..() - cell.maxcharge = 25000 - cell.charge = 25000 + cell = new /obj/item/stock_parts/cell/hyper(src, 25000) radio = new /obj/item/device/radio/borg/syndicate(src) laws = new /datum/ai_laws/syndicate_override() addtimer(CALLBACK(src, .proc/show_playstyle), 5) diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index e7116db53ec..570481933b9 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -54,9 +54,7 @@ var/datum/job/cargo_tech/J = new/datum/job/cargo_tech access_card.access = J.get_access() prev_access = access_card.access - cell = new(src) - cell.charge = 2000 - cell.maxcharge = 2000 + cell = new /obj/item/stock_parts/cell/upgraded(src, 2000) var/static/mulebot_count = 0 mulebot_count += 1 diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index f763c3ea867..534307f7277 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -378,10 +378,7 @@ var/mob/living/silicon/robot/R = new /mob/living/silicon/robot(loc) // cyborgs produced by Robotize get an automatic power cell - R.cell = new(R) - R.cell.maxcharge = 7500 - R.cell.charge = 7500 - + R.cell = new /obj/item/stock_parts/cell/high(R, 7500) R.gender = gender R.invisibility = 0 diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 595f38df4c2..cd9def4a23a 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -23,9 +23,11 @@ /obj/item/stock_parts/cell/get_cell() return src -/obj/item/stock_parts/cell/Initialize() +/obj/item/stock_parts/cell/Initialize(mapload, override_maxcharge) . = ..() START_PROCESSING(SSobj, src) + if (override_maxcharge) + maxcharge = override_maxcharge charge = maxcharge if(ratingdesc) desc += " This one has a rating of [DisplayEnergy(maxcharge)], and you should not swallow it."