From 24844dd026f4e6e52d3ddef01b99ef461a2a949d Mon Sep 17 00:00:00 2001 From: Geeves Date: Thu, 9 Jul 2020 11:16:16 +0200 Subject: [PATCH] Spills Are Messy (#9136) --- code/game/machinery/hologram.dm | 2 +- .../objects/effects/decals/Cleanable/misc.dm | 86 +++++++++---------- code/game/objects/effects/decals/cleanable.dm | 16 +++- html/changelogs/geeves-cleanable_layers.yml | 7 ++ 4 files changed, 63 insertions(+), 48 deletions(-) create mode 100644 html/changelogs/geeves-cleanable_layers.yml diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index c1cd8c61315..67070fd161c 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -35,7 +35,7 @@ var/const/HOLOPAD_MODE = RANGE_BASED desc = "It's a floor-mounted device for projecting holographic images." icon_state = "holopad0" - layer = TURF_LAYER+0.1 //Preventing rats and drones from sneaking under them. + layer = ON_TURF_LAYER //Preventing rats and drones from sneaking under them. var/power_per_hologram = 500 //per usage per hologram idle_power_usage = 5 diff --git a/code/game/objects/effects/decals/Cleanable/misc.dm b/code/game/objects/effects/decals/Cleanable/misc.dm index c0f46969812..1b3f7f5390d 100644 --- a/code/game/objects/effects/decals/Cleanable/misc.dm +++ b/code/game/objects/effects/decals/Cleanable/misc.dm @@ -2,9 +2,8 @@ name = "clutter" desc = "Someone should clean that up." gender = PLURAL - density = 0 - anchored = 1 - layer = 2 + density = FALSE + anchored = TRUE icon = 'icons/obj/trash.dmi' icon_state = "shards" @@ -14,9 +13,9 @@ gender = PLURAL icon = 'icons/obj/trash.dmi' icon_state = "ash" - anchored = 1 + anchored = TRUE -/obj/effect/decal/cleanable/ash/attack_hand(mob/user as mob) +/obj/effect/decal/cleanable/ash/attack_hand(mob/user) to_chat(user, "[src] sifts through your fingers.") var/turf/simulated/floor/F = get_turf(src) if (istype(F)) @@ -27,9 +26,8 @@ name = "dirt" desc = "Someone should clean that up." gender = PLURAL - density = 0 - anchored = 1 - layer = 2 + density = FALSE + anchored = TRUE icon = 'icons/effects/effects.dmi' icon_state = "dirt" mouse_opacity = 0 @@ -38,9 +36,8 @@ name = "flour" desc = "It's still good. Four second rule!" gender = PLURAL - density = 0 - anchored = 1 - layer = 2 + density = FALSE + anchored = TRUE icon = 'icons/effects/effects.dmi' icon_state = "flour" @@ -48,9 +45,8 @@ name = "glowing goo" desc = "Jeez. I hope that's not for lunch." gender = PLURAL - density = 0 - anchored = 1 - layer = 2 + density = FALSE + anchored = TRUE light_range = 2 light_power = 0.5 light_color = LIGHT_COLOR_GREEN @@ -63,41 +59,45 @@ if (!mapload) // Round-start goo should stick around. QDEL_IN(src, 2 MINUTES) +/obj/effect/decal/cleanable/greenglow/post_sweep(var/mob/user) + if(ishuman(user)) + var/mob/living/carbon/human/H = user + H.apply_radiation(5) + /obj/effect/decal/cleanable/cobweb name = "cobweb" desc = "Somebody should remove that." - density = 0 - anchored = 1 - layer = 3 + density = FALSE + anchored = TRUE + layer = ABOVE_MOB_LAYER icon = 'icons/effects/effects.dmi' icon_state = "cobweb1" -/obj/effect/decal/cleanable/molten_item - name = "gooey grey mass" - desc = "It looks like a melted... something." - density = 0 - anchored = 1 - layer = 3 - icon = 'icons/obj/chemical.dmi' - icon_state = "molten" - /obj/effect/decal/cleanable/cobweb2 name = "cobweb" desc = "Somebody should remove that." - density = 0 - anchored = 1 - layer = 3 + density = FALSE + anchored = TRUE + layer = ABOVE_MOB_LAYER icon = 'icons/effects/effects.dmi' icon_state = "cobweb2" +/obj/effect/decal/cleanable/molten_item + name = "gooey grey mass" + desc = "It looks like a melted... something." + density = FALSE + anchored = TRUE + layer = 3 + icon = 'icons/obj/chemical.dmi' + icon_state = "molten" + //Vomit (sorry) /obj/effect/decal/cleanable/vomit name = "vomit" desc = "Gosh, how unpleasant." gender = PLURAL - density = 0 - anchored = 1 - layer = 2 + density = FALSE + anchored = TRUE icon = 'icons/effects/blood.dmi' icon_state = "vomit_1" random_icon_states = list("vomit_1", "vomit_2", "vomit_3", "vomit_4") @@ -110,36 +110,32 @@ /obj/effect/decal/cleanable/tomato_smudge name = "tomato smudge" desc = "It's red." - density = 0 - anchored = 1 - layer = 2 + density = FALSE + anchored = TRUE icon = 'icons/effects/tomatodecal.dmi' random_icon_states = list("tomato_floor1", "tomato_floor2", "tomato_floor3") /obj/effect/decal/cleanable/egg_smudge name = "smashed egg" desc = "Seems like this one won't hatch." - density = 0 - anchored = 1 - layer = 2 + density = FALSE + anchored = TRUE icon = 'icons/effects/tomatodecal.dmi' random_icon_states = list("smashed_egg1", "smashed_egg2", "smashed_egg3") /obj/effect/decal/cleanable/pie_smudge //honk name = "smashed pie" desc = "It's pie cream from a cream pie." - density = 0 - anchored = 1 - layer = 2 + density = FALSE + anchored = TRUE icon = 'icons/effects/tomatodecal.dmi' random_icon_states = list("smashed_pie") /obj/effect/decal/cleanable/fruit_smudge name = "smudge" desc = "Some kind of fruit smear." - density = 0 - anchored = 1 - layer = 2 + density = FALSE + anchored = TRUE icon = 'icons/effects/blood.dmi' icon_state = "mfloor1" - random_icon_states = list("mfloor1", "mfloor2", "mfloor3", "mfloor4", "mfloor5", "mfloor6", "mfloor7") + random_icon_states = list("mfloor1", "mfloor2", "mfloor3", "mfloor4", "mfloor5", "mfloor6", "mfloor7") \ No newline at end of file diff --git a/code/game/objects/effects/decals/cleanable.dm b/code/game/objects/effects/decals/cleanable.dm index 67ff6ec65e8..860ac1998d5 100644 --- a/code/game/objects/effects/decals/cleanable.dm +++ b/code/game/objects/effects/decals/cleanable.dm @@ -1,6 +1,18 @@ /obj/effect/decal/cleanable - layer = ON_TURF_LAYER + layer = ABOVE_CABLE_LAYER var/list/random_icon_states + var/swept_away + +/obj/effect/decal/cleanable/attack_hand(mob/user) + if(!swept_away && layer == ABOVE_CABLE_LAYER) // have to check layer otherwise more vars need to be added to determine whether it CAN be sweeped + if((locate(/obj/machinery/atmospherics) in get_turf(src)) || (locate(/obj/machinery/hologram/holopad) in get_turf(src))) + to_chat(user, SPAN_NOTICE("You brush \the [src] away with your hand.")) + layer = LOWER_ON_TURF_LAYER + swept_away = TRUE + post_sweep(user) + +/obj/effect/decal/cleanable/proc/post_sweep(var/mob/user) + return /obj/effect/decal/cleanable/clean_blood(var/ignore = 0) if(!ignore) @@ -13,4 +25,4 @@ icon_state = pick(src.random_icon_states) . = ..() if (!mapload && ROUND_IS_STARTED) - SSfeedback.IncrementSimpleStat("messes_made") + SSfeedback.IncrementSimpleStat("messes_made") \ No newline at end of file diff --git a/html/changelogs/geeves-cleanable_layers.yml b/html/changelogs/geeves-cleanable_layers.yml new file mode 100644 index 00000000000..09f0070370d --- /dev/null +++ b/html/changelogs/geeves-cleanable_layers.yml @@ -0,0 +1,7 @@ +author: Geeves + +delete-after: True + +changes: + - tweak: "Messes and spills now appear above pipes, scrubbers, and vents." + - rscadd: "You can brush messes and spills away from pipes, scrubbers, and vents, by using your hands on them."