[MIRROR] Fixes bombproof containers not protecting their content in some cases (#5844)

* added get content recursive flag check (#59191)

* Fixes bombproof containers not protecting their content in some cases

Co-authored-by: Mickyan <38563876+Mickyan@users.noreply.github.com>
This commit is contained in:
SkyratBot
2021-05-21 14:24:33 +01:00
committed by GitHub
co-authored by Mickyan
parent 8b7a0a757a
commit 4acf0f5dd8
2 changed files with 4 additions and 3 deletions
+3 -2
View File
@@ -427,12 +427,13 @@ Turf and target are separate in case you want to teleport some distance from a t
///Returns the src and all recursive contents as a list.
/atom/proc/GetAllContents()
/atom/proc/GetAllContents(ignore_flag_1)
. = list(src)
var/i = 0
while(i < length(.))
var/atom/A = .[++i]
. += A.contents
if (!(A.flags_1 & ignore_flag_1))
. += A.contents
///identical to getallcontents but returns a list of atoms of the type passed in the argument.
/atom/proc/get_all_contents_type(type)
+1 -1
View File
@@ -354,7 +354,7 @@ SUBSYSTEM_DEF(explosions)
for(var/I in T)
var/atom/A = I
if (length(A.contents) && !(A.flags_1 & PREVENT_CONTENTS_EXPLOSION_1)) //The atom/contents_explosion() proc returns null if the contents ex_acting has been handled by the atom, and TRUE if it hasn't.
items += A.GetAllContents()
items += A.GetAllContents(ignore_flag_1 = PREVENT_CONTENTS_EXPLOSION_1)
for(var/thing in items)
var/atom/movable/movable_thing = thing
if(QDELETED(movable_thing))