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