From 2cc55c3ba0da6da30ef2223191dbd26f593a3492 Mon Sep 17 00:00:00 2001 From: xxalpha Date: Sat, 16 Jan 2016 17:43:33 +0000 Subject: [PATCH] Changed floor ex_act to not break grilles & src if under r-windows. --- code/game/objects/structures/grille.dm | 1 - code/game/objects/structures/window.dm | 2 +- code/game/turfs/simulated.dm | 7 ++++++- code/game/turfs/simulated/floor.dm | 6 ++++-- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 51f11e3b2f9..293f881747f 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -11,7 +11,6 @@ var/health = 10 var/destroyed = 0 var/obj/item/stack/rods/stored - level = 3 /obj/structure/grille/New() stored = new/obj/item/stack/rods(src) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index e8b43ab718f..316900a5178 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -307,7 +307,7 @@ return /obj/structure/window/proc/spawnfragments() - if(!loc) //if already qdel'd somehow, we do nothing + if(qdeleted()) return var/turf/T = loc for(var/obj/item/I in storeditems) diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm index 06f9ce5d1f6..fe7351ac84b 100644 --- a/code/game/turfs/simulated.dm +++ b/code/game/turfs/simulated.dm @@ -67,8 +67,13 @@ var/affecting_level if(severity == 1) affecting_level = 1 + else if(is_shielded()) + affecting_level = 3 + else if(intact) + affecting_level = 2 else - affecting_level = is_shielded() ? 2 : (intact ? 2 : 1) + affecting_level = 1 + for(var/V in contents) var/atom/A = V if(A.level >= affecting_level) diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index 6ead73f0cae..28e0954d019 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -48,9 +48,11 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3"," return ..() /turf/simulated/floor/ex_act(severity, target) - ..() - if(is_shielded()) + if(severity != 1 && is_shielded() && target != src) + ..() return + else + ..() if(target == src) src.ChangeTurf(src.baseturf) if(target != null)