[MIRROR] Lavaland bomb runtime fix (#5246)

* Lavaland bomb runtime fix

* Update cleanable.dm
This commit is contained in:
CitadelStationBot
2018-02-05 00:56:37 -06:00
committed by Poojawa
parent 4082bcedbc
commit 662f1904aa
2 changed files with 10 additions and 11 deletions
@@ -7,13 +7,15 @@
var/mergeable_decal = TRUE //when two of these are on a same tile or do we need to merge them into just one?
/obj/effect/decal/cleanable/Initialize(mapload, list/datum/disease/diseases)
. = ..()
if (random_icon_states && length(src.random_icon_states) > 0)
src.icon_state = pick(src.random_icon_states)
create_reagents(300)
if(src.loc && isturf(src.loc))
for(var/obj/effect/decal/cleanable/C in src.loc)
if(C != src && C.type == src.type)
replace_decal(C)
if(C != src && C.type == src.type && !QDELETED(C))
if (replace_decal(C))
return INITIALIZE_HINT_QDEL
if(LAZYLEN(diseases))
var/list/datum/disease/diseases_to_add = list()
for(var/datum/disease/D in diseases)
@@ -22,11 +24,9 @@
if(LAZYLEN(diseases_to_add))
AddComponent(/datum/component/infective, diseases_to_add)
return//. = ..()//cleanable stuff sometimes needs to be in objs
/obj/effect/decal/cleanable/proc/replace_decal(obj/effect/decal/cleanable/C)
/obj/effect/decal/cleanable/proc/replace_decal(obj/effect/decal/cleanable/C) // Returns true if we should give up in favor of the pre-existing decal
if(mergeable_decal)
qdel(C)
return TRUE
/obj/effect/decal/cleanable/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/reagent_containers/glass) || istype(W, /obj/item/reagent_containers/food/drinks))
@@ -8,8 +8,8 @@
bloodiness = MAX_SHOE_BLOODINESS
/obj/effect/decal/cleanable/blood/replace_decal(obj/effect/decal/cleanable/blood/C)
add_blood_DNA(C.return_blood_DNA())
..()
C.add_blood_DNA(return_blood_DNA())
return ..()
/obj/effect/decal/cleanable/blood/old
name = "dried blood"
@@ -17,9 +17,9 @@
bloodiness = 0
/obj/effect/decal/cleanable/blood/old/Initialize(mapload, list/datum/disease/diseases)
. = ..()
icon_state += "-old" //This IS necessary because the parent /blood type uses icon randomization.
add_blood_DNA(list("Non-human DNA" = "A+"))
add_blood_DNA(list("Non-human DNA" = "A+")) // Needs to happen before ..()
return ..()
/obj/effect/decal/cleanable/blood/splatter
random_icon_states = list("gibbl1", "gibbl2", "gibbl3", "gibbl4", "gibbl5")
@@ -184,4 +184,3 @@
if((blood_state != BLOOD_STATE_OIL) && (blood_state != BLOOD_STATE_NOT_BLOODY))
return 1
return 0