From 0b8067e8107beb27296e82636e85a2dd68e383e2 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 13 Jul 2019 00:38:27 -0400 Subject: [PATCH 1/5] Gave Cyborgs with 0 battery left the ability to succumb --- code/modules/mob/living/living.dm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index f9dba949b4b..62fb5bc865d 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -244,7 +244,7 @@ /mob/living/verb/succumb() set hidden = 1 - if(InCritical()) + if(InCritical() || LowBattery()) create_attack_log("[src] has ["succumbed to death"] with [round(health, 0.1)] points of health!") adjustOxyLoss(health - HEALTH_THRESHOLD_DEAD) // super check for weird mobs, including ones that adjust hp @@ -258,6 +258,11 @@ /mob/living/proc/InCritical() return (health < HEALTH_THRESHOLD_CRIT && health > HEALTH_THRESHOLD_DEAD && stat == UNCONSCIOUS) + +/mob/living/proc/LowBattery() + if (isrobot(usr)) + var/mob/living/silicon/robot/R = usr + return (R.low_power_mode) /mob/living/ex_act(severity) ..() From a0daf960940dbefcf69a5f55889b357f33db1d87 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 13 Jul 2019 01:04:04 -0400 Subject: [PATCH 2/5] removed the space between the if and isrobot --- code/modules/mob/living/living.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 62fb5bc865d..9edc45b3018 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -260,7 +260,7 @@ return (health < HEALTH_THRESHOLD_CRIT && health > HEALTH_THRESHOLD_DEAD && stat == UNCONSCIOUS) /mob/living/proc/LowBattery() - if (isrobot(usr)) + if(isrobot(usr)) var/mob/living/silicon/robot/R = usr return (R.low_power_mode) From c4b3fa43f633ed0d98ab6e72495d9cbde17e43fe Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 13 Jul 2019 12:59:05 -0400 Subject: [PATCH 3/5] moved /proc/LowBattery() to mob/living/silicon --- code/modules/mob/living/living.dm | 4 ---- code/modules/mob/living/silicon/silicon.dm | 7 ++++++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 9edc45b3018..54f4938f5c0 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -259,10 +259,6 @@ /mob/living/proc/InCritical() return (health < HEALTH_THRESHOLD_CRIT && health > HEALTH_THRESHOLD_DEAD && stat == UNCONSCIOUS) -/mob/living/proc/LowBattery() - if(isrobot(usr)) - var/mob/living/silicon/robot/R = usr - return (R.low_power_mode) /mob/living/ex_act(severity) ..() diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 2cb9ddf6252..787e28c1ff8 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -337,4 +337,9 @@ /////////////////////////////////// EAR DAMAGE //////////////////////////////////// /mob/living/silicon/can_hear() - . = TRUE \ No newline at end of file + . = TRUE + +/mob/living/proc/LowBattery() + if(isrobot(usr)) + var/mob/living/silicon/robot/R = usr + return (R.low_power_mode) \ No newline at end of file From 3a0f6d99379a125ec4eb00e3d5e9225b782df857 Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 14 Jul 2019 09:55:41 -0400 Subject: [PATCH 4/5] refactored succumb verb to work on a 'CanSuccumb' proc --- code/modules/mob/living/living.dm | 5 ++++- code/modules/mob/living/silicon/robot/robot.dm | 2 ++ code/modules/mob/living/silicon/silicon.dm | 4 ---- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 54f4938f5c0..9875e254a6a 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -244,7 +244,7 @@ /mob/living/verb/succumb() set hidden = 1 - if(InCritical() || LowBattery()) + if(CanSuccumb()) create_attack_log("[src] has ["succumbed to death"] with [round(health, 0.1)] points of health!") adjustOxyLoss(health - HEALTH_THRESHOLD_DEAD) // super check for weird mobs, including ones that adjust hp @@ -256,6 +256,9 @@ death() to_chat(src, "You have given up life and succumbed to death.") +/mob/living/proc/CanSuccumb() + return InCritical() + /mob/living/proc/InCritical() return (health < HEALTH_THRESHOLD_CRIT && health > HEALTH_THRESHOLD_DEAD && stat == UNCONSCIOUS) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 0c6ddf80fc6..621824dac98 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -576,6 +576,8 @@ var/list/robot_verbs_default = list( /mob/living/silicon/robot/restrained() return 0 +/mob/living/silicon/robot/CanSuccumb() + return low_power_mode /mob/living/silicon/robot/ex_act(severity) switch(severity) diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 787e28c1ff8..bac58d8f124 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -339,7 +339,3 @@ /mob/living/silicon/can_hear() . = TRUE -/mob/living/proc/LowBattery() - if(isrobot(usr)) - var/mob/living/silicon/robot/R = usr - return (R.low_power_mode) \ No newline at end of file From 1e12cae6a574e7e2defb364b013a3cb841b8d1b6 Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 11 Aug 2019 23:45:49 -0400 Subject: [PATCH 5/5] Per Couls advice, removed the CanSuccumb verb and now borgs are considered InCritical when in low power mode --- code/modules/mob/living/living.dm | 4 +--- code/modules/mob/living/silicon/robot/robot.dm | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 9875e254a6a..57c67f5fd61 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -244,7 +244,7 @@ /mob/living/verb/succumb() set hidden = 1 - if(CanSuccumb()) + if(InCritical()) create_attack_log("[src] has ["succumbed to death"] with [round(health, 0.1)] points of health!") adjustOxyLoss(health - HEALTH_THRESHOLD_DEAD) // super check for weird mobs, including ones that adjust hp @@ -256,8 +256,6 @@ death() to_chat(src, "You have given up life and succumbed to death.") -/mob/living/proc/CanSuccumb() - return InCritical() /mob/living/proc/InCritical() return (health < HEALTH_THRESHOLD_CRIT && health > HEALTH_THRESHOLD_DEAD && stat == UNCONSCIOUS) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 621824dac98..ef35ad58954 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -576,7 +576,7 @@ var/list/robot_verbs_default = list( /mob/living/silicon/robot/restrained() return 0 -/mob/living/silicon/robot/CanSuccumb() +/mob/living/silicon/robot/InCritical() return low_power_mode /mob/living/silicon/robot/ex_act(severity)