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 3c0a54f43b1..2e557ebd49b 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -58,20 +58,11 @@ spawnfragments() return - /obj/structure/window/ex_act(severity, target) - switch(severity) - if(1) - qdel(src) - return - if(2) - spawnfragments() - return - if(3) - if(prob(50)) - spawnfragments() - return - + if(severity == 1) + qdel(src) + else + spawnfragments() /obj/structure/window/blob_act() spawnfragments() @@ -308,7 +299,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) @@ -454,6 +445,16 @@ maxhealth = 50 explosion_block = 1 +/obj/structure/window/reinforced/ex_act(severity, target) + switch(severity) + if(1) + qdel(src) + if(2) + spawnfragments() + if(3) + if(prob(50)) + spawnfragments() + /obj/structure/window/reinforced/tinted name = "tinted window" icon_state = "twindow" 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..a613c49ac0c 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -48,8 +48,9 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3"," return ..() /turf/simulated/floor/ex_act(severity, target) + var/shielded = is_shielded() ..() - if(is_shielded()) + if(severity != 1 && shielded && target != src) return if(target == src) src.ChangeTurf(src.baseturf)