diff --git a/server/src/events/inventory_manip.rs b/server/src/events/inventory_manip.rs index c8f2bbd512..fff06d9e99 100644 --- a/server/src/events/inventory_manip.rs +++ b/server/src/events/inventory_manip.rs @@ -66,6 +66,15 @@ pub fn handle_inventory(server: &mut Server, entity: EcsEntity, manip: comp::Inv return; }; + // Grab the stats from the player and check if the player is dead. + let stats = state.ecs().read_storage::(); + if let Some(entity_stats) = stats.get(entity) { + if entity_stats.is_dead { + debug!("Failed to pick up item as the player is dead"); + return; // If dead, don't continue + } + } + // Attempt to add the item to the player's inventory match inv.push(item) { None => Some(item_entity),