Prevents final summon rune by being cleaned by normal methods (#16224)

* Prevents final summon rune by being cleaned by normal methods

* Makes it a proc

* Moves cleanable, makes it work with space cleaner
This commit is contained in:
Qwertytoforty
2021-07-08 22:20:32 +01:00
committed by GitHub
parent 3724eb3ef0
commit 8dcb2c1a0f
11 changed files with 29 additions and 15 deletions
@@ -1201,12 +1201,13 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
var/floor_only = TRUE
for(var/A in tile)
if(istype(A, /obj/effect))
if(is_cleanable(A))
var/obj/effect/decal/cleanable/blood/B = A
var/obj/effect/E = A
if(E.is_cleanable())
var/obj/effect/decal/cleanable/blood/B = E
if(istype(B) && B.off_floor)
floor_only = FALSE
else
qdel(A)
qdel(E)
else if(istype(A, /obj/item))
var/obj/item/cleaned_item = A
cleaned_item.clean_blood()
@@ -57,10 +57,12 @@
taste_description = "floor cleaner"
/datum/reagent/space_cleaner/reaction_obj(obj/O, volume)
if(is_cleanable(O))
var/obj/effect/decal/cleanable/blood/B = O
if(!(istype(B) && B.off_floor))
qdel(O)
if(istype(O, /obj/effect))
var/obj/effect/E = O
if(E.is_cleanable())
var/obj/effect/decal/cleanable/blood/B = E
if(!(istype(B) && B.off_floor))
qdel(E)
else
if(O.simulated)
O.color = initial(O.color)
+3 -3
View File
@@ -49,9 +49,9 @@
var/turf/tile = loc
if(isturf(tile))
tile.clean_blood()
for(var/A in tile)
if(is_cleanable(A))
qdel(A)
for(var/obj/effect/E in tile)
if(E.is_cleanable())
qdel(E)