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)