From 8f929331d8d3141e77f8d459fdaaa8bece307509 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 3 Mar 2015 15:33:15 +0100 Subject: [PATCH] Fixes #8343 Fuel no longer attempts to spread itself after having been deleted. --- code/game/objects/effects/decals/Cleanable/fuel.dm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/code/game/objects/effects/decals/Cleanable/fuel.dm b/code/game/objects/effects/decals/Cleanable/fuel.dm index 5162d0f6df..9c37a64331 100644 --- a/code/game/objects/effects/decals/Cleanable/fuel.dm +++ b/code/game/objects/effects/decals/Cleanable/fuel.dm @@ -12,15 +12,20 @@ obj/effect/decal/cleanable/liquid_fuel log_game("Liquid fuel has spilled in [newLoc.loc.name] ([newLoc.x],[newLoc.y],[newLoc.z])") src.amount = amt + var/has_spread = 0 //Be absorbed by any other liquid fuel in the tile. for(var/obj/effect/decal/cleanable/liquid_fuel/other in newLoc) if(other != src) other.amount += src.amount - spawn other.Spread() - del src + other.Spread() + has_spread = 1 + break - Spread() . = ..() + if(!has_spread) + Spread() + else + del(src) proc/Spread() //Allows liquid fuels to sometimes flow into other tiles.