diff --git a/code/_onclick/hud/fullscreen.dm b/code/_onclick/hud/fullscreen.dm
index edc15bb984d..a34a53125b6 100644
--- a/code/_onclick/hud/fullscreen.dm
+++ b/code/_onclick/hud/fullscreen.dm
@@ -110,11 +110,6 @@
layer = BLIND_LAYER
plane = FULLSCREEN_PLANE
-/obj/screen/fullscreen/depression
- icon_state = "depression"
- layer = FLASH_LAYER
- plane = FULLSCREEN_PLANE
-
/obj/screen/fullscreen/curse
icon_state = "curse"
layer = CURSE_LAYER
diff --git a/code/datums/components/mood.dm b/code/datums/components/mood.dm
index 4c476252d99..8e4cea871a4 100644
--- a/code/datums/components/mood.dm
+++ b/code/datums/components/mood.dm
@@ -123,16 +123,6 @@
/datum/component/mood/process() //Called on SSmood process
var/mob/living/owner = parent
- switch(sanity)
- if(SANITY_INSANE to SANITY_CRAZY)
- owner.overlay_fullscreen("depression", /obj/screen/fullscreen/depression, 3)
- update_mood_icon()
- if(SANITY_INSANE to SANITY_UNSTABLE)
- owner.overlay_fullscreen("depression", /obj/screen/fullscreen/depression, 2)
- if(SANITY_UNSTABLE to SANITY_DISTURBED)
- owner.overlay_fullscreen("depression", /obj/screen/fullscreen/depression, 1)
- if(SANITY_DISTURBED to INFINITY)
- owner.clear_fullscreen("depression")
switch(mood_level)
if(1)
@@ -202,6 +192,8 @@
if(the_event.type != type)
clear_event(category)
else
+ if(the_event.timeout)
+ addtimer(CALLBACK(src, .proc/clear_event, category), the_event.timeout, TIMER_UNIQUE|TIMER_OVERRIDE)
return 0 //Don't have to update the event.
the_event = new type(src, param)
@@ -209,7 +201,7 @@
update_mood()
if(the_event.timeout)
- addtimer(CALLBACK(src, .proc/clear_event, category), the_event.timeout)
+ addtimer(CALLBACK(src, .proc/clear_event, category), the_event.timeout, TIMER_UNIQUE|TIMER_OVERRIDE)
/datum/component/mood/proc/clear_event(category)
var/datum/mood_event/event = mood_events[category]
@@ -244,17 +236,17 @@
/datum/component/mood/proc/HandleNutrition(mob/living/L)
switch(L.nutrition)
if(NUTRITION_LEVEL_FULL to INFINITY)
- add_event("nutrition", /datum/mood_event/nutrition/fat)
+ add_event("nutrition", /datum/mood_event/fat)
if(NUTRITION_LEVEL_WELL_FED to NUTRITION_LEVEL_FULL)
- add_event("nutrition", /datum/mood_event/nutrition/wellfed)
+ add_event("nutrition", /datum/mood_event/wellfed)
if( NUTRITION_LEVEL_FED to NUTRITION_LEVEL_WELL_FED)
- add_event("nutrition", /datum/mood_event/nutrition/fed)
+ add_event("nutrition", /datum/mood_event/fed)
if(NUTRITION_LEVEL_HUNGRY to NUTRITION_LEVEL_FED)
clear_event("nutrition")
if(NUTRITION_LEVEL_STARVING to NUTRITION_LEVEL_HUNGRY)
- add_event("nutrition", /datum/mood_event/nutrition/hungry)
+ add_event("nutrition", /datum/mood_event/hungry)
if(0 to NUTRITION_LEVEL_STARVING)
- add_event("nutrition", /datum/mood_event/nutrition/starving)
+ add_event("nutrition", /datum/mood_event/starving)
#undef MINOR_INSANITY_PEN
#undef MAJOR_INSANITY_PEN
diff --git a/code/datums/mood_events/drink_events.dm b/code/datums/mood_events/drink_events.dm
index de1f87ecb08..db5a91009ea 100644
--- a/code/datums/mood_events/drink_events.dm
+++ b/code/datums/mood_events/drink_events.dm
@@ -1,24 +1,24 @@
-/datum/mood_event/drinks/drunk
+/datum/mood_event/drunk
mood_change = 3
description = "Everything just feels better after a drink or two.\n"
timeout = 3000
-/datum/mood_event/drinks/quality_nice
+/datum/mood_event/quality_nice
description = "That drink wasn't bad at all.\n"
mood_change = 1
timeout = 1200
-/datum/mood_event/drinks/quality_good
+/datum/mood_event/quality_good
description = "That drink was pretty good.\n"
mood_change = 2
timeout = 1200
-/datum/mood_event/drinks/quality_verygood
+/datum/mood_event/quality_verygood
description = "That drink was great!\n"
mood_change = 3
timeout = 1200
-/datum/mood_event/drinks/quality_fantastic
+/datum/mood_event/quality_fantastic
description = "That drink was amazing!\n"
mood_change = 4
timeout = 1200
diff --git a/code/datums/mood_events/drug_events.dm b/code/datums/mood_events/drug_events.dm
index 5d585ab6b27..40c239180e9 100644
--- a/code/datums/mood_events/drug_events.dm
+++ b/code/datums/mood_events/drug_events.dm
@@ -1,39 +1,39 @@
-/datum/mood_event/drugs/high
+/datum/mood_event/high
mood_change = 6
description = "Woooow duudeeeeee...I'm tripping baaalls...\n"
-/datum/mood_event/drugs/smoked
+/datum/mood_event/smoked
description = "I have had a smoke recently.\n"
mood_change = 2
timeout = 3600
-/datum/mood_event/drugs/overdose
+/datum/mood_event/overdose
mood_change = -8
timeout = 3000
-/datum/mood_event/drugs/overdose/add_effects(drug_name)
+/datum/mood_event/overdose/add_effects(drug_name)
description = "I think I took a bit too much of that [drug_name]\n"
-/datum/mood_event/drugs/withdrawal_light
+/datum/mood_event/withdrawal_light
mood_change = -2
-/datum/mood_event/drugs/withdrawal_light/add_effects(drug_name)
+/datum/mood_event/withdrawal_light/add_effects(drug_name)
description = "I could use some [drug_name]\n"
-/datum/mood_event/drugs/withdrawal_medium
+/datum/mood_event/withdrawal_medium
mood_change = -5
-/datum/mood_event/drugs/withdrawal_medium/add_effects(drug_name)
+/datum/mood_event/withdrawal_medium/add_effects(drug_name)
description = "I really need [drug_name]\n"
-/datum/mood_event/drugs/withdrawal_severe
+/datum/mood_event/withdrawal_severe
mood_change = -8
-/datum/mood_event/drugs/withdrawal_severe/add_effects(drug_name)
+/datum/mood_event/withdrawal_severe/add_effects(drug_name)
description = "Oh god I need some [drug_name]\n"
-/datum/mood_event/drugs/withdrawal_critical
+/datum/mood_event/withdrawal_critical
mood_change = -10
-/datum/mood_event/drugs/withdrawal_critical/add_effects(drug_name)
+/datum/mood_event/withdrawal_critical/add_effects(drug_name)
description = "[drug_name]! [drug_name]! [drug_name]!\n"
diff --git a/code/datums/mood_events/needs_events.dm b/code/datums/mood_events/needs_events.dm
index 82b69f58b95..f70cafdc645 100644
--- a/code/datums/mood_events/needs_events.dm
+++ b/code/datums/mood_events/needs_events.dm
@@ -1,34 +1,34 @@
//nutrition
-/datum/mood_event/nutrition/fat
+/datum/mood_event/fat
description = "I'm so fat...\n" //muh fatshaming
mood_change = -4
-/datum/mood_event/nutrition/wellfed
+/datum/mood_event/wellfed
description = "My belly feels round and full.\n"
mood_change = 6
-/datum/mood_event/nutrition/fed
+/datum/mood_event/fed
description = "I have recently had some food.\n"
mood_change = 3
-/datum/mood_event/nutrition/hungry
+/datum/mood_event/hungry
description = "I'm getting a bit hungry.\n"
mood_change = -8
-/datum/mood_event/nutrition/starving
+/datum/mood_event/starving
description = "I'm starving!\n"
mood_change = -15
//Disgust
-/datum/mood_event/disgust/gross
+/datum/mood_event/gross
description = "I saw something gross.\n"
mood_change = -2
-/datum/mood_event/disgust/verygross
+/datum/mood_event/verygross
description = "I think I'm going to puke...\n"
mood_change = -5
-/datum/mood_event/disgust/disgusted
+/datum/mood_event/disgusted
description = "Oh god that's disgusting...\n"
mood_change = -8
diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm
index 44a5ad0c3d1..b21bd8db79d 100644
--- a/code/modules/mob/living/carbon/life.dm
+++ b/code/modules/mob/living/carbon/life.dm
@@ -429,7 +429,7 @@ GLOBAL_LIST_INIT(ballmer_windows_me_msg, list("Yo man, what if, we like, uh, put
if(drunkenness)
drunkenness = max(drunkenness - (drunkenness * 0.04), 0)
if(drunkenness >= 6)
- SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "drunk", /datum/mood_event/drinks/drunk)
+ SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "drunk", /datum/mood_event/drunk)
if(prob(25))
slurring += 2
jitteriness = max(jitteriness - 3, 0)
diff --git a/code/modules/mob/living/carbon/status_procs.dm b/code/modules/mob/living/carbon/status_procs.dm
index d850efcee63..766bd376b19 100644
--- a/code/modules/mob/living/carbon/status_procs.dm
+++ b/code/modules/mob/living/carbon/status_procs.dm
@@ -45,7 +45,7 @@
if(druggy)
overlay_fullscreen("high", /obj/screen/fullscreen/high)
throw_alert("high", /obj/screen/alert/high)
- SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "high", /datum/mood_event/drugs/high)
+ SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "high", /datum/mood_event/high)
else
clear_fullscreen("high")
clear_alert("high")
diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm
index 6f65c33ea19..04f2a003029 100644
--- a/code/modules/reagents/chemistry/reagents.dm
+++ b/code/modules/reagents/chemistry/reagents.dm
@@ -88,29 +88,29 @@
/datum/reagent/proc/overdose_start(mob/living/M)
to_chat(M, "You feel like you took too much of [name]!")
- SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[id]_overdose", /datum/mood_event/drugs/overdose, name)
+ SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[id]_overdose", /datum/mood_event/overdose, name)
return
/datum/reagent/proc/addiction_act_stage1(mob/living/M)
- SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[id]_overdose", /datum/mood_event/drugs/withdrawal_light, name)
+ SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[id]_overdose", /datum/mood_event/withdrawal_light, name)
if(prob(30))
to_chat(M, "You feel like having some [name] right about now.")
return
/datum/reagent/proc/addiction_act_stage2(mob/living/M)
- SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[id]_overdose", /datum/mood_event/drugs/withdrawal_medium, name)
+ SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[id]_overdose", /datum/mood_event/withdrawal_medium, name)
if(prob(30))
to_chat(M, "You feel like you need [name]. You just can't get enough.")
return
/datum/reagent/proc/addiction_act_stage3(mob/living/M)
- SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[id]_overdose", /datum/mood_event/drugs/withdrawal_severe, name)
+ SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[id]_overdose", /datum/mood_event/withdrawal_severe, name)
if(prob(30))
to_chat(M, "You have an intense craving for [name].")
return
/datum/reagent/proc/addiction_act_stage4(mob/living/M)
- SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[id]_overdose", /datum/mood_event/drugs/withdrawal_critical, name)
+ SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[id]_overdose", /datum/mood_event/withdrawal_critical, name)
if(prob(30))
to_chat(M, "You're not feeling good at all! You really need some [name].")
return
diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.dm b/code/modules/reagents/chemistry/reagents/drug_reagents.dm
index a5ea41628db..989c5a9b828 100644
--- a/code/modules/reagents/chemistry/reagents/drug_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/drug_reagents.dm
@@ -28,7 +28,7 @@
/datum/reagent/drug/space_drugs/overdose_start(mob/living/M)
to_chat(M, "You start tripping hard!")
- SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[id]_overdose", /datum/mood_event/drugs/overdose, name)
+ SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[id]_overdose", /datum/mood_event/overdose, name)
/datum/reagent/drug/space_drugs/overdose_process(mob/living/M)
if(M.hallucination < volume && prob(20))
@@ -49,7 +49,7 @@
if(prob(1))
var/smoke_message = pick("You feel relaxed.", "You feel calmed.","You feel alert.","You feel rugged.")
to_chat(M, "[smoke_message]")
- SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "smoked", /datum/mood_event/drugs/smoked, name)
+ SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "smoked", /datum/mood_event/smoked, name)
M.AdjustStun(-20, 0)
M.AdjustKnockdown(-20, 0)
M.AdjustUnconscious(-20, 0)
diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm
index 96e51bfe0bf..685b37564a2 100755
--- a/code/modules/reagents/chemistry/reagents/food_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm
@@ -25,13 +25,13 @@
if (quality && !M.has_trait(TRAIT_AGEUSIA))
switch(quality)
if (DRINK_NICE)
- SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "quality_drink", /datum/mood_event/drinks/quality_nice)
+ SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "quality_drink", /datum/mood_event/quality_nice)
if (DRINK_GOOD)
- SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "quality_drink", /datum/mood_event/drinks/quality_good)
+ SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "quality_drink", /datum/mood_event/quality_good)
if (DRINK_VERYGOOD)
- SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "quality_drink", /datum/mood_event/drinks/quality_verygood)
+ SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "quality_drink", /datum/mood_event/quality_verygood)
if (DRINK_FANTASTIC)
- SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "quality_drink", /datum/mood_event/drinks/quality_fantastic)
+ SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "quality_drink", /datum/mood_event/quality_fantastic)
return ..()
/datum/reagent/consumable/nutriment
diff --git a/code/modules/surgery/organs/stomach.dm b/code/modules/surgery/organs/stomach.dm
index cb7833a3733..24132bcf042 100755
--- a/code/modules/surgery/organs/stomach.dm
+++ b/code/modules/surgery/organs/stomach.dm
@@ -42,13 +42,13 @@
SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "disgust")
if(DISGUST_LEVEL_GROSS to DISGUST_LEVEL_VERYGROSS)
H.throw_alert("disgust", /obj/screen/alert/gross)
- SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "disgust", /datum/mood_event/disgust/gross)
+ SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "disgust", /datum/mood_event/gross)
if(DISGUST_LEVEL_VERYGROSS to DISGUST_LEVEL_DISGUSTED)
H.throw_alert("disgust", /obj/screen/alert/verygross)
- SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "disgust", /datum/mood_event/disgust/verygross)
+ SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "disgust", /datum/mood_event/verygross)
if(DISGUST_LEVEL_DISGUSTED to INFINITY)
H.throw_alert("disgust", /obj/screen/alert/disgusted)
- SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "disgust", /datum/mood_event/disgust/disgusted)
+ SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "disgust", /datum/mood_event/disgusted)
/obj/item/organ/stomach/Remove(mob/living/carbon/M, special = 0)
var/mob/living/carbon/human/H = owner
diff --git a/icons/mob/screen_full.dmi b/icons/mob/screen_full.dmi
index 5d344d7fbd5..502e9ad3f98 100644
Binary files a/icons/mob/screen_full.dmi and b/icons/mob/screen_full.dmi differ