diff --git a/assets/voxygen/voxel/weapon/dagger/dagger_rusty.vox b/assets/voxygen/voxel/weapon/dagger/dagger_rusty.vox new file mode 100644 index 0000000000..1fd8b9d5ba --- /dev/null +++ b/assets/voxygen/voxel/weapon/dagger/dagger_rusty.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d921dcc4c057c6ec94fa29ad7e18341242573cf1603ea7256d642a415851eda6 +size 1276 diff --git a/assets/voxygen/voxel/weapon/hammer/rusty_2h.vox b/assets/voxygen/voxel/weapon/hammer/rusty_2h.vox index e1dd0aaf70..92df984ec6 100644 --- a/assets/voxygen/voxel/weapon/hammer/rusty_2h.vox +++ b/assets/voxygen/voxel/weapon/hammer/rusty_2h.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a065744135f11ea5b0773c7da00d429f873051c68ccac310df9a9c4ad179e7cd -size 45403 +oid sha256:faa96850e584f96387c4157cb2ec9c1451ffbe84d3fe5fbdc075a093e5fdacea +size 2492 diff --git a/voxygen/src/anim/character/cidle.rs b/voxygen/src/anim/character/cidle.rs index 104856e410..e37bcb7dbc 100644 --- a/voxygen/src/anim/character/cidle.rs +++ b/voxygen/src/anim/character/cidle.rs @@ -60,15 +60,15 @@ impl Animation for CidleAnimation { next.shorts.ori = Quaternion::rotation_x(0.0); next.shorts.scale = Vec3::one(); + +if skeleton_attr.weapon_id == 1.0{ next.l_hand.offset = Vec3::new( -6.0 + wave_ultra_slow_cos * 1.0, 3.5 + wave_ultra_slow_cos * 0.5, 0.0 + wave_ultra_slow * 1.0, ); - next.l_hand.ori = Quaternion::rotation_x(-0.3); next.l_hand.scale = Vec3::one() * 1.01; - next.r_hand.offset = Vec3::new( -6.0 + wave_ultra_slow_cos * 1.0, 3.0 + wave_ultra_slow_cos * 0.5, @@ -76,15 +76,6 @@ impl Animation for CidleAnimation { ); next.r_hand.ori = Quaternion::rotation_x(-0.3); next.r_hand.scale = Vec3::one() * 1.01; - - next.l_foot.offset = Vec3::new(-3.4, -1.5, 8.0 + wave_slow * 0.2); - next.l_foot.ori = Quaternion::rotation_x(wave_ultra_slow_cos * 0.015); - next.l_foot.scale = Vec3::one(); - - next.r_foot.offset = Vec3::new(3.4, 3.0, 8.0 + wave_slow_cos * 0.2); - next.r_foot.ori = Quaternion::rotation_x(wave_ultra_slow * 0.015); - next.r_foot.scale = Vec3::one(); - next.weapon.offset = Vec3::new( -6.0 + skeleton_attr.weapon_x + wave_ultra_slow_cos * 1.0, 4.5 + skeleton_attr.weapon_y + wave_ultra_slow_cos * 0.5, @@ -94,6 +85,160 @@ impl Animation for CidleAnimation { * Quaternion::rotation_y(0.0) * Quaternion::rotation_z(0.0); next.weapon.scale = Vec3::one(); + } +else if skeleton_attr.weapon_id == 2.0{ next.l_hand.offset = Vec3::new( + -6.0 + wave_ultra_slow_cos * 1.0, + 3.5 + wave_ultra_slow_cos * 0.5, + 0.0 + wave_ultra_slow * 1.0, + ); + next.l_hand.ori = Quaternion::rotation_x(-0.3); + next.l_hand.scale = Vec3::one() * 1.01; + next.r_hand.offset = Vec3::new( + -6.0 + wave_ultra_slow_cos * 1.0, + 3.0 + wave_ultra_slow_cos * 0.5, + -2.0 + wave_ultra_slow * 1.0, + ); + next.r_hand.ori = Quaternion::rotation_x(-0.3); + next.r_hand.scale = Vec3::one() * 1.01; + next.weapon.offset = Vec3::new( + -6.0 + skeleton_attr.weapon_x + wave_ultra_slow_cos * 1.0, + 4.5 + skeleton_attr.weapon_y + wave_ultra_slow_cos * 0.5, + 0.0 + wave_ultra_slow * 1.0, + ); + next.weapon.ori = Quaternion::rotation_x(-0.3) + * Quaternion::rotation_y(0.0) + * Quaternion::rotation_z(0.0); + next.weapon.scale = Vec3::one(); + } +else if skeleton_attr.weapon_id == 3.0{ next.l_hand.offset = Vec3::new( + -7.0, + 8.25, + 2.0, + ); + next.l_hand.ori = Quaternion::rotation_x(-0.3) * Quaternion::rotation_y(-1.2) + * Quaternion::rotation_z(wave_ultra_slow * 0.2); + next.l_hand.scale = Vec3::one() * 1.01; + next.r_hand.offset = Vec3::new( + 7.0, + 7.0, + -3.0, + ); + next.r_hand.ori = Quaternion::rotation_x(-0.3) * Quaternion::rotation_y(-1.2) + * Quaternion::rotation_z(wave_ultra_slow * 0.2); + next.r_hand.scale = Vec3::one() * 1.01; + next.weapon.offset = Vec3::new( + 5.0 + skeleton_attr.weapon_x, + 8.75 + skeleton_attr.weapon_y, + -2.5, + ); + next.weapon.ori = Quaternion::rotation_x(-0.3) + * Quaternion::rotation_y(-1.2) + * Quaternion::rotation_z(wave_ultra_slow * 0.2); + next.weapon.scale = Vec3::one(); + } +else if skeleton_attr.weapon_id == 4.0{ next.l_hand.offset = Vec3::new( + -6.0 + wave_ultra_slow_cos * 1.0, + 3.5 + wave_ultra_slow_cos * 0.5, + 0.0 + wave_ultra_slow * 1.0, + ); + next.l_hand.ori = Quaternion::rotation_x(-0.3); + next.l_hand.scale = Vec3::one() * 1.01; + next.r_hand.offset = Vec3::new( + -6.0 + wave_ultra_slow_cos * 1.0, + 3.0 + wave_ultra_slow_cos * 0.5, + -2.0 + wave_ultra_slow * 1.0, + ); + next.r_hand.ori = Quaternion::rotation_x(-0.3); + next.r_hand.scale = Vec3::one() * 1.01; + next.weapon.offset = Vec3::new( + -6.0 + skeleton_attr.weapon_x + wave_ultra_slow_cos * 1.0, + 4.5 + skeleton_attr.weapon_y + wave_ultra_slow_cos * 0.5, + 0.0 + wave_ultra_slow * 1.0, + ); + next.weapon.ori = Quaternion::rotation_x(-0.3) + * Quaternion::rotation_y(0.0) + * Quaternion::rotation_z(0.0); + next.weapon.scale = Vec3::one(); + } +else if skeleton_attr.weapon_id == 5.0{ next.l_hand.offset = Vec3::new( + -6.0 + wave_ultra_slow_cos * 1.0, + 3.5 + wave_ultra_slow_cos * 0.5, + 0.0 + wave_ultra_slow * 1.0, + ); + next.l_hand.ori = Quaternion::rotation_x(-0.3); + next.l_hand.scale = Vec3::one() * 1.01; + next.r_hand.offset = Vec3::new( + -6.0 + wave_ultra_slow_cos * 1.0, + 3.0 + wave_ultra_slow_cos * 0.5, + -2.0 + wave_ultra_slow * 1.0, + ); + next.r_hand.ori = Quaternion::rotation_x(-0.3); + next.r_hand.scale = Vec3::one() * 1.01; + next.weapon.offset = Vec3::new( + -6.0 + skeleton_attr.weapon_x + wave_ultra_slow_cos * 1.0, + 4.5 + skeleton_attr.weapon_y + wave_ultra_slow_cos * 0.5, + 0.0 + wave_ultra_slow * 1.0, + ); + next.weapon.ori = Quaternion::rotation_x(-0.3) + * Quaternion::rotation_y(0.0) + * Quaternion::rotation_z(0.0); + next.weapon.scale = Vec3::one(); + } +else if skeleton_attr.weapon_id == 6.0{ next.l_hand.offset = Vec3::new( + -6.0 + wave_ultra_slow_cos * 1.0, + 3.5 + wave_ultra_slow_cos * 0.5, + 0.0 + wave_ultra_slow * 1.0, + ); + next.l_hand.ori = Quaternion::rotation_x(-0.3); + next.l_hand.scale = Vec3::one() * 1.01; + next.r_hand.offset = Vec3::new( + -6.0 + wave_ultra_slow_cos * 1.0, + 3.0 + wave_ultra_slow_cos * 0.5, + -2.0 + wave_ultra_slow * 1.0, + ); + next.r_hand.ori = Quaternion::rotation_x(-0.3); + next.r_hand.scale = Vec3::one() * 1.01; + next.weapon.offset = Vec3::new( + -6.0 + skeleton_attr.weapon_x + wave_ultra_slow_cos * 1.0, + 4.5 + skeleton_attr.weapon_y + wave_ultra_slow_cos * 0.5, + 0.0 + wave_ultra_slow * 1.0, + ); + next.weapon.ori = Quaternion::rotation_x(-0.3) + * Quaternion::rotation_y(0.0) + * Quaternion::rotation_z(0.0); + next.weapon.scale = Vec3::one(); + } +else if skeleton_attr.weapon_id == 7.0{ next.l_hand.offset = Vec3::new( + -6.0 + wave_ultra_slow_cos * 1.0, + 3.5 + wave_ultra_slow_cos * 0.5, + 0.0 + wave_ultra_slow * 1.0, + ); + next.l_hand.ori = Quaternion::rotation_x(-0.3); + next.l_hand.scale = Vec3::one() * 1.01; + next.r_hand.offset = Vec3::new( + -6.0, + 3.0, + -2.0, + ); + next.r_hand.ori = Quaternion::rotation_x(-0.3); + next.r_hand.scale = Vec3::one() * 1.01; + next.weapon.offset = Vec3::new( + -6.0 + skeleton_attr.weapon_x, + 4.5 + skeleton_attr.weapon_y, + 0.0, + ); + next.weapon.ori = Quaternion::rotation_x(-0.3) + * Quaternion::rotation_y(0.0) + * Quaternion::rotation_z(0.0); + next.weapon.scale = Vec3::one(); + } + next.l_foot.offset = Vec3::new(-3.4, -1.5, 8.0 + wave_slow * 0.2); + next.l_foot.ori = Quaternion::rotation_x(wave_ultra_slow_cos * 0.015); + next.l_foot.scale = Vec3::one(); + + next.r_foot.offset = Vec3::new(3.4, 3.0, 8.0 + wave_slow_cos * 0.2); + next.r_foot.ori = Quaternion::rotation_x(wave_ultra_slow * 0.015); + next.r_foot.scale = Vec3::one(); next.l_shoulder.offset = Vec3::new(-10.0, -3.2, 2.5); next.l_shoulder.ori = Quaternion::rotation_x(0.0); diff --git a/voxygen/src/anim/character/cjump.rs b/voxygen/src/anim/character/cjump.rs index 6953e1913d..170adcb923 100644 --- a/voxygen/src/anim/character/cjump.rs +++ b/voxygen/src/anim/character/cjump.rs @@ -42,22 +42,21 @@ impl Animation for CjumpAnimation { next.shorts.ori = Quaternion::rotation_z(0.0); next.shorts.scale = Vec3::one(); - next.l_hand.offset = Vec3::new(-7.0, 4.0, 0.0 + wave_stop * 2.0); +if skeleton_attr.weapon_id == 1.0{ + next.l_hand.offset = Vec3::new( + -7.0, + 3.25, + 0.25 + wave_stop * 2.0, + ); next.l_hand.ori = Quaternion::rotation_x(-0.3); - next.l_hand.scale = Vec3::one(); - - next.r_hand.offset = Vec3::new(-7.0, 3.0, -2.0 + wave_stop * 2.0); + next.l_hand.scale = Vec3::one() * 1.01; + next.r_hand.offset = Vec3::new( + -7.0, + 3.0, + -2.0 + wave_stop * 2.0, + ); next.r_hand.ori = Quaternion::rotation_x(-0.3); - next.r_hand.scale = Vec3::one(); - - next.l_foot.offset = Vec3::new(-3.4, 1.0, 6.0); - next.l_foot.ori = Quaternion::rotation_x(wave_stop * -1.2 - wave_slow * 0.2); - next.l_foot.scale = Vec3::one(); - - next.r_foot.offset = Vec3::new(3.4, -1.0, 6.0); - next.r_foot.ori = Quaternion::rotation_x(wave_stop * 1.2 + wave_slow * 0.2); - next.r_foot.scale = Vec3::one(); - + next.r_hand.scale = Vec3::one() * 1.01; next.weapon.offset = Vec3::new( -7.0 + skeleton_attr.weapon_x, 4.0 + skeleton_attr.weapon_y, @@ -67,6 +66,163 @@ impl Animation for CjumpAnimation { * Quaternion::rotation_y(0.0) * Quaternion::rotation_z(0.0); next.weapon.scale = Vec3::one(); + } +else if skeleton_attr.weapon_id == 2.0{ next.l_hand.offset = Vec3::new( + -6.0, + 3.5, + 0.0, + ); + next.l_hand.ori = Quaternion::rotation_x(-0.3); + next.l_hand.scale = Vec3::one() * 1.01; + next.r_hand.offset = Vec3::new( + -6.0, + 3.0, + -2.0, + ); + next.r_hand.ori = Quaternion::rotation_x(-0.3); + next.r_hand.scale = Vec3::one() * 1.01; + next.weapon.offset = Vec3::new( + -6.0 + skeleton_attr.weapon_x, + 4.5 + skeleton_attr.weapon_y, + 0.0, + ); + next.weapon.ori = Quaternion::rotation_x(-0.3) + * Quaternion::rotation_y(0.0) + * Quaternion::rotation_z(0.0); + next.weapon.scale = Vec3::one(); + } +else if skeleton_attr.weapon_id == 3.0{ next.l_hand.offset = Vec3::new( + -7.0, + 8.25, + 2.0 + wave_stop * 2.0, + ); + next.l_hand.ori = Quaternion::rotation_x(-0.3) * Quaternion::rotation_y(-1.2) + * Quaternion::rotation_z(0.0); + next.l_hand.scale = Vec3::one() * 1.01; + next.r_hand.offset = Vec3::new( + 7.0, + 7.0, + -3.0 + wave_stop * 2.0, + ); + next.r_hand.ori = Quaternion::rotation_x(-0.3) * Quaternion::rotation_y(-1.2) + * Quaternion::rotation_z(0.0); + next.r_hand.scale = Vec3::one() * 1.01; + next.weapon.offset = Vec3::new( + 5.0 + skeleton_attr.weapon_x, + 8.75 + skeleton_attr.weapon_y, + -2.5 + wave_stop * 2.0, + ); + next.weapon.ori = Quaternion::rotation_x(-0.3) + * Quaternion::rotation_y(-1.2) + * Quaternion::rotation_z(0.0); + next.weapon.scale = Vec3::one(); + } +else if skeleton_attr.weapon_id == 4.0{ next.l_hand.offset = Vec3::new( + -7.0, + 7.5, + 0.0, + ); + next.l_hand.ori = Quaternion::rotation_x(-0.3) * Quaternion::rotation_y(-1.7) + * Quaternion::rotation_z(1.0); + next.l_hand.scale = Vec3::one() * 1.01; + next.r_hand.offset = Vec3::new( + 7.0, + 6.25, + 1.5, + ); + next.r_hand.ori = Quaternion::rotation_x(-0.3) * Quaternion::rotation_y(-1.7) + * Quaternion::rotation_z(1.0); + next.r_hand.scale = Vec3::one() * 1.01; + next.weapon.offset = Vec3::new( + 5.0 + skeleton_attr.weapon_x, + 8.0 + skeleton_attr.weapon_y, + 1.0, + ); + next.weapon.ori = Quaternion::rotation_x(-0.3) + * Quaternion::rotation_y(-1.7) + * Quaternion::rotation_z(1.0); + next.weapon.scale = Vec3::one(); + } +else if skeleton_attr.weapon_id == 5.0{ next.l_hand.offset = Vec3::new( + -6.0, + 3.5, + 0.0, + ); + next.l_hand.ori = Quaternion::rotation_x(-0.3); + next.l_hand.scale = Vec3::one() * 1.01; + next.r_hand.offset = Vec3::new( + -6.0, + 3.0, + -2.0, + ); + next.r_hand.ori = Quaternion::rotation_x(-0.3); + next.r_hand.scale = Vec3::one() * 1.01; + next.weapon.offset = Vec3::new( + -6.0 + skeleton_attr.weapon_x, + 4.5 + skeleton_attr.weapon_y, + 0.0, + ); + next.weapon.ori = Quaternion::rotation_x(-0.3) + * Quaternion::rotation_y(0.0) + * Quaternion::rotation_z(0.0); + next.weapon.scale = Vec3::one(); + } +else if skeleton_attr.weapon_id == 6.0{ next.l_hand.offset = Vec3::new( + -6.0, + 3.5, + 0.0, + ); + next.l_hand.ori = Quaternion::rotation_x(-0.3); + next.l_hand.scale = Vec3::one() * 1.01; + next.r_hand.offset = Vec3::new( + -6.0, + 3.0, + -2.0, + ); + next.r_hand.ori = Quaternion::rotation_x(-0.3); + next.r_hand.scale = Vec3::one() * 1.01; + next.weapon.offset = Vec3::new( + -6.0 + skeleton_attr.weapon_x, + 4.5 + skeleton_attr.weapon_y, + 0.0, + ); + next.weapon.ori = Quaternion::rotation_x(-0.3) + * Quaternion::rotation_y(0.0) + * Quaternion::rotation_z(0.0); + next.weapon.scale = Vec3::one(); + } +else if skeleton_attr.weapon_id == 7.0{ next.l_hand.offset = Vec3::new( + -6.0, + 3.5, + 0.0, + ); + next.l_hand.ori = Quaternion::rotation_x(-0.3); + next.l_hand.scale = Vec3::one() * 1.01; + next.r_hand.offset = Vec3::new( + -6.0, + 3.0, + -2.0, + ); + next.r_hand.ori = Quaternion::rotation_x(-0.3); + next.r_hand.scale = Vec3::one() * 1.01; + next.weapon.offset = Vec3::new( + -6.0 + skeleton_attr.weapon_x, + 4.5 + skeleton_attr.weapon_y, + 0.0, + ); + next.weapon.ori = Quaternion::rotation_x(-0.3) + * Quaternion::rotation_y(0.0) + * Quaternion::rotation_z(0.0); + next.weapon.scale = Vec3::one(); + } + + next.l_foot.offset = Vec3::new(-3.4, 1.0, 6.0); + next.l_foot.ori = Quaternion::rotation_x(wave_stop * -1.2 - wave_slow * 0.2); + next.l_foot.scale = Vec3::one(); + + next.r_foot.offset = Vec3::new(3.4, -1.0, 6.0); + next.r_foot.ori = Quaternion::rotation_x(wave_stop * 1.2 + wave_slow * 0.2); + next.r_foot.scale = Vec3::one(); next.l_shoulder.offset = Vec3::new(-10.0, -3.2, 2.5); next.l_shoulder.ori = Quaternion::rotation_x(0.0); diff --git a/voxygen/src/anim/character/crun.rs b/voxygen/src/anim/character/crun.rs index 72d5788c27..a8925a4087 100644 --- a/voxygen/src/anim/character/crun.rs +++ b/voxygen/src/anim/character/crun.rs @@ -60,14 +60,178 @@ impl Animation for CrunAnimation { next.shorts.ori = Quaternion::rotation_z(wave * 0.6); next.shorts.scale = Vec3::one(); - next.l_hand.offset = Vec3::new(-6.0, 4.0, 0.0); + +if skeleton_attr.weapon_id == 1.0{ + next.l_hand.offset = Vec3::new( + -6.0, + 3.75, + 0.25, + ); next.l_hand.ori = Quaternion::rotation_x(-0.3); - next.l_hand.scale = Vec3::one(); - - next.r_hand.offset = Vec3::new(-6.0, 3.0, -2.0); + next.l_hand.scale = Vec3::one() * 1.01; + next.r_hand.offset = Vec3::new( + -6.0, + 3.0, + -2.0, + ); next.r_hand.ori = Quaternion::rotation_x(-0.3); - next.r_hand.scale = Vec3::one(); - + next.r_hand.scale = Vec3::one() * 1.01; + next.weapon.offset = Vec3::new( + -6.0 + skeleton_attr.weapon_x, + 4.0 + skeleton_attr.weapon_y, + 0.0, + ); + next.weapon.ori = Quaternion::rotation_x(-0.3) + * Quaternion::rotation_y(0.0) + * Quaternion::rotation_z(0.0); + next.weapon.scale = Vec3::one(); + } +else if skeleton_attr.weapon_id == 2.0{ next.l_hand.offset = Vec3::new( + -6.0, + 3.5, + 0.0, + ); + next.l_hand.ori = Quaternion::rotation_x(-0.3); + next.l_hand.scale = Vec3::one() * 1.01; + next.r_hand.offset = Vec3::new( + -6.0, + 3.0, + -2.0, + ); + next.r_hand.ori = Quaternion::rotation_x(-0.3); + next.r_hand.scale = Vec3::one() * 1.01; + next.weapon.offset = Vec3::new( + -6.0 + skeleton_attr.weapon_x, + 4.5 + skeleton_attr.weapon_y, + 0.0, + ); + next.weapon.ori = Quaternion::rotation_x(-0.3) + * Quaternion::rotation_y(0.0) + * Quaternion::rotation_z(0.0); + next.weapon.scale = Vec3::one(); + } +else if skeleton_attr.weapon_id == 3.0{ next.l_hand.offset = Vec3::new( + -7.0, + 8.25, + 3.0, + ); + next.l_hand.ori = Quaternion::rotation_x(-0.3) * Quaternion::rotation_y(-1.2) + * Quaternion::rotation_z(wave * -0.25); + next.l_hand.scale = Vec3::one() * 1.01; + next.r_hand.offset = Vec3::new( + 7.0, + 7.0, + -1.5, + ); + next.r_hand.ori = Quaternion::rotation_x(-0.3) * Quaternion::rotation_y(-1.2) + * Quaternion::rotation_z(wave * -0.25); + next.r_hand.scale = Vec3::one() * 1.01; + next.weapon.offset = Vec3::new( + 5.0 + skeleton_attr.weapon_x, + 8.75 + skeleton_attr.weapon_y, + -2.0, + ); + next.weapon.ori = Quaternion::rotation_x(-0.3) + * Quaternion::rotation_y(-1.2) + * Quaternion::rotation_z(wave * -0.25); + next.weapon.scale = Vec3::one(); + } +else if skeleton_attr.weapon_id == 4.0{ next.l_hand.offset = Vec3::new( + -6.0, + 3.5, + 0.0, + ); + next.l_hand.ori = Quaternion::rotation_x(-0.3); + next.l_hand.scale = Vec3::one() * 1.01; + next.r_hand.offset = Vec3::new( + -6.0, + 3.0, + -2.0, + ); + next.r_hand.ori = Quaternion::rotation_x(-0.3); + next.r_hand.scale = Vec3::one() * 1.01; + next.weapon.offset = Vec3::new( + -6.0 + skeleton_attr.weapon_x, + 4.5 + skeleton_attr.weapon_y, + 0.0, + ); + next.weapon.ori = Quaternion::rotation_x(-0.3) + * Quaternion::rotation_y(0.0) + * Quaternion::rotation_z(0.0); + next.weapon.scale = Vec3::one(); + } +else if skeleton_attr.weapon_id == 5.0{ next.l_hand.offset = Vec3::new( + -6.0, + 3.5, + 0.0, + ); + next.l_hand.ori = Quaternion::rotation_x(-0.3); + next.l_hand.scale = Vec3::one() * 1.01; + next.r_hand.offset = Vec3::new( + -6.0, + 3.0, + -2.0, + ); + next.r_hand.ori = Quaternion::rotation_x(-0.3); + next.r_hand.scale = Vec3::one() * 1.01; + next.weapon.offset = Vec3::new( + -6.0 + skeleton_attr.weapon_x, + 4.5 + skeleton_attr.weapon_y, + 0.0, + ); + next.weapon.ori = Quaternion::rotation_x(-0.3) + * Quaternion::rotation_y(0.0) + * Quaternion::rotation_z(0.0); + next.weapon.scale = Vec3::one(); + } +else if skeleton_attr.weapon_id == 6.0{ next.l_hand.offset = Vec3::new( + -6.0, + 3.5, + 0.0, + ); + next.l_hand.ori = Quaternion::rotation_x(-0.3); + next.l_hand.scale = Vec3::one() * 1.01; + next.r_hand.offset = Vec3::new( + -6.0, + 3.0, + -2.0, + ); + next.r_hand.ori = Quaternion::rotation_x(-0.3); + next.r_hand.scale = Vec3::one() * 1.01; + next.weapon.offset = Vec3::new( + -6.0 + skeleton_attr.weapon_x, + 4.5 + skeleton_attr.weapon_y, + 0.0, + ); + next.weapon.ori = Quaternion::rotation_x(-0.3) + * Quaternion::rotation_y(0.0) + * Quaternion::rotation_z(0.0); + next.weapon.scale = Vec3::one(); + } +else if skeleton_attr.weapon_id == 7.0{ next.l_hand.offset = Vec3::new( + -6.0, + 3.5, + 0.0, + ); + next.l_hand.ori = Quaternion::rotation_x(-0.3); + next.l_hand.scale = Vec3::one() * 1.01; + next.r_hand.offset = Vec3::new( + -6.0, + 3.0, + -2.0, + ); + next.r_hand.ori = Quaternion::rotation_x(-0.3); + next.r_hand.scale = Vec3::one() * 1.01; + next.weapon.offset = Vec3::new( + -6.0 + skeleton_attr.weapon_x, + 4.5 + skeleton_attr.weapon_y, + 0.0, + ); + next.weapon.ori = Quaternion::rotation_x(-0.3) + * Quaternion::rotation_y(0.0) + * Quaternion::rotation_z(0.0); + next.weapon.scale = Vec3::one(); + } next.l_foot.offset = Vec3::new(-3.4, 0.0 + wave_cos * 1.0, 6.0 - wave_cos_dub * 0.11); next.l_foot.ori = Quaternion::rotation_x(-0.0 - wave_cos * 1.5); next.l_foot.scale = Vec3::one(); @@ -76,12 +240,6 @@ impl Animation for CrunAnimation { next.r_foot.ori = Quaternion::rotation_x(-0.0 + wave_cos * 1.5); next.r_foot.scale = Vec3::one(); - next.weapon.offset = Vec3::new(-6.0 + skeleton_attr.weapon_x, 4.0, 0.0); - next.weapon.ori = Quaternion::rotation_x(-0.3) - * Quaternion::rotation_y(0.0) - * Quaternion::rotation_z(0.0); - next.weapon.scale = Vec3::one(); - next.l_shoulder.offset = Vec3::new(-10.0, -3.2, 2.5); next.l_shoulder.ori = Quaternion::rotation_x(0.0); next.l_shoulder.scale = Vec3::one() * 1.04; diff --git a/voxygen/src/anim/mod.rs b/voxygen/src/anim/mod.rs index 64126d1635..6674d28d85 100644 --- a/voxygen/src/anim/mod.rs +++ b/voxygen/src/anim/mod.rs @@ -54,6 +54,7 @@ pub struct SkeletonAttr { neck_right: f32, weapon_x: f32, weapon_y: f32, + weapon_id: f32, } impl Default for SkeletonAttr { @@ -66,6 +67,7 @@ impl Default for SkeletonAttr { neck_right: 1.0, weapon_x: 1.0, weapon_y: 1.0, + weapon_id: 0.0, } } } @@ -144,7 +146,7 @@ impl<'a> From<&'a comp::humanoid::Body> for SkeletonAttr { (Danari, Male) => 0.0, (Danari, Female) => 0.0, }, - weapon_x: match Weapon::Sword { + weapon_x: match Weapon::Hammer { // TODO: Inventory Weapon::Sword => 0.0, Weapon::Axe => 3.0, @@ -154,7 +156,7 @@ impl<'a> From<&'a comp::humanoid::Body> for SkeletonAttr { Weapon::Bow => 0.0, Weapon::Daggers => 0.0, }, - weapon_y: match Weapon::Sword { + weapon_y: match Weapon::Hammer { // TODO: Inventory Weapon::Sword => -1.25, Weapon::Axe => 0.0, @@ -164,6 +166,18 @@ impl<'a> From<&'a comp::humanoid::Body> for SkeletonAttr { Weapon::Bow => -2.0, Weapon::Daggers => -2.0, }, + weapon_id: match Weapon::Hammer { + // TODO: Inventory + Weapon::Sword => 1.0, + Weapon::Axe => 2.0, + Weapon::Hammer => 3.0, + Weapon::SwordShield => 4.0, + Weapon::Staff => 5.0, + Weapon::Bow => 6.0, + Weapon::Daggers => 7.0, + + + }, } } } diff --git a/voxygen/src/scene/figure.rs b/voxygen/src/scene/figure.rs index cbbb7096a9..22a657da71 100644 --- a/voxygen/src/scene/figure.rs +++ b/voxygen/src/scene/figure.rs @@ -60,7 +60,7 @@ impl FigureModelCache { Some(Self::load_right_hand(body.hand)), Some(Self::load_left_foot(body.foot)), Some(Self::load_right_foot(body.foot)), - Some(Self::load_weapon(Weapon::Sword)), // TODO: Inventory + Some(Self::load_weapon(Weapon::Hammer)), // TODO: Inventory Some(Self::load_left_shoulder(body.shoulder)), Some(Self::load_right_shoulder(body.shoulder)), Some(Self::load_draw()), @@ -296,8 +296,8 @@ impl FigureModelCache { fn load_weapon(weapon: Weapon) -> Mesh { let (name, offset) = match weapon { Weapon::Sword => ("weapon/sword/rusty_2h.vox", Vec3::new(-1.5, -6.5, -4.0)), - Weapon::Hammer => ("weapon/hammer/rusty_2h.vox", Vec3::new(-2.5, -5.5, -4.0)), Weapon::Axe => ("weapon/axe/rusty_2h.vox", Vec3::new(-1.5, -6.5, -4.0)), + Weapon::Hammer => ("weapon/hammer/rusty_2h.vox", Vec3::new(-2.5, -5.5, -4.0)), Weapon::Daggers => ("weapon/hammer/rusty_2h.vox", Vec3::new(-2.5, -5.5, -4.0)), Weapon::SwordShield => ("weapon/axe/rusty_2h.vox", Vec3::new(-2.5, -6.5, -2.0)), Weapon::Bow => ("weapon/hammer/rusty_2h.vox", Vec3::new(-2.5, -5.5, -4.0)),