Files
Bubberstation/code/datums/status_effects/drug_effects.dm
MrMelbert 239797a4ee Deletes misleading infinite define, adds defines for clearer status effect durations (#87842)
## About The Pull Request

1. Deletes `INFINTIE`, it is misleading and not at all a big number and
causes bugs
2. Adds `STATUS_EFFECT_PERMANENT` and `STATUS_EFFECT_NO_TICK` to make it
clearer what infinite status effects are
2024-11-12 17:24:27 +01:00

94 lines
3.5 KiB
Plaintext

/datum/status_effect/woozy
id = "woozy"
tick_interval = STATUS_EFFECT_NO_TICK
status_type = STATUS_EFFECT_UNIQUE
alert_type = /atom/movable/screen/alert/status_effect/woozy
/datum/status_effect/woozy/nextmove_modifier()
return 1.5
/atom/movable/screen/alert/status_effect/woozy
name = "Woozy"
desc = "You feel a bit slower than usual, it seems doing things with your hands takes longer than it usually does."
icon_state = "woozy"
/datum/status_effect/high_blood_pressure
id = "high_blood_pressure"
tick_interval = STATUS_EFFECT_NO_TICK
status_type = STATUS_EFFECT_UNIQUE
alert_type = /atom/movable/screen/alert/status_effect/high_blood_pressure
/datum/status_effect/high_blood_pressure/on_apply()
if(!ishuman(owner))
return FALSE
var/mob/living/carbon/human/human_owner = owner
human_owner.physiology.bleed_mod *= 1.25
return TRUE
/datum/status_effect/high_blood_pressure/on_remove()
if(!ishuman(owner))
return
var/mob/living/carbon/human/human_owner = owner
human_owner.physiology.bleed_mod /= 1.25
/atom/movable/screen/alert/status_effect/high_blood_pressure
name = "High blood pressure"
desc = "Your blood pressure is real high right now ... You'd probably bleed like a stuck pig."
icon_state = "highbloodpressure"
/datum/status_effect/seizure
id = "seizure"
tick_interval = STATUS_EFFECT_NO_TICK
status_type = STATUS_EFFECT_UNIQUE
alert_type = /atom/movable/screen/alert/status_effect/seizure
/datum/status_effect/seizure/on_apply()
if(!iscarbon(owner))
return FALSE
var/amplitude = rand(1 SECONDS, 3 SECONDS)
duration = amplitude
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 can't think straight...","You can't move your face properly anymore...")]"))
return TRUE
/atom/movable/screen/alert/status_effect/seizure
name = "Seizure"
desc = "FJOIWEHUWQEFGYUWDGHUIWHUIDWEHUIFDUWGYSXQHUIODSDBNJKVBNKDML <--- this is you right now"
icon_state = "paralysis"
/datum/status_effect/stoned
id = "stoned"
duration = 10 SECONDS
alert_type = /atom/movable/screen/alert/status_effect/stoned
status_type = STATUS_EFFECT_REFRESH
/datum/status_effect/stoned/on_apply()
if(!ishuman(owner))
return FALSE
var/mob/living/carbon/human/human_owner = owner
human_owner.add_movespeed_modifier(/datum/movespeed_modifier/reagent/cannabis) //slows you down
human_owner.add_eye_color(BLOODCULT_EYE, EYE_COLOR_WEED_PRIORITY) //makes cult eyes less obvious
human_owner.add_traits(list(TRAIT_CLUMSY, TRAIT_BLOODSHOT_EYES), type) // impairs motor coordination and dilates blood vessels in eyes
human_owner.add_mood_event("stoned", /datum/mood_event/stoned) //improves mood
human_owner.sound_environment_override = SOUND_ENVIRONMENT_DRUGGED //not realistic but very immersive
return TRUE
/datum/status_effect/stoned/on_remove()
if(!ishuman(owner))
return
var/mob/living/carbon/human/human_owner = owner
human_owner.remove_movespeed_modifier(/datum/movespeed_modifier/reagent/cannabis)
human_owner.remove_eye_color(EYE_COLOR_WEED_PRIORITY)
human_owner.remove_traits(list(TRAIT_CLUMSY, TRAIT_BLOODSHOT_EYES), type)
human_owner.clear_mood_event("stoned")
human_owner.sound_environment_override = SOUND_ENVIRONMENT_NONE
/atom/movable/screen/alert/status_effect/stoned
name = "Stoned"
desc = "Cannabis is impairing your speed, motor skills, and mental cognition."
icon_state = "stoned"