mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-12 10:42:37 +00:00
[MIRROR] Converts drugginess to status effect, striking another var processed on life() [MDB IGNORE] (#12987)
* Converts drugginess to status effect, striking another var processed on life() (#66331) * Changes drugginess to an effect * Missed some changes * Removed * Converts drugginess to status effect, striking another var processed on life() * wew * 0 Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
This commit is contained in:
@@ -35,7 +35,6 @@
|
|||||||
|
|
||||||
//drunk alerts
|
//drunk alerts
|
||||||
#define ALERT_DRUNK "drunk"
|
#define ALERT_DRUNK "drunk"
|
||||||
#define ALERT_HIGH "high"
|
|
||||||
|
|
||||||
/** Alien related */
|
/** Alien related */
|
||||||
#define ALERT_XENO_FIRE "alien_fire"
|
#define ALERT_XENO_FIRE "alien_fire"
|
||||||
|
|||||||
@@ -15,11 +15,9 @@
|
|||||||
#define LANGUAGE_CURATOR "curator"
|
#define LANGUAGE_CURATOR "curator"
|
||||||
#define LANGUAGE_GLAND "gland"
|
#define LANGUAGE_GLAND "gland"
|
||||||
#define LANGUAGE_HAT "hat"
|
#define LANGUAGE_HAT "hat"
|
||||||
#define LANGUAGE_HIGH "high"
|
|
||||||
#define LANGUAGE_MALF "malf"
|
#define LANGUAGE_MALF "malf"
|
||||||
#define LANGUAGE_PIRATE "pirate"
|
#define LANGUAGE_PIRATE "pirate"
|
||||||
#define LANGUAGE_MASTER "master"
|
#define LANGUAGE_MASTER "master"
|
||||||
#define LANGUAGE_SOFTWARE "software"
|
#define LANGUAGE_SOFTWARE "software"
|
||||||
#define LANGUAGE_STONER "stoner"
|
#define LANGUAGE_STONER "stoner"
|
||||||
#define LANGUAGE_VOICECHANGE "voicechange"
|
#define LANGUAGE_VOICECHANGE "voicechange"
|
||||||
|
|
||||||
|
|||||||
@@ -226,11 +226,6 @@
|
|||||||
or something covering your eyes."
|
or something covering your eyes."
|
||||||
icon_state = ALERT_BLIND
|
icon_state = ALERT_BLIND
|
||||||
|
|
||||||
/atom/movable/screen/alert/high
|
|
||||||
name = "High"
|
|
||||||
desc = "Whoa man, you're tripping balls! Careful you don't get addicted... if you aren't already."
|
|
||||||
icon_state = "high"
|
|
||||||
|
|
||||||
/atom/movable/screen/alert/hypnosis
|
/atom/movable/screen/alert/hypnosis
|
||||||
name = "Hypnosis"
|
name = "Hypnosis"
|
||||||
desc = "Something's hypnotizing you, but you're not really sure about what."
|
desc = "Something's hypnotizing you, but you're not really sure about what."
|
||||||
|
|||||||
@@ -47,4 +47,4 @@
|
|||||||
if(M.dizziness <= 70)
|
if(M.dizziness <= 70)
|
||||||
M.dizziness += 30
|
M.dizziness += 30
|
||||||
if(power >= 2)
|
if(power >= 2)
|
||||||
M.set_drugginess(40)
|
M.set_timed_status_effect(80 SECONDS, /datum/status_effect/drugginess)
|
||||||
|
|||||||
38
code/datums/status_effects/debuffs/drugginess.dm
Normal file
38
code/datums/status_effects/debuffs/drugginess.dm
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
/// Drugginess / "high" effect, makes your screen rainbow
|
||||||
|
/datum/status_effect/drugginess
|
||||||
|
id = "drugged"
|
||||||
|
alert_type = /atom/movable/screen/alert/status_effect/high
|
||||||
|
|
||||||
|
/datum/status_effect/drugginess/on_creation(mob/living/new_owner, duration = 10 SECONDS)
|
||||||
|
src.duration = duration
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
/datum/status_effect/drugginess/on_apply()
|
||||||
|
RegisterSignal(owner, list(COMSIG_LIVING_POST_FULLY_HEAL, COMSIG_LIVING_DEATH), .proc/remove_drugginess)
|
||||||
|
|
||||||
|
SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, id, /datum/mood_event/high)
|
||||||
|
owner.overlay_fullscreen(id, /atom/movable/screen/fullscreen/high)
|
||||||
|
owner.sound_environment_override = SOUND_ENVIRONMENT_DRUGGED
|
||||||
|
owner.grant_language(/datum/language/beachbum, TRUE, TRUE, id)
|
||||||
|
return TRUE
|
||||||
|
|
||||||
|
/datum/status_effect/drugginess/on_remove()
|
||||||
|
UnregisterSignal(owner, list(COMSIG_LIVING_POST_FULLY_HEAL, COMSIG_LIVING_DEATH))
|
||||||
|
|
||||||
|
SEND_SIGNAL(owner, COMSIG_CLEAR_MOOD_EVENT, id)
|
||||||
|
owner.clear_fullscreen(id)
|
||||||
|
if(owner.sound_environment_override == SOUND_ENVIRONMENT_DRUGGED)
|
||||||
|
owner.sound_environment_override = SOUND_ENVIRONMENT_NONE
|
||||||
|
owner.remove_language(/datum/language/beachbum, TRUE, TRUE, id)
|
||||||
|
|
||||||
|
/// Removes all of our drugginess (self delete) on signal
|
||||||
|
/datum/status_effect/drugginess/proc/remove_drugginess(datum/source, admin_revive)
|
||||||
|
SIGNAL_HANDLER
|
||||||
|
|
||||||
|
qdel(src)
|
||||||
|
|
||||||
|
/// The status effect for "drugginess"
|
||||||
|
/atom/movable/screen/alert/status_effect/high
|
||||||
|
name = "High"
|
||||||
|
desc = "Whoa man, you're tripping balls! Careful you don't get addicted... if you aren't already."
|
||||||
|
icon_state = "high"
|
||||||
@@ -502,7 +502,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/start/new_player)
|
|||||||
var/mob/living/carbon/spawned_carbon = hangover_mob
|
var/mob/living/carbon/spawned_carbon = hangover_mob
|
||||||
spawned_carbon.set_resting(TRUE, silent = TRUE)
|
spawned_carbon.set_resting(TRUE, silent = TRUE)
|
||||||
if(prob(50))
|
if(prob(50))
|
||||||
spawned_carbon.adjust_drugginess(rand(15, 20))
|
spawned_carbon.adjust_timed_status_effect(rand(30 SECONDS, 40 SECONDS), /datum/status_effect/drugginess)
|
||||||
else
|
else
|
||||||
spawned_carbon.drunkenness += rand(15, 25)
|
spawned_carbon.drunkenness += rand(15, 25)
|
||||||
spawned_carbon.adjust_disgust(rand(5, 55)) //How hungover are you?
|
spawned_carbon.adjust_disgust(rand(5, 55)) //How hungover are you?
|
||||||
|
|||||||
@@ -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)
|
/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)
|
reac_volume = return_mob_expose_reac_volume(exposed_mob, methods, reac_volume, show_message, touch_protection, overmind)
|
||||||
exposed_mob.adjust_drugginess(reac_volume)
|
exposed_mob.adjust_timed_status_effect(reac_volume * 2 SECONDS, /datum/status_effect/drugginess)
|
||||||
if(exposed_mob.reagents)
|
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/blob/regenerative_materia, 0.2*reac_volume)
|
||||||
exposed_mob.reagents.add_reagent(/datum/reagent/toxin/spore, 0.2*reac_volume)
|
exposed_mob.reagents.add_reagent(/datum/reagent/toxin/spore, 0.2*reac_volume)
|
||||||
|
|||||||
@@ -38,15 +38,3 @@
|
|||||||
. = ..()
|
. = ..()
|
||||||
if(.)
|
if(.)
|
||||||
update_hair()
|
update_hair()
|
||||||
|
|
||||||
/mob/living/carbon/human/set_drugginess(amount)
|
|
||||||
..()
|
|
||||||
if(!amount)
|
|
||||||
remove_language(/datum/language/beachbum, TRUE, TRUE, LANGUAGE_HIGH)
|
|
||||||
|
|
||||||
/mob/living/carbon/human/adjust_drugginess(amount)
|
|
||||||
..()
|
|
||||||
if(druggy)
|
|
||||||
grant_language(/datum/language/beachbum, TRUE, TRUE, LANGUAGE_HIGH)
|
|
||||||
else
|
|
||||||
remove_language(/datum/language/beachbum, TRUE, TRUE, LANGUAGE_HIGH)
|
|
||||||
|
|||||||
@@ -504,9 +504,6 @@ All effects don't start immediately, but rather get worse over time; the rate is
|
|||||||
else
|
else
|
||||||
SEND_SIGNAL(src, COMSIG_CLEAR_MOOD_EVENT, "jittery")
|
SEND_SIGNAL(src, COMSIG_CLEAR_MOOD_EVENT, "jittery")
|
||||||
|
|
||||||
if(druggy)
|
|
||||||
adjust_drugginess(-0.5 * delta_time)
|
|
||||||
|
|
||||||
if(silent)
|
if(silent)
|
||||||
silent = max(silent - (0.5 * delta_time), 0)
|
silent = max(silent - (0.5 * delta_time), 0)
|
||||||
|
|
||||||
|
|||||||
@@ -21,29 +21,6 @@
|
|||||||
if(getStaminaLoss() < 162) // Puts you a little further into the initial stamcrit, makes stamcrit harder to outright counter with chems. // SKYRAT EDIT: ORIGINAL if(getStaminaLoss() < 120 * 1.35)
|
if(getStaminaLoss() < 162) // Puts you a little further into the initial stamcrit, makes stamcrit harder to outright counter with chems. // SKYRAT EDIT: ORIGINAL if(getStaminaLoss() < 120 * 1.35)
|
||||||
adjustStaminaLoss(30, FALSE)
|
adjustStaminaLoss(30, FALSE)
|
||||||
|
|
||||||
|
|
||||||
/mob/living/carbon/adjust_drugginess(amount)
|
|
||||||
druggy = max(druggy+amount, 0)
|
|
||||||
if(druggy)
|
|
||||||
overlay_fullscreen("high", /atom/movable/screen/fullscreen/high)
|
|
||||||
throw_alert(ALERT_HIGH, /atom/movable/screen/alert/high)
|
|
||||||
SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "high", /datum/mood_event/high)
|
|
||||||
sound_environment_override = SOUND_ENVIRONMENT_DRUGGED
|
|
||||||
else
|
|
||||||
clear_fullscreen("high")
|
|
||||||
clear_alert(ALERT_HIGH)
|
|
||||||
SEND_SIGNAL(src, COMSIG_CLEAR_MOOD_EVENT, "high")
|
|
||||||
sound_environment_override = SOUND_ENVIRONMENT_NONE
|
|
||||||
|
|
||||||
/mob/living/carbon/set_drugginess(amount)
|
|
||||||
druggy = max(amount, 0)
|
|
||||||
if(druggy)
|
|
||||||
overlay_fullscreen("high", /atom/movable/screen/fullscreen/high)
|
|
||||||
throw_alert(ALERT_HIGH, /atom/movable/screen/alert/high)
|
|
||||||
else
|
|
||||||
clear_fullscreen("high")
|
|
||||||
clear_alert(ALERT_HIGH)
|
|
||||||
|
|
||||||
/mob/living/carbon/adjust_disgust(amount)
|
/mob/living/carbon/adjust_disgust(amount)
|
||||||
disgust = clamp(disgust+amount, 0, DISGUST_LEVEL_MAXEDOUT)
|
disgust = clamp(disgust+amount, 0, DISGUST_LEVEL_MAXEDOUT)
|
||||||
|
|
||||||
|
|||||||
@@ -79,7 +79,6 @@
|
|||||||
if(SSlag_switch.measures[DISABLE_DEAD_KEYLOOP] && !client?.holder)
|
if(SSlag_switch.measures[DISABLE_DEAD_KEYLOOP] && !client?.holder)
|
||||||
to_chat(src, span_deadsay(span_big("Observer freelook is disabled.\nPlease use Orbit, Teleport, and Jump to look around.")))
|
to_chat(src, span_deadsay(span_big("Observer freelook is disabled.\nPlease use Orbit, Teleport, and Jump to look around.")))
|
||||||
ghostize(TRUE)
|
ghostize(TRUE)
|
||||||
set_drugginess(0)
|
|
||||||
set_disgust(0)
|
set_disgust(0)
|
||||||
SetSleeping(0, 0)
|
SetSleeping(0, 0)
|
||||||
reset_perspective(null)
|
reset_perspective(null)
|
||||||
|
|||||||
@@ -1690,9 +1690,6 @@
|
|||||||
return FALSE
|
return FALSE
|
||||||
if(NAMEOF(src, health)) //this doesn't work. gotta use procs instead.
|
if(NAMEOF(src, health)) //this doesn't work. gotta use procs instead.
|
||||||
return FALSE
|
return FALSE
|
||||||
if(NAMEOF(src, druggy))
|
|
||||||
set_drugginess(var_value)
|
|
||||||
. = TRUE
|
|
||||||
if(NAMEOF(src, resting))
|
if(NAMEOF(src, resting))
|
||||||
set_resting(var_value)
|
set_resting(var_value)
|
||||||
. = TRUE
|
. = TRUE
|
||||||
|
|||||||
@@ -113,14 +113,6 @@
|
|||||||
else
|
else
|
||||||
game_plane_master_controller.remove_filter("eye_blur")
|
game_plane_master_controller.remove_filter("eye_blur")
|
||||||
|
|
||||||
///Adjust the drugginess of a mob
|
|
||||||
/mob/proc/adjust_drugginess(amount)
|
|
||||||
return
|
|
||||||
|
|
||||||
///Set the drugginess of a mob
|
|
||||||
/mob/proc/set_drugginess(amount)
|
|
||||||
return
|
|
||||||
|
|
||||||
///Adjust the disgust level of a mob
|
///Adjust the disgust level of a mob
|
||||||
/mob/proc/adjust_disgust(amount)
|
/mob/proc/adjust_disgust(amount)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -325,7 +325,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
|
|||||||
liquid_fire_power = 0 //SKYRAT EDIT ADDITION
|
liquid_fire_power = 0 //SKYRAT EDIT ADDITION
|
||||||
|
|
||||||
/datum/reagent/consumable/ethanol/threemileisland/on_mob_life(mob/living/carbon/drinker, delta_time, times_fired)
|
/datum/reagent/consumable/ethanol/threemileisland/on_mob_life(mob/living/carbon/drinker, delta_time, times_fired)
|
||||||
drinker.set_drugginess(50 * REM * delta_time)
|
drinker.set_timed_status_effect(100 SECONDS * REM * delta_time, /datum/status_effect/drugginess)
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/datum/reagent/consumable/ethanol/gin
|
/datum/reagent/consumable/ethanol/gin
|
||||||
@@ -983,7 +983,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)
|
/datum/reagent/consumable/ethanol/manhattan_proj/on_mob_life(mob/living/carbon/drinker, delta_time, times_fired)
|
||||||
drinker.set_drugginess(30 * REM * delta_time)
|
drinker.set_timed_status_effect(1 MINUTES * REM * delta_time, /datum/status_effect/drugginess)
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/datum/reagent/consumable/ethanol/whiskeysoda
|
/datum/reagent/consumable/ethanol/whiskeysoda
|
||||||
@@ -1499,7 +1499,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
|
|||||||
glass_price = DRINK_PRICE_HIGH
|
glass_price = DRINK_PRICE_HIGH
|
||||||
|
|
||||||
/datum/reagent/consumable/ethanol/atomicbomb/on_mob_life(mob/living/carbon/drinker, delta_time, times_fired)
|
/datum/reagent/consumable/ethanol/atomicbomb/on_mob_life(mob/living/carbon/drinker, delta_time, times_fired)
|
||||||
drinker.set_drugginess(50 * REM * delta_time)
|
drinker.set_timed_status_effect(100 SECONDS * REM * delta_time, /datum/status_effect/drugginess)
|
||||||
if(!HAS_TRAIT(drinker, TRAIT_ALCOHOL_TOLERANCE))
|
if(!HAS_TRAIT(drinker, TRAIT_ALCOHOL_TOLERANCE))
|
||||||
drinker.set_confusion(max(drinker.get_confusion() + (2 * REM * delta_time),0))
|
drinker.set_confusion(max(drinker.get_confusion() + (2 * REM * delta_time),0))
|
||||||
drinker.Dizzy(10 * REM * delta_time)
|
drinker.Dizzy(10 * REM * delta_time)
|
||||||
@@ -1536,7 +1536,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
|
|||||||
if(DT_PROB(30, delta_time))
|
if(DT_PROB(30, delta_time))
|
||||||
drinker.set_confusion(max(drinker.get_confusion() + 3, 0))
|
drinker.set_confusion(max(drinker.get_confusion() + 3, 0))
|
||||||
if(55 to 200)
|
if(55 to 200)
|
||||||
drinker.set_drugginess(55 * REM * delta_time)
|
drinker.set_timed_status_effect(110 SECONDS * REM * delta_time, /datum/status_effect/drugginess)
|
||||||
if(200 to INFINITY)
|
if(200 to INFINITY)
|
||||||
drinker.adjustToxLoss(2 * REM * delta_time, 0)
|
drinker.adjustToxLoss(2 * REM * delta_time, 0)
|
||||||
. = TRUE
|
. = TRUE
|
||||||
@@ -1559,7 +1559,7 @@ 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))
|
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)
|
/datum/reagent/consumable/ethanol/neurotoxin/on_mob_life(mob/living/carbon/drinker, delta_time, times_fired)
|
||||||
drinker.set_drugginess(50 * REM * delta_time)
|
drinker.set_timed_status_effect(100 SECONDS * REM * delta_time, /datum/status_effect/drugginess)
|
||||||
drinker.dizziness += 2 * REM * delta_time
|
drinker.dizziness += 2 * REM * delta_time
|
||||||
drinker.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1 * REM * delta_time, 150)
|
drinker.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1 * REM * delta_time, 150)
|
||||||
if(DT_PROB(10, delta_time))
|
if(DT_PROB(10, delta_time))
|
||||||
@@ -1609,25 +1609,25 @@ All effects don't start immediately, but rather get worse over time; the rate is
|
|||||||
switch(current_cycle)
|
switch(current_cycle)
|
||||||
if(1 to 5)
|
if(1 to 5)
|
||||||
drinker.Dizzy(10 * REM * delta_time)
|
drinker.Dizzy(10 * REM * delta_time)
|
||||||
drinker.set_drugginess(30 * REM * delta_time)
|
drinker.set_timed_status_effect(1 MINUTES * REM * delta_time, /datum/status_effect/drugginess)
|
||||||
if(DT_PROB(5, delta_time))
|
if(DT_PROB(5, delta_time))
|
||||||
drinker.emote(pick("twitch","giggle"))
|
drinker.emote(pick("twitch","giggle"))
|
||||||
if(5 to 10)
|
if(5 to 10)
|
||||||
drinker.Jitter(20 * REM * delta_time)
|
drinker.Jitter(20 * REM * delta_time)
|
||||||
drinker.Dizzy(20 * REM * delta_time)
|
drinker.Dizzy(20 * REM * delta_time)
|
||||||
drinker.set_drugginess(45 * REM * delta_time)
|
drinker.set_timed_status_effect(1.5 MINUTES * REM * delta_time, /datum/status_effect/drugginess)
|
||||||
if(DT_PROB(10, delta_time))
|
if(DT_PROB(10, delta_time))
|
||||||
drinker.emote(pick("twitch","giggle"))
|
drinker.emote(pick("twitch","giggle"))
|
||||||
if (10 to 200)
|
if (10 to 200)
|
||||||
drinker.Jitter(40 * REM * delta_time)
|
drinker.Jitter(40 * REM * delta_time)
|
||||||
drinker.Dizzy(40 * REM * delta_time)
|
drinker.Dizzy(40 * REM * delta_time)
|
||||||
drinker.set_drugginess(60 * REM * delta_time)
|
drinker.set_timed_status_effect(2 MINUTES * REM * delta_time, /datum/status_effect/drugginess)
|
||||||
if(DT_PROB(16, delta_time))
|
if(DT_PROB(16, delta_time))
|
||||||
drinker.emote(pick("twitch","giggle"))
|
drinker.emote(pick("twitch","giggle"))
|
||||||
if(200 to INFINITY)
|
if(200 to INFINITY)
|
||||||
drinker.Jitter(60 * REM * delta_time)
|
drinker.Jitter(60 * REM * delta_time)
|
||||||
drinker.Dizzy(60 * REM * delta_time)
|
drinker.Dizzy(60 * REM * delta_time)
|
||||||
drinker.set_drugginess(75 * REM * delta_time)
|
drinker.set_timed_status_effect(2.5 MINUTES * REM * delta_time, /datum/status_effect/drugginess)
|
||||||
if(DT_PROB(23, delta_time))
|
if(DT_PROB(23, delta_time))
|
||||||
drinker.emote(pick("twitch","giggle"))
|
drinker.emote(pick("twitch","giggle"))
|
||||||
if(DT_PROB(16, delta_time))
|
if(DT_PROB(16, delta_time))
|
||||||
|
|||||||
@@ -466,7 +466,7 @@
|
|||||||
|
|
||||||
/datum/reagent/consumable/nuka_cola/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
/datum/reagent/consumable/nuka_cola/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||||
M.Jitter(20 * REM * delta_time)
|
M.Jitter(20 * REM * delta_time)
|
||||||
M.set_drugginess(30 * REM * delta_time)
|
M.set_timed_status_effect(1 MINUTES * REM * delta_time, /datum/status_effect/drugginess)
|
||||||
M.dizziness += 1.5 * REM * delta_time
|
M.dizziness += 1.5 * REM * delta_time
|
||||||
M.set_drowsyness(0)
|
M.set_drowsyness(0)
|
||||||
M.AdjustSleeping(-40 * REM * delta_time)
|
M.AdjustSleeping(-40 * REM * delta_time)
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
addiction_types = list(/datum/addiction/hallucinogens = 10) //4 per 2 seconds
|
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)
|
/datum/reagent/drug/space_drugs/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||||
M.set_drugginess(15 * REM * delta_time)
|
M.set_timed_status_effect(30 SECONDS * REM * delta_time, /datum/status_effect/drugginess)
|
||||||
if(isturf(M.loc) && !isspaceturf(M.loc) && !HAS_TRAIT(M, TRAIT_IMMOBILIZED) && DT_PROB(5, delta_time))
|
if(isturf(M.loc) && !isspaceturf(M.loc) && !HAS_TRAIT(M, TRAIT_IMMOBILIZED) && DT_PROB(5, delta_time))
|
||||||
step(M, pick(GLOB.cardinals))
|
step(M, pick(GLOB.cardinals))
|
||||||
if(DT_PROB(3.5, delta_time))
|
if(DT_PROB(3.5, delta_time))
|
||||||
|
|||||||
@@ -1000,7 +1000,7 @@
|
|||||||
/datum/reagent/consumable/peanut_butter/on_mob_life(mob/living/carbon/M, delta_time, times_fired) //ET loves peanut butter
|
/datum/reagent/consumable/peanut_butter/on_mob_life(mob/living/carbon/M, delta_time, times_fired) //ET loves peanut butter
|
||||||
if(isabductor(M))
|
if(isabductor(M))
|
||||||
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "ET_pieces", /datum/mood_event/et_pieces, name)
|
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "ET_pieces", /datum/mood_event/et_pieces, name)
|
||||||
M.set_drugginess(15 * REM * delta_time)
|
M.set_timed_status_effect(30 SECONDS * REM * delta_time, /datum/status_effect/drugginess)
|
||||||
..()
|
..()
|
||||||
|
|
||||||
/datum/reagent/consumable/vinegar
|
/datum/reagent/consumable/vinegar
|
||||||
|
|||||||
@@ -121,7 +121,7 @@
|
|||||||
..()
|
..()
|
||||||
if(!isplasmaman(M))
|
if(!isplasmaman(M))
|
||||||
return
|
return
|
||||||
M.set_drugginess(15 * REM * delta_time)
|
M.set_timed_status_effect(30 SECONDS * REM * delta_time, /datum/status_effect/drugginess)
|
||||||
if(M.hallucination < volume)
|
if(M.hallucination < volume)
|
||||||
M.hallucination += 5 * REM * delta_time
|
M.hallucination += 5 * REM * delta_time
|
||||||
|
|
||||||
|
|||||||
@@ -199,8 +199,8 @@
|
|||||||
glass_name = "glass of hotlime miami"
|
glass_name = "glass of hotlime miami"
|
||||||
glass_desc = "This looks very aesthetically pleasing."
|
glass_desc = "This looks very aesthetically pleasing."
|
||||||
|
|
||||||
/datum/reagent/consumable/ethanol/hotlime_miami/on_mob_life(mob/living/carbon/M)
|
/datum/reagent/consumable/ethanol/hotlime_miami/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||||
M.set_drugginess(50)
|
M.set_timed_status_effect(1.5 MINUTES * REM * delta_time, /datum/status_effect/drugginess)
|
||||||
M.adjustStaminaLoss(-2)
|
M.adjustStaminaLoss(-2)
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
|
|||||||
@@ -82,8 +82,8 @@
|
|||||||
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[type]_start", /datum/mood_event/orgasm, name)
|
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[type]_start", /datum/mood_event/orgasm, name)
|
||||||
..()
|
..()
|
||||||
|
|
||||||
/datum/reagent/drug/dopamine/on_mob_life(mob/living/carbon/M)
|
/datum/reagent/drug/dopamine/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
|
||||||
M.set_drugginess(2)
|
M.set_timed_status_effect(2 SECONDS * REM * delta_time, /datum/status_effect/drugginess)
|
||||||
if(prob(7))
|
if(prob(7))
|
||||||
M.emote(pick("shaking","moan"))
|
M.emote(pick("shaking","moan"))
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -174,7 +174,7 @@
|
|||||||
pain_adjust_amount = -0.5
|
pain_adjust_amount = -0.5
|
||||||
|
|
||||||
/// How druggy the chem will make the mob
|
/// How druggy the chem will make the mob
|
||||||
var/drugginess_amount = 5
|
var/drugginess_amount = 5 SECONDS
|
||||||
/// How likely the drug is to make the mob druggy per life process
|
/// How likely the drug is to make the mob druggy per life process
|
||||||
var/drugginess_chance = 7
|
var/drugginess_chance = 7
|
||||||
|
|
||||||
@@ -185,7 +185,7 @@
|
|||||||
..()
|
..()
|
||||||
|
|
||||||
/datum/reagent/drug/aphrodisiac/dopamine/life_effects(mob/living/carbon/human/exposed_mob)
|
/datum/reagent/drug/aphrodisiac/dopamine/life_effects(mob/living/carbon/human/exposed_mob)
|
||||||
exposed_mob.set_drugginess(drugginess_amount)
|
exposed_mob.set_timed_status_effect(drugginess_amount, /datum/status_effect/drugginess)
|
||||||
if(prob(drugginess_chance))
|
if(prob(drugginess_chance))
|
||||||
exposed_mob.emote(pick("twitch","drool","moan","giggle","shaking"))
|
exposed_mob.emote(pick("twitch","drool","moan","giggle","shaking"))
|
||||||
|
|
||||||
|
|||||||
@@ -176,7 +176,7 @@
|
|||||||
var/high_message = pick("You feel like tar.", "The blood in your veins feel like syrup.")
|
var/high_message = pick("You feel like tar.", "The blood in your veins feel like syrup.")
|
||||||
if(DT_PROB(2.5, delta_time))
|
if(DT_PROB(2.5, delta_time))
|
||||||
to_chat(M, span_notice("[high_message]"))
|
to_chat(M, span_notice("[high_message]"))
|
||||||
M.set_drugginess(15 * REM * delta_time)
|
M.set_timed_status_effect(20 SECONDS * REM * delta_time, /datum/status_effect/drugginess)
|
||||||
M.adjustToxLoss(0.5 * REM * delta_time, 0) //toxin damage
|
M.adjustToxLoss(0.5 * REM * delta_time, 0) //toxin damage
|
||||||
..()
|
..()
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
if(M.hud_used!=null)
|
if(M.hud_used!=null)
|
||||||
var/atom/movable/plane_master_controller/game_plane_master_controller = M.hud_used.plane_master_controllers[PLANE_MASTERS_GAME]
|
var/atom/movable/plane_master_controller/game_plane_master_controller = M.hud_used.plane_master_controllers[PLANE_MASTERS_GAME]
|
||||||
game_plane_master_controller.add_filter("quaalude_wave", 10, wave_filter(300, 300, 3, 0, WAVE_SIDEWAYS))
|
game_plane_master_controller.add_filter("quaalude_wave", 10, wave_filter(300, 300, 3, 0, WAVE_SIDEWAYS))
|
||||||
M.set_drugginess(15 * REM * delta_time)
|
M.set_timed_status_effect(1 MINUTES * REM * delta_time, /datum/status_effect/drugginess)
|
||||||
M.adjust_timed_status_effect(1 MINUTES, /datum/status_effect/speech/slurring/drunk)
|
M.adjust_timed_status_effect(1 MINUTES, /datum/status_effect/speech/slurring/drunk)
|
||||||
M.Dizzy(5 * REM * delta_time)
|
M.Dizzy(5 * REM * delta_time)
|
||||||
M.adjustStaminaLoss(-5 * REM * delta_time, 0)
|
M.adjustStaminaLoss(-5 * REM * delta_time, 0)
|
||||||
|
|||||||
@@ -1176,6 +1176,7 @@
|
|||||||
#include "code\datums\status_effects\stacking_effect.dm"
|
#include "code\datums\status_effects\stacking_effect.dm"
|
||||||
#include "code\datums\status_effects\wound_effects.dm"
|
#include "code\datums\status_effects\wound_effects.dm"
|
||||||
#include "code\datums\status_effects\debuffs\debuffs.dm"
|
#include "code\datums\status_effects\debuffs\debuffs.dm"
|
||||||
|
#include "code\datums\status_effects\debuffs\drugginess.dm"
|
||||||
#include "code\datums\status_effects\debuffs\speech_debuffs.dm"
|
#include "code\datums\status_effects\debuffs\speech_debuffs.dm"
|
||||||
#include "code\datums\weather\weather.dm"
|
#include "code\datums\weather\weather.dm"
|
||||||
#include "code\datums\weather\weather_types\ash_storm.dm"
|
#include "code\datums\weather\weather_types\ash_storm.dm"
|
||||||
|
|||||||
Reference in New Issue
Block a user