diff --git a/OpenRA.Mods.Common/Effects/SpriteEffect.cs b/OpenRA.Mods.Common/Effects/SpriteEffect.cs index f1ffec39a8..aa4ff5d0c8 100644 --- a/OpenRA.Mods.Common/Effects/SpriteEffect.cs +++ b/OpenRA.Mods.Common/Effects/SpriteEffect.cs @@ -62,16 +62,18 @@ namespace OpenRA.Mods.Common.Effects world.ScreenMap.Add(this, pos, anim.Image); initialized = true; } + else + { + anim.Tick(); - anim.Tick(); - - pos = posFunc(); - world.ScreenMap.Update(this, pos, anim.Image); + pos = posFunc(); + world.ScreenMap.Update(this, pos, anim.Image); + } } public IEnumerable Render(WorldRenderer wr) { - if (!visibleThroughFog && world.FogObscures(pos)) + if (!initialized || (!visibleThroughFog && world.FogObscures(pos))) return SpriteRenderable.None; return anim.Render(pos, wr.Palette(palette));