From 906348bb9a4334acaa05f0a3307b051a0d74ba7a Mon Sep 17 00:00:00 2001 From: Gandalf <9026500+Gandalf2k15@users.noreply.github.com> Date: Fri, 22 Apr 2022 00:03:03 +0100 Subject: [PATCH] Finally fixes SS decay (#12978) * wew * wwwooops * Update floor.dm * wew --- code/game/turfs/open/floor.dm | 4 ++-- modular_skyrat/modules/decay_subsystem/code/decaySS.dm | 5 +++-- .../modules/decay_subsystem/code/decay_turf_handling.dm | 9 ++++++--- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/code/game/turfs/open/floor.dm b/code/game/turfs/open/floor.dm index a91544630c3..c4f599b916a 100644 --- a/code/game/turfs/open/floor.dm +++ b/code/game/turfs/open/floor.dm @@ -11,8 +11,8 @@ barefootstep = FOOTSTEP_HARD_BAREFOOT clawfootstep = FOOTSTEP_HARD_CLAW heavyfootstep = FOOTSTEP_GENERIC_HEAVY - flags_1 = NO_SCREENTIPS_1 - turf_flags = CAN_BE_DIRTY_1 | IS_SOLID/// SKYRAT EDIT - Overriden in modular_skyrat\modules\decay_subsystem\code\decay_turf_handling.dm + flags_1 = CAN_BE_DIRTY_1 | IS_SOLID + turf_flags = IS_SOLID smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_OPEN_FLOOR) canSmoothWith = list(SMOOTH_GROUP_OPEN_FLOOR, SMOOTH_GROUP_TURF_OPEN) diff --git a/modular_skyrat/modules/decay_subsystem/code/decaySS.dm b/modular_skyrat/modules/decay_subsystem/code/decaySS.dm index a3f75af2b33..91c977c215d 100644 --- a/modular_skyrat/modules/decay_subsystem/code/decaySS.dm +++ b/modular_skyrat/modules/decay_subsystem/code/decaySS.dm @@ -43,11 +43,10 @@ SUBSYSTEM_DEF(decay) message_admins("SSDecay will not interact with this round.") log_world("SSDecay will not interact with this round.") return ..() - for(var/turf/iterating_turf in world) if(!is_station_level(iterating_turf.z)) continue - if(!(iterating_turf.turf_flags & CAN_BE_DIRTY_1)) + if(!(iterating_turf.flags_1 & CAN_BE_DIRTY_1)) continue possible_turfs += iterating_turf @@ -87,6 +86,8 @@ SUBSYSTEM_DEF(decay) new /obj/effect/decal/cleanable/dirt(iterating_floor) for(var/turf/closed/iterating_wall in possible_turfs) + if(HAS_TRAIT(iterating_wall, TRAIT_RUSTY)) + continue if(prob(WALL_RUST_PERCENT_CHANCE * severity_modifier)) iterating_wall.AddElement(/datum/element/rust) diff --git a/modular_skyrat/modules/decay_subsystem/code/decay_turf_handling.dm b/modular_skyrat/modules/decay_subsystem/code/decay_turf_handling.dm index fd82aebb19b..6b5bebf199f 100644 --- a/modular_skyrat/modules/decay_subsystem/code/decay_turf_handling.dm +++ b/modular_skyrat/modules/decay_subsystem/code/decay_turf_handling.dm @@ -1,11 +1,14 @@ /turf/open/floor - turf_flags = CAN_BE_DIRTY_1 | CAN_DECAY_BREAK_1 // We do it this way because we can then easily pick what we don't want to be broken. + turf_flags = CAN_DECAY_BREAK_1 // We do it this way because we can then easily pick what we don't want to be broken. + +/turf/closed/wall + flags_1 = CAN_BE_DIRTY_1 /turf/open/floor/plating - turf_flags = CAN_BE_DIRTY_1 /// No breaking the plating + turf_flags = NONE /// No breaking the plating /turf/open/floor/glass - turf_flags = CAN_BE_DIRTY_1 /// No breaking the glass (doesn't leave plating behind) + turf_flags = NONE /// No breaking the glass (doesn't leave plating behind) /turf/open/misc/asteroid turf_flags = NONE /// They shouldn't break and they shouldn't be dirty, it's literally already a dirty turf.