diff --git a/server/src/cmd.rs b/server/src/cmd.rs index 70f6840834..5a282766fd 100644 --- a/server/src/cmd.rs +++ b/server/src/cmd.rs @@ -672,7 +672,7 @@ fn handle_spawn_campfire( _args: String, _action: &ChatCommand, ) { - match server.state.read_component_cloned::(target) { + match server.state.read_component_copied::(target) { Some(pos) => { server .state diff --git a/server/src/events/entity_creation.rs b/server/src/events/entity_creation.rs index f894268737..5e910452c9 100644 --- a/server/src/events/entity_creation.rs +++ b/server/src/events/entity_creation.rs @@ -7,6 +7,7 @@ use common::{ outcome::Outcome, util::Dir, }; +use comp::group; use specs::{Builder, Entity as EcsEntity, WorldExt}; use vek::{Rgb, Vec3}; diff --git a/server/src/events/entity_manipulation.rs b/server/src/events/entity_manipulation.rs index d87e61ea08..ff6f4ae2b6 100644 --- a/server/src/events/entity_manipulation.rs +++ b/server/src/events/entity_manipulation.rs @@ -278,16 +278,29 @@ pub fn handle_respawn(server: &Server, entity: EcsEntity) { } } -pub fn handle_explosion(server: &Server, pos: Vec3, power: f32, owner: Option) { +pub fn handle_explosion( + server: &Server, + pos: Vec3, + power: f32, + owner: Option, + friendly_damage: bool, +) { + // Go through all other entities + let hit_range = 3.0 * power; let ecs = &server.state.ecs(); // Add an outcome ecs.write_resource::>() .push(Outcome::Explosion { pos, power }); - // Go through all other entities - let hit_range = 3.0 * power; - for (pos_b, ori_b, character_b, stats_b, loadout_b) in ( + let owner_entity = owner.and_then(|uid| { + ecs.read_resource::() + .retrieve_entity_internal(uid.into()) + }); + let groups = ecs.read_storage::(); + + for (entity_b, pos_b, ori_b, character_b, stats_b, loadout_b) in ( + &ecs.entities(), &ecs.read_storage::(), &ecs.read_storage::(), ecs.read_storage::().maybe(), diff --git a/server/src/sys/sentinel.rs b/server/src/sys/sentinel.rs index 8bda2339e8..adcc76bd30 100644 --- a/server/src/sys/sentinel.rs +++ b/server/src/sys/sentinel.rs @@ -1,7 +1,7 @@ use super::SysTimer; use common::{ comp::{ - Alignment, Body, CanBuild, CharacterState, Collider, Energy, Gravity, Item, LightEmitter, + Body, CanBuild, CharacterState, Collider, Energy, Gravity, Group, Item, LightEmitter, Loadout, Mass, MountState, Mounting, Ori, Player, Pos, Scale, Stats, Sticky, Vel, }, msg::EcsCompPacket, diff --git a/voxygen/src/scene/camera.rs b/voxygen/src/scene/camera.rs index b074f73ef5..deaadcc963 100644 --- a/voxygen/src/scene/camera.rs +++ b/voxygen/src/scene/camera.rs @@ -116,7 +116,7 @@ impl Camera { ) } - pub fn dependents(&self) -> Dependents { &self.dependents } + pub fn dependents(&self) -> Dependents { self.dependents } /// Rotate the camera about its focus by the given delta, limiting the input /// accordingly.