From 9f039abe7e9200f35f424ec947ced4e363608500 Mon Sep 17 00:00:00 2001 From: Seris02 Date: Mon, 16 Jan 2023 16:57:48 +0800 Subject: [PATCH] even better dirt code --- code/game/objects/effects/decals/Cleanable/misc.dm | 12 +++++++++--- code/modules/persistence/effects/filth_vr.dm | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/code/game/objects/effects/decals/Cleanable/misc.dm b/code/game/objects/effects/decals/Cleanable/misc.dm index ac854c90ab8..cc23136aba1 100644 --- a/code/game/objects/effects/decals/Cleanable/misc.dm +++ b/code/game/objects/effects/decals/Cleanable/misc.dm @@ -38,11 +38,17 @@ icon_state = "dirt" mouse_opacity = 0 -/obj/effect/decal/cleanable/Initialize(var/mapload, var/_age, var/dirt) +/obj/effect/decal/cleanable/dirt/Initialize(var/mapload, var/_age, var/dirt) .=..() var/turf/simulated/our_turf = src.loc - if(dirt && our_turf && istype(our_turf) && our_turf.can_dirty) - our_turf.dirt = dirt + if(our_turf && istype(our_turf) && our_turf.can_dirty) + our_turf.dirt = clamp(max(age ? (dirt ? dirt : 101) : our_turf.dirt, our_turf.dirt), 0, 101) + var/calcalpha = our_turf.dirt > 50 ? min((our_turf.dirt - 50) * 5, 255) : 0 + var/obj/effect/decal/cleanable/dirt/alreadythere = locate(/obj/effect/decal/cleanable/dirt, our_turf) + if (alreadythere) + alreadythere.alpha = calcalpha + return INITIALIZE_HINT_QDEL + alpha = calcalpha /obj/effect/decal/cleanable/flour name = "flour" diff --git a/code/modules/persistence/effects/filth_vr.dm b/code/modules/persistence/effects/filth_vr.dm index 7c50e78889e..deea9cb877e 100644 --- a/code/modules/persistence/effects/filth_vr.dm +++ b/code/modules/persistence/effects/filth_vr.dm @@ -18,4 +18,4 @@ /datum/persistent/filth/CompileEntry(var/atom/entry) . = ..() if (saves_dirt) - LAZYADDASSOC(., "dirt", GetEntryDirt(entry)) \ No newline at end of file + LAZYADDASSOC(., "dirt", GetEntryDirt(entry))