diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index a99b6a926e..f75fb72272 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -360,6 +360,13 @@ /obj/item/apc_powercord/proc/apc_powerdraw_loop(obj/machinery/power/apc/A, mob/living/carbon/human/H) H.visible_message("[H] inserts a power connector into [A].", "You begin to draw power from [A].") + + //GS13 EDIT START + var/overcharge = FALSE + if(H.nutrition >= NUTRITION_LEVEL_WELL_FED) + overcharge = TRUE + //GS13 EDIT END + while(do_after(H, 10, target = A)) if(loc != H) to_chat(H, "You must keep your connector out while charging!") @@ -378,14 +385,28 @@ A.cell.use(A.cell.charge) to_chat(H, "You siphon off as much as [A] can spare.") break - if(H.nutrition > NUTRITION_LEVEL_WELL_FED) - to_chat(H, "You are now fully charged.") - break + //GS13 EDIT START + if(H.nutrition >= NUTRITION_LEVEL_WELL_FED) + if(!overcharge) //GS13 edit + to_chat(H, "You are now fully charged.") + break + else + if(H.nutrition >= NUTRITION_LEVEL_FAT) + to_chat(H, "You've packed as much extra power into your battery as it can handle.") + break + //GS13 EDIT END in_use = FALSE H.visible_message("[H] unplugs from [A].", "You unplug from [A].") /obj/item/apc_powercord/proc/cell_powerdraw_loop(obj/item/stock_parts/cell/C, mob/living/carbon/human/H) H.visible_message("[H] connects a power cord to [C]", "You begin to draw power from [C].") + + //GS13 EDIT START + var/overcharge = FALSE + if(H.nutrition >= NUTRITION_LEVEL_WELL_FED) + overcharge = TRUE + //GS13 EDIT END + while(do_after(H, 10, target = C)) if(loc != H) to_chat(H, "You must keep your connector out while charging!") @@ -397,8 +418,15 @@ C.use(siphoned_charge) do_sparks(1, FALSE, C) H.adjust_nutrition(siphoned_charge / 100) //Less efficient on a pure power basis than APC recharge. Still a very viable way of gaining nutrition. (100 nutrition / base 10k cell) - if(H.nutrition > NUTRITION_LEVEL_WELL_FED) - to_chat(H, "You are now fully charged.") - break + // GS13 EDIT START + if(H.nutrition >= NUTRITION_LEVEL_WELL_FED) + if(!overcharge) + to_chat(H, "You are now fully charged.") + break + else + if(H.nutrition >= NUTRITION_LEVEL_FAT) + to_chat(H, "You've packed as much extra power into your battery as it can handle.") + break + //GS13 EDIT END in_use = FALSE H.visible_message("[H] disconnects [src] from [C].", "You disconnect from [C].")