diff --git a/server/src/events/entity_manipulation.rs b/server/src/events/entity_manipulation.rs index 4dd4e9183f..feaa972482 100644 --- a/server/src/events/entity_manipulation.rs +++ b/server/src/events/entity_manipulation.rs @@ -46,6 +46,12 @@ pub fn handle_damage(server: &Server, uid: Uid, change: HealthChange) { pub fn handle_destroy(server: &mut Server, entity: EcsEntity, cause: HealthSource) { let state = server.state_mut(); + // TODO: Investigate duplicate `Destroy` events (but don't remove this). + // If the entity was already deleted, it can't be destroyed again. + if !state.ecs().is_alive(entity) { + return; + } + // Chat message if let Some(player) = state.ecs().read_storage::().get(entity) { let msg = if let HealthSource::Attack { by }