From 81cb475b2c06c35af50b81ae56a67908c998e346 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Tue, 30 Oct 2018 22:32:03 -0400 Subject: [PATCH] atomizes some of the med rework's stamina tweaks - you can now scramble on the ground while in hard stamcrit, and the more staminaloss you take while in stamcrit decreases the amount of staminaloss you'll take for the entirety of your time in stamcrit (#7689) --- code/game/turfs/open.dm | 9 +++++++++ code/modules/mob/living/carbon/life.dm | 3 +++ .../code/modules/mob/living/carbon/damage_procs.dm | 4 +++- modular_citadel/code/modules/mob/living/living.dm | 1 + 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/code/game/turfs/open.dm b/code/game/turfs/open.dm index f007c50394..2476419a1b 100644 --- a/code/game/turfs/open.dm +++ b/code/game/turfs/open.dm @@ -13,6 +13,15 @@ if(wet) AddComponent(/datum/component/wet_floor, wet, INFINITY, 0, INFINITY, TRUE) +/turf/open/MouseDrop_T(atom/dropping, mob/user) + . = ..() + if(dropping == user && isliving(user)) + var/mob/living/L = user + if(L.resting && do_after(L, max(10, L.getStaminaLoss()*0.5), 0, src)) + if(Adjacent(L, src)) + L.forceMove(src) + playsound(L, "rustle", 25, 1) + /turf/open/indestructible name = "floor" icon = 'icons/turf/floors.dmi' diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 4621986c0c..ef9c89cf1d 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -454,6 +454,9 @@ GLOBAL_LIST_INIT(ballmer_windows_me_msg, list("Yo man, what if, we like, uh, put if(getStaminaLoss() && !combatmode)//CIT CHANGE - prevents stamina regen while combat mode is active adjustStaminaLoss(resting ? (recoveringstam ? -7.5 : -3) : -1.5)//CIT CHANGE - decreases adjuststaminaloss to stop stamina damage from being such a joke + if(!recoveringstam && incomingstammult != 1) + incomingstammult = min(1, incomingstammult*2) + //CIT CHANGES START HERE. STAMINA BUFFER STUFF if(bufferedstam && world.time > stambufferregentime) var/drainrate = max((bufferedstam*(bufferedstam/(5)))*0.1,1) diff --git a/modular_citadel/code/modules/mob/living/carbon/damage_procs.dm b/modular_citadel/code/modules/mob/living/carbon/damage_procs.dm index 9921e4ed47..39b0f164c9 100644 --- a/modular_citadel/code/modules/mob/living/carbon/damage_procs.dm +++ b/modular_citadel/code/modules/mob/living/carbon/damage_procs.dm @@ -12,5 +12,7 @@ /mob/living/carbon/adjustStaminaLoss(amount, updating_health = TRUE, forced = FALSE, affected_zone = BODY_ZONE_CHEST) if(!forced && (status_flags & GODMODE)) return FALSE - apply_damage(amount, STAMINA, affected_zone) + apply_damage(amount > 0 ? amount*incomingstammult : amount, STAMINA, affected_zone) + if(recoveringstam && amount > 20) + incomingstammult = max(0.01, incomingstammult/(amount*0.05)) return amount diff --git a/modular_citadel/code/modules/mob/living/living.dm b/modular_citadel/code/modules/mob/living/living.dm index e56eac5f05..955263b7af 100644 --- a/modular_citadel/code/modules/mob/living/living.dm +++ b/modular_citadel/code/modules/mob/living/living.dm @@ -1,5 +1,6 @@ /mob/living var/recoveringstam = FALSE + var/incomingstammult = 1 var/bufferedstam = 0 var/stambuffer = 20 var/stambufferregentime