From 6e9056017303addaf845217018d7aaf5a2bb64ee Mon Sep 17 00:00:00 2001
From: Ghommie <42542238+Ghommie@users.noreply.github.com>
Date: Sun, 28 Jun 2020 02:40:16 +0200
Subject: [PATCH 1/3] Nerfs natural stamina recovery outside of stam-crit.
---
code/__DEFINES/combat.dm | 7 +++++++
code/modules/mob/living/carbon/carbon.dm | 2 +-
code/modules/mob/living/carbon/life.dm | 2 +-
code/modules/surgery/bodyparts/bodyparts.dm | 8 ++++----
4 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm
index 3cb60b1143..49c3708b13 100644
--- a/code/__DEFINES/combat.dm
+++ b/code/__DEFINES/combat.dm
@@ -274,6 +274,7 @@ GLOBAL_LIST_INIT(shove_disarming_types, typecacheof(list(
#define STAM_COST_NO_COMBAT_MULT 1.25
#define STAM_COST_W_CLASS_MULT 1.25
#define STAM_COST_THROW_MULT 2
+#define STAM_COST_THROW_MOB 8 //multiplied by mob size + 1.
///Multiplier of the (STAMINA_NEAR_CRIT - user current stamina loss) : (STAMINA_NEAR_CRIT - STAMINA_SOFTCRIT) ratio used in damage penalties when stam soft-critted.
#define STAM_CRIT_ITEM_ATTACK_PENALTY 0.66
@@ -284,6 +285,12 @@ GLOBAL_LIST_INIT(shove_disarming_types, typecacheof(list(
/// Added delay when firing guns stam-softcritted. Summed with a hardset CLICK_CD_RANGE delay, similar to STAM_CRIT_DAMAGE_DELAY otherwise.
#define STAM_CRIT_GUN_DELAY 2.75
+//stamina recovery defines. Blocked if combat mode is on.
+#define STAM_RECOVERY_STAM_CRIT -7.5
+#define STAM_RECOVERY_RESTING -5
+#define STAM_RECOVERY_NORMAL -2
+#define STAM_RECOVERY_LIMB 3 //limbs recover stamina separately from handle_status_effects(), and aren't blocked by combat mode.
+
/**
* should the current-attack-damage be lower than the item force multiplied by this value,
* a "inefficiently" prefix will be added to the message.
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 7b201e7492..7265eef1b5 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -182,7 +182,7 @@
to_chat(src, "You gently let go of [throwable_mob].")
return
- adjustStaminaLossBuffered(25)//CIT CHANGE - throwing an entire person shall be very tiring
+ adjustStaminaLossBuffered(STAM_COST_THROW_MOB * (throwable_mob.mob_size+1))// throwing an entire person shall be very tiring
var/turf/start_T = get_turf(loc) //Get the start and target tile for the descriptors
var/turf/end_T = get_turf(target)
if(start_T && end_T)
diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm
index f9c5db4789..02b148e982 100644
--- a/code/modules/mob/living/carbon/life.dm
+++ b/code/modules/mob/living/carbon/life.dm
@@ -519,7 +519,7 @@ GLOBAL_LIST_INIT(ballmer_windows_me_msg, list("Yo man, what if, we like, uh, put
/mob/living/carbon/handle_status_effects()
..()
if(getStaminaLoss() && !SEND_SIGNAL(src, COMSIG_COMBAT_MODE_CHECK, COMBAT_MODE_ACTIVE)) //CIT CHANGE - prevents stamina regen while combat mode is active
- adjustStaminaLoss(!CHECK_MOBILITY(src, MOBILITY_STAND) ? ((combat_flags & COMBAT_FLAG_HARD_STAMCRIT) ? -7.5 : -6) : -3)//CIT CHANGE - decreases adjuststaminaloss to stop stamina damage from being such a joke
+ adjustStaminaLoss(!CHECK_MOBILITY(src, MOBILITY_STAND) ? ((combat_flags & COMBAT_FLAG_HARD_STAMCRIT) ? STAM_RECOVERY_STAM_CRIT : STAM_RECOVERY_RESTING) : STAM_RECOVERY_NORMAL)
if(!(combat_flags & COMBAT_FLAG_HARD_STAMCRIT) && incomingstammult != 1)
incomingstammult = max(0.01, incomingstammult)
diff --git a/code/modules/surgery/bodyparts/bodyparts.dm b/code/modules/surgery/bodyparts/bodyparts.dm
index 09ac7a8cb2..fcdb07ca17 100644
--- a/code/modules/surgery/bodyparts/bodyparts.dm
+++ b/code/modules/surgery/bodyparts/bodyparts.dm
@@ -651,7 +651,7 @@
held_index = 1
px_x = -6
px_y = 0
- stam_heal_tick = 4
+ stam_heal_tick = STAM_RECOVERY_LIMB
/obj/item/bodypart/l_arm/is_disabled()
if(HAS_TRAIT(owner, TRAIT_PARALYSIS_L_ARM))
@@ -711,7 +711,7 @@
held_index = 2
px_x = 6
px_y = 0
- stam_heal_tick = 4
+ stam_heal_tick = STAM_RECOVERY_LIMB
max_stamina_damage = 50
/obj/item/bodypart/r_arm/is_disabled()
@@ -771,7 +771,7 @@
body_damage_coeff = 0.75
px_x = -2
px_y = 12
- stam_heal_tick = 4
+ stam_heal_tick = STAM_RECOVERY_LIMB
max_stamina_damage = 50
/obj/item/bodypart/l_leg/is_disabled()
@@ -830,7 +830,7 @@
px_x = 2
px_y = 12
max_stamina_damage = 50
- stam_heal_tick = 4
+ stam_heal_tick = STAM_RECOVERY_LIMB
/obj/item/bodypart/r_leg/is_disabled()
if(HAS_TRAIT(owner, TRAIT_PARALYSIS_R_LEG))
From 2f5d351d70121fa8b51cda813261e0232d9e3e64 Mon Sep 17 00:00:00 2001
From: Ghommie <42542238+Ghommie@users.noreply.github.com>
Date: Sun, 28 Jun 2020 18:47:55 +0200
Subject: [PATCH 2/3] Just ups stamina cost for bashing people.
---
code/__DEFINES/combat.dm | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm
index 49c3708b13..dff52f4748 100644
--- a/code/__DEFINES/combat.dm
+++ b/code/__DEFINES/combat.dm
@@ -269,12 +269,12 @@ GLOBAL_LIST_INIT(shove_disarming_types, typecacheof(list(
//stamina cost defines.
#define STAM_COST_ATTACK_OBJ_MULT 1.2
-#define STAM_COST_ATTACK_MOB_MULT 0.8
+#define STAM_COST_ATTACK_MOB_MULT 1
#define STAM_COST_BATON_MOB_MULT 1
#define STAM_COST_NO_COMBAT_MULT 1.25
#define STAM_COST_W_CLASS_MULT 1.25
#define STAM_COST_THROW_MULT 2
-#define STAM_COST_THROW_MOB 8 //multiplied by mob size + 1.
+#define STAM_COST_THROW_MOB 2.5 //multiplied by (mob size + 1)^2.
///Multiplier of the (STAMINA_NEAR_CRIT - user current stamina loss) : (STAMINA_NEAR_CRIT - STAMINA_SOFTCRIT) ratio used in damage penalties when stam soft-critted.
#define STAM_CRIT_ITEM_ATTACK_PENALTY 0.66
@@ -287,9 +287,9 @@ GLOBAL_LIST_INIT(shove_disarming_types, typecacheof(list(
//stamina recovery defines. Blocked if combat mode is on.
#define STAM_RECOVERY_STAM_CRIT -7.5
-#define STAM_RECOVERY_RESTING -5
-#define STAM_RECOVERY_NORMAL -2
-#define STAM_RECOVERY_LIMB 3 //limbs recover stamina separately from handle_status_effects(), and aren't blocked by combat mode.
+#define STAM_RECOVERY_RESTING -6
+#define STAM_RECOVERY_NORMAL -3
+#define STAM_RECOVERY_LIMB 4 //limbs recover stamina separately from handle_status_effects(), and aren't blocked by combat mode.
/**
* should the current-attack-damage be lower than the item force multiplied by this value,
From 436c41d343fef8372380965b06a1b9702ebb1ed1 Mon Sep 17 00:00:00 2001
From: Ghommie <42542238+Ghommie@users.noreply.github.com>
Date: Sun, 28 Jun 2020 19:33:22 +0200
Subject: [PATCH 3/3] Forgot about this.
---
code/modules/mob/living/carbon/carbon.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 7265eef1b5..7fe00c4f4c 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -182,7 +182,7 @@
to_chat(src, "You gently let go of [throwable_mob].")
return
- adjustStaminaLossBuffered(STAM_COST_THROW_MOB * (throwable_mob.mob_size+1))// throwing an entire person shall be very tiring
+ adjustStaminaLossBuffered(STAM_COST_THROW_MOB * ((throwable_mob.mob_size+1)**2))// throwing an entire person shall be very tiring
var/turf/start_T = get_turf(loc) //Get the start and target tile for the descriptors
var/turf/end_T = get_turf(target)
if(start_T && end_T)