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)