diff --git a/voxygen/src/scene/mod.rs b/voxygen/src/scene/mod.rs index 9d17c29eab..e56a3a9c35 100644 --- a/voxygen/src/scene/mod.rs +++ b/voxygen/src/scene/mod.rs @@ -560,15 +560,17 @@ impl Scene { .state .ecs() .read_storage::(), + &scene_data.state.ecs().read_storage::(), ) .join() - .filter(|(pos, _, light_anim)| { + .filter(|(pos, _, light_anim, h)| { light_anim.col != Rgb::zero() && light_anim.strength > 0.0 && (pos.0.distance_squared(player_pos) as f32) < loaded_distance.powi(2) + LIGHT_DIST_RADIUS + && !h.is_dead }) - .map(|(pos, interpolated, light_anim)| { + .map(|(pos, interpolated, light_anim, _)| { // Use interpolated values if they are available let pos = interpolated.map_or(pos.0, |i| i.pos); Light::new(pos + light_anim.offset, light_anim.col, light_anim.strength)