From b300816edc680dcf015b82260a2ac5b4e6d5eaf5 Mon Sep 17 00:00:00 2001 From: nullspace-industries <57872710+nullspace-industries@users.noreply.github.com> Date: Sat, 12 Apr 2025 22:56:30 +0100 Subject: [PATCH 1/6] APC nutrition tweaks --- code/modules/surgery/organs/augments_arms.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index a99b6a926e..646adc8d52 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -378,7 +378,7 @@ 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) + if(H.nutrition > NUTRITION_LEVEL_FAT) //GS13 edit; I considered uncapped but it drains APCs and fattens stupid fast. could be fun uncapped but speed would need tweaking to_chat(H, "You are now fully charged.") break in_use = FALSE @@ -397,7 +397,7 @@ 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) + if(H.nutrition > NUTRITION_LEVEL_FAT) //GS13 edit, as above to_chat(H, "You are now fully charged.") break in_use = FALSE From b3057ba2cfab05c857bd45b798e817cd3942730f Mon Sep 17 00:00:00 2001 From: nullspace-industries <57872710+nullspace-industries@users.noreply.github.com> Date: Sun, 13 Apr 2025 09:51:41 +0100 Subject: [PATCH 2/6] New biphasic system for IPC overcharging --- code/modules/surgery/organs/augments_arms.dm | 34 ++++++++++++++++---- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index 646adc8d52..c4a0117b15 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -360,6 +360,12 @@ /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 + var/overcharge = FALSE + if(H.nutrition >= NUTRITION_LEVEL_WELL_FED) + overcharge = TRUE + while(do_after(H, 10, target = A)) if(loc != H) to_chat(H, "You must keep your connector out while charging!") @@ -378,14 +384,25 @@ A.cell.use(A.cell.charge) to_chat(H, "You siphon off as much as [A] can spare.") break - if(H.nutrition > NUTRITION_LEVEL_FAT) //GS13 edit; I considered uncapped but it drains APCs and fattens stupid fast. could be fun uncapped but speed would need tweaking - to_chat(H, "You are now fully charged.") - break + 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 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 + var/overcharge = FALSE + if(H.nutrition >= NUTRITION_LEVEL_WELL_FED) + overcharge = TRUE + while(do_after(H, 10, target = C)) if(loc != H) to_chat(H, "You must keep your connector out while charging!") @@ -397,8 +414,13 @@ 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_FAT) //GS13 edit, as above - to_chat(H, "You are now fully charged.") - break + 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 in_use = FALSE H.visible_message("[H] disconnects [src] from [C].", "You disconnect from [C].") From ec70a693a51da8d845e40b99feef6e5a1b6bcc9f Mon Sep 17 00:00:00 2001 From: sheepishgoat <100518708+sheepishgoat@users.noreply.github.com> Date: Sun, 13 Apr 2025 14:47:07 -0400 Subject: [PATCH 3/6] Update code/modules/surgery/organs/augments_arms.dm --- code/modules/surgery/organs/augments_arms.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index c4a0117b15..36c348bca2 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -414,13 +414,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) + // GS13 EDIT START if(H.nutrition >= NUTRITION_LEVEL_WELL_FED) - if(!overcharge) //GS13 edit + 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].") From 590ee3294f5714138bf4b24d17fc779702cb3bf8 Mon Sep 17 00:00:00 2001 From: sheepishgoat <100518708+sheepishgoat@users.noreply.github.com> Date: Sun, 13 Apr 2025 14:47:11 -0400 Subject: [PATCH 4/6] Update code/modules/surgery/organs/augments_arms.dm --- code/modules/surgery/organs/augments_arms.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index 36c348bca2..61895f78e5 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -398,10 +398,11 @@ /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 + //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) From 8e87449d404b8d5755b3b035221cd75d12346ba0 Mon Sep 17 00:00:00 2001 From: sheepishgoat <100518708+sheepishgoat@users.noreply.github.com> Date: Sun, 13 Apr 2025 14:47:15 -0400 Subject: [PATCH 5/6] Update code/modules/surgery/organs/augments_arms.dm --- code/modules/surgery/organs/augments_arms.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index 61895f78e5..26e01d36a8 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -384,7 +384,8 @@ 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) + //GS13 EDIT START + if(H.nutrition >= NUTRITION_LEVEL_WELL_FED) if(!overcharge) //GS13 edit to_chat(H, "You are now fully charged.") break @@ -392,6 +393,7 @@ 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].") From 667143c887056ec070ac565cfa186f11b2426e5a Mon Sep 17 00:00:00 2001 From: sheepishgoat <100518708+sheepishgoat@users.noreply.github.com> Date: Sun, 13 Apr 2025 14:47:21 -0400 Subject: [PATCH 6/6] Update code/modules/surgery/organs/augments_arms.dm --- code/modules/surgery/organs/augments_arms.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index 26e01d36a8..f75fb72272 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -361,10 +361,11 @@ /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 + //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)