diff --git a/server/src/lib.rs b/server/src/lib.rs index 6689553393..dfecc453b8 100644 --- a/server/src/lib.rs +++ b/server/src/lib.rs @@ -297,12 +297,16 @@ impl Server { dir, projectile, } => { - let pos = state + let mut pos = state .ecs() .read_storage::() .get(entity) .unwrap() .0; + + // TODO: Player height + pos.z += 1.2; + Self::create_projectile( state, comp::Pos(pos), diff --git a/voxygen/src/scene/figure/mod.rs b/voxygen/src/scene/figure/mod.rs index aec533c3cf..72cceca089 100644 --- a/voxygen/src/scene/figure/mod.rs +++ b/voxygen/src/scene/figure/mod.rs @@ -548,6 +548,7 @@ impl FigureState { let mat = Mat4::::identity() * Mat4::translation_3d(self.pos) * Mat4::rotation_z(-ori.x.atan2(ori.y)) + * Mat4::rotation_x(ori.z.atan2(Vec2::from(ori).magnitude())) * Mat4::scaling_3d(Vec3::from(0.8 * scale)); let locals = FigureLocals::new(mat, col);