From 45516f474147137d811d26ea72dd98a68953ad9f Mon Sep 17 00:00:00 2001 From: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Date: Sat, 24 Sep 2022 10:04:26 -0500 Subject: [PATCH] Adds macros to help with common `set_`- and `adjust_timed_status_effect` uses (#69951) * Adds helpers for status effect application --- code/__DEFINES/status_effects.dm | 60 ++++++++++++++++ code/__HELPERS/honkerblast.dm | 8 +-- code/datums/brain_damage/creepy_trauma.dm | 4 +- code/datums/brain_damage/mild.dm | 10 +-- code/datums/brain_damage/phobia.dm | 14 ++-- code/datums/brain_damage/severe.dm | 6 +- code/datums/components/tackle.dm | 4 +- code/datums/components/wet_floor.dm | 2 +- code/datums/diseases/adrenal_crisis.dm | 4 +- .../diseases/advance/symptoms/confusion.dm | 2 +- .../datums/diseases/advance/symptoms/dizzy.dm | 4 +- .../diseases/advance/symptoms/sensory.dm | 6 +- code/datums/diseases/anxiety.dm | 6 +- code/datums/diseases/brainrot.dm | 2 +- code/datums/diseases/decloning.dm | 2 +- code/datums/diseases/heart_failure.dm | 4 +- code/datums/diseases/transformation.dm | 2 +- code/datums/diseases/tuberculosis.dm | 4 +- code/datums/elements/spooky.dm | 12 ++-- code/datums/martial/cqc.dm | 2 +- code/datums/mutations/body.dm | 6 +- code/datums/mutations/speech.dm | 2 +- code/datums/mutations/touch.dm | 2 +- code/datums/quirks/negative.dm | 6 +- code/datums/status_effects/buffs.dm | 6 +- code/datums/status_effects/debuffs/debuffs.dm | 4 +- code/datums/status_effects/debuffs/drunk.dm | 14 ++-- code/datums/status_effects/drug_effects.dm | 2 +- code/datums/status_effects/neutral.dm | 8 +-- code/game/machinery/hypnochair.dm | 12 ++-- code/game/objects/effects/landmarks.dm | 2 +- code/game/objects/items/cards_ids.dm | 2 +- code/game/objects/items/defib.dm | 6 +- code/game/objects/items/grenades/hypno.dm | 4 +- code/game/objects/items/hand_items.dm | 6 +- code/game/objects/items/melee/baton.dm | 10 +-- .../game/objects/items/robot/items/generic.dm | 16 ++--- code/game/objects/structures/maintenance.dm | 4 +- code/game/objects/structures/watercloset.dm | 4 +- code/modules/admin/smites/bsa.dm | 2 +- .../abductor/equipment/abduction_gear.dm | 6 +- .../abductor/equipment/glands/mindshock.dm | 2 +- .../blob/blobstrains/regenerative_materia.dm | 2 +- .../antagonists/changeling/powers/headcrab.dm | 2 +- .../antagonists/changeling/powers/shriek.dm | 4 +- code/modules/antagonists/cult/blood_magic.dm | 4 +- code/modules/antagonists/cult/cult_items.dm | 6 +- .../antagonists/heretic/items/madness_mask.dm | 4 +- .../sacrifice_knowledge/sacrifice_buff.dm | 4 +- .../sacrifice_knowledge.dm | 12 ++-- .../antagonists/heretic/magic/mansus_grasp.dm | 2 +- .../heretic/status_effects/debuffs.dm | 2 +- .../heretic/structures/carving_knife.dm | 8 +-- .../antagonists/revenant/revenant_blight.dm | 2 +- .../traitor/equipment/Malf_Modules.dm | 2 +- .../traitor/objectives/kidnapping.dm | 11 ++- .../antagonists/wizard/equipment/soulstone.dm | 2 +- code/modules/assembly/flash.dm | 14 ++-- code/modules/hallucination/shock.dm | 2 +- code/modules/hallucination/stray_bullet.dm | 4 +- code/modules/hydroponics/hydroitemdefines.dm | 2 +- code/modules/mining/lavaland/tendril_loot.dm | 4 +- code/modules/mining/ores_coins.dm | 2 +- code/modules/mob/emote.dm | 4 +- .../modules/mob/living/carbon/alien/organs.dm | 6 +- .../mob/living/carbon/carbon_defense.dm | 6 +- .../mob/living/carbon/human/species.dm | 2 +- .../carbon/human/species_types/golems.dm | 8 +-- code/modules/mob/living/damage_procs.dm | 6 +- code/modules/mob/living/living.dm | 2 +- .../mob/living/simple_animal/bot/honkbot.dm | 6 +- .../mob/living/simple_animal/bot/secbot.dm | 4 +- .../hostile/megafauna/wendigo.dm | 2 +- code/modules/pai/defense.dm | 6 +- .../projectiles/projectile/special/floral.dm | 2 +- .../chemistry/reagents/alcohol_reagents.dm | 68 +++++++++---------- .../reagents/cat2_medicine_reagents.dm | 4 +- .../chemistry/reagents/drink_reagents.dm | 54 +++++++-------- .../chemistry/reagents/drug_reagents.dm | 20 +++--- .../chemistry/reagents/food_reagents.dm | 8 +-- .../chemistry/reagents/medicine_reagents.dm | 50 +++++++------- .../chemistry/reagents/other_reagents.dm | 22 +++--- .../chemistry/reagents/toxin_reagents.dm | 10 +-- .../chemistry/reagents/unique/eigenstasium.dm | 2 +- .../reagents/withdrawal/generic_addictions.dm | 21 +++--- .../crossbreeding/_status_effects.dm | 2 +- code/modules/surgery/organs/heart.dm | 2 +- .../surgery/organs/stomach/_stomach.dm | 14 ++-- .../mecha/equipment/weapons/weapons.dm | 4 +- 89 files changed, 385 insertions(+), 329 deletions(-) diff --git a/code/__DEFINES/status_effects.dm b/code/__DEFINES/status_effects.dm index 68b65c54d65..f32971c4acb 100644 --- a/code/__DEFINES/status_effects.dm +++ b/code/__DEFINES/status_effects.dm @@ -39,6 +39,66 @@ #define STASIS_SHAPECHANGE_EFFECT "stasis_shapechange" +// Status effect application helpers. +// These are macros for easier use of adjust_timed_status_effect and set_timed_status_effect. +// +// adjust_x: +// - Adds duration to a status effect +// - Removes duration if a negative duration is passed. +// - Ex: adjust_stutter(10 SECONDS) adds ten seconds of stuttering. +// - Ex: adjust_jitter(-5 SECONDS) removes five seconds of jittering, or just removes jittering if less than five seconds exist. +// +// adjust_x_up_to: +// - Will only add (or remove) duration of a status effect up to the second parameter +// - If the duration will result in going beyond the second parameter, it will stop exactly at that parameter +// - The second parameter cannot be negative. +// - Ex: adjust_stutter_up_to(20 SECONDS, 10 SECONDS) adds ten seconds of stuttering. +// +// set_x: +// - Set the duration of a status effect to the exact number. +// - Setting duration to zero seconds is effectively the same as just using remove_status_effect, or qdelling the effect. +// - Ex: set_stutter(10 SECONDS) sets the stuttering to ten seconds, regardless of whether they had more or less existing stutter. +// +// set_x_if_lower: +// - Will only set the duration of that effect IF any existing duration is lower than what was passed. +// - Ex: set_stutter_if_lower(10 SECONDS) will set stuttering to ten seconds if no stuttering or less than ten seconds of stuttering exists +// - Ex: set_jitter_if_lower(20 SECONDS) will do nothing if more than twenty seconds of jittering already exists + +#define adjust_stutter(duration) adjust_timed_status_effect(duration, /datum/status_effect/speech/stutter) +#define adjust_stutter_up_to(duration, up_to) adjust_timed_status_effect(duration, /datum/status_effect/speech/stutter, up_to) +#define set_stutter(duration) set_timed_status_effect(duration, /datum/status_effect/speech/stutter) +#define set_stutter_if_lower(duration) set_timed_status_effect(duration, /datum/status_effect/speech/stutter, TRUE) + +#define adjust_derpspeech(duration) adjust_timed_status_effect(duration, /datum/status_effect/speech/stutter/derpspeech) +#define adjust_derpspeech_up_to(duration, up_to) adjust_timed_status_effect(duration, /datum/status_effect/speech/stutter/derpspeech, up_to) +#define set_derpspeech(duration) set_timed_status_effect(duration, /datum/status_effect/speech/stutter/derpspeech) +#define set_derpspeech_if_lower(duration) set_timed_status_effect(duration, /datum/status_effect/speech/stutter/derpspeech, TRUE) + +#define adjust_slurring(duration) adjust_timed_status_effect(duration, /datum/status_effect/speech/slurring/drunk) +#define adjust_slurring_up_to(duration, up_to) adjust_timed_status_effect(duration, /datum/status_effect/speech/slurring/drunk, up_to) +#define set_slurring(duration) set_timed_status_effect(duration, /datum/status_effect/speech/slurring/drunk) +#define set_slurring_if_lower(duration) set_timed_status_effect(duration, /datum/status_effect/speech/slurring/drunk, TRUE) + +#define adjust_dizzy(duration) adjust_timed_status_effect(duration, /datum/status_effect/dizziness) +#define adjust_dizzy_up_to(duration, up_to) adjust_timed_status_effect(duration, /datum/status_effect/dizziness, up_to) +#define set_dizzy(duration) set_timed_status_effect(duration, /datum/status_effect/dizziness) +#define set_dizzy_if_lower(duration) set_timed_status_effect(duration, /datum/status_effect/dizziness, TRUE) + +#define adjust_jitter(duration) adjust_timed_status_effect(duration, /datum/status_effect/jitter) +#define adjust_jitter_up_to(duration, up_to) adjust_timed_status_effect(duration, /datum/status_effect/jitter, up_to) +#define set_jitter(duration) set_timed_status_effect(duration, /datum/status_effect/jitter) +#define set_jitter_if_lower(duration) set_timed_status_effect(duration, /datum/status_effect/jitter, TRUE) + +#define adjust_confusion(duration) adjust_timed_status_effect(duration, /datum/status_effect/confusion) +#define adjust_confusion_up_to(duration, up_to) adjust_timed_status_effect(duration, /datum/status_effect/confusion, up_to) +#define set_confusion(duration) set_timed_status_effect(duration, /datum/status_effect/confusion) +#define set_confusion_if_lower(duration) set_timed_status_effect(duration, /datum/status_effect/confusion, TRUE) + +#define adjust_drugginess(duration) adjust_timed_status_effect(duration, /datum/status_effect/drugginess) +#define adjust_drugginess_up_to(duration, up_to) adjust_timed_status_effect(duration, /datum/status_effect/drugginess, up_to) +#define set_drugginess(duration) set_timed_status_effect(duration, /datum/status_effect/drugginess) +#define set_drugginess_if_lower(duration) set_timed_status_effect(duration, /datum/status_effect/drugginess, TRUE) + #define adjust_hallucinations(duration) adjust_timed_status_effect(duration, /datum/status_effect/hallucination) #define adjust_hallucinations_up_to(duration, up_to) adjust_timed_status_effect(duration, /datum/status_effect/hallucination, up_to) #define set_hallucinations(duration) set_timed_status_effect(duration, /datum/status_effect/hallucination) diff --git a/code/__HELPERS/honkerblast.dm b/code/__HELPERS/honkerblast.dm index 0e82125cfc0..a44eb0ec283 100644 --- a/code/__HELPERS/honkerblast.dm +++ b/code/__HELPERS/honkerblast.dm @@ -21,8 +21,8 @@ for(var/mob/living/carbon/victim in severely_honked) victim.Unconscious(40) victim.Stun(100) - victim.adjust_timed_status_effect(30 SECONDS, /datum/status_effect/speech/stutter) - victim.set_timed_status_effect(1000 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + victim.adjust_stutter(30 SECONDS) + victim.set_jitter_if_lower(1000 SECONDS) var/obj/item/organ/internal/ears/ears = victim.getorganslot(ORGAN_SLOT_EARS) ears?.adjustEarDamage(10, 15) to_chat(victim, "HONK") @@ -34,14 +34,14 @@ for(var/mob/living/carbon/victim in properly_honked) victim.Paralyze(20) victim.Stun(50) - victim.set_timed_status_effect(500 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + victim.set_jitter_if_lower(500 SECONDS) var/obj/item/organ/internal/ears/ears = victim.getorganslot(ORGAN_SLOT_EARS) ears?.adjustEarDamage(7, 10) to_chat(victim, "HONK") for(var/mob/living/carbon/victim in lightly_honked) victim.Knockdown(20) - victim.set_timed_status_effect(200 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + victim.set_jitter_if_lower(200 SECONDS) var/obj/item/organ/internal/ears/ears = victim.getorganslot(ORGAN_SLOT_EARS) ears?.adjustEarDamage(4, 5) to_chat(victim, "HONK") diff --git a/code/datums/brain_damage/creepy_trauma.dm b/code/datums/brain_damage/creepy_trauma.dm index 5a7ec8ee5b9..c4a4d9c2bed 100644 --- a/code/datums/brain_damage/creepy_trauma.dm +++ b/code/datums/brain_damage/creepy_trauma.dm @@ -78,7 +78,7 @@ addtimer(CALLBACK(src, .proc/on_failed_social_interaction), rand(1, 3) SECONDS) else if(!owner.has_status_effect(/datum/status_effect/speech/stutter)) to_chat(owner, span_warning("Being near [obsession] makes you nervous and you begin to stutter...")) - owner.set_timed_status_effect(6 SECONDS, /datum/status_effect/speech/stutter, only_if_higher = TRUE) + owner.set_stutter_if_lower(6 SECONDS) /// Singal proc for [COMSIG_CARBON_HELPED], when our obsessed helps (hugs) our obsession, increases hug count /datum/brain_trauma/special/obsessed/proc/on_hug(datum/source, mob/living/hugged) @@ -104,7 +104,7 @@ to_chat(owner, span_userdanger("You feel your heart lurching in your chest...")) if(81 to 100) INVOKE_ASYNC(owner, /mob.proc/emote, "cough") - owner.adjust_timed_status_effect(20 SECONDS, /datum/status_effect/dizziness) + owner.adjust_dizzy(20 SECONDS) owner.adjust_disgust(5) to_chat(owner, span_userdanger("You gag and swallow a bit of bile...")) diff --git a/code/datums/brain_damage/mild.dm b/code/datums/brain_damage/mild.dm index 52e4a0b2766..45dfafb56b7 100644 --- a/code/datums/brain_damage/mild.dm +++ b/code/datums/brain_damage/mild.dm @@ -31,7 +31,7 @@ lose_text = "You feel in control of your speech." /datum/brain_trauma/mild/stuttering/on_life(delta_time, times_fired) - owner.adjust_timed_status_effect(5 SECONDS * delta_time, /datum/status_effect/speech/stutter, max_duration = 50 SECONDS) + owner.adjust_stutter_up_to(5 SECONDS * delta_time, 50 SECONDS) /datum/brain_trauma/mild/stuttering/on_lose() owner.remove_status_effect(/datum/status_effect/speech/stutter) @@ -50,7 +50,7 @@ return ..() /datum/brain_trauma/mild/dumbness/on_life(delta_time, times_fired) - owner.adjust_timed_status_effect(5 SECONDS * delta_time, /datum/status_effect/speech/stutter/derpspeech, max_duration = 50 SECONDS) + owner.adjust_derpspeech_up_to(5 SECONDS * delta_time, 50 SECONDS) if(DT_PROB(1.5, delta_time)) owner.emote("drool") else if(owner.stat == CONSCIOUS && DT_PROB(1.5, delta_time)) @@ -90,12 +90,12 @@ if(1) owner.vomit() if(2,3) - owner.adjust_timed_status_effect(20 SECONDS, /datum/status_effect/dizziness) + owner.adjust_dizzy(20 SECONDS) if(4,5) - owner.adjust_timed_status_effect(10 SECONDS, /datum/status_effect/confusion) + owner.adjust_confusion(10 SECONDS) owner.blur_eyes(10) if(6 to 9) - owner.adjust_timed_status_effect(1 MINUTES, /datum/status_effect/speech/slurring/drunk) + owner.adjust_slurring(1 MINUTES) if(10) to_chat(owner, span_notice("You forget for a moment what you were doing.")) owner.Stun(20) diff --git a/code/datums/brain_damage/phobia.dm b/code/datums/brain_damage/phobia.dm index a33ba62c9d5..62294d85e56 100644 --- a/code/datums/brain_damage/phobia.dm +++ b/code/datums/brain_damage/phobia.dm @@ -111,22 +111,22 @@ if(1) to_chat(owner, span_warning("You are paralyzed with fear!")) owner.Stun(70) - owner.set_timed_status_effect(16 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + owner.set_jitter_if_lower(16 SECONDS) if(2) owner.emote("scream") - owner.set_timed_status_effect(10 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + owner.set_jitter_if_lower(10 SECONDS) owner.say("AAAAH!!", forced = "phobia") if(reason) owner.pointed(reason) if(3) to_chat(owner, span_warning("You shut your eyes in terror!")) - owner.set_timed_status_effect(10 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + owner.set_jitter_if_lower(10 SECONDS) owner.adjust_blindness(10) if(4) - owner.adjust_timed_status_effect(20 SECONDS, /datum/status_effect/dizziness) - owner.adjust_timed_status_effect(10 SECONDS, /datum/status_effect/confusion) - owner.set_timed_status_effect(20 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) - owner.adjust_timed_status_effect(20 SECONDS, /datum/status_effect/speech/stutter) + owner.adjust_dizzy(20 SECONDS) + owner.adjust_confusion(10 SECONDS) + owner.set_jitter_if_lower(20 SECONDS) + owner.adjust_stutter(20 SECONDS) // Defined phobia types for badminry, not included in the RNG trauma pool to avoid diluting. diff --git a/code/datums/brain_damage/severe.dm b/code/datums/brain_damage/severe.dm index 492712d39c4..38dd8219279 100644 --- a/code/datums/brain_damage/severe.dm +++ b/code/datums/brain_damage/severe.dm @@ -193,9 +193,9 @@ else to_chat(owner, span_warning("You can't stop shaking...")) - owner.adjust_timed_status_effect(40 SECONDS, /datum/status_effect/dizziness) - owner.adjust_timed_status_effect(20 SECONDS, /datum/status_effect/confusion) - owner.set_timed_status_effect(40 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + owner.adjust_dizzy(40 SECONDS) + owner.adjust_confusion(20 SECONDS) + owner.set_jitter_if_lower(40 SECONDS) if(3, 4) if(high_stress) diff --git a/code/datums/components/tackle.dm b/code/datums/components/tackle.dm index 954b1860754..eee5a77ad5b 100644 --- a/code/datums/components/tackle.dm +++ b/code/datums/components/tackle.dm @@ -436,7 +436,7 @@ user.visible_message(span_danger("[user] slams head-first into [hit], suffering major cranial trauma!"), span_userdanger("You slam head-first into [hit], and the world explodes around you!")) user.adjustStaminaLoss(30, updating_health=FALSE) user.adjustBruteLoss(30) - user.adjust_timed_status_effect(15 SECONDS, /datum/status_effect/confusion) + user.adjust_confusion(15 SECONDS) if(prob(80)) user.gain_trauma(/datum/brain_trauma/mild/concussion) user.playsound_local(get_turf(user), 'sound/weapons/flashbang.ogg', 100, TRUE, 8) @@ -448,7 +448,7 @@ user.visible_message(span_danger("[user] slams hard into [hit], knocking [user.p_them()] senseless!"), span_userdanger("You slam hard into [hit], knocking yourself senseless!")) user.adjustStaminaLoss(30, updating_health=FALSE) user.adjustBruteLoss(10) - user.adjust_timed_status_effect(10 SECONDS, /datum/status_effect/confusion) + user.adjust_confusion(10 SECONDS) user.Knockdown(30) shake_camera(user, 3, 4) diff --git a/code/datums/components/wet_floor.dm b/code/datums/components/wet_floor.dm index 7638beadb28..ac379962672 100644 --- a/code/datums/components/wet_floor.dm +++ b/code/datums/components/wet_floor.dm @@ -71,7 +71,7 @@ if(highest_strength != TURF_WET_LUBE) return - slipped.set_timed_status_effect(8 SECONDS, /datum/status_effect/confusion, only_if_higher = TRUE) + slipped.set_confusion_if_lower(8 SECONDS) /datum/component/wet_floor/proc/update_flags() var/intensity diff --git a/code/datums/diseases/adrenal_crisis.dm b/code/datums/diseases/adrenal_crisis.dm index 011b76fdda3..466f007f831 100644 --- a/code/datums/diseases/adrenal_crisis.dm +++ b/code/datums/diseases/adrenal_crisis.dm @@ -29,10 +29,10 @@ affected_mob.Unconscious(40) if(DT_PROB(10, delta_time)) - affected_mob.adjust_timed_status_effect(14 SECONDS, /datum/status_effect/speech/slurring/drunk) + affected_mob.adjust_slurring(14 SECONDS) if(DT_PROB(7, delta_time)) - affected_mob.set_timed_status_effect(20 SECONDS, /datum/status_effect/dizziness, only_if_higher = TRUE) + affected_mob.set_dizzy_if_lower(20 SECONDS) if(DT_PROB(2.5, delta_time)) to_chat(affected_mob, span_warning(pick("You feel pain shoot down your legs!", "You feel like you are going to pass out at any moment.", "You feel really dizzy."))) diff --git a/code/datums/diseases/advance/symptoms/confusion.dm b/code/datums/diseases/advance/symptoms/confusion.dm index 107b47f452f..064bf4c5c67 100644 --- a/code/datums/diseases/advance/symptoms/confusion.dm +++ b/code/datums/diseases/advance/symptoms/confusion.dm @@ -56,7 +56,7 @@ to_chat(infected_mob, span_warning("[pick("Your head hurts.", "Your mind blanks for a moment.")]")) else to_chat(infected_mob, span_userdanger("You can't think straight!")) - infected_mob.adjust_timed_status_effect(16 SECONDS * power, /datum/status_effect/confusion) + infected_mob.adjust_confusion(16 SECONDS * power) if(brain_damage) infected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 3 * power, 80) infected_mob.updatehealth() diff --git a/code/datums/diseases/advance/symptoms/dizzy.dm b/code/datums/diseases/advance/symptoms/dizzy.dm index 51145573445..aa812800930 100644 --- a/code/datums/diseases/advance/symptoms/dizzy.dm +++ b/code/datums/diseases/advance/symptoms/dizzy.dm @@ -44,6 +44,6 @@ to_chat(M, span_warning("[pick("You feel dizzy.", "Your head spins.")]")) else to_chat(M, span_userdanger("A wave of dizziness washes over you!")) - M.adjust_timed_status_effect(1 MINUTES, /datum/status_effect/dizziness, max_duration = 140 SECONDS) + M.adjust_dizzy_up_to(1 MINUTES, 140 SECONDS) if(power >= 2) - M.set_timed_status_effect(80 SECONDS, /datum/status_effect/drugginess) + M.set_drugginess(80 SECONDS) diff --git a/code/datums/diseases/advance/symptoms/sensory.dm b/code/datums/diseases/advance/symptoms/sensory.dm index b0a5a7787a5..5a2da318702 100644 --- a/code/datums/diseases/advance/symptoms/sensory.dm +++ b/code/datums/diseases/advance/symptoms/sensory.dm @@ -43,10 +43,10 @@ if(A.stage >= 3) - M.adjust_timed_status_effect(-4 SECONDS, /datum/status_effect/dizziness) + M.adjust_dizzy(-4 SECONDS) M.adjust_drowsyness(-2) - M.adjust_timed_status_effect(-1 SECONDS, /datum/status_effect/speech/slurring/drunk) - M.adjust_timed_status_effect(-2 SECONDS, /datum/status_effect/confusion) + M.adjust_slurring(-1 SECONDS) + M.adjust_confusion(-2 SECONDS) if(purge_alcohol) M.reagents.remove_all_type(/datum/reagent/consumable/ethanol, 3) M.adjust_drunk_effect(-5) diff --git a/code/datums/diseases/anxiety.dm b/code/datums/diseases/anxiety.dm index 37235d9f2e1..29f6bf88721 100644 --- a/code/datums/diseases/anxiety.dm +++ b/code/datums/diseases/anxiety.dm @@ -28,15 +28,15 @@ to_chat(affected_mob, span_notice("You feel panicky.")) if(DT_PROB(1, delta_time)) to_chat(affected_mob, span_danger("You're overtaken with panic!")) - affected_mob.adjust_timed_status_effect(rand(2 SECONDS, 3 SECONDS), /datum/status_effect/confusion) + affected_mob.adjust_confusion(rand(2 SECONDS, 3 SECONDS)) if(4) if(DT_PROB(5, delta_time)) to_chat(affected_mob, span_danger("You feel butterflies in your stomach.")) if(DT_PROB(2.5, delta_time)) affected_mob.visible_message(span_danger("[affected_mob] stumbles around in a panic."), \ span_userdanger("You have a panic attack!")) - affected_mob.adjust_timed_status_effect(rand(6 SECONDS, 8 SECONDS), /datum/status_effect/confusion) - affected_mob.adjust_timed_status_effect(rand(12 SECONDS, 16 SECONDS), /datum/status_effect/jitter) + affected_mob.adjust_confusion(rand(6 SECONDS, 8 SECONDS)) + affected_mob.adjust_jitter(rand(12 SECONDS, 16 SECONDS)) if(DT_PROB(1, delta_time)) affected_mob.visible_message(span_danger("[affected_mob] coughs up butterflies!"), \ span_userdanger("You cough up butterflies!")) diff --git a/code/datums/diseases/brainrot.dm b/code/datums/diseases/brainrot.dm index 44cb3d7256e..40b5d4db637 100644 --- a/code/datums/diseases/brainrot.dm +++ b/code/datums/diseases/brainrot.dm @@ -55,4 +55,4 @@ if(prob(1)) affected_mob.emote("snore") if(DT_PROB(7.5, delta_time)) - affected_mob.adjust_timed_status_effect(6 SECONDS, /datum/status_effect/speech/stutter) + affected_mob.adjust_stutter(6 SECONDS) diff --git a/code/datums/diseases/decloning.dm b/code/datums/diseases/decloning.dm index b85d0a1bc93..cdae5911a3a 100644 --- a/code/datums/diseases/decloning.dm +++ b/code/datums/diseases/decloning.dm @@ -47,7 +47,7 @@ affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1, 170) affected_mob.adjustCloneLoss(2, FALSE) if(DT_PROB(7.5, delta_time)) - affected_mob.adjust_timed_status_effect(6 SECONDS, /datum/status_effect/speech/stutter) + affected_mob.adjust_stutter(6 SECONDS) if(5) if(DT_PROB(1, delta_time)) affected_mob.emote("itch") diff --git a/code/datums/diseases/heart_failure.dm b/code/datums/diseases/heart_failure.dm index 57be48b5879..2d9403ec77b 100644 --- a/code/datums/diseases/heart_failure.dm +++ b/code/datums/diseases/heart_failure.dm @@ -37,7 +37,7 @@ to_chat(affected_mob, span_warning("You feel [pick("discomfort", "pressure", "a burning sensation", "pain")] in your chest.")) if(DT_PROB(1, delta_time)) to_chat(affected_mob, span_warning("You feel dizzy.")) - affected_mob.adjust_timed_status_effect(6 SECONDS, /datum/status_effect/confusion) + affected_mob.adjust_confusion(6 SECONDS) if(DT_PROB(1.5, delta_time)) to_chat(affected_mob, span_warning("You feel [pick("full", "nauseated", "sweaty", "weak", "tired", "short on breath", "uneasy")].")) if(3 to 4) @@ -53,7 +53,7 @@ affected_mob.losebreath += 4 if(DT_PROB(1.5, delta_time)) to_chat(affected_mob, span_danger("You feel very weak and dizzy...")) - affected_mob.adjust_timed_status_effect(8 SECONDS, /datum/status_effect/confusion) + affected_mob.adjust_confusion(8 SECONDS) affected_mob.adjustStaminaLoss(40, FALSE) affected_mob.emote("cough") if(5) diff --git a/code/datums/diseases/transformation.dm b/code/datums/diseases/transformation.dm index e6e125b5cb9..2b50a6d69b2 100644 --- a/code/datums/diseases/transformation.dm +++ b/code/datums/diseases/transformation.dm @@ -137,7 +137,7 @@ if(3) if(DT_PROB(2, delta_time)) to_chat(affected_mob, span_danger("You feel a stabbing pain in your head.")) - affected_mob.adjust_timed_status_effect(10 SECONDS, /datum/status_effect/confusion) + affected_mob.adjust_confusion(10 SECONDS) if(4) if(DT_PROB(1.5, delta_time)) affected_mob.say(pick("Eeek, ook ook!", "Eee-eeek!", "Eeee!", "Ungh, ungh."), forced = "jungle fever") diff --git a/code/datums/diseases/tuberculosis.dm b/code/datums/diseases/tuberculosis.dm index 55d039e7e32..ed39e40c264 100644 --- a/code/datums/diseases/tuberculosis.dm +++ b/code/datums/diseases/tuberculosis.dm @@ -30,7 +30,7 @@ if(4) if(DT_PROB(1, delta_time)) to_chat(affected_mob, span_userdanger("You see four of everything!")) - affected_mob.set_timed_status_effect(10 SECONDS, /datum/status_effect/dizziness, only_if_higher = TRUE) + affected_mob.set_dizzy_if_lower(10 SECONDS) if(DT_PROB(1, delta_time)) to_chat(affected_mob, span_danger("You feel a sharp pain from your lower chest!")) affected_mob.adjustOxyLoss(5, FALSE) @@ -49,7 +49,7 @@ affected_mob.AdjustSleeping(100) if(DT_PROB(1, delta_time)) to_chat(affected_mob, span_userdanger("You feel your mind relax and your thoughts drift!")) - affected_mob.adjust_timed_status_effect(8 SECONDS, /datum/status_effect/confusion, max_duration = 100 SECONDS) + affected_mob.adjust_confusion_up_to(8 SECONDS, 100 SECONDS) if(DT_PROB(5, delta_time)) affected_mob.vomit(20) if(DT_PROB(1.5, delta_time)) diff --git a/code/datums/elements/spooky.dm b/code/datums/elements/spooky.dm index 40c30de1c66..4edb95b2d3e 100644 --- a/code/datums/elements/spooky.dm +++ b/code/datums/elements/spooky.dm @@ -21,8 +21,8 @@ var/mob/living/carbon/human/U = user if(!istype(U.dna.species, /datum/species/skeleton)) U.adjustStaminaLoss(35) //Extra Damage - U.set_timed_status_effect(70 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) - U.set_timed_status_effect(40 SECONDS, /datum/status_effect/speech/stutter) + U.set_jitter_if_lower(70 SECONDS) + U.set_stutter(40 SECONDS) if(U.getStaminaLoss() > 95) to_chat(U, "Your ears weren't meant for this spectral sound.") INVOKE_ASYNC(src, .proc/spectral_change, U) @@ -35,16 +35,16 @@ if(istype(H.dna.species, /datum/species/zombie)) H.adjustStaminaLoss(25) H.Paralyze(15) //zombies can't resist the doot - C.set_timed_status_effect(70 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) - C.set_timed_status_effect(40 SECONDS, /datum/status_effect/speech/stutter) + C.set_jitter_if_lower(70 SECONDS) + C.set_stutter(40 SECONDS) if((!istype(H.dna.species, /datum/species/skeleton)) && (!istype(H.dna.species, /datum/species/golem)) && (!istype(H.dna.species, /datum/species/android)) && (!istype(H.dna.species, /datum/species/jelly))) C.adjustStaminaLoss(25) //boneless humanoids don't lose the will to live to_chat(C, "DOOT") INVOKE_ASYNC(src, .proc/spectral_change, H) else //the sound will spook monkeys. - C.set_timed_status_effect(30 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) - C.set_timed_status_effect(40 SECONDS, /datum/status_effect/speech/stutter) + C.set_jitter_if_lower(30 SECONDS) + C.set_stutter(40 SECONDS) /datum/element/spooky/proc/spectral_change(mob/living/carbon/human/H, mob/user) if((H.getStaminaLoss() > 95) && (!istype(H.dna.species, /datum/species/skeleton)) && (!istype(H.dna.species, /datum/species/golem)) && (!istype(H.dna.species, /datum/species/android)) && (!istype(H.dna.species, /datum/species/jelly))) diff --git a/code/datums/martial/cqc.dm b/code/datums/martial/cqc.dm index 86da1ab6235..0f901e3e023 100644 --- a/code/datums/martial/cqc.dm +++ b/code/datums/martial/cqc.dm @@ -222,7 +222,7 @@ playsound(get_turf(D), 'sound/weapons/cqchit1.ogg', 50, TRUE, -1) if(I && D.temporarilyRemoveItemFromInventory(I)) A.put_in_hands(I) - D.set_timed_status_effect(4 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + D.set_jitter_if_lower(4 SECONDS) D.apply_damage(5, A.get_attack_type()) else D.visible_message(span_danger("[A] fails to disarm [D]!"), \ diff --git a/code/datums/mutations/body.dm b/code/datums/mutations/body.dm index 66f18394918..dfab1c57977 100644 --- a/code/datums/mutations/body.dm +++ b/code/datums/mutations/body.dm @@ -18,7 +18,7 @@ return owner.visible_message(span_danger("[owner] starts having a seizure!"), span_userdanger("You have a seizure!")) owner.Unconscious(200 * GET_MUTATION_POWER(src)) - owner.set_timed_status_effect(2000 SECONDS * GET_MUTATION_POWER(src), /datum/status_effect/jitter) //yes this number looks crazy but the jitter animations are amplified based on the duration. + owner.set_jitter(2000 SECONDS * GET_MUTATION_POWER(src)) //yes this number looks crazy but the jitter animations are amplified based on the duration. owner.add_mood_event("epilepsy", /datum/mood_event/epilepsy) addtimer(CALLBACK(src, .proc/jitter_less), 90) @@ -26,7 +26,7 @@ if(QDELETED(owner)) return - owner.set_timed_status_effect(20 SECONDS, /datum/status_effect/jitter) + owner.set_jitter(20 SECONDS) /datum/mutation/human/epilepsy/on_acquiring(mob/living/carbon/human/acquirer) if(..()) @@ -489,7 +489,7 @@ H.Stun(20) H.blur_eyes(20) eyes?.applyOrganDamage(5) - H.adjust_timed_status_effect(3 SECONDS, /datum/status_effect/confusion) + H.adjust_confusion(3 SECONDS) for(var/mob/living/silicon/S in view(2,owner)) to_chat(S, span_userdanger("Your sensors are disabled by a shower of blood!")) S.Paralyze(60) diff --git a/code/datums/mutations/speech.dm b/code/datums/mutations/speech.dm index 30203107604..49bddac7ee5 100644 --- a/code/datums/mutations/speech.dm +++ b/code/datums/mutations/speech.dm @@ -9,7 +9,7 @@ /datum/mutation/human/nervousness/on_life(delta_time, times_fired) if(DT_PROB(5, delta_time)) - owner.set_timed_status_effect(20 SECONDS, /datum/status_effect/speech/stutter, only_if_higher = TRUE) + owner.set_stutter_if_lower(20 SECONDS) /datum/mutation/human/wacky name = "Wacky" diff --git a/code/datums/mutations/touch.dm b/code/datums/mutations/touch.dm index 4328e397c6a..457cdf55406 100644 --- a/code/datums/mutations/touch.dm +++ b/code/datums/mutations/touch.dm @@ -28,7 +28,7 @@ if(carbon_victim.electrocute_act(15, caster, 1, SHOCK_NOGLOVES | SHOCK_NOSTUN))//doesnt stun. never let this stun carbon_victim.dropItemToGround(carbon_victim.get_active_held_item()) carbon_victim.dropItemToGround(carbon_victim.get_inactive_held_item()) - carbon_victim.adjust_timed_status_effect(15 SECONDS, /datum/status_effect/confusion) + carbon_victim.adjust_confusion(15 SECONDS) carbon_victim.visible_message( span_danger("[caster] electrocutes [victim]!"), span_userdanger("[caster] electrocutes you!"), diff --git a/code/datums/quirks/negative.dm b/code/datums/quirks/negative.dm index 51b59d13a9f..ef7da07d449 100644 --- a/code/datums/quirks/negative.dm +++ b/code/datums/quirks/negative.dm @@ -571,7 +571,7 @@ break if(prob(max(5,(nearby_people*12.5*moodmod)))) //Minimum 1/20 chance of stutter // Add a short stutter, THEN treat our word - quirker.adjust_timed_status_effect(0.5 SECONDS, /datum/status_effect/speech/stutter) + quirker.adjust_stutter(0.5 SECONDS) new_message += quirker.treat_message(word, capitalize_message = FALSE) else @@ -617,10 +617,10 @@ switch(rand(1,3)) if(1) - quirk_holder.set_timed_status_effect(20 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + quirk_holder.set_jitter_if_lower(20 SECONDS) msg += "causing you to start fidgeting!" if(2) - quirk_holder.set_timed_status_effect(6 SECONDS, /datum/status_effect/speech/stutter, only_if_higher = TRUE) + quirk_holder.set_stutter_if_lower(6 SECONDS) msg += "causing you to start stuttering!" if(3) quirk_holder.Stun(2 SECONDS) diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm index a1385b90dbf..c6156b1470e 100644 --- a/code/datums/status_effects/buffs.dm +++ b/code/datums/status_effects/buffs.dm @@ -318,9 +318,9 @@ /datum/status_effect/good_music/tick() if(owner.can_hear()) - owner.adjust_timed_status_effect(-4 SECONDS, /datum/status_effect/dizziness) - owner.adjust_timed_status_effect(-4 SECONDS, /datum/status_effect/jitter) - owner.adjust_timed_status_effect(-1 SECONDS, /datum/status_effect/confusion) + owner.adjust_dizzy(-4 SECONDS) + owner.adjust_jitter(-4 SECONDS) + owner.adjust_confusion(-1 SECONDS) owner.add_mood_event("goodmusic", /datum/mood_event/goodmusic) /atom/movable/screen/alert/status_effect/regenerative_core diff --git a/code/datums/status_effects/debuffs/debuffs.dm b/code/datums/status_effects/debuffs/debuffs.dm index 142354fb21e..6e794846b46 100644 --- a/code/datums/status_effects/debuffs/debuffs.dm +++ b/code/datums/status_effects/debuffs/debuffs.dm @@ -551,7 +551,7 @@ /datum/status_effect/trance/tick() if(stun) owner.Stun(6 SECONDS, TRUE) - owner.set_timed_status_effect(40 SECONDS, /datum/status_effect/dizziness) + owner.set_dizzy(40 SECONDS) /datum/status_effect/trance/on_apply() if(!iscarbon(owner)) @@ -671,7 +671,7 @@ span_notice("[H]'s hand convulses, and they drop their [I.name]!"), span_userdanger("Your hand convulses violently, and you drop what you were holding!"), ) - H.adjust_timed_status_effect(10 SECONDS, /datum/status_effect/jitter) + H.adjust_jitter(10 SECONDS) /atom/movable/screen/alert/status_effect/convulsing name = "Shaky Hands" diff --git a/code/datums/status_effects/debuffs/drunk.dm b/code/datums/status_effects/debuffs/drunk.dm index 00214676272..bae68bc241f 100644 --- a/code/datums/status_effects/debuffs/drunk.dm +++ b/code/datums/status_effects/debuffs/drunk.dm @@ -157,27 +157,27 @@ // There's always a 30% chance to gain some drunken slurring if(prob(30)) - owner.adjust_timed_status_effect(4 SECONDS, /datum/status_effect/speech/slurring/drunk) + owner.adjust_slurring(4 SECONDS) // And drunk people will always lose jitteriness - owner.adjust_timed_status_effect(-6 SECONDS, /datum/status_effect/jitter) + owner.adjust_jitter(-6 SECONDS) // Over 11, we will constantly gain slurring up to 10 seconds of slurring. if(drunk_value >= 11) - owner.adjust_timed_status_effect(2.4 SECONDS, /datum/status_effect/speech/slurring/drunk, max_duration = 10 SECONDS) + owner.adjust_slurring_up_to(2.4 SECONDS, 10 SECONDS) // Over 41, we have a 30% chance to gain confusion, and we will always have 20 seconds of dizziness. if(drunk_value >= 41) if(prob(30)) - owner.adjust_timed_status_effect(2 SECONDS, /datum/status_effect/confusion) + owner.adjust_confusion(2 SECONDS) - owner.set_timed_status_effect(20 SECONDS, /datum/status_effect/dizziness, only_if_higher = TRUE) + owner.set_dizzy_if_lower(20 SECONDS) // Over 51, we have a 3% chance to gain a lot of confusion and vomit, and we will always have 50 seconds of dizziness if(drunk_value >= 51) - owner.set_timed_status_effect(50 SECONDS, /datum/status_effect/dizziness, only_if_higher = TRUE) + owner.set_dizzy_if_lower(50 SECONDS) if(prob(3)) - owner.adjust_timed_status_effect(15 SECONDS, /datum/status_effect/confusion) + owner.adjust_confusion(15 SECONDS) if(iscarbon(owner)) var/mob/living/carbon/carbon_owner = owner carbon_owner.vomit() // Vomiting clears toxloss - consider this a blessing diff --git a/code/datums/status_effects/drug_effects.dm b/code/datums/status_effects/drug_effects.dm index 295c253c6f4..ea9327a54e5 100644 --- a/code/datums/status_effects/drug_effects.dm +++ b/code/datums/status_effects/drug_effects.dm @@ -49,7 +49,7 @@ return FALSE var/amplitude = rand(1 SECONDS, 3 SECONDS) duration = amplitude - owner.set_timed_status_effect(100 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + owner.set_jitter_if_lower(100 SECONDS) owner.Paralyze(duration) owner.visible_message(span_warning("[owner] drops to the ground as [owner.p_they()] start seizing up."), \ span_warning("[pick("You can't collect your thoughts...", "You suddenly feel extremely dizzy...", "You cant think straight...","You can't move your face properly anymore...")]")) diff --git a/code/datums/status_effects/neutral.dm b/code/datums/status_effects/neutral.dm index fc04bb21ad3..a162766e3f1 100644 --- a/code/datums/status_effects/neutral.dm +++ b/code/datums/status_effects/neutral.dm @@ -342,14 +342,14 @@ //phase 1 if(1 to EIGENSTASIUM_PHASE_1_END) - owner.set_timed_status_effect(4 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + owner.set_jitter_if_lower(4 SECONDS) owner.adjust_nutrition(-4) //phase 2 if(EIGENSTASIUM_PHASE_1_END to EIGENSTASIUM_PHASE_2_END) if(current_cycle == 51) to_chat(owner, span_userdanger("You start to convlse violently as you feel your consciousness merges across realities, your possessions flying wildy off your body!")) - owner.set_timed_status_effect(400 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + owner.set_jitter_if_lower(400 SECONDS) owner.Knockdown(10) var/list/items = list() @@ -377,7 +377,7 @@ //Clone function - spawns a clone then deletes it - simulates multiple copies of the player teleporting in switch(phase_3_cycle) //Loops 0 -> 1 -> 2 -> 1 -> 2 -> 1 ...ect. if(0) - owner.set_timed_status_effect(200 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + owner.set_jitter_if_lower(200 SECONDS) to_chat(owner, span_userdanger("Your eigenstate starts to rip apart, drawing in alternative reality versions of yourself!")) if(1) var/typepath = owner.type @@ -406,7 +406,7 @@ do_teleport(owner, get_turf(owner), 2, no_effects=TRUE) //teleports clone so it's hard to find the real one! do_sparks(5, FALSE, owner) owner.Sleeping(100) - owner.set_timed_status_effect(100 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + owner.set_jitter_if_lower(100 SECONDS) to_chat(owner, span_userdanger("You feel your eigenstate settle, as \"you\" become an alternative version of yourself!")) owner.emote("me",1,"flashes into reality suddenly, gasping as they gaze around in a bewildered and highly confused fashion!",TRUE) owner.log_message("has become an alternative universe version of themselves via EIGENSTASIUM.", LOG_GAME) diff --git a/code/game/machinery/hypnochair.dm b/code/game/machinery/hypnochair.dm index d67ac576198..f3866db4900 100644 --- a/code/game/machinery/hypnochair.dm +++ b/code/game/machinery/hypnochair.dm @@ -154,18 +154,18 @@ var/time_diff = world.time - start_time switch(time_diff) if(0 to 100) - victim.adjust_timed_status_effect(10 SECONDS, /datum/status_effect/confusion) - victim.set_timed_status_effect(200 SECONDS, /datum/status_effect/dizziness, only_if_higher = TRUE) + victim.adjust_confusion(10 SECONDS) + victim.set_dizzy_if_lower(200 SECONDS) victim.blur_eyes(5) if(101 to 200) - victim.adjust_timed_status_effect(15 SECONDS, /datum/status_effect/confusion) - victim.set_timed_status_effect(400 SECONDS, /datum/status_effect/dizziness, only_if_higher = TRUE) + victim.adjust_confusion(15 SECONDS) + victim.set_dizzy_if_lower(400 SECONDS) victim.blur_eyes(10) if(prob(25)) victim.apply_status_effect(/datum/status_effect/trance, rand(50,150), FALSE) if(201 to INFINITY) - victim.adjust_timed_status_effect(20 SECONDS, /datum/status_effect/confusion) - victim.set_timed_status_effect(600 SECONDS, /datum/status_effect/dizziness, only_if_higher = TRUE) + victim.adjust_confusion(20 SECONDS) + victim.set_dizzy_if_lower(600 SECONDS) victim.blur_eyes(15) if(prob(65)) victim.apply_status_effect(/datum/status_effect/trance, rand(50,150), FALSE) diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index 74279695a73..e37d14d29a3 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -489,7 +489,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/start/new_player) var/mob/living/carbon/spawned_carbon = hangover_mob spawned_carbon.set_resting(TRUE, silent = TRUE) if(prob(50)) - spawned_carbon.adjust_timed_status_effect(rand(30 SECONDS, 40 SECONDS), /datum/status_effect/drugginess) + spawned_carbon.adjust_drugginess(rand(30 SECONDS, 40 SECONDS)) else spawned_carbon.adjust_drunk_effect(rand(15, 25)) spawned_carbon.adjust_disgust(rand(5, 55)) //How hungover are you? diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index dd4b89f6248..bd70a2081f6 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -701,7 +701,7 @@ user.playsound_local(get_turf(src), slowbeat, 40, 0, channel = CHANNEL_HEARTBEAT, use_reverb = FALSE) if(isliving(user)) var/mob/living/living_user = user - living_user.adjust_timed_status_effect(10 SECONDS, /datum/status_effect/jitter) + living_user.adjust_jitter(10 SECONDS) addtimer(CALLBACK(src, .proc/drop_card, user), 10 SECONDS) . += span_notice("There's more information below, you can look again to take a closer look...") diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index 4a702294d4b..cfe92525fcb 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -517,7 +517,7 @@ span_userdanger("[user] touches [M] with [src]!")) M.adjustStaminaLoss(60) M.Knockdown(75) - M.set_timed_status_effect(100 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + M.set_jitter_if_lower(100 SECONDS) M.apply_status_effect(/datum/status_effect/convulsing) playsound(src, 'sound/machines/defib_zap.ogg', 50, TRUE, -1) if(HAS_TRAIT(M,MOB_ORGANIC)) @@ -563,7 +563,7 @@ H.apply_damage(50, BURN, BODY_ZONE_CHEST) log_combat(user, H, "overloaded the heart of", defib) H.Paralyze(100) - H.set_timed_status_effect(200 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + H.set_jitter_if_lower(200 SECONDS) do_success() return do_cancel() @@ -638,7 +638,7 @@ H.grab_ghost() H.revive(full_heal = FALSE, admin_revive = FALSE) H.emote("gasp") - H.set_timed_status_effect(200 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + H.set_jitter_if_lower(200 SECONDS) SEND_SIGNAL(H, COMSIG_LIVING_MINOR_SHOCK) user.add_mood_event("saved_life", /datum/mood_event/saved_life) log_combat(user, H, "revived", defib) diff --git a/code/game/objects/items/grenades/hypno.dm b/code/game/objects/items/grenades/hypno.dm index 074a94c6f12..422f3c8be5f 100644 --- a/code/game/objects/items/grenades/hypno.dm +++ b/code/game/objects/items/grenades/hypno.dm @@ -67,5 +67,5 @@ else to_chat(target, span_hypnophrase("The light is so pretty...")) target.adjust_drowsyness(min(target.drowsyness + 10, 20)) - target.adjust_timed_status_effect(10 SECONDS, /datum/status_effect/confusion, max_duration = 20 SECONDS) - target.adjust_timed_status_effect(20 SECONDS, /datum/status_effect/dizziness, max_duration = 40 SECONDS) + target.adjust_confusion_up_to(10 SECONDS, 20 SECONDS) + target.adjust_dizzy_up_to(20 SECONDS, 40 SECONDS) diff --git a/code/game/objects/items/hand_items.dm b/code/game/objects/items/hand_items.dm index aad4dabb8b8..d85af6ec71a 100644 --- a/code/game/objects/items/hand_items.dm +++ b/code/game/objects/items/hand_items.dm @@ -234,7 +234,7 @@ SEND_SOUND(slapped, sound('sound/weapons/flash_ring.ogg')) shake_camera(slapped, 2, 2) slapped.Paralyze(2.5 SECONDS) - slapped.adjust_timed_status_effect(7 SECONDS, /datum/status_effect/confusion) + slapped.adjust_confusion(7 SECONDS) slapped.adjustStaminaLoss(40) else if(user.zone_selected == BODY_ZONE_HEAD || user.zone_selected == BODY_ZONE_PRECISE_MOUTH) if(user == slapped) @@ -495,12 +495,12 @@ if(1) other_msg = "stumbles slightly, turning a bright red!" self_msg = "You lose control of your limbs for a moment as your blood rushes to your face, turning it bright red!" - living_target.adjust_timed_status_effect(rand(5 SECONDS, 10 SECONDS), /datum/status_effect/confusion) + living_target.adjust_confusion(rand(5 SECONDS, 10 SECONDS)) if(2) other_msg = "stammers softly for a moment before choking on something!" self_msg = "You feel your tongue disappear down your throat as you fight to remember how to make words!" addtimer(CALLBACK(living_target, /atom/movable.proc/say, pick("Uhhh...", "O-oh, uhm...", "I- uhhhhh??", "You too!!", "What?")), rand(0.5 SECONDS, 1.5 SECONDS)) - living_target.adjust_timed_status_effect(rand(10 SECONDS, 30 SECONDS), /datum/status_effect/speech/stutter) + living_target.adjust_stutter(rand(10 SECONDS, 30 SECONDS)) if(3) other_msg = "locks up with a stunned look on [living_target.p_their()] face, staring at [firer ? firer : "the ceiling"]!" self_msg = "Your brain completely fails to process what just happened, leaving you rooted in place staring at [firer ? "[firer]" : "the ceiling"] for what feels like an eternity!" diff --git a/code/game/objects/items/melee/baton.dm b/code/game/objects/items/melee/baton.dm index 45fa4ba0fa6..c03abf6eacd 100644 --- a/code/game/objects/items/melee/baton.dm +++ b/code/game/objects/items/melee/baton.dm @@ -371,8 +371,8 @@ return span_danger("The baton is still charging!") /obj/item/melee/baton/telescopic/contractor_baton/additional_effects_non_cyborg(mob/living/target, mob/living/user) - target.set_timed_status_effect(40 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) - target.adjust_timed_status_effect(40 SECONDS, /datum/status_effect/speech/stutter) + target.set_jitter_if_lower(40 SECONDS) + target.adjust_stutter(40 SECONDS) /obj/item/melee/baton/security name = "stun baton" @@ -563,9 +563,9 @@ * After a period of time, we then check to see what stun duration we give. */ /obj/item/melee/baton/security/additional_effects_non_cyborg(mob/living/target, mob/living/user) - target.set_timed_status_effect(40 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) - target.set_timed_status_effect(10 SECONDS, /datum/status_effect/confusion, only_if_higher = TRUE) - target.set_timed_status_effect(16 SECONDS, /datum/status_effect/speech/stutter, only_if_higher = TRUE) + target.set_jitter_if_lower(40 SECONDS) + target.set_confusion_if_lower(10 SECONDS) + target.set_stutter_if_lower(16 SECONDS) SEND_SIGNAL(target, COMSIG_LIVING_MINOR_SHOCK) addtimer(CALLBACK(src, .proc/apply_stun_effect_end, target), 2 SECONDS) diff --git a/code/game/objects/items/robot/items/generic.dm b/code/game/objects/items/robot/items/generic.dm index 0b2eb4b642d..0d102c044c6 100644 --- a/code/game/objects/items/robot/items/generic.dm +++ b/code/game/objects/items/robot/items/generic.dm @@ -31,7 +31,7 @@ user.do_attack_animation(attacked_mob) attacked_mob.Paralyze(100) - attacked_mob.adjust_timed_status_effect(10 SECONDS, /datum/status_effect/speech/stutter) + attacked_mob.adjust_stutter(10 SECONDS) attacked_mob.visible_message(span_danger("[user] prods [attacked_mob] with [src]!"), \ span_userdanger("[user] prods you with [src]!")) @@ -326,7 +326,7 @@ for(var/mob/living/carbon/carbon in get_hearers_in_view(9, user)) if(carbon.get_ear_protection()) continue - carbon.adjust_timed_status_effect(6 SECONDS, /datum/status_effect/confusion) + carbon.adjust_confusion(6 SECONDS) audible_message("HUMAN HARM") playsound(get_turf(src), 'sound/ai/harmalarm.ogg', 70, 3) @@ -341,14 +341,14 @@ var/bang_effect = carbon.soundbang_act(2, 0, 0, 5) switch(bang_effect) if(1) - carbon.adjust_timed_status_effect(5 SECONDS, /datum/status_effect/confusion) - carbon.adjust_timed_status_effect(20 SECONDS, /datum/status_effect/speech/stutter) - carbon.adjust_timed_status_effect(20 SECONDS, /datum/status_effect/jitter) + carbon.adjust_confusion(5 SECONDS) + carbon.adjust_stutter(20 SECONDS) + carbon.adjust_jitter(20 SECONDS) if(2) carbon.Paralyze(40) - carbon.adjust_timed_status_effect(10 SECONDS, /datum/status_effect/confusion) - carbon.adjust_timed_status_effect(30 SECONDS, /datum/status_effect/speech/stutter) - carbon.adjust_timed_status_effect(50 SECONDS, /datum/status_effect/jitter) + carbon.adjust_confusion(10 SECONDS) + carbon.adjust_stutter(30 SECONDS) + carbon.adjust_jitter(50 SECONDS) playsound(get_turf(src), 'sound/machines/warning-buzzer.ogg', 130, 3) COOLDOWN_START(src, alarm_cooldown, HARM_ALARM_NO_SAFETY_COOLDOWN) user.log_message("used an emagged Cyborg Harm Alarm", LOG_ATTACK) diff --git a/code/game/objects/structures/maintenance.dm b/code/game/objects/structures/maintenance.dm index 8f853291a76..21a568f4be4 100644 --- a/code/game/objects/structures/maintenance.dm +++ b/code/game/objects/structures/maintenance.dm @@ -199,7 +199,7 @@ at the cost of risking a vicious bite.**/ visible_message(span_warning("You start feeling nauseous...")) for(var/mob/living/viewing_mob in viewers(7, src)) viewing_mob.blur_eyes(10) - viewing_mob.adjust_timed_status_effect(10 SECONDS, /datum/status_effect/confusion) + viewing_mob.adjust_confusion(10 SECONDS) addtimer(CALLBACK(src, .proc/pants_stagethree), ALTAR_TIME) /// Continues the creation, making every mob nearby dizzy @@ -208,7 +208,7 @@ at the cost of risking a vicious bite.**/ update_icon() visible_message(span_warning("You start feeling horrible...")) for(var/mob/living/viewing_mob in viewers(7, src)) - viewing_mob.set_timed_status_effect(20 SECONDS, /datum/status_effect/dizziness, only_if_higher = TRUE) + viewing_mob.set_dizzy_if_lower(20 SECONDS) addtimer(CALLBACK(src, .proc/pants_create), ALTAR_TIME) /// Finishes the creation, creating the item itself, setting the cooldowns and flashing every mob nearby. diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 2922c08ce50..8b19d9ac2b2 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -379,7 +379,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sink, (-14)) if(baton.cell?.charge && baton.active) flick("baton_active", src) user.Paralyze(baton.knockdown_time) - user.set_timed_status_effect(baton.knockdown_time, /datum/status_effect/speech/stutter) + user.set_stutter(baton.knockdown_time) baton.cell.use(baton.cell_hit_cost) user.visible_message(span_warning("[user] shocks [user.p_them()]self while attempting to wash the active [baton.name]!"), \ span_userdanger("You unwisely attempt to wash [baton] while it's still on.")) @@ -628,7 +628,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sink/kitchen, (-16)) if(baton.cell?.charge && baton.active) flick("baton_active", src) user.Paralyze(baton.knockdown_time) - user.set_timed_status_effect(baton.knockdown_time, /datum/status_effect/speech/stutter) + user.set_stutter(baton.knockdown_time) baton.cell.use(baton.cell_hit_cost) user.visible_message(span_warning("[user] shocks [user.p_them()]self while attempting to wash the active [baton.name]!"), \ span_userdanger("You unwisely attempt to wash [baton] while it's still on.")) diff --git a/code/modules/admin/smites/bsa.dm b/code/modules/admin/smites/bsa.dm index 15dc72ee033..58503a43db1 100644 --- a/code/modules/admin/smites/bsa.dm +++ b/code/modules/admin/smites/bsa.dm @@ -27,7 +27,7 @@ else target.adjustBruteLoss(min(BSA_MAX_DAMAGE, target.health - 1)) target.Paralyze(BSA_PARALYZE_TIME) - target.set_timed_status_effect(BSA_STUTTER_TIME, /datum/status_effect/speech/stutter) + target.set_stutter(BSA_STUTTER_TIME) #undef BSA_CHANCE_TO_BREAK_TILE_TO_PLATING #undef BSA_MAX_DAMAGE diff --git a/code/modules/antagonists/abductor/equipment/abduction_gear.dm b/code/modules/antagonists/abductor/equipment/abduction_gear.dm index 21295fd3279..cbd6ba45fff 100644 --- a/code/modules/antagonists/abductor/equipment/abduction_gear.dm +++ b/code/modules/antagonists/abductor/equipment/abduction_gear.dm @@ -513,9 +513,9 @@ Congratulations! You are now trained for invasive xenobiology research!"} if(BATON_STUN) target.visible_message(span_danger("[user] stuns [target] with [src]!"), span_userdanger("[user] stuns you with [src]!")) - target.set_timed_status_effect(40 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) - target.set_timed_status_effect(10 SECONDS, /datum/status_effect/confusion, only_if_higher = TRUE) - target.set_timed_status_effect(16 SECONDS, /datum/status_effect/speech/stutter, only_if_higher = TRUE) + target.set_jitter_if_lower(40 SECONDS) + target.set_confusion_if_lower(10 SECONDS) + target.set_stutter_if_lower(16 SECONDS) SEND_SIGNAL(target, COMSIG_LIVING_MINOR_SHOCK) target.Paralyze(knockdown_time * (HAS_TRAIT(target, TRAIT_BATON_RESISTANCE) ? 0.1 : 1)) if(BATON_SLEEP) diff --git a/code/modules/antagonists/abductor/equipment/glands/mindshock.dm b/code/modules/antagonists/abductor/equipment/glands/mindshock.dm index 5b95c609e98..677000a56f8 100644 --- a/code/modules/antagonists/abductor/equipment/glands/mindshock.dm +++ b/code/modules/antagonists/abductor/equipment/glands/mindshock.dm @@ -25,7 +25,7 @@ target.Stun(50) if(2) to_chat(target, span_warning("You hear an annoying buzz in your head.")) - target.adjust_timed_status_effect(15 SECONDS, /datum/status_effect/confusion) + target.adjust_confusion(15 SECONDS) target.adjustOrganLoss(ORGAN_SLOT_BRAIN, 10, 160) if(3) target.adjust_hallucinations(120 SECONDS) diff --git a/code/modules/antagonists/blob/blobstrains/regenerative_materia.dm b/code/modules/antagonists/blob/blobstrains/regenerative_materia.dm index d1583f2443d..5693816b92e 100644 --- a/code/modules/antagonists/blob/blobstrains/regenerative_materia.dm +++ b/code/modules/antagonists/blob/blobstrains/regenerative_materia.dm @@ -18,7 +18,7 @@ /datum/reagent/blob/regenerative_materia/expose_mob(mob/living/exposed_mob, methods=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/overmind) . = ..() reac_volume = return_mob_expose_reac_volume(exposed_mob, methods, reac_volume, show_message, touch_protection, overmind) - exposed_mob.adjust_timed_status_effect(reac_volume * 2 SECONDS, /datum/status_effect/drugginess) + exposed_mob.adjust_drugginess(reac_volume * 2 SECONDS) if(exposed_mob.reagents) exposed_mob.reagents.add_reagent(/datum/reagent/blob/regenerative_materia, 0.2*reac_volume) exposed_mob.reagents.add_reagent(/datum/reagent/toxin/spore, 0.2*reac_volume) diff --git a/code/modules/antagonists/changeling/powers/headcrab.dm b/code/modules/antagonists/changeling/powers/headcrab.dm index f89989dce57..b718db7c599 100644 --- a/code/modules/antagonists/changeling/powers/headcrab.dm +++ b/code/modules/antagonists/changeling/powers/headcrab.dm @@ -25,7 +25,7 @@ to_chat(blinded_humans, span_userdanger("You are blinded by a shower of blood!")) blinded_humans.Stun(20) blinded_humans.blur_eyes(20) - blinded_humans.adjust_timed_status_effect(3 SECONDS, /datum/status_effect/confusion) + blinded_humans.adjust_confusion(3 SECONDS) for(var/mob/living/silicon/blinded_silicons in range(2,user)) to_chat(blinded_silicons, span_userdanger("Your sensors are disabled by a shower of blood!")) diff --git a/code/modules/antagonists/changeling/powers/shriek.dm b/code/modules/antagonists/changeling/powers/shriek.dm index dd99b5c2e92..89cba99b6da 100644 --- a/code/modules/antagonists/changeling/powers/shriek.dm +++ b/code/modules/antagonists/changeling/powers/shriek.dm @@ -17,8 +17,8 @@ var/obj/item/organ/internal/ears/ears = C.getorganslot(ORGAN_SLOT_EARS) if(ears) ears.adjustEarDamage(0, 30) - C.adjust_timed_status_effect(25 SECONDS, /datum/status_effect/confusion) - C.set_timed_status_effect(100 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + C.adjust_confusion(25 SECONDS) + C.set_jitter_if_lower(100 SECONDS) else SEND_SOUND(C, sound('sound/effects/screech.ogg')) diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm index c4d343e845d..1d34147d836 100644 --- a/code/modules/antagonists/cult/blood_magic.dm +++ b/code/modules/antagonists/cult/blood_magic.dm @@ -419,9 +419,9 @@ else if(iscarbon(target)) var/mob/living/carbon/carbon_target = target carbon_target.silent += 6 - carbon_target.adjust_timed_status_effect(30 SECONDS, /datum/status_effect/speech/stutter) + carbon_target.adjust_stutter(30 SECONDS) carbon_target.adjust_timed_status_effect(30 SECONDS, /datum/status_effect/speech/slurring/cult) - carbon_target.set_timed_status_effect(30 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + carbon_target.set_jitter_if_lower(30 SECONDS) uses-- ..() diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index afd6ebc87e8..c9853362a0e 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -476,7 +476,7 @@ Striking a noncultist, however, will tear their flesh."} to_chat(user, span_cultlarge("\"I wouldn't advise that.\"")) to_chat(user, span_warning("An overwhelming sense of nausea overpowers you!")) user.dropItemToGround(src, TRUE) - user.set_timed_status_effect(1 MINUTES, /datum/status_effect/dizziness, only_if_higher = TRUE) + user.set_dizzy_if_lower(1 MINUTES) user.Paralyze(100) /obj/item/clothing/suit/hooded/cultrobes/berserker @@ -498,7 +498,7 @@ Striking a noncultist, however, will tear their flesh."} to_chat(user, span_cultlarge("\"I wouldn't advise that.\"")) to_chat(user, span_warning("An overwhelming sense of nausea overpowers you!")) user.dropItemToGround(src, TRUE) - user.set_timed_status_effect(1 MINUTES, /datum/status_effect/dizziness, only_if_higher = TRUE) + user.set_dizzy_if_lower(1 MINUTES) user.Paralyze(100) /obj/item/clothing/glasses/hud/health/night/cultblind @@ -513,7 +513,7 @@ Striking a noncultist, however, will tear their flesh."} if(user.stat != DEAD && !IS_CULTIST(user) && slot == ITEM_SLOT_EYES) to_chat(user, span_cultlarge("\"You want to be blind, do you?\"")) user.dropItemToGround(src, TRUE) - user.set_timed_status_effect(1 MINUTES, /datum/status_effect/dizziness, only_if_higher = TRUE) + user.set_dizzy_if_lower(1 MINUTES) user.Paralyze(100) user.adjust_blindness(30) diff --git a/code/modules/antagonists/heretic/items/madness_mask.dm b/code/modules/antagonists/heretic/items/madness_mask.dm index 636aea1891a..0208c3f4c30 100644 --- a/code/modules/antagonists/heretic/items/madness_mask.dm +++ b/code/modules/antagonists/heretic/items/madness_mask.dm @@ -64,11 +64,11 @@ human_in_range.adjust_hallucinations_up_to(10 SECONDS, 240 SECONDS) if(DT_PROB(40, delta_time)) - human_in_range.set_timed_status_effect(10 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + human_in_range.set_jitter_if_lower(10 SECONDS) if(human_in_range.getStaminaLoss() <= 85 && DT_PROB(30, delta_time)) human_in_range.emote(pick("giggle", "laugh")) human_in_range.adjustStaminaLoss(10) if(DT_PROB(25, delta_time)) - human_in_range.set_timed_status_effect(10 SECONDS, /datum/status_effect/dizziness, only_if_higher = TRUE) + human_in_range.set_dizzy_if_lower(10 SECONDS) diff --git a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm index 811189b378a..476392b539e 100644 --- a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm @@ -45,8 +45,8 @@ healing_amount *= -0.5 if(owner.health > owner.crit_threshold && prob(4)) - owner.set_timed_status_effect(20 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) - owner.set_timed_status_effect(10 SECONDS, /datum/status_effect/dizziness, only_if_higher = TRUE) + owner.set_jitter_if_lower(20 SECONDS) + owner.set_dizzy_if_lower(10 SECONDS) owner.adjust_hallucinations_up_to(6 SECONDS, 48 SECONDS) if(prob(2)) diff --git a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm index 3bc8f3bb96d..df9a3b2271c 100644 --- a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm @@ -318,8 +318,8 @@ sac_target.flash_act() sac_target.blur_eyes(15) - sac_target.set_timed_status_effect(20 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) - sac_target.set_timed_status_effect(20 SECONDS, /datum/status_effect/dizziness, only_if_higher = TRUE) + sac_target.set_jitter_if_lower(20 SECONDS) + sac_target.set_dizzy_if_lower(20 SECONDS) sac_target.adjust_hallucinations(24 SECONDS) sac_target.emote("scream") @@ -371,7 +371,7 @@ // Wherever we end up, we sure as hell won't be able to explain sac_target.adjust_timed_status_effect(40 SECONDS, /datum/status_effect/speech/slurring/heretic) - sac_target.adjust_timed_status_effect(40 SECONDS, /datum/status_effect/speech/stutter) + sac_target.adjust_stutter(40 SECONDS) // They're already back on the station for some reason, don't bother teleporting if(is_station_level(sac_target.z)) @@ -438,10 +438,10 @@ // Oh god where are we? sac_target.flash_act() - sac_target.adjust_timed_status_effect(60 SECONDS, /datum/status_effect/confusion) - sac_target.set_timed_status_effect(120 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + sac_target.adjust_confusion(60 SECONDS) + sac_target.set_jitter_if_lower(120 SECONDS) sac_target.blur_eyes(50) - sac_target.set_timed_status_effect(1 MINUTES, /datum/status_effect/dizziness, only_if_higher = TRUE) + sac_target.set_dizzy_if_lower(1 MINUTES) sac_target.AdjustKnockdown(80) sac_target.adjustStaminaLoss(120) diff --git a/code/modules/antagonists/heretic/magic/mansus_grasp.dm b/code/modules/antagonists/heretic/magic/mansus_grasp.dm index 98dece5f54e..676f1757e46 100644 --- a/code/modules/antagonists/heretic/magic/mansus_grasp.dm +++ b/code/modules/antagonists/heretic/magic/mansus_grasp.dm @@ -100,7 +100,7 @@ playsound(carbon_user, 'sound/effects/wounds/sizzle1.ogg', 70, vary = TRUE) if(prob(50)) carbon_user.emote("scream") - carbon_user.adjust_timed_status_effect(26 SECONDS, /datum/status_effect/speech/stutter) + carbon_user.adjust_stutter(26 SECONDS) source?.cast_on_hand_hit(src, user, user) diff --git a/code/modules/antagonists/heretic/status_effects/debuffs.dm b/code/modules/antagonists/heretic/status_effects/debuffs.dm index 751e3dcb548..30ed6f32772 100644 --- a/code/modules/antagonists/heretic/status_effects/debuffs.dm +++ b/code/modules/antagonists/heretic/status_effects/debuffs.dm @@ -134,4 +134,4 @@ // And definitely don't fully kil brains human_owner.adjustOrganLoss(ORGAN_SLOT_BRAIN, 20, 190) if(95 to 100) - human_owner.adjust_timed_status_effect(12 SECONDS, /datum/status_effect/confusion, max_duration = 24 SECONDS) + human_owner.adjust_confusion_up_to(12 SECONDS, 24 SECONDS) diff --git a/code/modules/antagonists/heretic/structures/carving_knife.dm b/code/modules/antagonists/heretic/structures/carving_knife.dm index 58bb1502f88..74158e71cca 100644 --- a/code/modules/antagonists/heretic/structures/carving_knife.dm +++ b/code/modules/antagonists/heretic/structures/carving_knife.dm @@ -239,10 +239,10 @@ var/mob/living/carbon/carbon_victim = victim carbon_victim.adjustStaminaLoss(80) carbon_victim.silent += 10 - carbon_victim.adjust_timed_status_effect(1 MINUTES, /datum/status_effect/speech/stutter) - carbon_victim.adjust_timed_status_effect(5 SECONDS, /datum/status_effect/confusion) - carbon_victim.set_timed_status_effect(20 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) - carbon_victim.set_timed_status_effect(40 SECONDS, /datum/status_effect/dizziness, only_if_higher = TRUE) + carbon_victim.adjust_stutter(1 MINUTES) + carbon_victim.adjust_confusion(5 SECONDS) + carbon_victim.set_jitter_if_lower(20 SECONDS) + carbon_victim.set_dizzy_if_lower(40 SECONDS) carbon_victim.adjust_blindness(2) carbon_victim.add_mood_event("gates_of_mansus", /datum/mood_event/gates_of_mansus) playsound(src, 'sound/magic/blind.ogg', 75, TRUE) diff --git a/code/modules/antagonists/revenant/revenant_blight.dm b/code/modules/antagonists/revenant/revenant_blight.dm index b8d2f0f97f7..d014b0021b6 100644 --- a/code/modules/antagonists/revenant/revenant_blight.dm +++ b/code/modules/antagonists/revenant/revenant_blight.dm @@ -36,7 +36,7 @@ return FALSE if(DT_PROB(1.5 * stage, delta_time)) to_chat(affected_mob, span_revennotice("You suddenly feel [pick("sick and tired", "disoriented", "tired and confused", "nauseated", "faint", "dizzy")]...")) - affected_mob.adjust_timed_status_effect(8 SECONDS, /datum/status_effect/confusion) + affected_mob.adjust_confusion(8 SECONDS) affected_mob.adjustStaminaLoss(20, FALSE) new /obj/effect/temp_visual/revenant(affected_mob.loc) if(stagedamage < stage) diff --git a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm index 3c3350bb378..a303402208b 100644 --- a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm +++ b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm @@ -569,7 +569,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) if(isspaceturf(victim_turf) && !victim_turf.Adjacent(found_intercom)) //Prevents getting honked in space continue if(honk_victim.soundbang_act(intensity = 1, stun_pwr = 20, damage_pwr = 30, deafen_pwr = 60)) //Ear protection will prevent these effects - honk_victim.set_timed_status_effect(120 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + honk_victim.set_jitter_if_lower(120 SECONDS) to_chat(honk_victim, span_clown("HOOOOONK!")) /// Robotic Factory: Places a large machine that converts humans that go through it into cyborgs. Unlocking this ability removes shunting. diff --git a/code/modules/antagonists/traitor/objectives/kidnapping.dm b/code/modules/antagonists/traitor/objectives/kidnapping.dm index a1d611b8d69..c3c2f32c00c 100644 --- a/code/modules/antagonists/traitor/objectives/kidnapping.dm +++ b/code/modules/antagonists/traitor/objectives/kidnapping.dm @@ -239,8 +239,8 @@ return sent_mob.flash_act() - sent_mob.adjust_timed_status_effect(10 SECONDS, /datum/status_effect/confusion) - sent_mob.adjust_timed_status_effect(10 SECONDS, /datum/status_effect/dizziness) + sent_mob.adjust_confusion(10 SECONDS) + sent_mob.adjust_dizzy(10 SECONDS) sent_mob.blur_eyes(5 SECONDS) to_chat(sent_mob, span_hypnophrase(span_reallybig("A million voices echo in your head... \"Your mind held many valuable secrets - \ we thank you for providing them. Your value is expended, and you will be ransomed back to your station. We always get paid, \ @@ -285,11 +285,8 @@ sent_mob.forceMove(return_pod) sent_mob.flash_act() - sent_mob.adjust_timed_status_effect(10 SECONDS, /datum/status_effect/confusion) - sent_mob.adjust_timed_status_effect(10 SECONDS, /datum/status_effect/dizziness) + sent_mob.adjust_confusion(10 SECONDS) + sent_mob.adjust_dizzy(10 SECONDS) sent_mob.blur_eyes(5 SECONDS) new /obj/effect/pod_landingzone(pick(possible_turfs), return_pod) - - - diff --git a/code/modules/antagonists/wizard/equipment/soulstone.dm b/code/modules/antagonists/wizard/equipment/soulstone.dm index cc35ed142c5..df421115405 100644 --- a/code/modules/antagonists/wizard/equipment/soulstone.dm +++ b/code/modules/antagonists/wizard/equipment/soulstone.dm @@ -276,7 +276,7 @@ to_chat(user, span_danger("An overwhelming feeling of dread comes over you as you attempt to place [SS] into the shell. It would be wise to be rid of this quickly.")) if(isliving(user)) var/mob/living/living_user = user - living_user.set_timed_status_effect(1 MINUTES, /datum/status_effect/dizziness, only_if_higher = TRUE) + living_user.set_dizzy_if_lower(1 MINUTES) return if(SS.theme == THEME_HOLY && IS_CULTIST(user)) SS.hot_potato(user) diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm index bd10e77326b..1b590a6ba37 100644 --- a/code/modules/assembly/flash.dm +++ b/code/modules/assembly/flash.dm @@ -164,7 +164,7 @@ if(targeted) if(flashed.flash_act(1, 1)) - flashed.set_timed_status_effect(confusion_duration * CONFUSION_STACK_MAX_MULTIPLIER, /datum/status_effect/confusion, only_if_higher = TRUE) + flashed.set_confusion_if_lower(confusion_duration * CONFUSION_STACK_MAX_MULTIPLIER) // Special check for if we're a revhead. Special cases to attempt conversion. if(converter) // Did we try to flash them from behind? @@ -184,7 +184,7 @@ to_chat(flashed, span_danger("[src] fails to blind you!")) else if(flashed.flash_act()) - flashed.set_timed_status_effect(confusion_duration * CONFUSION_STACK_MAX_MULTIPLIER, /datum/status_effect/confusion, only_if_higher = TRUE) + flashed.set_confusion_if_lower(confusion_duration * CONFUSION_STACK_MAX_MULTIPLIER) /** * Handles the directionality of the attack @@ -252,7 +252,7 @@ user.visible_message(span_warning("[user] fails to blind [flashed_borgo] with the flash!"), span_warning("You fail to blind [flashed_borgo] with the flash!")) return flashed_borgo.Paralyze(rand(80,120)) - flashed_borgo.set_timed_status_effect(5 SECONDS * CONFUSION_STACK_MAX_MULTIPLIER, /datum/status_effect/confusion, only_if_higher = TRUE) + flashed_borgo.set_confusion_if_lower(5 SECONDS * CONFUSION_STACK_MAX_MULTIPLIER) user.visible_message(span_warning("[user] overloads [flashed_borgo]'s sensors with the flash!"), span_danger("You overload [flashed_borgo]'s sensors with the flash!")) return @@ -396,8 +396,8 @@ if(!hypnosis) to_chat(M, span_hypnophrase("The light makes you feel oddly relaxed...")) - M.adjust_timed_status_effect(10 SECONDS, /datum/status_effect/confusion, max_duration = 20 SECONDS) - M.adjust_timed_status_effect(20 SECONDS, /datum/status_effect/dizziness, max_duration = 40 SECONDS) + M.adjust_confusion_up_to(10 SECONDS, 20 SECONDS) + M.adjust_dizzy_up_to(20 SECONDS, 40 SECONDS) M.adjust_drowsyness(min(M.drowsyness+10, 20)) M.apply_status_effect(/datum/status_effect/pacify, 100) else @@ -410,8 +410,8 @@ else if(M.flash_act()) to_chat(M, span_notice("Such a pretty light...")) - M.adjust_timed_status_effect(4 SECONDS, /datum/status_effect/confusion, max_duration = 20 SECONDS) - M.adjust_timed_status_effect(8 SECONDS, /datum/status_effect/dizziness, max_duration = 40 SECONDS) + M.adjust_confusion_up_to(4 SECONDS, 20 SECONDS) + M.adjust_dizzy_up_to(8 SECONDS, 40 SECONDS) M.adjust_drowsyness(min(M.drowsyness+4, 20)) M.apply_status_effect(/datum/status_effect/pacify, 40) diff --git a/code/modules/hallucination/shock.dm b/code/modules/hallucination/shock.dm index 8176a6c2159..2572e2f9b6d 100644 --- a/code/modules/hallucination/shock.dm +++ b/code/modules/hallucination/shock.dm @@ -39,7 +39,7 @@ hallucinator.adjustStaminaLoss(50) hallucinator.Stun(4 SECONDS) hallucinator.do_jitter_animation(300) // Maximum jitter - hallucinator.adjust_timed_status_effect(20 SECONDS, /datum/status_effect/jitter) + hallucinator.adjust_jitter(20 SECONDS) addtimer(CALLBACK(src, .proc/reset_shock_animation), 4 SECONDS) addtimer(CALLBACK(src, .proc/shock_drop), 2 SECONDS) diff --git a/code/modules/hallucination/stray_bullet.dm b/code/modules/hallucination/stray_bullet.dm index c45e9301b89..561c9a5ca9d 100644 --- a/code/modules/hallucination/stray_bullet.dm +++ b/code/modules/hallucination/stray_bullet.dm @@ -233,7 +233,7 @@ /obj/projectile/hallucination/taser/apply_effect_to_hallucinator(mob/living/afflicted) afflicted.Paralyze(10 SECONDS) - afflicted.adjust_timed_status_effect(40 SECONDS, /datum/status_effect/speech/stutter) + afflicted.adjust_stutter(40 SECONDS) if(HAS_TRAIT(afflicted, TRAIT_HULK)) afflicted.say(pick( ";RAAAAAAAARGH!", @@ -276,7 +276,7 @@ hal_impact_effect_wall = null /obj/projectile/hallucination/ebow/apply_effect_to_hallucinator(mob/living/afflicted) - afflicted.adjust_timed_status_effect(10 SECONDS, /datum/status_effect/speech/slurring) + afflicted.adjust_slurring(10 SECONDS) afflicted.Knockdown(1 SECONDS) afflicted.adjustStaminaLoss(75) // 60 stam + 15 tox afflicted.blur_eyes(10) diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm index 4a1788efa88..47557e14034 100644 --- a/code/modules/hydroponics/hydroitemdefines.dm +++ b/code/modules/hydroponics/hydroitemdefines.dm @@ -458,7 +458,7 @@ return var/mob/living/carbon/human/H = AM if(has_gravity(loc) && HAS_TRAIT(H, TRAIT_CLUMSY) && !H.resting) - H.set_timed_status_effect(10 SECONDS, /datum/status_effect/confusion, only_if_higher = TRUE) + H.set_confusion_if_lower(10 SECONDS) H.Stun(20) playsound(src, 'sound/weapons/punch4.ogg', 50, TRUE) H.visible_message(span_warning("[H] steps on [src] causing the handle to hit [H.p_them()] right in the face!"), \ diff --git a/code/modules/mining/lavaland/tendril_loot.dm b/code/modules/mining/lavaland/tendril_loot.dm index 99ce2c044c3..f9087750b6e 100644 --- a/code/modules/mining/lavaland/tendril_loot.dm +++ b/code/modules/mining/lavaland/tendril_loot.dm @@ -775,7 +775,7 @@ var/datum/status_effect/agent_pinpointer/scan_pinpointer = living_owner.apply_status_effect(/datum/status_effect/agent_pinpointer/scan) scan_pinpointer.scan_target = living_scanned - living_scanned.set_timed_status_effect(100 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + living_scanned.set_jitter_if_lower(100 SECONDS) to_chat(living_scanned, span_warning("You've been staggered!")) living_scanned.add_filter("scan", 2, list("type" = "outline", "color" = COLOR_YELLOW, "size" = 1)) addtimer(CALLBACK(living_scanned, /atom/.proc/remove_filter, "scan"), 30 SECONDS) @@ -978,7 +978,7 @@ target.ranged_cooldown += 5 SECONDS else if(iscarbon(source)) var/mob/living/carbon/target = source - target.set_timed_status_effect(8 SECONDS, /datum/status_effect/confusion, only_if_higher = TRUE) + target.set_confusion_if_lower(8 SECONDS) return NONE /obj/item/cursed_katana/proc/slice(mob/living/target, mob/user) diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm index 6a45d14e3ce..be97f76bc16 100644 --- a/code/modules/mining/ores_coins.dm +++ b/code/modules/mining/ores_coins.dm @@ -127,7 +127,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ return C.adjust_blurriness(6) C.adjustStaminaLoss(15)//the pain from your eyes burning does stamina damage - C.adjust_timed_status_effect(5 SECONDS, /datum/status_effect/confusion) + C.adjust_confusion(5 SECONDS) to_chat(C, span_userdanger("\The [src] gets into your eyes! The pain, it burns!")) qdel(src) diff --git a/code/modules/mob/emote.dm b/code/modules/mob/emote.dm index b9e3a2553c1..914ac887497 100644 --- a/code/modules/mob/emote.dm +++ b/code/modules/mob/emote.dm @@ -122,8 +122,8 @@ if(prob(BEYBLADE_DIZZINESS_PROBABILITY)) to_chat(user, span_warning("You feel woozy from spinning.")) - user.set_timed_status_effect(BEYBLADE_DIZZINESS_DURATION, /datum/status_effect/dizziness, only_if_higher = TRUE) - user.adjust_timed_status_effect(BEYBLADE_CONFUSION_INCREMENT, /datum/status_effect/confusion, max_duration = BEYBLADE_CONFUSION_LIMIT) + user.set_dizzy_if_lower(BEYBLADE_DIZZINESS_DURATION) + user.adjust_confusion_up_to(BEYBLADE_CONFUSION_INCREMENT, BEYBLADE_CONFUSION_LIMIT) #undef BEYBLADE_PUKE_THRESHOLD #undef BEYBLADE_PUKE_NUTRIENT_LOSS diff --git a/code/modules/mob/living/carbon/alien/organs.dm b/code/modules/mob/living/carbon/alien/organs.dm index 1af72a2a8a6..fa2b73fc722 100644 --- a/code/modules/mob/living/carbon/alien/organs.dm +++ b/code/modules/mob/living/carbon/alien/organs.dm @@ -116,9 +116,9 @@ owner.emote("scream") owner.Paralyze(100) - owner.adjust_timed_status_effect(1 MINUTES, /datum/status_effect/jitter) - owner.adjust_timed_status_effect(30 SECONDS, /datum/status_effect/confusion) - owner.adjust_timed_status_effect(1 MINUTES, /datum/status_effect/speech/stutter) + owner.adjust_jitter(1 MINUTES) + owner.adjust_confusion(30 SECONDS) + owner.adjust_stutter(1 MINUTES) recent_queen_death = TRUE owner.throw_alert(ALERT_XENO_NOQUEEN, /atom/movable/screen/alert/alien_vulnerable) diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 0bd27a15f5f..c051260aa0d 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -217,7 +217,7 @@ do_sparks(5, TRUE, src) var/power = M.powerlevel + rand(0,3) Paralyze(power * 2 SECONDS) - set_timed_status_effect(power * 2 SECONDS, /datum/status_effect/speech/stutter, only_if_higher = TRUE) + set_stutter_if_lower(power * 2 SECONDS) if (prob(stunprob) && M.powerlevel >= 8) adjustFireLoss(M.powerlevel * rand(6,10)) updatehealth() @@ -388,8 +388,8 @@ Paralyze(40) //Jitter and other fluff. do_jitter_animation(300) - adjust_timed_status_effect(20 SECONDS, /datum/status_effect/jitter) - adjust_timed_status_effect(4 SECONDS, /datum/status_effect/speech/stutter) + adjust_jitter(20 SECONDS) + adjust_stutter(4 SECONDS) addtimer(CALLBACK(src, .proc/secondary_shock, should_stun), 2 SECONDS) return shock_damage diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index b9ff6670228..9602b5fc0ad 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1269,7 +1269,7 @@ GLOBAL_LIST_EMPTY(features_by_species) if(human.stat == CONSCIOUS) human.visible_message(span_danger("[human] is knocked senseless!"), \ span_userdanger("You're knocked senseless!")) - human.set_timed_status_effect(20 SECONDS, /datum/status_effect/confusion, only_if_higher = TRUE) + human.set_confusion_if_lower(20 SECONDS) human.adjust_blurriness(10) if(prob(10)) human.gain_trauma(/datum/brain_trauma/mild/concussion) diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm index 7b17c39aaf5..67edff0f749 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -1015,21 +1015,21 @@ H.show_message(span_narsiesmall("You cringe with pain as your body rings around you!"), MSG_AUDIBLE) H.playsound_local(H, 'sound/effects/gong.ogg', 100, TRUE) H.soundbang_act(2, 0, 100, 1) - H.adjust_timed_status_effect(14 SECONDS, /datum/status_effect/jitter) + H.adjust_jitter(14 SECONDS) var/distance = max(0,get_dist(get_turf(H),get_turf(M))) switch(distance) if(0 to 1) M.show_message(span_narsiesmall("GONG!"), MSG_AUDIBLE) M.playsound_local(H, 'sound/effects/gong.ogg', 100, TRUE) M.soundbang_act(1, 0, 30, 3) - M.adjust_timed_status_effect(10 SECONDS, /datum/status_effect/confusion) - M.adjust_timed_status_effect(8 SECONDS, /datum/status_effect/jitter) + M.adjust_confusion(10 SECONDS) + M.adjust_jitter(8 SECONDS) M.add_mood_event("gonged", /datum/mood_event/loud_gong) if(2 to 3) M.show_message(span_cult("GONG!"), MSG_AUDIBLE) M.playsound_local(H, 'sound/effects/gong.ogg', 75, TRUE) M.soundbang_act(1, 0, 15, 2) - M.adjust_timed_status_effect(6 SECONDS, /datum/status_effect/jitter) + M.adjust_jitter(6 SECONDS) M.add_mood_event("gonged", /datum/mood_event/loud_gong) else M.show_message(span_warning("GONG!"), MSG_AUDIBLE) diff --git a/code/modules/mob/living/damage_procs.dm b/code/modules/mob/living/damage_procs.dm index 46e5ef01598..ac2b116cc89 100644 --- a/code/modules/mob/living/damage_procs.dm +++ b/code/modules/mob/living/damage_procs.dm @@ -153,11 +153,11 @@ apply_damage(stamina, STAMINA, null, blocked) if(jitter && (status_flags & CANSTUN) && !HAS_TRAIT(src, TRAIT_STUNIMMUNE)) - adjust_timed_status_effect(jitter, /datum/status_effect/jitter) + adjust_jitter(jitter) if(slur) - adjust_timed_status_effect(slur, /datum/status_effect/speech/slurring/drunk) + adjust_slurring(slur) if(stutter) - adjust_timed_status_effect(stutter, /datum/status_effect/speech/stutter) + adjust_stutter(stutter) return TRUE diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index a293e6853e7..d3d5d0c890b 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -2307,7 +2307,7 @@ GLOBAL_LIST_EMPTY(fire_appearances) if(!isnum(duration) || duration <= 0 || QDELETED(src) || !check_rights(NONE)) return - adjust_timed_status_effect(duration SECONDS, impediments[chosen]) + adjust_timed_status_effect(duration * 1 SECONDS, impediments[chosen]) /mob/living/proc/admin_add_mood_event(mob/admin) if (!admin || !check_rights(NONE)) diff --git a/code/modules/mob/living/simple_animal/bot/honkbot.dm b/code/modules/mob/living/simple_animal/bot/honkbot.dm index 286045d8123..dace23ce086 100644 --- a/code/modules/mob/living/simple_animal/bot/honkbot.dm +++ b/code/modules/mob/living/simple_animal/bot/honkbot.dm @@ -62,15 +62,15 @@ addtimer(CALLBACK(src, /atom.proc/update_appearance), 0.2 SECONDS) if(!ishuman(current_target)) current_target.Paralyze(8 SECONDS) - current_target.set_timed_status_effect(40 SECONDS, /datum/status_effect/speech/stutter) + current_target.set_stutter(40 SECONDS) addtimer(CALLBACK(src, .proc/limiting_spam_false), cooldowntime) return - current_target.set_timed_status_effect(40 SECONDS, /datum/status_effect/speech/stutter) + current_target.set_stutter(40 SECONDS) var/obj/item/organ/internal/ears/target_ears = current_target.getorganslot(ORGAN_SLOT_EARS) if(target_ears && !HAS_TRAIT(current_target, TRAIT_DEAF)) target_ears.adjustEarDamage(0, 5) //far less damage than the H.O.N.K. - current_target.set_timed_status_effect(100 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + current_target.set_jitter_if_lower(100 SECONDS) current_target.Paralyze(6 SECONDS) if(client) //prevent spam from players limiting_spam = TRUE diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm index 26487364365..bc27d056ecd 100644 --- a/code/modules/mob/living/simple_animal/bot/secbot.dm +++ b/code/modules/mob/living/simple_animal/bot/secbot.dm @@ -309,13 +309,13 @@ if(harm) weapon.attack(current_target, src) if(ishuman(current_target)) - current_target.set_timed_status_effect(10 SECONDS, /datum/status_effect/speech/stutter) + current_target.set_stutter(10 SECONDS) current_target.Paralyze(100) var/mob/living/carbon/human/human_target = current_target threat = human_target.assess_threat(judgement_criteria, weaponcheck = CALLBACK(src, .proc/check_for_weapons)) else current_target.Paralyze(100) - current_target.set_timed_status_effect(10 SECONDS, /datum/status_effect/speech/stutter) + current_target.set_stutter(10 SECONDS) threat = current_target.assess_threat(judgement_criteria, weaponcheck = CALLBACK(src, .proc/check_for_weapons)) log_combat(src, target, "stunned") diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm index 8dad5e9e646..3c51eb7ba54 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm @@ -211,7 +211,7 @@ Difficulty: Hard animate(src, pixel_z = rand(5, 15), time = 1, loop = 20) animate(pixel_z = 0, time = 1) for(var/mob/living/dizzy_target in get_hearers_in_view(7, src) - src) - dizzy_target.set_timed_status_effect(12 SECONDS, /datum/status_effect/dizziness, only_if_higher = TRUE) + dizzy_target.set_dizzy_if_lower(12 SECONDS) to_chat(dizzy_target, span_danger("The wendigo screams loudly!")) SLEEP_CHECK_DEATH(1 SECONDS, src) spiral_attack() diff --git a/code/modules/pai/defense.dm b/code/modules/pai/defense.dm index 22ccf5ae440..8ec2e9c3440 100644 --- a/code/modules/pai/defense.dm +++ b/code/modules/pai/defense.dm @@ -14,13 +14,13 @@ //Ask and you shall receive switch(rand(1, 3)) if(1) - adjust_timed_status_effect(1 MINUTES / severity, /datum/status_effect/speech/stutter) + adjust_stutter(1 MINUTES / severity) to_chat(src, span_danger("Warning: Feedback loop detected in speech module.")) if(2) - adjust_timed_status_effect(INFINITY, /datum/status_effect/speech/slurring/drunk) + adjust_slurring(INFINITY) to_chat(src, span_danger("Warning: Audio synthesizer CPU stuck.")) if(3) - adjust_timed_status_effect(INFINITY, /datum/status_effect/speech/stutter/derpspeech) + set_derpspeech(INFINITY) to_chat(src, span_danger("Warning: Vocabulary databank corrupted.")) if(prob(40)) mind.language_holder.selected_language = get_random_spoken_language() diff --git a/code/modules/projectiles/projectile/special/floral.dm b/code/modules/projectiles/projectile/special/floral.dm index ceb939f1049..4980f06c361 100644 --- a/code/modules/projectiles/projectile/special/floral.dm +++ b/code/modules/projectiles/projectile/special/floral.dm @@ -57,6 +57,6 @@ var/mob/living/L = target if(L.mob_biotypes & MOB_PLANT) L.show_message(span_notice("The radiation beam leaves you feeling disoriented!")) - L.set_timed_status_effect(30 SECONDS, /datum/status_effect/dizziness, only_if_higher = TRUE) + L.set_dizzy_if_lower(30 SECONDS) L.emote("flip") L.emote("spin") diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index 278f7d252bf..dc28ad14707 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -164,11 +164,11 @@ 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/kahlua/on_mob_life(mob/living/carbon/drinker, delta_time, times_fired) - drinker.set_timed_status_effect(10 SECONDS * REM * delta_time, /datum/status_effect/dizziness, only_if_higher = TRUE) + drinker.set_dizzy_if_lower(10 SECONDS * REM * delta_time) drinker.adjust_drowsyness(-3 * REM * delta_time) drinker.AdjustSleeping(-40 * REM * delta_time) if(!HAS_TRAIT(drinker, TRAIT_ALCOHOL_TOLERANCE)) - drinker.set_timed_status_effect(10 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + drinker.set_jitter_if_lower(10 SECONDS) ..() . = TRUE @@ -229,13 +229,13 @@ All effects don't start immediately, but rather get worse over time; the rate is drinker.AdjustSleeping(-40 * REM * delta_time) drinker.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * delta_time, drinker.get_body_temp_normal()) if(!HAS_TRAIT(drinker, TRAIT_ALCOHOL_TOLERANCE)) - drinker.set_timed_status_effect(10 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + drinker.set_jitter_if_lower(10 SECONDS) ..() return TRUE /datum/reagent/consumable/ethanol/thirteenloko/overdose_start(mob/living/drinker) to_chat(drinker, span_userdanger("Your entire body violently jitters as you start to feel queasy. You really shouldn't have drank all of that [name]!")) - drinker.set_timed_status_effect(40 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + drinker.set_jitter_if_lower(40 SECONDS) drinker.Stun(1.5 SECONDS) /datum/reagent/consumable/ethanol/thirteenloko/overdose_process(mob/living/drinker, delta_time, times_fired) @@ -244,7 +244,7 @@ All effects don't start immediately, but rather get worse over time; the rate is if(held_item) drinker.dropItemToGround(held_item) to_chat(drinker, span_notice("Your hands jitter and you drop what you were holding!")) - drinker.set_timed_status_effect(20 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + drinker.set_jitter_if_lower(20 SECONDS) if(DT_PROB(3.5, delta_time)) to_chat(drinker, span_notice("[pick("You have a really bad headache.", "Your eyes hurt.", "You find it hard to stay still.", "You feel your heart practically beating out of your chest.")]")) @@ -266,7 +266,7 @@ All effects don't start immediately, but rather get worse over time; the rate is if(DT_PROB(1.5, delta_time) && iscarbon(drinker)) drinker.visible_message(span_danger("[drinker] starts having a seizure!"), span_userdanger("You have a seizure!")) drinker.Unconscious(10 SECONDS) - drinker.set_timed_status_effect(700 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + drinker.set_jitter_if_lower(700 SECONDS) if(DT_PROB(0.5, delta_time) && iscarbon(drinker)) var/datum/disease/heart_attack = new /datum/disease/heart_failure @@ -319,7 +319,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/threemileisland/on_mob_life(mob/living/carbon/drinker, delta_time, times_fired) - drinker.set_timed_status_effect(100 SECONDS * REM * delta_time, /datum/status_effect/drugginess) + drinker.set_drugginess(100 SECONDS * REM * delta_time) return ..() /datum/reagent/consumable/ethanol/gin @@ -796,7 +796,7 @@ All effects don't start immediately, but rather get worse over time; the rate is ..() /datum/reagent/consumable/ethanol/beepsky_smash/on_mob_life(mob/living/carbon/drinker, delta_time, times_fired) - drinker.set_timed_status_effect(4 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + drinker.set_jitter_if_lower(4 SECONDS) var/obj/item/organ/internal/liver/liver = drinker.getorganslot(ORGAN_SLOT_LIVER) // if you have a liver and that liver is an officer's liver if(liver && HAS_TRAIT(liver, TRAIT_LAW_ENFORCEMENT_METABOLISM)) @@ -966,7 +966,7 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/manhattan_proj/on_mob_life(mob/living/carbon/drinker, delta_time, times_fired) - drinker.set_timed_status_effect(1 MINUTES * REM * delta_time, /datum/status_effect/drugginess) + drinker.set_drugginess(1 MINUTES * REM * delta_time) return ..() /datum/reagent/consumable/ethanol/whiskeysoda @@ -1529,11 +1529,11 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_price = DRINK_PRICE_HIGH /datum/reagent/consumable/ethanol/atomicbomb/on_mob_life(mob/living/carbon/drinker, delta_time, times_fired) - drinker.set_timed_status_effect(100 SECONDS * REM * delta_time, /datum/status_effect/drugginess) + drinker.set_drugginess(100 SECONDS * REM * delta_time) if(!HAS_TRAIT(drinker, TRAIT_ALCOHOL_TOLERANCE)) - drinker.adjust_timed_status_effect(2 SECONDS * REM * delta_time, /datum/status_effect/confusion) - drinker.set_timed_status_effect(20 SECONDS * REM * delta_time, /datum/status_effect/dizziness, only_if_higher = TRUE) - drinker.adjust_timed_status_effect(6 SECONDS * REM * delta_time, /datum/status_effect/speech/slurring/drunk) + drinker.adjust_confusion(2 SECONDS * REM * delta_time) + drinker.set_dizzy_if_lower(20 SECONDS * REM * delta_time) + drinker.adjust_slurring(6 SECONDS * REM * delta_time) switch(current_cycle) if(51 to 200) drinker.Sleeping(100 * REM * delta_time) @@ -1557,16 +1557,16 @@ 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/gargle_blaster/on_mob_life(mob/living/carbon/drinker, delta_time, times_fired) - drinker.adjust_timed_status_effect(3 SECONDS * REM * delta_time, /datum/status_effect/dizziness) + drinker.adjust_dizzy(3 SECONDS * REM * delta_time) switch(current_cycle) if(15 to 45) - drinker.adjust_timed_status_effect(3 SECONDS * REM * delta_time, /datum/status_effect/speech/slurring/drunk) + drinker.adjust_slurring(3 SECONDS * REM * delta_time) if(45 to 55) if(DT_PROB(30, delta_time)) - drinker.adjust_timed_status_effect(3 SECONDS * REM * delta_time, /datum/status_effect/confusion) + drinker.adjust_confusion(3 SECONDS * REM * delta_time) if(55 to 200) - drinker.set_timed_status_effect(110 SECONDS * REM * delta_time, /datum/status_effect/drugginess) + drinker.set_drugginess(110 SECONDS * REM * delta_time) if(200 to INFINITY) drinker.adjustToxLoss(2 * REM * delta_time, 0) . = TRUE @@ -1589,8 +1589,8 @@ All effects don't start immediately, but rather get worse over time; the rate is return (pick(TRAIT_PARALYSIS_L_ARM,TRAIT_PARALYSIS_R_ARM,TRAIT_PARALYSIS_R_LEG,TRAIT_PARALYSIS_L_LEG)) /datum/reagent/consumable/ethanol/neurotoxin/on_mob_life(mob/living/carbon/drinker, delta_time, times_fired) - drinker.set_timed_status_effect(100 SECONDS * REM * delta_time, /datum/status_effect/drugginess) - drinker.adjust_timed_status_effect(4 SECONDS * REM * delta_time, /datum/status_effect/dizziness) + drinker.set_drugginess(100 SECONDS * REM * delta_time) + drinker.adjust_dizzy(4 SECONDS * REM * delta_time) drinker.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1 * REM * delta_time, 150) if(DT_PROB(10, delta_time)) drinker.adjustStaminaLoss(10) @@ -1634,30 +1634,30 @@ 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/hippies_delight/on_mob_life(mob/living/carbon/drinker, delta_time, times_fired) - drinker.set_timed_status_effect(1 SECONDS * REM * delta_time, /datum/status_effect/speech/slurring/drunk, only_if_higher = TRUE) + drinker.set_slurring_if_lower(1 SECONDS * REM * delta_time) switch(current_cycle) if(1 to 5) - drinker.set_timed_status_effect(20 SECONDS * REM * delta_time, /datum/status_effect/dizziness, only_if_higher = TRUE) - drinker.set_timed_status_effect(1 MINUTES * REM * delta_time, /datum/status_effect/drugginess) + drinker.set_dizzy_if_lower(20 SECONDS * REM * delta_time) + drinker.set_drugginess(1 MINUTES * REM * delta_time) if(DT_PROB(5, delta_time)) drinker.emote(pick("twitch","giggle")) if(5 to 10) - drinker.set_timed_status_effect(40 SECONDS * REM * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) - drinker.set_timed_status_effect(40 SECONDS * REM * delta_time, /datum/status_effect/dizziness, only_if_higher = TRUE) - drinker.set_timed_status_effect(1.5 MINUTES * REM * delta_time, /datum/status_effect/drugginess) + drinker.set_jitter_if_lower(40 SECONDS * REM * delta_time) + drinker.set_dizzy_if_lower(40 SECONDS * REM * delta_time) + drinker.set_drugginess(1.5 MINUTES * REM * delta_time) if(DT_PROB(10, delta_time)) drinker.emote(pick("twitch","giggle")) if (10 to 200) - drinker.set_timed_status_effect(80 SECONDS * REM * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) - drinker.set_timed_status_effect(80 SECONDS * REM * delta_time, /datum/status_effect/dizziness, only_if_higher = TRUE) - drinker.set_timed_status_effect(2 MINUTES * REM * delta_time, /datum/status_effect/drugginess) + drinker.set_jitter_if_lower(80 SECONDS * REM * delta_time) + drinker.set_dizzy_if_lower(80 SECONDS * REM * delta_time) + drinker.set_drugginess(2 MINUTES * REM * delta_time) if(DT_PROB(16, delta_time)) drinker.emote(pick("twitch","giggle")) if(200 to INFINITY) - drinker.set_timed_status_effect(120 SECONDS * REM * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) - drinker.set_timed_status_effect(120 SECONDS * REM * delta_time, /datum/status_effect/dizziness, only_if_higher = TRUE) - drinker.set_timed_status_effect(2.5 MINUTES * REM * delta_time, /datum/status_effect/drugginess) + drinker.set_jitter_if_lower(120 SECONDS * REM * delta_time) + drinker.set_dizzy_if_lower(120 SECONDS * REM * delta_time) + drinker.set_drugginess(2.5 MINUTES * REM * delta_time) if(DT_PROB(23, delta_time)) drinker.emote(pick("twitch","giggle")) if(DT_PROB(16, delta_time)) @@ -1693,7 +1693,7 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/narsour/on_mob_life(mob/living/carbon/drinker, delta_time, times_fired) drinker.adjust_timed_status_effect(6 SECONDS * REM * delta_time, /datum/status_effect/speech/slurring/cult, max_duration = 6 SECONDS) - drinker.adjust_timed_status_effect(6 SECONDS * REM * delta_time, /datum/status_effect/speech/stutter, max_duration = 6 SECONDS) + drinker.adjust_stutter_up_to(6 SECONDS * REM * delta_time, 6 SECONDS) return ..() /datum/reagent/consumable/ethanol/triple_sec @@ -2457,8 +2457,8 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/trappist/on_mob_life(mob/living/carbon/drinker, delta_time, times_fired) if(drinker.mind?.holy_role) drinker.adjustFireLoss(-2.5 * REM * delta_time, 0) - drinker.adjust_timed_status_effect(-2 SECONDS * REM * delta_time, /datum/status_effect/jitter) - drinker.adjust_timed_status_effect(-2 SECONDS * REM * delta_time, /datum/status_effect/speech/stutter) + drinker.adjust_jitter(-2 SECONDS * REM * delta_time) + drinker.adjust_stutter(-2 SECONDS * REM * delta_time) return ..() /datum/reagent/consumable/ethanol/blazaam diff --git a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm index 42c63b82fd6..3e29c119645 100644 --- a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm @@ -524,8 +524,8 @@ H.adjustOrganLoss(ORGAN_SLOT_HEART, max(volume/10, 1) * REM * delta_time) // your heart is barely keeping up! - H.set_timed_status_effect(rand(0 SECONDS, 4 SECONDS) * REM * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) - H.set_timed_status_effect(rand(0 SECONDS, 4 SECONDS) * REM * delta_time, /datum/status_effect/dizziness, only_if_higher = TRUE) + H.set_jitter_if_lower(rand(0 SECONDS, 4 SECONDS) * REM * delta_time) + H.set_dizzy_if_lower(rand(0 SECONDS, 4 SECONDS) * REM * delta_time) if(DT_PROB(18, delta_time)) to_chat(H,span_danger("Your body is trying to give up, but your heart is still beating!")) diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index 1ad98cdd46f..305f5c585ac 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -294,11 +294,11 @@ glass_price = DRINK_PRICE_STOCK /datum/reagent/consumable/coffee/overdose_process(mob/living/M, delta_time, times_fired) - M.set_timed_status_effect(10 SECONDS * REM * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) + M.set_jitter_if_lower(10 SECONDS * REM * delta_time) ..() /datum/reagent/consumable/coffee/on_mob_life(mob/living/carbon/M, delta_time, times_fired) - M.adjust_timed_status_effect(-10 SECONDS * REM * delta_time, /datum/status_effect/dizziness) + M.adjust_dizzy(-10 SECONDS * REM * delta_time) M.adjust_drowsyness(-3 * REM * delta_time) M.AdjustSleeping(-40 * REM * delta_time) //310.15 is the normal bodytemp. @@ -321,9 +321,9 @@ glass_price = DRINK_PRICE_STOCK /datum/reagent/consumable/tea/on_mob_life(mob/living/carbon/M, delta_time, times_fired) - M.adjust_timed_status_effect(-4 SECONDS * REM * delta_time, /datum/status_effect/dizziness) + M.adjust_dizzy(-4 SECONDS * REM * delta_time) M.adjust_drowsyness(-1 * REM * delta_time) - M.adjust_timed_status_effect(-6 SECONDS * REM * delta_time, /datum/status_effect/jitter) + M.adjust_jitter(-6 SECONDS * REM * delta_time) M.AdjustSleeping(-20 * REM * delta_time) if(M.getToxLoss() && DT_PROB(10, delta_time)) M.adjustToxLoss(-1, 0) @@ -373,11 +373,11 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/icecoffee/on_mob_life(mob/living/carbon/M, delta_time, times_fired) - M.adjust_timed_status_effect(-10 SECONDS * REM * delta_time, /datum/status_effect/dizziness) + M.adjust_dizzy(-10 SECONDS * REM * delta_time) 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.set_timed_status_effect(10 SECONDS * REM * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) + M.set_jitter_if_lower(10 SECONDS * REM * delta_time) ..() . = TRUE @@ -393,11 +393,11 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/hot_ice_coffee/on_mob_life(mob/living/carbon/M, delta_time, times_fired) - M.adjust_timed_status_effect(-10 SECONDS * REM * delta_time, /datum/status_effect/dizziness) + M.adjust_dizzy(-10 SECONDS * REM * delta_time) 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.set_timed_status_effect(10 SECONDS * REM * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) + M.set_jitter_if_lower(10 SECONDS * REM * delta_time) M.adjustToxLoss(1 * REM * delta_time, 0) ..() . = TRUE @@ -414,7 +414,7 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/icetea/on_mob_life(mob/living/carbon/M, delta_time, times_fired) - M.adjust_timed_status_effect(-4 SECONDS * REM * delta_time, /datum/status_effect/dizziness) + M.adjust_dizzy(-4 SECONDS * REM * delta_time) M.adjust_drowsyness(-1 * REM * delta_time) M.AdjustSleeping(-40 * REM * delta_time) if(M.getToxLoss() && DT_PROB(10, delta_time)) @@ -450,7 +450,7 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/roy_rogers/on_mob_life(mob/living/carbon/M, delta_time, times_fired) - M.set_timed_status_effect(12 SECONDS * REM * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) + M.set_jitter_if_lower(12 SECONDS * REM * delta_time) M.adjust_drowsyness(-5 * REM * delta_time) M.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * delta_time, M.get_body_temp_normal()) return ..() @@ -475,9 +475,9 @@ ..() /datum/reagent/consumable/nuka_cola/on_mob_life(mob/living/carbon/M, delta_time, times_fired) - M.set_timed_status_effect(40 SECONDS * REM * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) - M.set_timed_status_effect(1 MINUTES * REM * delta_time, /datum/status_effect/drugginess) - M.adjust_timed_status_effect(3 SECONDS * REM * delta_time, /datum/status_effect/dizziness) + M.set_jitter_if_lower(40 SECONDS * REM * delta_time) + M.set_drugginess(1 MINUTES * REM * delta_time) + M.adjust_dizzy(3 SECONDS * REM * delta_time) 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()) @@ -514,11 +514,11 @@ ADD_TRAIT(M, TRAIT_DOUBLE_TAP, type) effect_enabled = TRUE - M.set_timed_status_effect(4 SECONDS * REM * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) + M.set_jitter_if_lower(4 SECONDS * REM * delta_time) if(prob(50)) - M.adjust_timed_status_effect(2 SECONDS * REM * delta_time, /datum/status_effect/dizziness) + M.adjust_dizzy(2 SECONDS * REM * delta_time) if(current_cycle > 10) - M.adjust_timed_status_effect(3 SECONDS * REM * delta_time, /datum/status_effect/dizziness) + M.adjust_dizzy(3 SECONDS * REM * delta_time) ..() . = TRUE @@ -543,8 +543,8 @@ ..() /datum/reagent/consumable/grey_bull/on_mob_life(mob/living/carbon/M, delta_time, times_fired) - M.set_timed_status_effect(40 SECONDS * REM * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) - M.adjust_timed_status_effect(2 SECONDS * REM * delta_time, /datum/status_effect/dizziness) + M.set_jitter_if_lower(40 SECONDS * REM * delta_time) + M.adjust_dizzy(2 SECONDS * REM * delta_time) 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()) @@ -564,7 +564,7 @@ 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.set_timed_status_effect(10 SECONDS * REM * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) + M.set_jitter_if_lower(10 SECONDS * REM * delta_time) ..() . = TRUE @@ -671,7 +671,7 @@ mytray.adjust_plant_health(round(chems.get_reagent_amount(type) * 0.1)) /datum/reagent/consumable/sodawater/on_mob_life(mob/living/carbon/M, delta_time, times_fired) - M.adjust_timed_status_effect(-10 SECONDS * REM * delta_time, /datum/status_effect/dizziness) + M.adjust_dizzy(-10 SECONDS * REM * delta_time) M.adjust_drowsyness(-3 * REM * delta_time) M.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * delta_time, M.get_body_temp_normal()) ..() @@ -687,7 +687,7 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/tonic/on_mob_life(mob/living/carbon/M, delta_time, times_fired) - M.adjust_timed_status_effect(-10 SECONDS * REM * delta_time, /datum/status_effect/dizziness) + M.adjust_dizzy(-10 SECONDS * REM * delta_time) 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()) @@ -706,8 +706,8 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/monkey_energy/on_mob_life(mob/living/carbon/M, delta_time, times_fired) - M.set_timed_status_effect(80 SECONDS * REM * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) - M.adjust_timed_status_effect(2 SECONDS * REM * delta_time, /datum/status_effect/dizziness) + M.set_jitter_if_lower(80 SECONDS * REM * delta_time) + M.adjust_dizzy(2 SECONDS * REM * delta_time) 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()) @@ -755,11 +755,11 @@ glass_price = DRINK_PRICE_EASY /datum/reagent/consumable/soy_latte/on_mob_life(mob/living/carbon/M, delta_time, times_fired) - M.adjust_timed_status_effect(-10 SECONDS * REM * delta_time, /datum/status_effect/dizziness) + M.adjust_dizzy(-10 SECONDS * REM * delta_time) 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.set_timed_status_effect(10 SECONDS * REM * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) + M.set_jitter_if_lower(10 SECONDS * REM * delta_time) if(M.getBruteLoss() && DT_PROB(10, delta_time)) M.heal_bodypart_damage(1,0, 0) ..() @@ -778,11 +778,11 @@ glass_price = DRINK_PRICE_EASY /datum/reagent/consumable/cafe_latte/on_mob_life(mob/living/carbon/M, delta_time, times_fired) - M.adjust_timed_status_effect(-10 SECONDS * REM * delta_time, /datum/status_effect/dizziness) + M.adjust_dizzy(-10 SECONDS * REM * delta_time) 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.set_timed_status_effect(10 SECONDS * REM * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) + M.set_jitter_if_lower(10 SECONDS * REM * delta_time) if(M.getBruteLoss() && DT_PROB(10, delta_time)) M.heal_bodypart_damage(1, 0, 0) ..() diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.dm b/code/modules/reagents/chemistry/reagents/drug_reagents.dm index eaf564dd4cf..7dbd60b91b9 100644 --- a/code/modules/reagents/chemistry/reagents/drug_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drug_reagents.dm @@ -18,7 +18,7 @@ addiction_types = list(/datum/addiction/hallucinogens = 10) //4 per 2 seconds /datum/reagent/drug/space_drugs/on_mob_life(mob/living/carbon/M, delta_time, times_fired) - M.set_timed_status_effect(30 SECONDS * REM * delta_time, /datum/status_effect/drugginess) + M.set_drugginess(30 SECONDS * REM * delta_time) if(isturf(M.loc) && !isspaceturf(M.loc) && !HAS_TRAIT(M, TRAIT_IMMOBILIZED) && DT_PROB(5, delta_time)) step(M, pick(GLOB.cardinals)) if(DT_PROB(3.5, delta_time)) @@ -165,7 +165,7 @@ M.AdjustParalyzed(-40 * REM * delta_time) M.AdjustImmobilized(-40 * REM * delta_time) M.adjustStaminaLoss(-2 * REM * delta_time, 0) - M.set_timed_status_effect(4 SECONDS * REM * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) + M.set_jitter_if_lower(4 SECONDS * REM * delta_time) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, rand(1, 4) * REM * delta_time) if(DT_PROB(2.5, delta_time)) M.emote(pick("twitch", "shiver")) @@ -296,7 +296,7 @@ M.add_mood_event("happiness_drug", /datum/mood_event/happiness_drug_good_od) if(2) M.emote("sway") - M.set_timed_status_effect(50 SECONDS, /datum/status_effect/dizziness, only_if_higher = TRUE) + M.set_dizzy_if_lower(50 SECONDS) if(3) M.emote("frown") M.add_mood_event("happiness_drug", /datum/mood_event/happiness_drug_bad_od) @@ -323,7 +323,7 @@ ..() /datum/reagent/drug/pumpup/on_mob_life(mob/living/carbon/M, delta_time, times_fired) - M.set_timed_status_effect(10 SECONDS * REM * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) + M.set_jitter_if_lower(10 SECONDS * REM * delta_time) if(DT_PROB(2.5, delta_time)) to_chat(M, span_notice("[pick("Go! Go! GO!", "You feel ready...", "You feel invincible...")]")) @@ -337,7 +337,7 @@ to_chat(M, span_userdanger("You can't stop shaking, your heart beats faster and faster...")) /datum/reagent/drug/pumpup/overdose_process(mob/living/M, delta_time, times_fired) - M.set_timed_status_effect(10 SECONDS * REM * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) + M.set_jitter_if_lower(10 SECONDS * REM * delta_time) if(DT_PROB(2.5, delta_time)) M.drop_all_held_items() if(DT_PROB(7.5, delta_time)) @@ -450,18 +450,18 @@ addiction_types = list(/datum/addiction/hallucinogens = 12) /datum/reagent/drug/mushroomhallucinogen/on_mob_life(mob/living/carbon/psychonaut, delta_time, times_fired) - psychonaut.set_timed_status_effect(1 SECONDS * REM * delta_time, /datum/status_effect/speech/slurring/drunk, only_if_higher = TRUE) + psychonaut.set_slurring_if_lower(1 SECONDS * REM * delta_time) switch(current_cycle) if(1 to 5) if(DT_PROB(5, delta_time)) psychonaut.emote(pick("twitch","giggle")) if(5 to 10) - psychonaut.set_timed_status_effect(20 SECONDS * REM * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) + psychonaut.set_jitter_if_lower(20 SECONDS * REM * delta_time) if(DT_PROB(10, delta_time)) psychonaut.emote(pick("twitch","giggle")) if (10 to INFINITY) - psychonaut.set_timed_status_effect(40 SECONDS * REM * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) + psychonaut.set_jitter_if_lower(40 SECONDS * REM * delta_time) if(DT_PROB(16, delta_time)) psychonaut.emote(pick("twitch","giggle")) ..() @@ -761,7 +761,7 @@ . = ..() kronkaine_fiend.add_mood_event("tweaking", /datum/mood_event/stimulant_medium, name) kronkaine_fiend.adjustOrganLoss(ORGAN_SLOT_HEART, 0.4 * REM * delta_time) - kronkaine_fiend.set_timed_status_effect(20 SECONDS * REM * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) + kronkaine_fiend.set_jitter_if_lower(20 SECONDS * REM * delta_time) kronkaine_fiend.AdjustSleeping(-20 * REM * delta_time) kronkaine_fiend.adjust_drowsyness(-5 * REM * delta_time) if(volume < 10) @@ -774,6 +774,6 @@ /datum/reagent/drug/kronkaine/overdose_process(mob/living/kronkaine_fiend, delta_time, times_fired) . = ..() kronkaine_fiend.adjustOrganLoss(ORGAN_SLOT_HEART, 1 * REM * delta_time) - kronkaine_fiend.set_timed_status_effect(20 SECONDS * REM * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) + kronkaine_fiend.set_jitter_if_lower(20 SECONDS * REM * delta_time) if(DT_PROB(10, delta_time)) to_chat(kronkaine_fiend, span_danger(pick("You feel like your heart is going to explode!", "Your ears are ringing!", "You sweat like a pig!", "You clench your jaw and grind your teeth.", "You feel prickles of pain in your chest."))) diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index 5e6fe5fa853..2136e404852 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -383,7 +383,7 @@ victim.emote("cry") victim.blur_eyes(5) // 10 seconds victim.adjust_blindness(3) // 6 seconds - victim.set_timed_status_effect(5 SECONDS, /datum/status_effect/confusion, only_if_higher = TRUE) + victim.set_confusion_if_lower(5 SECONDS) victim.Knockdown(3 SECONDS) victim.add_movespeed_modifier(/datum/movespeed_modifier/reagent/pepperspray) addtimer(CALLBACK(victim, /mob.proc/remove_movespeed_modifier, /datum/movespeed_modifier/reagent/pepperspray), 10 SECONDS) @@ -395,7 +395,7 @@ if(prob(10)) victim.blur_eyes(1) if(prob(10)) - victim.set_timed_status_effect(2 SECONDS, /datum/status_effect/dizziness, only_if_higher = TRUE) + victim.set_dizzy_if_lower(2 SECONDS) if(prob(5)) victim.vomit() @@ -459,7 +459,7 @@ if(DT_PROB(min(current_cycle/2, 12.5), delta_time)) to_chat(M, span_danger("You can't get the scent of garlic out of your nose! You can barely think...")) M.Paralyze(10) - M.set_timed_status_effect(20 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + M.set_jitter_if_lower(20 SECONDS) else var/obj/item/organ/internal/liver/liver = M.getorganslot(ORGAN_SLOT_LIVER) if(liver && HAS_TRAIT(liver, TRAIT_CULINARY_METABOLISM)) @@ -1008,7 +1008,7 @@ /datum/reagent/consumable/peanut_butter/on_mob_life(mob/living/carbon/M, delta_time, times_fired) //ET loves peanut butter if(isabductor(M)) M.add_mood_event("ET_pieces", /datum/mood_event/et_pieces, name) - M.set_timed_status_effect(30 SECONDS * REM * delta_time, /datum/status_effect/drugginess) + M.set_drugginess(30 SECONDS * REM * delta_time) ..() /datum/reagent/consumable/vinegar diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 710a54f85bb..e54862f7e53 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -252,8 +252,8 @@ /datum/reagent/medicine/rezadone/overdose_process(mob/living/M, delta_time, times_fired) M.adjustToxLoss(1 * REM * delta_time, 0) - M.set_timed_status_effect(10 SECONDS * REM * delta_time, /datum/status_effect/dizziness, only_if_higher = TRUE) - M.set_timed_status_effect(10 SECONDS * REM * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) + M.set_dizzy_if_lower(10 SECONDS * REM * delta_time) + M.set_jitter_if_lower(10 SECONDS * REM * delta_time) ..() . = TRUE @@ -556,7 +556,7 @@ var/obj/item/I = M.get_active_held_item() if(I && M.dropItemToGround(I)) to_chat(M, span_notice("Your hands spaz out and you drop what you were holding!")) - M.set_timed_status_effect(20 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + M.set_jitter_if_lower(20 SECONDS) M.AdjustAllImmobility(-20 * REM * delta_time * normalise_creation_purity()) M.adjustStaminaLoss(-1 * REM * delta_time * normalise_creation_purity(), FALSE) @@ -591,7 +591,7 @@ /datum/reagent/medicine/diphenhydramine/on_mob_life(mob/living/carbon/M, delta_time, times_fired) if(DT_PROB(5, delta_time)) M.adjust_drowsyness(1) - M.adjust_timed_status_effect(-2 SECONDS * REM * delta_time, /datum/status_effect/jitter) + M.adjust_jitter(-2 SECONDS * REM * delta_time) holder.remove_reagent(/datum/reagent/toxin/histamine, 3 * REM * delta_time) ..() @@ -630,8 +630,8 @@ /datum/reagent/medicine/morphine/overdose_process(mob/living/M, delta_time, times_fired) if(DT_PROB(18, delta_time)) M.drop_all_held_items() - M.set_timed_status_effect(4 SECONDS, /datum/status_effect/dizziness, only_if_higher = TRUE) - M.set_timed_status_effect(4 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + M.set_dizzy_if_lower(4 SECONDS) + M.set_jitter_if_lower(4 SECONDS) ..() @@ -772,15 +772,15 @@ . = TRUE M.losebreath = 0 if(DT_PROB(10, delta_time)) - M.set_timed_status_effect(10 SECONDS, /datum/status_effect/dizziness, only_if_higher = TRUE) - M.set_timed_status_effect(10 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + M.set_dizzy_if_lower(10 SECONDS) + M.set_jitter_if_lower(10 SECONDS) ..() /datum/reagent/medicine/atropine/overdose_process(mob/living/M, delta_time, times_fired) M.adjustToxLoss(0.5 * REM * delta_time, 0) . = TRUE - M.set_timed_status_effect(2 SECONDS * REM * delta_time, /datum/status_effect/dizziness, only_if_higher = TRUE) - M.set_timed_status_effect(2 SECONDS * REM * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) + M.set_dizzy_if_lower(2 SECONDS * REM * delta_time) + M.set_jitter_if_lower(2 SECONDS * REM * delta_time) ..() /datum/reagent/medicine/epinephrine @@ -1144,11 +1144,11 @@ M.adjustToxLoss(-3 * REM * delta_time, 0) M.adjustCloneLoss(-1 * REM * delta_time, 0) M.adjustStaminaLoss(-3 * REM * delta_time, 0) - M.adjust_timed_status_effect(6 SECONDS * REM * delta_time, /datum/status_effect/jitter, max_duration = 1 MINUTES) + M.adjust_jitter_up_to(6 SECONDS * REM * delta_time, 1 MINUTES) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2 * REM * delta_time, 150) if(DT_PROB(5, delta_time)) M.say(pick("Yeah, well, you know, that's just, like, uh, your opinion, man.", "Am I glad he's frozen in there and that we're out here, and that he's the sheriff and that we're frozen out here, and that we're in there, and I just remembered, we're out here. What I wanna know is: Where's the caveman?", "It ain't me, it ain't me...", "Make love, not war!", "Stop, hey, what's that sound? Everybody look what's going down...", "Do you believe in magic in a young girl's heart?"), forced = /datum/reagent/medicine/earthsblood) - M.adjust_timed_status_effect(20 SECONDS * REM * delta_time, /datum/status_effect/drugginess, max_duration = 30 SECONDS * REM * delta_time) + M.adjust_drugginess_up_to(20 SECONDS * REM * delta_time, 30 SECONDS * REM * delta_time) ..() . = TRUE @@ -1188,7 +1188,7 @@ M.adjust_drowsyness(2 * REM * delta_time) if(M.get_timed_status_effect_duration(/datum/status_effect/jitter) >= 6 SECONDS) - M.adjust_timed_status_effect(-6 SECONDS * REM * delta_time, /datum/status_effect/jitter) + M.adjust_jitter(-6 SECONDS * REM * delta_time) if (M.get_timed_status_effect_duration(/datum/status_effect/hallucination) >= 10 SECONDS) M.adjust_hallucinations(-10 SECONDS * REM * delta_time) @@ -1211,8 +1211,8 @@ ..() metabolizer.AdjustAllImmobility(-20 * REM * delta_time) metabolizer.adjustStaminaLoss(-10 * REM * delta_time, 0) - metabolizer.set_timed_status_effect(20 SECONDS * REM * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) - metabolizer.set_timed_status_effect(20 SECONDS * REM * delta_time, /datum/status_effect/dizziness, only_if_higher = TRUE) + metabolizer.set_jitter_if_lower(20 SECONDS * REM * delta_time) + metabolizer.set_dizzy_if_lower(20 SECONDS * REM * delta_time) return TRUE /datum/reagent/medicine/changelingadrenaline/on_mob_metabolize(mob/living/L) @@ -1324,7 +1324,7 @@ overdose_threshold = overdose_threshold + ((rand(-10, 10) / 10) * REM * delta_time) // for extra fun metabolizer.AdjustAllImmobility(-5 * REM * delta_time) metabolizer.adjustStaminaLoss(-0.5 * REM * delta_time, 0) - metabolizer.set_timed_status_effect(1 SECONDS * REM * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) + metabolizer.set_jitter_if_lower(1 SECONDS * REM * delta_time) metabolization_rate = 0.005 * REAGENTS_METABOLISM * rand(5, 20) // randomizes metabolism between 0.02 and 0.08 per second . = TRUE ..() @@ -1337,17 +1337,17 @@ overdose_progress++ switch(overdose_progress) if(1 to 40) - M.adjust_timed_status_effect(2 SECONDS * REM * delta_time, /datum/status_effect/jitter, max_duration = 20 SECONDS) - M.adjust_timed_status_effect(2 SECONDS * REM * delta_time, /datum/status_effect/speech/stutter, max_duration = 20 SECONDS) - M.set_timed_status_effect(10 SECONDS * REM * delta_time, /datum/status_effect/dizziness, only_if_higher = TRUE) + M.adjust_jitter_up_to(2 SECONDS * REM * delta_time, 20 SECONDS) + M.adjust_stutter_up_to(2 SECONDS * REM * delta_time, 20 SECONDS) + M.set_dizzy_if_lower(10 SECONDS * REM * delta_time) if(DT_PROB(30, delta_time)) M.losebreath++ if(41 to 80) M.adjustOxyLoss(0.1 * REM * delta_time, 0) M.adjustStaminaLoss(0.1 * REM * delta_time, 0) - M.adjust_timed_status_effect(2 SECONDS * REM * delta_time, /datum/status_effect/jitter, max_duration = 40 SECONDS) - M.adjust_timed_status_effect(2 SECONDS * REM * delta_time, /datum/status_effect/speech/stutter, max_duration = 40 SECONDS) - M.set_timed_status_effect(20 SECONDS * REM * delta_time, /datum/status_effect/dizziness, only_if_higher = TRUE) + M.adjust_jitter_up_to(2 SECONDS * REM * delta_time, 40 SECONDS) + M.adjust_stutter_up_to(2 SECONDS * REM * delta_time, 40 SECONDS) + M.set_dizzy_if_lower(20 SECONDS * REM * delta_time) if(DT_PROB(30, delta_time)) M.losebreath++ if(DT_PROB(10, delta_time)) @@ -1385,9 +1385,9 @@ ..() /datum/reagent/medicine/psicodine/on_mob_life(mob/living/carbon/M, delta_time, times_fired) - M.adjust_timed_status_effect(-12 SECONDS * REM * delta_time, /datum/status_effect/jitter) - M.adjust_timed_status_effect(-12 SECONDS * REM * delta_time, /datum/status_effect/dizziness) - M.adjust_timed_status_effect(-6 SECONDS * REM * delta_time, /datum/status_effect/confusion) + M.adjust_jitter(-12 SECONDS * REM * delta_time) + M.adjust_dizzy(-12 SECONDS * REM * delta_time) + M.adjust_confusion(-6 SECONDS * REM * delta_time) M.disgust = max(M.disgust - (6 * REM * delta_time), 0) if(M.mob_mood != null && M.mob_mood.sanity <= SANITY_NEUTRAL) // only take effect if in negative sanity and then... M.mob_mood.set_sanity(min(M.mob_mood.sanity + (5 * REM * delta_time), SANITY_NEUTRAL)) // set minimum to prevent unwanted spiking over neutral diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 820368e1f31..3438e7b0454 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -284,15 +284,15 @@ data = list("misc" = 0) data["misc"] += delta_time SECONDS * REM - M.adjust_timed_status_effect(4 SECONDS * delta_time, /datum/status_effect/jitter, max_duration = 20 SECONDS) + M.adjust_jitter_up_to(4 SECONDS * delta_time, 20 SECONDS) if(IS_CULTIST(M)) for(var/datum/action/innate/cult/blood_magic/BM in M.actions) to_chat(M, span_cultlarge("Your blood rites falter as holy water scours your body!")) for(var/datum/action/innate/cult/blood_spell/BS in BM.spells) qdel(BS) if(data["misc"] >= (25 SECONDS)) // 10 units - M.adjust_timed_status_effect(4 SECONDS * delta_time, /datum/status_effect/speech/stutter, max_duration = 20 SECONDS) - M.set_timed_status_effect(10 SECONDS, /datum/status_effect/dizziness, only_if_higher = TRUE) + M.adjust_stutter_up_to(4 SECONDS * delta_time, 20 SECONDS) + M.set_dizzy_if_lower(10 SECONDS) if(IS_CULTIST(M) && DT_PROB(10, delta_time)) M.say(pick("Av'te Nar'Sie","Pa'lid Mors","INO INO ORA ANA","SAT ANA!","Daim'niodeis Arc'iai Le'eones","R'ge Na'sie","Diabo us Vo'iscum","Eld' Mon Nobis"), forced = "holy water") if(prob(10)) @@ -1111,7 +1111,7 @@ /datum/reagent/bluespace/on_mob_life(mob/living/carbon/M, delta_time, times_fired) if(current_cycle > 10 && DT_PROB(7.5, delta_time)) to_chat(M, span_warning("You feel unstable...")) - M.set_timed_status_effect(2 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + M.set_jitter_if_lower(2 SECONDS) current_cycle = 1 addtimer(CALLBACK(M, /mob/living/proc/bluespace_shuffle), 30) ..() @@ -1239,16 +1239,16 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/cryptobiolin/on_mob_life(mob/living/carbon/M, delta_time, times_fired) - M.set_timed_status_effect(2 SECONDS, /datum/status_effect/dizziness, only_if_higher = TRUE) + M.set_dizzy_if_lower(2 SECONDS) // Cryptobiolin adjusts the mob's confusion down to 20 seconds if it's higher, // or up to 1 second if it's lower, but will do nothing if it's in between var/confusion_left = M.get_timed_status_effect_duration(/datum/status_effect/confusion) if(confusion_left < 1 SECONDS) - M.set_timed_status_effect(1 SECONDS, /datum/status_effect/confusion) + M.set_confusion(1 SECONDS) else if(confusion_left > 20 SECONDS) - M.set_timed_status_effect(20 SECONDS, /datum/status_effect/confusion) + M.set_confusion(20 SECONDS) ..() @@ -1262,7 +1262,7 @@ addiction_types = list(/datum/addiction/opioids = 10) /datum/reagent/impedrezene/on_mob_life(mob/living/carbon/M, delta_time, times_fired) - M.adjust_timed_status_effect(-5 SECONDS * delta_time, /datum/status_effect/jitter) + M.adjust_jitter(-5 SECONDS * delta_time) if(DT_PROB(55, delta_time)) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2) if(DT_PROB(30, delta_time)) @@ -1426,7 +1426,7 @@ H.blood_volume = max(H.blood_volume - (10 * REM * delta_time), 0) if(DT_PROB(10, delta_time)) M.losebreath += 2 - M.adjust_timed_status_effect(2 SECONDS, /datum/status_effect/confusion, max_duration = 5 SECONDS) + M.adjust_confusion_up_to(2 SECONDS, 5 SECONDS) ..() /////////////////////////Colorful Powder//////////////////////////// @@ -2399,8 +2399,8 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/peaceborg/confuse/on_mob_life(mob/living/carbon/M, delta_time, times_fired) - M.adjust_timed_status_effect(3 SECONDS * REM * delta_time, /datum/status_effect/confusion, max_duration = 5 SECONDS) - M.adjust_timed_status_effect(6 SECONDS * REM * delta_time, /datum/status_effect/dizziness, max_duration = 12 SECONDS) + M.adjust_confusion_up_to(3 SECONDS * REM * delta_time, 5 SECONDS) + M.adjust_dizzy_up_to(6 SECONDS * REM * delta_time, 12 SECONDS) if(DT_PROB(10, delta_time)) to_chat(M, "You feel confused and disoriented.") diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index ecb0f88f97d..25c14aeaef7 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -258,9 +258,9 @@ return TRUE switch(current_cycle) if(1 to 5) - M.adjust_timed_status_effect(1 SECONDS * REM * delta_time, /datum/status_effect/confusion) + M.adjust_confusion(1 SECONDS * REM * delta_time) M.adjust_drowsyness(1 * REM * delta_time) - M.adjust_timed_status_effect(6 SECONDS * REM * delta_time, /datum/status_effect/speech/slurring/drunk) + M.adjust_slurring(6 SECONDS * REM * delta_time) if(5 to 8) M.adjustStaminaLoss(40 * REM * delta_time, 0) if(9 to INFINITY) @@ -463,7 +463,7 @@ /datum/reagent/toxin/chloralhydrate/on_mob_life(mob/living/carbon/M, delta_time, times_fired) switch(current_cycle) if(1 to 10) - M.adjust_timed_status_effect(2 SECONDS * REM * normalise_creation_purity() * delta_time, /datum/status_effect/confusion) + M.adjust_confusion(2 SECONDS * 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) @@ -1200,7 +1200,7 @@ var/mob_dizziness = M.get_timed_status_effect_duration(/datum/status_effect/confusion) if(mob_dizziness > 0) // Gain confusion equal to about half the duration of our current dizziness - M.set_timed_status_effect(mob_dizziness / 2, /datum/status_effect/confusion) + M.set_confusion(mob_dizziness / 2) if(current_cycle >= 12 && DT_PROB(4, delta_time)) var/tox_message = pick("You feel your heart spasm in your chest.", "You feel faint.","You feel you need to catch your breath.","You feel a prickle of pain in your chest.") @@ -1223,7 +1223,7 @@ M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1 * REM * delta_time) if(DT_PROB(0.5, delta_time)) to_chat(M, span_notice("Ah, what was that? You thought you heard something...")) - M.adjust_timed_status_effect(5 SECONDS, /datum/status_effect/confusion) + M.adjust_confusion(5 SECONDS) return ..() /datum/reagent/toxin/hunterspider diff --git a/code/modules/reagents/chemistry/reagents/unique/eigenstasium.dm b/code/modules/reagents/chemistry/reagents/unique/eigenstasium.dm index ca24bad59c2..08d5316602e 100644 --- a/code/modules/reagents/chemistry/reagents/unique/eigenstasium.dm +++ b/code/modules/reagents/chemistry/reagents/unique/eigenstasium.dm @@ -93,7 +93,7 @@ /datum/reagent/eigenstate/overdose_start(mob/living/living_mob) //Overdose, makes you teleport randomly to_chat(living_mob, span_userdanger("You feel like your perspective is being ripped apart as you begin flitting in and out of reality!")) - living_mob.set_timed_status_effect(40 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + living_mob.set_jitter_if_lower(40 SECONDS) metabolization_rate += 0.5 //So you're not stuck forever teleporting. if(iscarbon(living_mob)) var/mob/living/carbon/carbon_mob = living_mob diff --git a/code/modules/reagents/withdrawal/generic_addictions.dm b/code/modules/reagents/withdrawal/generic_addictions.dm index f8e0c8cbb87..2da73f3499b 100644 --- a/code/modules/reagents/withdrawal/generic_addictions.dm +++ b/code/modules/reagents/withdrawal/generic_addictions.dm @@ -53,20 +53,19 @@ /datum/addiction/alcohol/withdrawal_stage_1_process(mob/living/carbon/affected_carbon, delta_time) . = ..() - affected_carbon.set_timed_status_effect(10 SECONDS * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) + affected_carbon.set_jitter_if_lower(10 SECONDS * delta_time) /datum/addiction/alcohol/withdrawal_stage_2_process(mob/living/carbon/affected_carbon, delta_time) . = ..() - affected_carbon.set_timed_status_effect(20 SECONDS * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) + affected_carbon.set_jitter_if_lower(20 SECONDS * delta_time) affected_carbon.set_hallucinations_if_lower(10 SECONDS) /datum/addiction/alcohol/withdrawal_stage_3_process(mob/living/carbon/affected_carbon, delta_time) . = ..() - affected_carbon.set_timed_status_effect(30 SECONDS * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) + affected_carbon.set_jitter_if_lower(30 SECONDS * delta_time) affected_carbon.set_hallucinations_if_lower(10 SECONDS) - if(DT_PROB(4, delta_time)) - if(!HAS_TRAIT(affected_carbon, TRAIT_ANTICONVULSANT)) - affected_carbon.apply_status_effect(/datum/status_effect/seizure) + if(DT_PROB(4, delta_time) && !HAS_TRAIT(affected_carbon, TRAIT_ANTICONVULSANT)) + affected_carbon.apply_status_effect(/datum/status_effect/seizure) /datum/addiction/hallucinogens name = "hallucinogen" @@ -136,8 +135,8 @@ var/lums = T.get_lumcount() if(lums > 0.5) affected_human.add_mood_event("too_bright", /datum/mood_event/bright_light) - affected_human.adjust_timed_status_effect(6 SECONDS, /datum/status_effect/dizziness, max_duration = 80 SECONDS) - affected_human.adjust_timed_status_effect(0.5 SECONDS * delta_time, /datum/status_effect/confusion, max_duration = 20 SECONDS) + affected_human.adjust_dizzy_up_to(6 SECONDS, 80 SECONDS) + affected_human.adjust_confusion_up_to(0.5 SECONDS * delta_time, 20 SECONDS) else affected_carbon.clear_mood_event("too_bright") @@ -274,16 +273,16 @@ /datum/addiction/nicotine/withdrawal_enters_stage_1(mob/living/carbon/affected_carbon, delta_time) . = ..() - affected_carbon.set_timed_status_effect(10 SECONDS * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) + affected_carbon.set_jitter_if_lower(10 SECONDS * delta_time) /datum/addiction/nicotine/withdrawal_stage_2_process(mob/living/carbon/affected_carbon, delta_time) . = ..() - affected_carbon.set_timed_status_effect(20 SECONDS * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) + affected_carbon.set_jitter_if_lower(20 SECONDS * delta_time) if(DT_PROB(10, delta_time)) affected_carbon.emote("cough") /datum/addiction/nicotine/withdrawal_stage_3_process(mob/living/carbon/affected_carbon, delta_time) . = ..() - affected_carbon.set_timed_status_effect(30 SECONDS * delta_time, /datum/status_effect/jitter, only_if_higher = TRUE) + affected_carbon.set_jitter_if_lower(30 SECONDS * delta_time) if(DT_PROB(15, delta_time)) affected_carbon.emote("cough") diff --git a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm index 198c433e3de..14d8e74566d 100644 --- a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm +++ b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm @@ -212,7 +212,7 @@ /datum/status_effect/bonechill/tick() if(prob(50)) owner.adjustFireLoss(1) - owner.set_timed_status_effect(6 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + owner.set_jitter_if_lower(6 SECONDS) owner.adjust_bodytemperature(-10) if(ishuman(owner)) var/mob/living/carbon/human/humi = owner diff --git a/code/modules/surgery/organs/heart.dm b/code/modules/surgery/organs/heart.dm index 393713f4571..2e9cc5034da 100644 --- a/code/modules/surgery/organs/heart.dm +++ b/code/modules/surgery/organs/heart.dm @@ -216,7 +216,7 @@ if(. & EMP_PROTECT_SELF) return if(!COOLDOWN_FINISHED(src, severe_cooldown)) //So we cant just spam emp to kill people. - owner.set_timed_status_effect(20 SECONDS, /datum/status_effect/dizziness, only_if_higher = TRUE) + owner.set_dizzy_if_lower(20 SECONDS) owner.losebreath += 10 COOLDOWN_START(src, severe_cooldown, 20 SECONDS) if(prob(emp_vulnerability/severity)) //Chance of permanent effects diff --git a/code/modules/surgery/organs/stomach/_stomach.dm b/code/modules/surgery/organs/stomach/_stomach.dm index 19d6752cad7..e1dc9cd8004 100644 --- a/code/modules/surgery/organs/stomach/_stomach.dm +++ b/code/modules/surgery/organs/stomach/_stomach.dm @@ -152,7 +152,7 @@ else if(human.satiety < 0) human.satiety++ if(DT_PROB(round(-human.satiety/77), delta_time)) - human.set_timed_status_effect(10 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + human.set_jitter_if_lower(10 SECONDS) hunger_rate = 3 * HUNGER_FACTOR hunger_rate *= human.physiology.hunger_mod human.adjust_nutrition(-hunger_rate * delta_time) @@ -216,17 +216,17 @@ var/pukeprob = 2.5 + (0.025 * disgust) if(disgust >= DISGUST_LEVEL_GROSS) if(DT_PROB(5, delta_time)) - disgusted.adjust_timed_status_effect(2 SECONDS, /datum/status_effect/speech/stutter) - disgusted.adjust_timed_status_effect(2 SECONDS, /datum/status_effect/confusion) + disgusted.adjust_stutter(2 SECONDS) + disgusted.adjust_confusion(2 SECONDS) if(DT_PROB(5, delta_time) && !disgusted.stat) to_chat(disgusted, span_warning("You feel kind of iffy...")) - disgusted.adjust_timed_status_effect(-6 SECONDS, /datum/status_effect/jitter) + disgusted.adjust_jitter(-6 SECONDS) if(disgust >= DISGUST_LEVEL_VERYGROSS) if(DT_PROB(pukeprob, delta_time)) //iT hAndLeS mOrE ThaN PukInG - disgusted.adjust_timed_status_effect(2.5 SECONDS, /datum/status_effect/confusion) - disgusted.adjust_timed_status_effect(2 SECONDS, /datum/status_effect/speech/stutter) + disgusted.adjust_confusion(2.5 SECONDS) + disgusted.adjust_stutter(2 SECONDS) disgusted.vomit(10, distance = 0, vomit_type = NONE) - disgusted.set_timed_status_effect(10 SECONDS, /datum/status_effect/dizziness, only_if_higher = TRUE) + disgusted.set_dizzy_if_lower(10 SECONDS) if(disgust >= DISGUST_LEVEL_DISGUSTED) if(DT_PROB(13, delta_time)) disgusted.blur_eyes(3) //We need to add more shit down here diff --git a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm index 2c9d9d0113d..d01cdd8c76a 100644 --- a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm +++ b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm @@ -226,7 +226,7 @@ continue to_chat(M, "HONK") M.SetSleeping(0) - M.adjust_timed_status_effect(40 SECONDS, /datum/status_effect/speech/stutter) + M.adjust_stutter(40 SECONDS) var/obj/item/organ/internal/ears/ears = M.getorganslot(ORGAN_SLOT_EARS) if(ears) ears.adjustEarDamage(0, 30) @@ -235,7 +235,7 @@ M.Stun(200) M.Unconscious(80) else - M.set_timed_status_effect(1000 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE) + M.set_jitter_if_lower(1000 SECONDS) log_message("Honked from [src.name]. HONK!", LOG_MECHA) var/turf/T = get_turf(src)