Added temporary fix to prevent loot drops causing a server crash in some (currently unknown) circumstances

This commit is contained in:
Ben Wallis 2022-05-31 13:37:56 +01:00
parent d86a3f7ac3
commit ec1427d669

View File

@ -447,6 +447,10 @@ pub fn handle_destroy(server: &mut Server, entity: EcsEntity, last_change: Healt
let pos = state.ecs().read_storage::<comp::Pos>().get(entity).cloned();
let vel = state.ecs().read_storage::<comp::Vel>().get(entity).cloned();
if let Some(pos) = pos {
// TODO: Figure out how damage contributions of 0% are being awarded - for now
// just remove them to avoid a crash when creating the WeightedIndex
let _ = exp_awards.drain_filter(|(_, exp)| *exp < f32::EPSILON);
let winner_uid = if exp_awards.is_empty() {
None
} else {