diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index 0087df9f773..a8b9e850e79 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -54,7 +54,7 @@ thealert.master_ref = master_ref thealert.RegisterSignal(new_master, COMSIG_ATOM_UPDATE_APPEARANCE, TYPE_PROC_REF(/atom/movable/screen/alert, on_master_update_appearance)) thealert.update_appearance(UPDATE_OVERLAYS) - else + else if(severity) thealert.icon_state = "[initial(thealert.icon_state)][severity]" thealert.severity = severity @@ -95,7 +95,7 @@ /atom/movable/screen/alert icon = 'icons/hud/screen_alert.dmi' - icon_state = "default" + icon_state = "template" name = "Alert" desc = "Something seems to have gone wrong with this alert, so report this bug please" mouse_opacity = MOUSE_OPACITY_ICON @@ -112,12 +112,20 @@ ///If set true, instead of using the default icon file for screen alerts, it will use the hud's ui style var/use_user_hud_icon = FALSE + ///If set, this overlay will be added to the icon. + var/overlay_state + ///The file to fetch the overlay from + var/overlay_icon = 'icons/hud/screen_alert.dmi' /atom/movable/screen/alert/Initialize(mapload, datum/hud/hud_owner) . = ..() + if(PERFORM_ALL_TESTS(focus_only/screen_alert_overlay) && overlay_state && !icon_exists(overlay_icon, overlay_state)) + stack_trace("overlay_state: \"[overlay_state || "null"]\" that couldn't be found overlay_icon: \"[overlay_icon || "null"]\"") if(clickable_glow) add_filter("clickglow", 2, outline_filter(color = COLOR_GOLD, size = 1)) mouse_over_pointer = MOUSE_HAND_POINTER + if(overlay_state) + update_appearance(UPDATE_OVERLAYS) /atom/movable/screen/alert/MouseEntered(location,control,params) . = ..() @@ -134,9 +142,10 @@ /atom/movable/screen/alert/update_overlays() . = ..() var/atom/our_master = master_ref?.resolve() - if(!istype(our_master) || QDELETED(our_master)) - return - . += add_atom_icon(our_master) + if(istype(our_master) && !QDELETED(our_master)) + . += add_atom_icon(our_master) + if(overlay_state) + . += mutable_appearance(overlay_icon, overlay_state) ///Returns a copy of the appearance of the atom, with its base pixel coordinates. Useful for overlays /atom/movable/screen/alert/proc/add_atom_icon(atom/atom) @@ -252,26 +261,33 @@ name = "Bronchodilated" desc = "You feel like your lungs are larger than usual! You're taking deeper breaths!" icon_state = "bronchodilated" + use_user_hud_icon = TRUE + overlay_icon = 'icons/obj/medical/organs/organs.dmi' + overlay_state = "lungs" /atom/movable/screen/alert/bronchoconstricted name = "Bronchocontracted" desc = "You feel like your lungs are smaller than usual! You might need a higher pressure environment/internals to breathe!" - icon_state = "bronchoconstricted" + use_user_hud_icon = TRUE + overlay_state = "bronchoconstricted" /atom/movable/screen/alert/gross name = "Grossed out." desc = "That was kind of gross..." - icon_state = "gross" + use_user_hud_icon = TRUE + overlay_state = "gross" /atom/movable/screen/alert/verygross name = "Very grossed out." desc = "You're not feeling very well..." - icon_state = "gross2" + use_user_hud_icon = TRUE + overlay_state = "gross2" /atom/movable/screen/alert/disgusted name = "DISGUSTED" desc = "ABSOLUTELY DISGUSTIN'" - icon_state = "gross3" + use_user_hud_icon = TRUE + overlay_state = "gross3" /atom/movable/screen/alert/hot name = "Too Hot" @@ -296,13 +312,15 @@ /atom/movable/screen/alert/hypnosis name = "Hypnosis" desc = "Something's hypnotizing you, but you're not really sure about what." - icon_state = ALERT_HYPNOSIS + use_user_hud_icon = TRUE + overlay_state = "hypnosis" var/phrase /atom/movable/screen/alert/mind_control name = "Mind Control" desc = "Your mind has been hijacked! Click to view the mind control command." - icon_state = ALERT_MIND_CONTROL + use_user_hud_icon = TRUE + overlay_state = "mind_control" clickable_glow = TRUE var/command @@ -316,7 +334,8 @@ name = "Embedded Object" desc = "Something got lodged into your flesh and is causing major bleeding. It might fall out with time, but surgery is the safest way. \ If you're feeling frisky, examine yourself and click the underlined item to pull the object out." - icon_state = ALERT_EMBEDDED_OBJECT + use_user_hud_icon = TRUE + overlay_state = "embeddedobject" clickable_glow = TRUE /atom/movable/screen/alert/embeddedobject/Click() @@ -330,25 +349,29 @@ /atom/movable/screen/alert/negative name = "Negative Gravity" desc = "You're getting pulled upwards. While you won't have to worry about falling down anymore, you may accidentally fall upwards!" - icon_state = "negative" + use_user_hud_icon = TRUE + overlay_state = "negative" /atom/movable/screen/alert/weightless name = "Weightless" desc = "Gravity has ceased affecting you, and you're floating around aimlessly. You'll need something large and heavy, like a \ -wall or lattice, to push yourself off if you want to move. A jetpack would enable free range of motion. A pair of \ -magboots would let you walk around normally on the floor. Barring those, you can throw things, use a fire extinguisher, \ -or shoot a gun to move around via Newton's 3rd Law of Motion." - icon_state = "weightless" + wall or lattice, to push yourself off if you want to move. A jetpack would enable free range of motion. A pair of \ + magboots would let you walk around normally on the floor. Barring those, you can throw things, use a fire extinguisher, \ + or shoot a gun to move around via Newton's 3rd Law of Motion." + use_user_hud_icon = TRUE + overlay_state = "weightless" /atom/movable/screen/alert/highgravity name = "High Gravity" desc = "You're getting crushed by high gravity, picking up items and movement will be slowed." - icon_state = "paralysis" + use_user_hud_icon = TRUE + overlay_state = "paralysis" /atom/movable/screen/alert/veryhighgravity name = "Crushing Gravity" desc = "You're getting crushed by high gravity, picking up items and movement will be slowed. You'll also accumulate brute damage!" - icon_state = "paralysis" + use_user_hud_icon = TRUE + overlay_state = "paralysis" /atom/movable/screen/alert/fire name = "On Fire" @@ -547,7 +570,9 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." /atom/movable/screen/alert/succumb name = "Succumb" desc = "Shuffle off this mortal coil." - icon_state = ALERT_SUCCUMB + use_user_hud_icon = TRUE + overlay_icon = 'icons/mob/simple/mob.dmi' + overlay_state = "ghost" clickable_glow = TRUE var/static/list/death_titles = list( "Goodnight, Sweet Prince", @@ -1078,9 +1103,24 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." /atom/movable/screen/alert/buckled name = "Buckled" desc = "You've been buckled to something. Click the alert to unbuckle unless you're handcuffed." - icon_state = ALERT_BUCKLED + use_user_hud_icon = TRUE + overlay_state = "buckled" + click_master = FALSE clickable_glow = TRUE +/atom/movable/screen/alert/buckled/Click() + . = ..() + if(!.) + return + + var/mob/living/living_owner = owner + + if(!living_owner.can_resist()) + return + living_owner.changeNext_move(CLICK_CD_RESIST) + if(living_owner.last_special <= world.time) + return living_owner.resist_buckle() + /atom/movable/screen/alert/restrained icon_state = "template" use_user_hud_icon = TRUE @@ -1110,28 +1150,10 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." if((living_owner.mobility_flags & MOBILITY_MOVE) && (living_owner.last_special <= world.time)) return living_owner.resist_restraints() -/atom/movable/screen/alert/buckled/Click() - . = ..() - if(!.) - return - - var/mob/living/living_owner = owner - - if(!living_owner.can_resist()) - return - living_owner.changeNext_move(CLICK_CD_RESIST) - if(living_owner.last_special <= world.time) - return living_owner.resist_buckle() - -/atom/movable/screen/alert/shoes/untied - name = "Untied Shoes" - desc = "Your shoes are untied! Click the alert or your shoes to tie them." - icon_state = ALERT_SHOES_KNOT - -/atom/movable/screen/alert/shoes/knotted - name = "Knotted Shoes" - desc = "Someone tied your shoelaces together! Click the alert or your shoes to undo the knot." - icon_state = ALERT_SHOES_KNOT +/atom/movable/screen/alert/shoes + use_user_hud_icon = TRUE + overlay_icon = /obj/item/clothing/shoes/sneakers::icon + overlay_state = /obj/item/clothing/shoes/sneakers::icon_state clickable_glow = TRUE /atom/movable/screen/alert/shoes/Click() @@ -1147,10 +1169,22 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." carbon_owner.changeNext_move(CLICK_CD_RESIST) carbon_owner.shoes.handle_tying(carbon_owner) +/atom/movable/screen/alert/shoes/untied + name = "Untied Shoes" + desc = "Your shoes are untied! Click the alert or your shoes to tie them." + use_user_hud_icon = TRUE + overlay_icon = /obj/item/clothing/shoes/sneakers::icon + overlay_state = /obj/item/clothing/shoes/sneakers::icon_state + +/atom/movable/screen/alert/shoes/knotted + name = "Knotted Shoes" + desc = "Someone tied your shoelaces together! Click the alert or your shoes to undo the knot." + /atom/movable/screen/alert/unpossess_object name = "Unpossess" desc = "You are possessing an object. Click this alert to unpossess it." - icon_state = "buckled" + use_user_hud_icon = TRUE + overlay_state = "buckled" clickable_glow = TRUE /atom/movable/screen/alert/unpossess_object/Click() diff --git a/code/datums/components/hazard_area.dm b/code/datums/components/hazard_area.dm index f747e8e2ace..79a67fd78ad 100644 --- a/code/datums/components/hazard_area.dm +++ b/code/datums/components/hazard_area.dm @@ -169,4 +169,5 @@ /atom/movable/screen/alert/status_effect/hazard_area name = "Hazardous Area" desc = "The area you are currently within is incredibly hazardous to you. Check your surroundings and vacate as soon as possible." - icon_state = "hazard_area" + use_user_hud_icon = TRUE + overlay_state = "hazard_area" diff --git a/code/datums/components/irradiated.dm b/code/datums/components/irradiated.dm index 803af82940b..073bdd5cc4e 100644 --- a/code/datums/components/irradiated.dm +++ b/code/datums/components/irradiated.dm @@ -198,7 +198,8 @@ /atom/movable/screen/alert/irradiated name = "Irradiated" desc = "You're irradiated! Heal your toxins quick, and stand under a shower to halt the incoming damage." - icon_state = ALERT_IRRADIATED + use_user_hud_icon = TRUE + overlay_state = "irradiated" #undef RADIATION_BURN_SPLOTCH_DAMAGE #undef RADIATION_BURN_INTERVAL_MIN diff --git a/code/datums/components/radioactive_exposure.dm b/code/datums/components/radioactive_exposure.dm index b8a034e7788..324e8c28e29 100644 --- a/code/datums/components/radioactive_exposure.dm +++ b/code/datums/components/radioactive_exposure.dm @@ -75,4 +75,5 @@ /atom/movable/screen/alert/radioactive_area name = "Radioactive Area" desc = "This place is no good! We need to get some protection or get out fast!" - icon_state = ALERT_RADIOACTIVE_AREA + use_user_hud_icon = TRUE + overlay_state = "radioactive_area" diff --git a/code/datums/elements/bugkiller_reagent.dm b/code/datums/elements/bugkiller_reagent.dm index f6a09989335..cbbca1d0790 100644 --- a/code/datums/elements/bugkiller_reagent.dm +++ b/code/datums/elements/bugkiller_reagent.dm @@ -87,4 +87,5 @@ /atom/movable/screen/alert/status_effect/bugkiller_death name = "Overwhelming Toxicity" desc = "Don't go into the light!" - icon_state = "paralysis" + use_user_hud_icon = TRUE + overlay_state = "paralysis" diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm index c10fed425ca..d51ebe144ff 100644 --- a/code/datums/status_effects/buffs.dm +++ b/code/datums/status_effects/buffs.dm @@ -266,7 +266,8 @@ /atom/movable/screen/alert/status_effect/exercised name = "Exercise" desc = "You feel well exercised! Sleeping will improve your fitness." - icon_state = "exercised" + use_user_hud_icon = TRUE + overlay_state = "exercised" //Hippocratic Oath: Applied when the Rod of Asclepius is activated. /datum/status_effect/hippocratic_oath @@ -377,7 +378,9 @@ /atom/movable/screen/alert/status_effect/regenerative_core name = "Regenerative Core Tendrils" desc = "You can move faster than your broken body could normally handle!" - icon_state = "regenerative_core" + use_user_hud_icon = TRUE + overlay_icon = 'icons/obj/medical/organs/mining_organs.dmi' + overlay_state = "legion_core_stable" /datum/status_effect/regenerative_core id = "Regenerative Core" @@ -419,7 +422,8 @@ /atom/movable/screen/alert/status_effect/lightningorb name = "Lightning Orb" desc = "The speed surges through you!" - icon_state = "lightningorb" + use_user_hud_icon = TRUE + overlay_state = "lightningorb" /datum/status_effect/mayhem id = "Mayhem" @@ -557,7 +561,8 @@ /atom/movable/screen/alert/status_effect/nest_sustenance name = "Nest Vitalization" desc = "The resin seems to pulsate around you. It seems to be sustaining your vital functions. You feel ill..." - icon_state = "nest_life" + use_user_hud_icon = TRUE + overlay_state = "nest_life" /** * Granted to wizards upon satisfying the cheese sacrifice during grand rituals. @@ -567,12 +572,7 @@ id = "blessing_of_insanity" duration = STATUS_EFFECT_PERMANENT tick_interval = STATUS_EFFECT_NO_TICK - alert_type = /atom/movable/screen/alert/status_effect/blessing_of_insanity - -/atom/movable/screen/alert/status_effect/blessing_of_insanity - name = "Blessing of Insanity" - desc = "Your devotion to madness has improved your resilience to all damage and you gain the power to levitate!" - //no screen alert - the gravity already throws one + alert_type = null /datum/status_effect/blessing_of_insanity/on_apply() if(ishuman(owner)) @@ -641,7 +641,8 @@ /atom/movable/screen/alert/status_effect/radiation_immunity name = "Radiation shielding" desc = "You're immune to radiation, get settled quick!" - icon_state = "radiation_shield" + use_user_hud_icon = TRUE + overlay_state = "radiation_shield" /// Throw an alert we're in darkness!! Nightvision can make it hard to tell so this is useful /datum/status_effect/shadow @@ -672,4 +673,5 @@ /atom/movable/screen/alert/status_effect/shadow_regeneration name = "Shadow Regeneration" desc = "Bathed in soothing darkness, you will slowly heal yourself" - icon_state = "lightless" + use_user_hud_icon = TRUE + overlay_state = "lightless" diff --git a/code/datums/status_effects/buffs/food/_food_effect.dm b/code/datums/status_effects/buffs/food/_food_effect.dm index fe63df29e3a..15e6d914929 100644 --- a/code/datums/status_effects/buffs/food/_food_effect.dm +++ b/code/datums/status_effects/buffs/food/_food_effect.dm @@ -14,10 +14,10 @@ if(isnum(timeout_mod)) duration *= timeout_mod if(istype(linked_alert, /atom/movable/screen/alert/status_effect/food)) - linked_alert.icon_state = "[linked_alert.base_icon_state]_[strength]" + linked_alert.overlay_state = "food_buff_[strength]" /atom/movable/screen/alert/status_effect/food name = "Hand-crafted meal" desc = "Eating it made me feel better." - icon_state = "food_buff_1" - base_icon_state = "food_buff" + use_user_hud_icon = TRUE + overlay_state = "food_buff_1" diff --git a/code/datums/status_effects/buffs/food/chilling.dm b/code/datums/status_effects/buffs/food/chilling.dm index 0827ac5a4af..d2fb089f11f 100644 --- a/code/datums/status_effects/buffs/food/chilling.dm +++ b/code/datums/status_effects/buffs/food/chilling.dm @@ -9,6 +9,7 @@ /atom/movable/screen/alert/status_effect/icecream_chilling name = "Cooling Off" - desc = "Nothing beats a cup of ice cream during hot, plasma-floody day..." - icon_state = "food_icecream" + desc = "Nothing beats a cup of ice cream during hot, plasma-flooded day..." + use_user_hud_icon = TRUE + overlay_state = "food_icecream" diff --git a/code/datums/status_effects/buffs/food/grant_trait.dm b/code/datums/status_effects/buffs/food/grant_trait.dm index 46d4b060739..0b1e65dc848 100644 --- a/code/datums/status_effects/buffs/food/grant_trait.dm +++ b/code/datums/status_effects/buffs/food/grant_trait.dm @@ -22,7 +22,8 @@ /atom/movable/screen/alert/status_effect/shockimmune name = "Grounded" desc = "That meal made me feel like a superconductor..." - icon_state = "shock_immune" + use_user_hud_icon = TRUE + overlay_state = "shock_immune" /datum/status_effect/food/trait/mute alert_type = /atom/movable/screen/alert/status_effect/mute @@ -31,7 +32,8 @@ /atom/movable/screen/alert/status_effect/mute name = "..." desc = "..." - icon_state = "mute" + use_user_hud_icon = TRUE + overlay_state = "mute" /datum/status_effect/food/trait/ashstorm_immune alert_type = /atom/movable/screen/alert/status_effect/ashstorm_immune @@ -40,7 +42,8 @@ /atom/movable/screen/alert/status_effect/ashstorm_immune name = "Ashstorm-proof" desc = "That meal makes me feel born on Lavaland." - icon_state = "ashstorm_immune" + use_user_hud_icon = TRUE + overlay_state = "ashstorm_immune" /datum/status_effect/food/trait/waddle alert_type = /atom/movable/screen/alert/status_effect/waddle @@ -53,4 +56,6 @@ /atom/movable/screen/alert/status_effect/waddle name = "Waddling" desc = "That meal makes me want to joke around." - icon_state = "waddle" + use_user_hud_icon = TRUE + overlay_icon = /obj/item/clothing/mask/gas/clown_hat::icon + overlay_state = /obj/item/clothing/mask/gas/clown_hat::icon_state diff --git a/code/datums/status_effects/buffs/food/speech.dm b/code/datums/status_effects/buffs/food/speech.dm index 9878f0ebf35..95598c03bb9 100644 --- a/code/datums/status_effects/buffs/food/speech.dm +++ b/code/datums/status_effects/buffs/food/speech.dm @@ -28,7 +28,8 @@ /atom/movable/screen/alert/status_effect/italian_speech name = "Linguini Embrace" desc = "You feel a sudden urge to gesticulate wildly." - icon_state = "food_italian" + use_user_hud_icon = TRUE + overlay_state = "food_italian" /datum/status_effect/food/speech/french alert_type = /atom/movable/screen/alert/status_effect/french_speech @@ -56,4 +57,5 @@ /atom/movable/screen/alert/status_effect/french_speech name = "Café Chic" desc = "Suddenly, everything seems worthy of a passionate debate." - icon_state = "food_french" + use_user_hud_icon = TRUE + overlay_state = "food_french" diff --git a/code/datums/status_effects/cuffed_item.dm b/code/datums/status_effects/cuffed_item.dm index 3bd034fb097..c356f377f3d 100644 --- a/code/datums/status_effects/cuffed_item.dm +++ b/code/datums/status_effects/cuffed_item.dm @@ -143,7 +143,6 @@ /atom/movable/screen/alert/status_effect/cuffed_item name = "Cuffed Item" desc = "You've an item firmly cuffed to your arm. You probably won't be accidentally dropping it somewhere anytime soon." - icon_state = "template" use_user_hud_icon = TRUE clickable_glow = TRUE click_master = FALSE diff --git a/code/datums/status_effects/debuffs/cursed.dm b/code/datums/status_effects/debuffs/cursed.dm index 083bd678635..00e3f02f851 100644 --- a/code/datums/status_effects/debuffs/cursed.dm +++ b/code/datums/status_effects/debuffs/cursed.dm @@ -178,7 +178,8 @@ /atom/movable/screen/alert/status_effect/cursed name = "Cursed!" desc = "The brand on your hand reminds you of your greed, yet you seem to be okay otherwise." - icon_state = "cursed_by_slots" + use_user_hud_icon = TRUE + overlay_state = "cursed_by_slots" /atom/movable/screen/alert/status_effect/cursed/update_desc() . = ..() diff --git a/code/datums/status_effects/debuffs/debuffs.dm b/code/datums/status_effects/debuffs/debuffs.dm index 743ee86ba4c..f2dd086188c 100644 --- a/code/datums/status_effects/debuffs/debuffs.dm +++ b/code/datums/status_effects/debuffs/debuffs.dm @@ -252,7 +252,8 @@ /atom/movable/screen/alert/status_effect/asleep name = "Asleep" desc = "You've fallen asleep. Wait a bit and you should wake up. Unless you don't, considering how helpless you are." - icon_state = "asleep" + use_user_hud_icon = TRUE + overlay_state = "asleep" //STASIS /datum/status_effect/grouped/stasis @@ -305,7 +306,8 @@ /atom/movable/screen/alert/status_effect/stasis name = "Stasis" desc = "Your biological functions have halted. You could live forever this way, but it's pretty boring." - icon_state = "stasis" + use_user_hud_icon = TRUE + overlay_state = "stasis" /datum/status_effect/his_wrath //does minor damage over time unless holding His Grace id = "his_wrath" @@ -566,7 +568,8 @@ /atom/movable/screen/alert/status_effect/trance name = "Trance" desc = "Everything feels so distant, and you can feel your thoughts forming loops inside your head..." - icon_state = "high" + use_user_hud_icon = TRUE + overlay_state = "high" /datum/status_effect/trance/tick(seconds_between_ticks) if(stun) @@ -692,7 +695,8 @@ /atom/movable/screen/alert/status_effect/convulsing name = "Shaky Hands" desc = "You've been zapped with something and your hands can't stop shaking! You can't seem to hold on to anything." - icon_state = "convulsing" + use_user_hud_icon = TRUE + overlay_state = "convulsing" /datum/status_effect/dna_melt id = "dna_melt" @@ -715,7 +719,8 @@ /atom/movable/screen/alert/status_effect/dna_melt name = "Genetic Breakdown" desc = "I don't feel so good. Your body can't handle the mutations! You have one minute to remove your mutations, or you will be met with a horrible fate." - icon_state = "dna_melt" + use_user_hud_icon = TRUE + overlay_state = "dna_melt" /datum/status_effect/go_away id = "go_away" @@ -763,7 +768,8 @@ /atom/movable/screen/alert/status_effect/go_away name = "TO THE STARS AND BEYOND!" desc = "I must go, my people need me!" - icon_state = "high" + use_user_hud_icon = TRUE + overlay_state = "high" /datum/status_effect/fake_virus id = "fake_virus" @@ -910,7 +916,8 @@ /atom/movable/screen/alert/status_effect/ants name = "Ants!" desc = span_warning("JESUS FUCKING CHRIST! CLICK TO GET THOSE THINGS OFF!") - icon_state = "antalert" + use_user_hud_icon = TRUE + overlay_state = "antalert" clickable_glow = TRUE /atom/movable/screen/alert/status_effect/ants/Click() @@ -990,7 +997,8 @@ /atom/movable/screen/alert/status_effect/discoordinated name = "Discoordinated" desc = "You can't seem to properly use anything..." - icon_state = "convulsing" + use_user_hud_icon = TRUE + overlay_state = "convulsing" /datum/status_effect/discoordinated/on_apply() ADD_TRAIT(owner, TRAIT_DISCOORDINATED_TOOL_USER, TRAIT_STATUS_EFFECT(id)) @@ -1028,7 +1036,8 @@ /atom/movable/screen/alert/status_effect/careful_driving name = "Careful Driving" desc = "That was close! You almost ran that one over!" - icon_state = "paralysis" + use_user_hud_icon = TRUE + overlay_state = "paralysis" /datum/movespeed_modifier/careful_driving multiplicative_slowdown = 3 @@ -1054,7 +1063,8 @@ /atom/movable/screen/alert/status_effect/midas_blight name = "Midas Blight" desc = "Your blood is being turned to gold, slowing your movements!" - icon_state = "midas_blight" + use_user_hud_icon = TRUE + overlay_state = "midas_blight" /datum/status_effect/midas_blight/tick(seconds_between_ticks) var/mob/living/carbon/human/victim = owner @@ -1104,7 +1114,8 @@ /atom/movable/screen/alert/status_effect/designated_target name = "Designated Target" desc = "You've been lit up by some kind of bright energy! Wash it off to get rid of it, or you'll be a lot easier to hit!" - icon_state = "designated_target" + use_user_hud_icon = TRUE + overlay_state = "designated_target" /datum/status_effect/designated_target id = "designated_target" diff --git a/code/datums/status_effects/debuffs/decloning.dm b/code/datums/status_effects/debuffs/decloning.dm index 0f76f10f470..074fc8ec1fc 100644 --- a/code/datums/status_effects/debuffs/decloning.dm +++ b/code/datums/status_effects/debuffs/decloning.dm @@ -77,7 +77,8 @@ /atom/movable/screen/alert/status_effect/decloning name = "Cellular Meltdown" desc = "Your body is deforming, and doesn't feel like it's going to hold up much longer. You are going to need treatment soon." - icon_state = "dna_melt" + use_user_hud_icon = TRUE + overlay_state = "dna_melt" /datum/movespeed_modifier/decloning multiplicative_slowdown = 0.7 diff --git a/code/datums/status_effects/debuffs/drugginess.dm b/code/datums/status_effects/debuffs/drugginess.dm index 8730e0ccd6e..e0b7a4da57f 100644 --- a/code/datums/status_effects/debuffs/drugginess.dm +++ b/code/datums/status_effects/debuffs/drugginess.dm @@ -36,4 +36,5 @@ /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" + use_user_hud_icon = TRUE + overlay_state = "high" diff --git a/code/datums/status_effects/debuffs/drunk.dm b/code/datums/status_effects/debuffs/drunk.dm index e14d0674ba0..7426692ad5e 100644 --- a/code/datums/status_effects/debuffs/drunk.dm +++ b/code/datums/status_effects/debuffs/drunk.dm @@ -18,8 +18,8 @@ alert_type = null /// The level of drunkness we are currently at. var/drunk_value = 0 - /// If TRUE, drunk_value will be capped at 51, preventing serious damage - var/iron_liver = FALSE + /// If TRUE, drunk_value will be capped at 51, preventing serious damage + var/iron_liver = FALSE /datum/status_effect/inebriated/on_creation(mob/living/new_owner, drunk_value = 0) . = ..() @@ -236,7 +236,8 @@ name = "Drunk" desc = "All that alcohol you've been drinking is impairing your speech, \ motor skills, and mental cognition. Make sure to act like it." - icon_state = "drunk" + use_user_hud_icon = TRUE + overlay_state = "drunk" #undef BALLMER_PEAK_LOW_END #undef BALLMER_PEAK_HIGH_END diff --git a/code/datums/status_effects/debuffs/hooked.dm b/code/datums/status_effects/debuffs/hooked.dm index 41583e8b5f4..cc5aa30fadb 100644 --- a/code/datums/status_effects/debuffs/hooked.dm +++ b/code/datums/status_effects/debuffs/hooked.dm @@ -22,7 +22,8 @@ /atom/movable/screen/alert/status_effect/hooked name = "Snagged By Hook" desc = "You're being caught like a fish by some asshat! Click to safely remove the hook or move away far enough to snap it off." - icon_state = "hooked" + use_user_hud_icon = TRUE + overlay_state = "hooked" clickable_glow = TRUE /atom/movable/screen/alert/status_effect/hooked/Click() @@ -58,4 +59,5 @@ /atom/movable/screen/alert/status_effect/hooked/jaws name = "Snagged By Jaws" desc = "You've been snagged by some sort of beartrap-slash-fishing-hook-gizmo! Click to safely remove the hook or move away far enough to snap it off." - icon_state = "hooked_jaws" + use_user_hud_icon = TRUE + overlay_state = "hooked_jaws" diff --git a/code/datums/status_effects/debuffs/slime/slime_leech.dm b/code/datums/status_effects/debuffs/slime/slime_leech.dm index 00c907d8d95..6b1bb8038bc 100644 --- a/code/datums/status_effects/debuffs/slime/slime_leech.dm +++ b/code/datums/status_effects/debuffs/slime/slime_leech.dm @@ -1,7 +1,8 @@ /atom/movable/screen/alert/status_effect/slime_leech name = "Covered in Slime" desc = "A slime is draining your very lifeforce! Remove it by hand, by hitting it, or by water." - icon_state = "slime_leech" + use_user_hud_icon = TRUE + overlay_state = "slime_leech" /datum/status_effect/slime_leech id = "slime_leech" diff --git a/code/datums/status_effects/debuffs/slime/slimed.dm b/code/datums/status_effects/debuffs/slime/slimed.dm index 32fa9048223..b02d1dcc71f 100644 --- a/code/datums/status_effects/debuffs/slime/slimed.dm +++ b/code/datums/status_effects/debuffs/slime/slimed.dm @@ -6,7 +6,8 @@ /atom/movable/screen/alert/status_effect/slimed name = "Covered in Slime" desc = "You are covered in slime and it's eating away at you! Click to start cleaning it off, or find a faster way to wash it away!" - icon_state = "slimed" + use_user_hud_icon = TRUE + overlay_state = "slimed" clickable_glow = TRUE /atom/movable/screen/alert/status_effect/slimed/Click() diff --git a/code/datums/status_effects/debuffs/spacer.dm b/code/datums/status_effects/debuffs/spacer.dm index 5b5e18ab137..de12088d255 100644 --- a/code/datums/status_effects/debuffs/spacer.dm +++ b/code/datums/status_effects/debuffs/spacer.dm @@ -85,7 +85,8 @@ /atom/movable/screen/alert/status_effect/gravity_sickness name = "Gravity Sickness" desc = "The gravity of the planet around you is making you feel sick and tired." - icon_state = "paralysis" + use_user_hud_icon = TRUE + overlay_state = "paralysis" /datum/mood_event/spacer diff --git a/code/datums/status_effects/debuffs/terrified.dm b/code/datums/status_effects/debuffs/terrified.dm index dcbe2f1f80e..b0c984622e8 100644 --- a/code/datums/status_effects/debuffs/terrified.dm +++ b/code/datums/status_effects/debuffs/terrified.dm @@ -26,7 +26,8 @@ /atom/movable/screen/alert/status_effect/terrified name = "Terrified!" desc = "You feel a supernatural darkness settle in around you, overwhelming you with panic! Get into the light!" - icon_state = "terrified" + use_user_hud_icon = TRUE + overlay_state = "terrified" #undef TERROR_INITIAL_AMOUNT #undef STACK_TERROR_AMOUNT diff --git a/code/datums/status_effects/debuffs/tower_of_babel.dm b/code/datums/status_effects/debuffs/tower_of_babel.dm index fb6f61a5536..16bc92c2515 100644 --- a/code/datums/status_effects/debuffs/tower_of_babel.dm +++ b/code/datums/status_effects/debuffs/tower_of_babel.dm @@ -56,4 +56,5 @@ /atom/movable/screen/alert/status_effect/tower_of_babel name = "Tower of babel" desc = "You seem to be babbling in a strange language..." - icon_state = "mind_control" + use_user_hud_icon = TRUE + overlay_state = "mind_control" diff --git a/code/datums/status_effects/debuffs/vision/blindness.dm b/code/datums/status_effects/debuffs/vision/blindness.dm index caf8e98a2b0..ba77ad2e77e 100644 --- a/code/datums/status_effects/debuffs/vision/blindness.dm +++ b/code/datums/status_effects/debuffs/vision/blindness.dm @@ -68,7 +68,8 @@ /atom/movable/screen/alert/status_effect/blind name = "Blind" desc = "You can't see! This may be caused by a genetic defect, eye trauma, being unconscious, or something covering your eyes." - icon_state = "blind" + use_user_hud_icon = TRUE + overlay_state = "blind" /// This status effect handles applying a temporary blind to the mob. /datum/status_effect/temporary_blindness diff --git a/code/datums/status_effects/drug_effects.dm b/code/datums/status_effects/drug_effects.dm index 71739ade181..b498e3d3981 100644 --- a/code/datums/status_effects/drug_effects.dm +++ b/code/datums/status_effects/drug_effects.dm @@ -10,7 +10,8 @@ /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" + use_user_hud_icon = TRUE + overlay_state = "woozy" /datum/status_effect/high_blood_pressure id = "high_blood_pressure" @@ -36,7 +37,8 @@ /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" + use_user_hud_icon = TRUE + overlay_state = "highbloodpressure" /datum/status_effect/seizure id = "seizure" @@ -58,7 +60,8 @@ /atom/movable/screen/alert/status_effect/seizure name = "Seizure" desc = "FJOIWEHUWQEFGYUWDGHUIWHUIDWEHUIFDUWGYSXQHUIODSDBNJKVBNKDML <--- this is you right now" - icon_state = "paralysis" + use_user_hud_icon = TRUE + overlay_state = "paralysis" /datum/status_effect/stoned id = "stoned" diff --git a/code/datums/status_effects/neutral.dm b/code/datums/status_effects/neutral.dm index 94bb67855c6..f3111bc36cf 100644 --- a/code/datums/status_effects/neutral.dm +++ b/code/datums/status_effects/neutral.dm @@ -67,7 +67,8 @@ /atom/movable/screen/alert/status_effect/in_love name = "In Love" desc = "You feel so wonderfully in love!" - icon_state = "in_love" + use_user_hud_icon = TRUE + overlay_state = "in_love" /datum/status_effect/in_love id = "in_love" @@ -169,7 +170,8 @@ /atom/movable/screen/alert/status_effect/heldup name = "Held Up" desc = "Making any sudden moves would probably be a bad idea!" - icon_state = "aimed" + use_user_hud_icon = TRUE + overlay_state = "aimed" /datum/status_effect/grouped/heldup/on_apply() owner.apply_status_effect(/datum/status_effect/grouped/surrender, REF(src)) @@ -190,7 +192,8 @@ /atom/movable/screen/alert/status_effect/holdup name = "Holding Up" desc = "You're currently pointing a gun at someone. Click to cancel." - icon_state = "aimed" + use_user_hud_icon = TRUE + overlay_state = "aimed" clickable_glow = TRUE /atom/movable/screen/alert/status_effect/holdup/Click(location, control, params) @@ -373,7 +376,8 @@ /atom/movable/screen/alert/status_effect/surrender name = "Surrender" desc = "Looks like you're in trouble now, bud. Click here to surrender. (Warning: You will be incapacitated.)" - icon_state = "surrender" + use_user_hud_icon = TRUE + overlay_state = "surrender" clickable_glow = TRUE /atom/movable/screen/alert/status_effect/surrender/Click(location, control, params) diff --git a/code/datums/status_effects/wound_effects.dm b/code/datums/status_effects/wound_effects.dm index 727ef357ac4..331ae61a5f0 100644 --- a/code/datums/status_effects/wound_effects.dm +++ b/code/datums/status_effects/wound_effects.dm @@ -3,7 +3,8 @@ /atom/movable/screen/alert/status_effect/determined name = "Determined" desc = "The serious wounds you've sustained have put your body into fight-or-flight mode! Now's the time to look for an exit!" - icon_state = "wounded" + use_user_hud_icon = TRUE + overlay_state = "wounded" /datum/status_effect/determined id = "determined" @@ -67,6 +68,7 @@ /atom/movable/screen/alert/status_effect/limp name = "Limping" desc = "One or more of your legs has been wounded, slowing down steps with that leg! Get it fixed, or at least in a sling of gauze!" + icon_state = "injury" /datum/status_effect/limp/proc/check_step(mob/whocares, OldLoc, Dir, forced) SIGNAL_HANDLER diff --git a/code/game/machinery/camera/silicon_camera.dm b/code/game/machinery/camera/silicon_camera.dm index 62f59171134..d573c59f632 100644 --- a/code/game/machinery/camera/silicon_camera.dm +++ b/code/game/machinery/camera/silicon_camera.dm @@ -33,6 +33,7 @@ ///The alert given to silicons being watched. /atom/movable/screen/alert/being_recorded - icon_state = "recording" name = "Recorded" desc = "Someone is currently watching your internal camera through a camera console." + use_user_hud_icon = TRUE + overlay_state = "recording" diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm index d606556985b..15ffadec654 100644 --- a/code/game/machinery/iv_drip.dm +++ b/code/game/machinery/iv_drip.dm @@ -456,7 +456,8 @@ /atom/movable/screen/alert/iv_connected name = "IV Connected" desc = "You have an IV connected to your arm. Remember to remove it or drag the IV stand with you before moving, or else it will rip out!" - icon_state = ALERT_IV_CONNECTED + use_user_hud_icon = TRUE + overlay_state = "iv_connected" #undef IV_TAKING #undef IV_INJECTING diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index 2b1fdbf7389..ad6b4259f41 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -104,7 +104,14 @@ RegisterSignal(src, COMSIG_MOVABLE_SET_ANCHORED, PROC_REF(on_set_anchored)) M.set_buckled(src) buckled_mobs |= M - M.throw_alert(ALERT_BUCKLED, /atom/movable/screen/alert/buckled) + + ///If the icon is too big, don't add it to the screen alert + var/add_src_icon = TRUE + var/list/dim = get_icon_dimensions(icon) + if(dim["height"] > ICON_SIZE_Y || dim["width"] > ICON_SIZE_X) + add_src_icon = FALSE + + M.throw_alert(ALERT_BUCKLED, /atom/movable/screen/alert/buckled, new_master = add_src_icon ? src : null) M.set_glide_size(glide_size) M.Move(loc) diff --git a/code/game/objects/items/melee/chainofcommand.dm b/code/game/objects/items/melee/chainofcommand.dm index 8009b031df4..ba4f4064d1f 100644 --- a/code/game/objects/items/melee/chainofcommand.dm +++ b/code/game/objects/items/melee/chainofcommand.dm @@ -66,7 +66,8 @@ /atom/movable/screen/alert/status_effect/commanded name = "Commanded" desc = "You are inspired to do things faster!" - icon_state = "commanded" + use_user_hud_icon = TRUE + overlay_state = "commanded" /obj/item/melee/chainofcommand/tailwhip name = "liz o' nine tails" 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 ef0b0391137..eb51b632dd9 100644 --- a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm @@ -4,7 +4,8 @@ /atom/movable/screen/alert/status_effect/unholy_determination name = "Unholy Determination" desc = "You appear in a unfamiliar room. The darkness begins to close in. Panic begins to set in. There is no time. Fight on, or die!" - icon_state = "wounded" + icon_state = "heretic_template" + overlay_state = "wounded" /// The buff given to people within the shadow realm to assist them in surviving. /datum/status_effect/unholy_determination diff --git a/code/modules/antagonists/heretic/magic/void_prison.dm b/code/modules/antagonists/heretic/magic/void_prison.dm index 9a57213d01d..3cb06545370 100644 --- a/code/modules/antagonists/heretic/magic/void_prison.dm +++ b/code/modules/antagonists/heretic/magic/void_prison.dm @@ -97,5 +97,7 @@ /atom/movable/screen/alert/status_effect/void_prison name = "Void Prison" desc = "A Yawning void encases your mortal coil." //Go straight to jail, do not pass GO, do not collect 200$ - icon = 'icons/mob/actions/actions_ecult.dmi' - icon_state = "voidball_effect" + use_user_hud_icon = TRUE + icon_state = "heretic_template" + overlay_icon = 'icons/mob/actions/actions_ecult.dmi' + overlay_state = "voidball_effect" diff --git a/code/modules/antagonists/heretic/status_effects/ghoul.dm b/code/modules/antagonists/heretic/status_effects/ghoul.dm index 036f35f017c..7219b77ac14 100644 --- a/code/modules/antagonists/heretic/status_effects/ghoul.dm +++ b/code/modules/antagonists/heretic/status_effects/ghoul.dm @@ -105,4 +105,5 @@ /atom/movable/screen/alert/status_effect/ghoul name = "Flesh Servant" desc = "You are a Ghoul!" - icon_state = ALERT_MIND_CONTROL + icon_state = "heretic_template" + overlay_state = "mind_control" diff --git a/code/modules/antagonists/heretic/status_effects/void_chill.dm b/code/modules/antagonists/heretic/status_effects/void_chill.dm index 73d82cefb9e..f457a4040ff 100644 --- a/code/modules/antagonists/heretic/status_effects/void_chill.dm +++ b/code/modules/antagonists/heretic/status_effects/void_chill.dm @@ -96,15 +96,16 @@ /atom/movable/screen/alert/status_effect/void_chill name = "Void Chill" desc = "There's something freezing you from within and without. You've never felt cold this oppressive before..." - icon_state = "void_chill_minor" + icon_state = "heretic_template" + overlay_state = "void_chill_minor" -/atom/movable/screen/alert/status_effect/void_chill/update_icon_state() - . = ..() +/atom/movable/screen/alert/status_effect/void_chill/update_overlays() if(!istype(attached_effect, /datum/status_effect/void_chill)) - return + return ..() var/datum/status_effect/void_chill/chill_effect = attached_effect if(chill_effect.stacks >= 5) - icon_state = "void_chill_oh_fuck" + overlay_state = "void_chill_oh_fuck" + return ..() /atom/movable/screen/alert/status_effect/void_chill/update_desc(updates) . = ..() diff --git a/code/modules/antagonists/voidwalker/voidwalker_status_effects.dm b/code/modules/antagonists/voidwalker/voidwalker_status_effects.dm index 9de244d5949..e2716c6399e 100644 --- a/code/modules/antagonists/voidwalker/voidwalker_status_effects.dm +++ b/code/modules/antagonists/voidwalker/voidwalker_status_effects.dm @@ -13,7 +13,8 @@ /atom/movable/screen/alert/status_effect/veryhighgravity name = "Crushing Gravity" desc = "You're getting crushed by high gravity, picking up items and movement will be slowed. You'll also accumulate brute damage!" - icon_state = "paralysis" + use_user_hud_icon = TRUE + overlay_state = "paralysis" /datum/status_effect/void_eatered id = "void_eatered" diff --git a/code/modules/antagonists/wizard/equipment/teleport_rod.dm b/code/modules/antagonists/wizard/equipment/teleport_rod.dm index 47187dcc4f7..a0cc6224ce2 100644 --- a/code/modules/antagonists/wizard/equipment/teleport_rod.dm +++ b/code/modules/antagonists/wizard/equipment/teleport_rod.dm @@ -214,7 +214,8 @@ /atom/movable/screen/alert/status_effect/teleport_flux name = "Teleport Flux" desc = "Your body exists in a state of flux, making further teleportation dangerous." - icon_state = "flux" + use_user_hud_icon = TRUE + overlay_state = "flux" /atom/movable/screen/alert/status_effect/teleport_flux/perma name = "Permanent " + parent_type::name diff --git a/code/modules/bitrunning/components/netpod_healing.dm b/code/modules/bitrunning/components/netpod_healing.dm index 86f80e854e0..c114777ff4c 100644 --- a/code/modules/bitrunning/components/netpod_healing.dm +++ b/code/modules/bitrunning/components/netpod_healing.dm @@ -63,7 +63,8 @@ /atom/movable/screen/alert/status_effect/embryonic name = "Embryonic Stasis" - icon_state = "netpod_stasis" + use_user_hud_icon = TRUE + overlay_state = "netpod_stasis" desc = "You feel like you're in a dream." #undef BASE_HEAL diff --git a/code/modules/mining/equipment/monster_organs/brimdust_sac.dm b/code/modules/mining/equipment/monster_organs/brimdust_sac.dm index 7a475c7b56e..14006b0f726 100644 --- a/code/modules/mining/equipment/monster_organs/brimdust_sac.dm +++ b/code/modules/mining/equipment/monster_organs/brimdust_sac.dm @@ -93,6 +93,8 @@ desc = "You %STACKS% explosive dust, kinetic impacts will cause it to detonate! \ The explosion will not harm you as long as you're not under atmospheric pressure. \ Click this alert to shake off the dust." + use_user_hud_icon = TRUE + overlay_state = "brimdemon_1" /atom/movable/screen/alert/status_effect/brimdust_coating/MouseEntered(location,control,params) desc = initial(desc) @@ -132,7 +134,8 @@ . = ..() if (stacks == 0) return - linked_alert.icon_state = "brimdemon_[stacks]" + linked_alert.overlay_state = "brimdemon_[stacks]" + linked_alert.update_appearance(UPDATE_OVERLAYS) if (dust_overlay) owner.cut_overlay(dust_overlay) dust_overlay.alpha = stacks * BRIMDUST_ALPHA_PER_STACK diff --git a/code/modules/mining/equipment/monster_organs/rush_gland.dm b/code/modules/mining/equipment/monster_organs/rush_gland.dm index e446296f9d8..c11df30bc35 100644 --- a/code/modules/mining/equipment/monster_organs/rush_gland.dm +++ b/code/modules/mining/equipment/monster_organs/rush_gland.dm @@ -51,7 +51,8 @@ /atom/movable/screen/alert/status_effect/lobster_rush name = "Lobster Rush" desc = "Adrenaline is surging through you!" - icon_state = "lobster" + use_user_hud_icon = TRUE + overlay_state = "lobster" /datum/status_effect/lobster_rush/on_apply() . = ..() diff --git a/code/modules/mob/living/basic/lavaland/watcher/watcher_overwatch.dm b/code/modules/mob/living/basic/lavaland/watcher/watcher_overwatch.dm index d084850c057..963d0b88f35 100644 --- a/code/modules/mob/living/basic/lavaland/watcher/watcher_overwatch.dm +++ b/code/modules/mob/living/basic/lavaland/watcher/watcher_overwatch.dm @@ -146,7 +146,8 @@ /atom/movable/screen/alert/status_effect/overwatch name = "Overwatched" desc = "Freeze! You are being watched!" - icon_state = "aimed" + use_user_hud_icon = TRUE + overlay_state = "aimed" /// Blocks further applications of the ability for a little while /datum/status_effect/overwatch_immune diff --git a/code/modules/mob/living/basic/space_fauna/wumborian_fugu/inflation.dm b/code/modules/mob/living/basic/space_fauna/wumborian_fugu/inflation.dm index 1281cb06f57..9c300ec0ea3 100644 --- a/code/modules/mob/living/basic/space_fauna/wumborian_fugu/inflation.dm +++ b/code/modules/mob/living/basic/space_fauna/wumborian_fugu/inflation.dm @@ -43,7 +43,8 @@ /atom/movable/screen/alert/status_effect/inflated name = "WUMBO" desc = "You feel big and strong!" - icon_state = "gross" + use_user_hud_icon = TRUE + overlay_state = "gross" /datum/status_effect/inflated/on_creation(mob/living/new_owner, ...) if (!istype(new_owner, /mob/living/basic/wumborian_fugu)) diff --git a/code/modules/projectiles/projectile/energy/stun.dm b/code/modules/projectiles/projectile/energy/stun.dm index 960ce2ec4ba..4d244c90076 100644 --- a/code/modules/projectiles/projectile/energy/stun.dm +++ b/code/modules/projectiles/projectile/energy/stun.dm @@ -371,7 +371,8 @@ /atom/movable/screen/alert/tazed name = "Tased!" desc = "You're being tased! You can click this or resist to attempt to stop it, assuming you've not already collapsed." - icon_state = "stun" + use_user_hud_icon = TRUE + overlay_state = "stun" clickable_glow = TRUE /atom/movable/screen/alert/tazed/Click(location, control, params) diff --git a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm index ebff27d9174..2c0884d9d46 100644 --- a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm @@ -582,7 +582,9 @@ /atom/movable/screen/alert/penthrite name = "Strong Heartbeat" desc = "Your heart beats with great force!" - icon_state = "penthrite" + use_user_hud_icon = TRUE + overlay_icon = 'icons/obj/medical/syringe.dmi' + overlay_state = "luxpen" /datum/reagent/medicine/c2/penthrite/on_mob_metabolize(mob/living/user) . = ..() diff --git a/code/modules/reagents/chemistry/reagents/drinks/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drinks/drink_reagents.dm index cab73988509..0d380330700 100644 --- a/code/modules/reagents/chemistry/reagents/drinks/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drinks/drink_reagents.dm @@ -1360,12 +1360,14 @@ /atom/movable/screen/alert/fruit_punch_good name = "Fruit Punch Blessing" desc = "The sweetness of the fruit punch and the friendly company of the liquid cooler are slowly restoring your health..." - icon_state = "punch_blessing" + use_user_hud_icon = TRUE + overlay_state = "punch_blessing" /atom/movable/screen/alert/fruit_punch_bad name = "Fruit Punishment" desc = "The unbearable sweetness of the fruit punch is too much to bear without the soothing aura of a liquid cooler! Your body is going into shock!" - icon_state = "punch_punishment" + use_user_hud_icon = TRUE + overlay_state = "punch_punishment" /datum/reagent/consumable/ethanol/bitters_soda name = "Bitters and Soda" diff --git a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm index 867ecdd8d2b..7d0bd98bbd5 100644 --- a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm +++ b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm @@ -193,7 +193,8 @@ /atom/movable/screen/alert/status_effect/bloodchill name = "Bloodchilled" desc = "You feel a shiver down your spine after getting hit with a glob of cold blood. You'll move slower and get frostbite for a while!" - icon_state = "bloodchill" + use_user_hud_icon = TRUE + overlay_state = "bloodchill" /datum/status_effect/bloodchill id = "bloodchill" @@ -231,10 +232,12 @@ /datum/status_effect/bonechill/on_remove() owner.remove_movespeed_modifier(/datum/movespeed_modifier/status_effect/bonechill) + /atom/movable/screen/alert/status_effect/bonechill name = "Bonechilled" desc = "You feel a shiver down your spine after hearing the haunting noise of bone rattling. You'll move slower and get frostbite for a while!" - icon_state = "bloodchill" + use_user_hud_icon = TRUE + overlay_state = "bloodchill" /datum/status_effect/rebreathing id = "rebreathing" diff --git a/code/modules/spells/spell_types/shapeshift/_shape_status.dm b/code/modules/spells/spell_types/shapeshift/_shape_status.dm index 5074412ce28..03808c9d891 100644 --- a/code/modules/spells/spell_types/shapeshift/_shape_status.dm +++ b/code/modules/spells/spell_types/shapeshift/_shape_status.dm @@ -242,7 +242,8 @@ name = "Shapeshifted" desc = "Your form is not your own... you're shapeshifted into another creature! \ A wizard could turn you back - or maybe you're stuck like this for good?" - icon_state = "shapeshifted" + use_user_hud_icon = TRUE + overlay_state = "shapeshifted" clickable_glow = TRUE /atom/movable/screen/alert/status_effect/shapeshifted/Click(location, control, params) diff --git a/code/modules/surgery/organs/internal/heart/heart_anomalock.dm b/code/modules/surgery/organs/internal/heart/heart_anomalock.dm index 1a259978a4c..7352fe853d5 100644 --- a/code/modules/surgery/organs/internal/heart/heart_anomalock.dm +++ b/code/modules/surgery/organs/internal/heart/heart_anomalock.dm @@ -210,7 +210,8 @@ /atom/movable/screen/alert/status_effect/anomalock_active name = "voltaic overdrive" - icon_state = "anomalock_heart" + use_user_hud_icon = TRUE + overlay_state = "anomalock_heart" desc = "Voltaic energy is flooding your muscles, keeping your body upright. You have 30 seconds before it falters!" /obj/item/organ/heart/cybernetic/anomalock/hear_beat_noise(mob/living/hearer) diff --git a/code/modules/surgery/organs/internal/stomach/stomach_golem.dm b/code/modules/surgery/organs/internal/stomach/stomach_golem.dm index dc6f28787aa..74a7f8f6cd1 100644 --- a/code/modules/surgery/organs/internal/stomach/stomach_golem.dm +++ b/code/modules/surgery/organs/internal/stomach/stomach_golem.dm @@ -63,7 +63,8 @@ /atom/movable/screen/alert/status_effect/golem_statued name = "Statued" desc = "You no longer have the energy to move your body!" - icon_state = "golem_statued" + use_user_hud_icon = TRUE + overlay_state = "golem_statued" /datum/status_effect/golem_statued/on_apply() . = ..() diff --git a/code/modules/unit_tests/focus_only_tests.dm b/code/modules/unit_tests/focus_only_tests.dm index 40d0845c1a6..2f822e03d2e 100644 --- a/code/modules/unit_tests/focus_only_tests.dm +++ b/code/modules/unit_tests/focus_only_tests.dm @@ -12,6 +12,9 @@ /// Checks that every overlay passed into build_appearance_list exists in the icon /datum/unit_test/focus_only/invalid_overlays +/// Checks that every screen alert with an overlay icon state is valid +/datum/unit_test/focus_only/screen_alert_overlay + /// Checks that every icon sent to the research_designs spritesheet is valid /datum/unit_test/focus_only/invalid_research_designs diff --git a/icons/hud/screen_alert.dmi b/icons/hud/screen_alert.dmi index 328056ef243..baf181778b7 100644 Binary files a/icons/hud/screen_alert.dmi and b/icons/hud/screen_alert.dmi differ