mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-22 05:25:15 +01:00
[MIRROR] Drowsiness refactor [MDB IGNORE] (#8836)
* Drowsiness refactor (#62104) Creates two procs in /mob/status_procs for handling drowsiness changes (with check for negative values), and refactors all code to use these procs instead of assigning values to the mob's drowsiness themselves. * Drowsiness refactor * Fixing more stuff in our code Co-authored-by: thatoneplebeian <67017991+thatoneplebeian@users.noreply.github.com> Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
This commit is contained in:
@@ -169,7 +169,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
|
||||
|
||||
/datum/reagent/consumable/ethanol/kahlua/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||
M.dizziness = max(M.dizziness - (5 * REM * delta_time), 0)
|
||||
M.drowsyness = max(M.drowsyness - (3 * REM * delta_time), 0)
|
||||
M.adjust_drowsyness(-3 * REM * delta_time)
|
||||
M.AdjustSleeping(-40 * REM * delta_time)
|
||||
if(!HAS_TRAIT(M, TRAIT_ALCOHOL_TOLERANCE))
|
||||
M.Jitter(5)
|
||||
@@ -230,7 +230,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
|
||||
chemical_flags = REAGENT_CAN_BE_SYNTHESIZED
|
||||
|
||||
/datum/reagent/consumable/ethanol/thirteenloko/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||
M.drowsyness = max(M.drowsyness - (7 * REM * delta_time), 0)
|
||||
M.adjust_drowsyness(-7 * REM * delta_time)
|
||||
M.AdjustSleeping(-40 * REM * delta_time)
|
||||
M.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * delta_time, M.get_body_temp_normal())
|
||||
if(!HAS_TRAIT(M, TRAIT_ALCOHOL_TOLERANCE))
|
||||
|
||||
@@ -135,7 +135,7 @@
|
||||
/datum/reagent/medicine/c2/probital/overdose_process(mob/living/M, delta_time, times_fired)
|
||||
M.adjustStaminaLoss(3 * REM * delta_time, 0)
|
||||
if(M.getStaminaLoss() >= 80)
|
||||
M.drowsyness += 1 * REM * delta_time
|
||||
M.adjust_drowsyness(1 * REM * delta_time)
|
||||
if(M.getStaminaLoss() >= 100)
|
||||
to_chat(M,span_warning("You feel more tired than you usually do, perhaps if you rest your eyes for a bit..."))
|
||||
M.adjustStaminaLoss(-100, TRUE)
|
||||
@@ -282,7 +282,7 @@
|
||||
M.adjustOxyLoss(-3 * REM * delta_time * normalise_creation_purity())
|
||||
M.adjustStaminaLoss(2 * REM * delta_time)
|
||||
if(drowsycd && COOLDOWN_FINISHED(src, drowsycd))
|
||||
M.drowsyness += 10
|
||||
M.adjust_drowsyness(10)
|
||||
COOLDOWN_START(src, drowsycd, 45 SECONDS)
|
||||
else if(!drowsycd)
|
||||
COOLDOWN_START(src, drowsycd, 15 SECONDS)
|
||||
|
||||
@@ -289,7 +289,7 @@
|
||||
|
||||
/datum/reagent/consumable/coffee/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||
M.dizziness = max(M.dizziness - (5 * REM * delta_time), 0)
|
||||
M.drowsyness = max(M.drowsyness - (3 * REM * delta_time), 0)
|
||||
M.adjust_drowsyness(-3 * REM * delta_time)
|
||||
M.AdjustSleeping(-40 * REM * delta_time)
|
||||
//310.15 is the normal bodytemp.
|
||||
M.adjust_bodytemperature(25 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * delta_time, 0, M.get_body_temp_normal())
|
||||
@@ -312,7 +312,7 @@
|
||||
|
||||
/datum/reagent/consumable/tea/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||
M.dizziness = max(M.dizziness - (2 * REM * delta_time), 0)
|
||||
M.drowsyness = max(M.drowsyness - (1 * REM * delta_time), 0)
|
||||
M.adjust_drowsyness(-1 * REM * delta_time)
|
||||
M.jitteriness = max(M.jitteriness - (3 * REM * delta_time), 0)
|
||||
M.AdjustSleeping(-20 * REM * delta_time)
|
||||
if(M.getToxLoss() && DT_PROB(10, delta_time))
|
||||
@@ -364,7 +364,7 @@
|
||||
|
||||
/datum/reagent/consumable/icecoffee/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||
M.dizziness = max(M.dizziness - (5 * REM * delta_time), 0)
|
||||
M.drowsyness = max(M.drowsyness - (3 * REM * delta_time), 0)
|
||||
M.adjust_drowsyness(-3 * REM * delta_time)
|
||||
M.AdjustSleeping(-40 * REM * delta_time)
|
||||
M.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * delta_time, M.get_body_temp_normal())
|
||||
M.Jitter(5 * REM * delta_time)
|
||||
@@ -384,7 +384,7 @@
|
||||
|
||||
/datum/reagent/consumable/hot_ice_coffee/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||
M.dizziness = max(M.dizziness - (5 * REM * delta_time), 0)
|
||||
M.drowsyness = max(M.drowsyness - (3 * REM * delta_time), 0)
|
||||
M.adjust_drowsyness(-3 * REM * delta_time)
|
||||
M.AdjustSleeping(-60 * REM * delta_time)
|
||||
M.adjust_bodytemperature(-7 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * delta_time, M.get_body_temp_normal())
|
||||
M.Jitter(5 * REM * delta_time)
|
||||
@@ -405,7 +405,7 @@
|
||||
|
||||
/datum/reagent/consumable/icetea/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||
M.dizziness = max(M.dizziness - (2 * REM * delta_time), 0)
|
||||
M.drowsyness = max(M.drowsyness - (1 * REM * delta_time), 0)
|
||||
M.adjust_drowsyness(-1 * REM * delta_time)
|
||||
M.AdjustSleeping(-40 * REM * delta_time)
|
||||
if(M.getToxLoss() && DT_PROB(10, delta_time))
|
||||
M.adjustToxLoss(-1, 0)
|
||||
@@ -424,7 +424,7 @@
|
||||
chemical_flags = REAGENT_CAN_BE_SYNTHESIZED
|
||||
|
||||
/datum/reagent/consumable/space_cola/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||
M.drowsyness = max(M.drowsyness - (5 * REM * delta_time), 0)
|
||||
M.adjust_drowsyness(-5 * REM * delta_time)
|
||||
M.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * delta_time, M.get_body_temp_normal())
|
||||
..()
|
||||
|
||||
@@ -451,7 +451,7 @@
|
||||
M.Jitter(20 * REM * delta_time)
|
||||
M.set_drugginess(30 * REM * delta_time)
|
||||
M.dizziness += 1.5 * REM * delta_time
|
||||
M.drowsyness = 0
|
||||
M.set_drowsyness(0)
|
||||
M.AdjustSleeping(-40 * REM * delta_time)
|
||||
M.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * delta_time, M.get_body_temp_normal())
|
||||
..()
|
||||
@@ -479,7 +479,7 @@
|
||||
/datum/reagent/consumable/grey_bull/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||
M.Jitter(20 * REM * delta_time)
|
||||
M.dizziness += 1 * REM * delta_time
|
||||
M.drowsyness = 0
|
||||
M.set_drowsyness(0)
|
||||
M.AdjustSleeping(-40 * REM * delta_time)
|
||||
M.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * delta_time, M.get_body_temp_normal())
|
||||
..()
|
||||
@@ -495,7 +495,7 @@
|
||||
chemical_flags = REAGENT_CAN_BE_SYNTHESIZED
|
||||
|
||||
/datum/reagent/consumable/spacemountainwind/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||
M.drowsyness = max(M.drowsyness - (7 * REM * delta_time), 0)
|
||||
M.adjust_drowsyness(-7 * REM * delta_time)
|
||||
M.AdjustSleeping(-20 * REM * delta_time)
|
||||
M.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * delta_time, M.get_body_temp_normal())
|
||||
M.Jitter(5 * REM * delta_time)
|
||||
@@ -513,7 +513,7 @@
|
||||
chemical_flags = REAGENT_CAN_BE_SYNTHESIZED
|
||||
|
||||
/datum/reagent/consumable/dr_gibb/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||
M.drowsyness = max(M.drowsyness - (6 * REM * delta_time), 0)
|
||||
M.adjust_drowsyness(-6 * REM * delta_time)
|
||||
M.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * delta_time, M.get_body_temp_normal())
|
||||
..()
|
||||
|
||||
@@ -606,7 +606,7 @@
|
||||
|
||||
/datum/reagent/consumable/sodawater/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||
M.dizziness = max(M.dizziness - (5 * REM * delta_time), 0)
|
||||
M.drowsyness = max(M.drowsyness - (3 * REM * delta_time), 0)
|
||||
M.adjust_drowsyness(-3 * REM * delta_time)
|
||||
M.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * delta_time, M.get_body_temp_normal())
|
||||
..()
|
||||
|
||||
@@ -622,7 +622,7 @@
|
||||
|
||||
/datum/reagent/consumable/tonic/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||
M.dizziness = max(M.dizziness - (5 * REM * delta_time), 0)
|
||||
M.drowsyness = max(M.drowsyness - (3 * REM * delta_time), 0)
|
||||
M.adjust_drowsyness(-3 * REM * delta_time)
|
||||
M.AdjustSleeping(-40 * REM * delta_time)
|
||||
M.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * delta_time, M.get_body_temp_normal())
|
||||
..()
|
||||
@@ -642,7 +642,7 @@
|
||||
/datum/reagent/consumable/monkey_energy/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||
M.Jitter(40 * REM * delta_time)
|
||||
M.dizziness += 1 * REM * delta_time
|
||||
M.drowsyness = 0
|
||||
M.set_drowsyness(0)
|
||||
M.AdjustSleeping(-40 * REM * delta_time)
|
||||
M.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * delta_time, M.get_body_temp_normal())
|
||||
..()
|
||||
@@ -690,7 +690,7 @@
|
||||
|
||||
/datum/reagent/consumable/soy_latte/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||
M.dizziness = max(M.dizziness - (5 * REM * delta_time), 0)
|
||||
M.drowsyness = max(M.drowsyness - (3 *REM * delta_time), 0)
|
||||
M.adjust_drowsyness(-3 *REM * delta_time)
|
||||
M.SetSleeping(0)
|
||||
M.adjust_bodytemperature(5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * delta_time, 0, M.get_body_temp_normal())
|
||||
M.Jitter(5 * REM * delta_time)
|
||||
@@ -713,7 +713,7 @@
|
||||
|
||||
/datum/reagent/consumable/cafe_latte/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||
M.dizziness = max(M.dizziness - (5 * REM * delta_time), 0)
|
||||
M.drowsyness = max(M.drowsyness - (6 * REM * delta_time), 0)
|
||||
M.adjust_drowsyness(-6 * REM * delta_time)
|
||||
M.SetSleeping(0)
|
||||
M.adjust_bodytemperature(5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * delta_time, 0, M.get_body_temp_normal())
|
||||
M.Jitter(5 * REM * delta_time)
|
||||
@@ -1024,7 +1024,7 @@
|
||||
if(M.druggy < 3)
|
||||
M.adjust_drugginess(1 * REM * delta_time)
|
||||
if(M.drowsyness < 3)
|
||||
M.drowsyness += 1 * REM * delta_time
|
||||
M.adjust_drowsyness(1 * REM * delta_time)
|
||||
return ..()
|
||||
|
||||
/datum/reagent/consumable/mushroom_tea
|
||||
|
||||
@@ -758,7 +758,7 @@
|
||||
kronkaine_fiend.adjustOrganLoss(ORGAN_SLOT_HEART, 0.4 * REM * delta_time)
|
||||
kronkaine_fiend.Jitter(10 * REM * delta_time)
|
||||
kronkaine_fiend.AdjustSleeping(-20 * REM * delta_time)
|
||||
kronkaine_fiend.drowsyness = max(kronkaine_fiend.drowsyness - (5 * REM * delta_time), 0)
|
||||
kronkaine_fiend.adjust_drowsyness(-5 * REM * delta_time)
|
||||
if(volume < 10)
|
||||
return
|
||||
for(var/possible_purger in kronkaine_fiend.reagents.reagent_list)
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
M.silent = FALSE
|
||||
M.dizziness = 0
|
||||
M.disgust = 0
|
||||
M.drowsyness = 0
|
||||
M.set_drowsyness(0)
|
||||
M.stuttering = 0
|
||||
M.slurring = 0
|
||||
M.jitteriness = 0
|
||||
@@ -119,7 +119,7 @@
|
||||
chemical_flags = REAGENT_CAN_BE_SYNTHESIZED
|
||||
|
||||
/datum/reagent/medicine/synaptizine/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||
M.drowsyness = max(M.drowsyness - (5 * REM * delta_time), 0)
|
||||
M.adjust_drowsyness(-5 * REM * delta_time)
|
||||
M.AdjustStun(-20 * REM * delta_time)
|
||||
M.AdjustKnockdown(-20 * REM * delta_time)
|
||||
M.AdjustUnconscious(-20 * REM * delta_time)
|
||||
@@ -141,7 +141,7 @@
|
||||
chemical_flags = REAGENT_CAN_BE_SYNTHESIZED
|
||||
|
||||
/datum/reagent/medicine/synaphydramine/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||
M.drowsyness = max(M.drowsyness - (5 * REM * delta_time), 0)
|
||||
M.adjust_drowsyness(-5 * REM * delta_time)
|
||||
if(holder.has_reagent(/datum/reagent/toxin/mindbreaker))
|
||||
holder.remove_reagent(/datum/reagent/toxin/mindbreaker, 5 * REM * delta_time)
|
||||
if(holder.has_reagent(/datum/reagent/toxin/histamine))
|
||||
@@ -575,7 +575,7 @@
|
||||
|
||||
/datum/reagent/medicine/diphenhydramine/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||
if(DT_PROB(5, delta_time))
|
||||
M.drowsyness++
|
||||
M.adjust_drowsyness(1)
|
||||
M.jitteriness -= 1 * REM * delta_time
|
||||
holder.remove_reagent(/datum/reagent/toxin/histamine, 3 * REM * delta_time)
|
||||
..()
|
||||
@@ -610,7 +610,7 @@
|
||||
if(11)
|
||||
to_chat(M, span_warning("You start to feel tired...") )
|
||||
if(12 to 24)
|
||||
M.drowsyness += 1 * REM * delta_time
|
||||
M.adjust_drowsyness(1 * REM * delta_time)
|
||||
if(24 to INFINITY)
|
||||
M.Sleeping(40 * REM * delta_time)
|
||||
. = TRUE
|
||||
@@ -981,7 +981,7 @@
|
||||
|
||||
/datum/reagent/medicine/antihol/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||
M.dizziness = 0
|
||||
M.drowsyness = 0
|
||||
M.set_drowsyness(0)
|
||||
M.slurring = 0
|
||||
M.set_confusion(0)
|
||||
M.reagents.remove_all_type(/datum/reagent/consumable/ethanol, 3 * REM * delta_time * normalise_creation_purity(), FALSE, TRUE)
|
||||
@@ -1182,7 +1182,7 @@
|
||||
/datum/reagent/medicine/haloperidol/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||
for(var/datum/reagent/drug/R in M.reagents.reagent_list)
|
||||
M.reagents.remove_reagent(R.type, 5 * REM * delta_time)
|
||||
M.drowsyness += 2 * REM * delta_time
|
||||
M.adjust_drowsyness(2 * REM * delta_time)
|
||||
if(M.jitteriness >= 3)
|
||||
M.jitteriness -= 3 * REM * delta_time
|
||||
if (M.hallucination >= 5)
|
||||
|
||||
@@ -352,7 +352,7 @@
|
||||
|
||||
/datum/reagent/fuel/unholywater/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||
if(IS_CULTIST(M))
|
||||
M.drowsyness = max(M.drowsyness - (5* REM * delta_time), 0)
|
||||
M.adjust_drowsyness(-5* REM * delta_time)
|
||||
M.AdjustAllImmobility(-40 *REM* REM * delta_time)
|
||||
M.adjustStaminaLoss(-10 * REM * delta_time, 0)
|
||||
M.adjustToxLoss(-2 * REM * delta_time, 0)
|
||||
@@ -1224,7 +1224,7 @@
|
||||
if(DT_PROB(55, delta_time))
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2)
|
||||
if(DT_PROB(30, delta_time))
|
||||
M.drowsyness = max(M.drowsyness, 3)
|
||||
M.adjust_drowsyness(3)
|
||||
if(DT_PROB(5, delta_time))
|
||||
M.emote("drool")
|
||||
..()
|
||||
@@ -1375,10 +1375,10 @@
|
||||
/datum/reagent/nitrous_oxide/expose_mob(mob/living/exposed_mob, methods=TOUCH, reac_volume)
|
||||
. = ..()
|
||||
if(methods & VAPOR)
|
||||
exposed_mob.drowsyness += max(round(reac_volume, 1), 2)
|
||||
exposed_mob.adjust_drowsyness(max(round(reac_volume, 1), 2))
|
||||
|
||||
/datum/reagent/nitrous_oxide/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||
M.drowsyness += 2 * REM * delta_time
|
||||
M.adjust_drowsyness(2 * REM * delta_time)
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
H.blood_volume = max(H.blood_volume - (10 * REM * delta_time), 0)
|
||||
@@ -2697,7 +2697,7 @@
|
||||
|
||||
/datum/reagent/eldritch/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||
if(IS_HERETIC(M))
|
||||
M.drowsyness = max(M.drowsyness - (5 * REM * delta_time), 0)
|
||||
M.adjust_drowsyness(-5 * REM * delta_time)
|
||||
M.AdjustAllImmobility(-40 * REM * delta_time)
|
||||
M.adjustStaminaLoss(-10 * REM * delta_time, FALSE)
|
||||
M.adjustToxLoss(-2 * REM * delta_time, FALSE, forced = TRUE)
|
||||
|
||||
@@ -254,7 +254,7 @@
|
||||
switch(current_cycle)
|
||||
if(1 to 5)
|
||||
M.add_confusion(1 * REM * delta_time)
|
||||
M.drowsyness += 1 * REM * delta_time
|
||||
M.adjust_drowsyness(1 * REM * delta_time)
|
||||
M.slurring += 3 * REM * delta_time
|
||||
if(5 to 8)
|
||||
M.adjustStaminaLoss(40 * REM * delta_time, 0)
|
||||
@@ -447,7 +447,7 @@
|
||||
switch(current_cycle)
|
||||
if(1 to 10)
|
||||
M.add_confusion(2 * REM * normalise_creation_purity() * delta_time)
|
||||
M.drowsyness += 2 * REM * normalise_creation_purity() * delta_time
|
||||
M.adjust_drowsyness(2 * REM * normalise_creation_purity() * delta_time)
|
||||
if(10 to 50)
|
||||
M.Sleeping(40 * REM * normalise_creation_purity() * delta_time)
|
||||
. = TRUE
|
||||
|
||||
Reference in New Issue
Block a user