mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-19 03:55:11 +01:00
Merge pull request #14669 from xxalpha/shingles
Objects under rwindows don't break.
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user