component.LightEntity = null;
}
- if (TryComp<SpriteComponent>(uid, out var sprite))
- sprite.RemoveLayer(FireVisualLayers.Fire);
+ // Need LayerMapTryGet because Init fails if there's no existing sprite / appearancecomp
+ // which means in some setups (most frequently no AppearanceComp) the layer never exists.
+ if (TryComp<SpriteComponent>(uid, out var sprite) &&
+ sprite.LayerMapTryGet(FireVisualLayers.Fire, out var layer))
+ {
+ sprite.RemoveLayer(layer);
+ }
}
private void OnComponentInit(EntityUid uid, FireVisualsComponent component, ComponentInit args)