diff --git a/assets/common/items/npc_weapons/bow/lizardman_bow.ron b/assets/common/items/npc_weapons/bow/lizardman_bow.ron new file mode 100644 index 0000000000..10f43346aa --- /dev/null +++ b/assets/common/items/npc_weapons/bow/lizardman_bow.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Lizardman bow", + description: "Placeholder", + kind: Tool( + ( + kind: Bow("LizardmanBow"), + stats: ( + equip_time_millis: 500, + power: 1.00, + ), + ) + ), +) diff --git a/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron b/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron new file mode 100644 index 0000000000..a725d44894 --- /dev/null +++ b/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Cyclops Hammer", + description: "Placeholder", + kind: Tool( + ( + kind: Hammer("CyclopsHammer"), + stats: ( + equip_time_millis: 500, + power: 1.00, + ), + ) + ), +) diff --git a/assets/common/items/npc_weapons/hammer/ogre_hammer.ron b/assets/common/items/npc_weapons/hammer/ogre_hammer.ron new file mode 100644 index 0000000000..7f75bf9c20 --- /dev/null +++ b/assets/common/items/npc_weapons/hammer/ogre_hammer.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Ogre Hammer", + description: "Placeholder", + kind: Tool( + ( + kind: Hammer("OgreHammer"), + stats: ( + equip_time_millis: 500, + power: 1.00, + ), + ) + ), +) diff --git a/assets/common/items/npc_weapons/hammer/troll_hammer.ron b/assets/common/items/npc_weapons/hammer/troll_hammer.ron new file mode 100644 index 0000000000..63e08a4e27 --- /dev/null +++ b/assets/common/items/npc_weapons/hammer/troll_hammer.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Troll Hammer", + description: "Placeholder", + kind: Tool( + ( + kind: Hammer("TrollHammer"), + stats: ( + equip_time_millis: 500, + power: 1.00, + ), + ) + ), +) diff --git a/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron b/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron new file mode 100644 index 0000000000..bb756335ac --- /dev/null +++ b/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Wendigo Hammer", + description: "Placeholder", + kind: Tool( + ( + kind: Hammer("WendigoHammer"), + stats: ( + equip_time_millis: 500, + power: 1.00, + ), + ) + ), +) diff --git a/assets/common/items/npc_weapons/staff/lizardman_staff.ron b/assets/common/items/npc_weapons/staff/lizardman_staff.ron new file mode 100644 index 0000000000..51ad4b819e --- /dev/null +++ b/assets/common/items/npc_weapons/staff/lizardman_staff.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Lizardman Staff", + description: "Placeholder", + kind: Tool( + ( + kind: Staff("LizardmanStaff"), + stats: ( + equip_time_millis: 500, + power: 1.00, + ), + ) + ), +) diff --git a/assets/common/items/npc_weapons/staff/ogre_staff.ron b/assets/common/items/npc_weapons/staff/ogre_staff.ron new file mode 100644 index 0000000000..c0a9e94435 --- /dev/null +++ b/assets/common/items/npc_weapons/staff/ogre_staff.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Ogre Staff", + description: "Placeholder", + kind: Tool( + ( + kind: Staff("OgreStaff"), + stats: ( + equip_time_millis: 500, + power: 1.00, + ), + ) + ), +) diff --git a/assets/common/items/npc_weapons/sword/dullahan_sword.ron b/assets/common/items/npc_weapons/sword/dullahan_sword.ron new file mode 100644 index 0000000000..c55fdc1dff --- /dev/null +++ b/assets/common/items/npc_weapons/sword/dullahan_sword.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Dullahan Sword", + description: "Placehoder", + kind: Tool( + ( + kind: Sword("DullahanSword"), + stats: ( + equip_time_millis: 500, + power: 1.00, + ), + ) + ), +) diff --git a/assets/common/items/npc_weapons/sword/lizardman_sword.ron b/assets/common/items/npc_weapons/sword/lizardman_sword.ron new file mode 100644 index 0000000000..99cdda52f8 --- /dev/null +++ b/assets/common/items/npc_weapons/sword/lizardman_sword.ron @@ -0,0 +1,13 @@ +ItemDef( + name: "Lizardman Sword", + description: "Placehoder", + kind: Tool( + ( + kind: Sword("LizardmanSword"), + stats: ( + equip_time_millis: 500, + power: 1.00, + ), + ) + ), +) diff --git a/assets/voxygen/voxel/biped_large_central_manifest.ron b/assets/voxygen/voxel/biped_large_central_manifest.ron index 1d3122b662..ef976dee07 100644 --- a/assets/voxygen/voxel/biped_large_central_manifest.ron +++ b/assets/voxygen/voxel/biped_large_central_manifest.ron @@ -26,7 +26,7 @@ ), main: ( offset: (-5.0, -5.5, -5.0), - central: ("npc.ogre.male.hammer"), + central: ("weapon.hammer.2hhammer_ogre"), ) ), (Ogre, Female): ( @@ -56,7 +56,7 @@ ), main: ( offset: (-2.5, -5.5, -5.0), - central: ("npc.ogre.female.main"), + central: ("weapon.hammer.2hhammer_ogre"), ) ), (Cyclops, Male): ( @@ -86,7 +86,7 @@ ), main: ( offset: (-5.0, -6.5, -4.0), - central: ("npc.cyclops.male.hammer"), + central: ("weapon.hammer.2hhammer_cyclops-0"), ) ), (Cyclops, Female): ( @@ -116,7 +116,7 @@ ), main: ( offset: (-5.0, -6.5, -4.0), - central: ("npc.cyclops.female.hammer"), + central: ("weapon.hammer.2hhammer_cyclops-0"), ) ), (Wendigo, Male): ( @@ -146,7 +146,7 @@ ), main: ( offset: (-5.0, -6.5, -4.0), - central: ("npc.wendigo.male.hammer"), + central: ("weapon.hammer.2hhammer_wendigo"), ) ), (Wendigo, Female): ( @@ -176,7 +176,7 @@ ), main: ( offset: (-5.0, -6.5, -4.0), - central: ("npc.wendigo.male.hammer"), + central: ("weapon.hammer.2hhammer_wendigo"), ) ), (Troll, Male): ( @@ -206,7 +206,7 @@ ), main: ( offset: (-5.0, -6.5, -4.0), - central: ("npc.troll.male.hammer"), + central: ("weapon.hammer.2hhammer_troll"), ) ), (Troll, Female): ( @@ -236,7 +236,7 @@ ), main: ( offset: (-5.0, -6.5, -4.0), - central: ("npc.troll.female.hammer"), + central: ("weapon.hammer.2hhammer_troll"), ) ), (Dullahan, Male): ( @@ -266,7 +266,7 @@ ), main: ( offset: (-5.0, -6.5, -4.0), - central: ("npc.cyclops.male.hammer"), + central: ("weapon.sword.greatsword_2h_dullahan"), ) ), (Dullahan, Female): ( @@ -296,7 +296,7 @@ ), main: ( offset: (-5.0, -6.5, -4.0), - central: ("npc.cyclops.male.hammer"), + central: ("weapon.sword.greatsword_2h_dullahan"), ) ), (Werewolf, Male): ( @@ -386,7 +386,7 @@ ), main: ( offset: (-1.5, -9.0, -10.0), - central: ("npc.lizardman_occult.male.weapon"), + central: ("weapon.staff.firestaff_lizardman"), ) ), (Occultlizardman, Female): ( @@ -415,8 +415,8 @@ central: ("armor.empty"), ), main: ( - offset: (-1.5, -9.0, -10.0), - central: ("npc.lizardman_occult.female.weapon"), + offset: (-5.5, -2.0, -10.0), + central: ("weapon.staff.firestaff_lizardman"), ) ), (Mightylizardman, Male): ( @@ -446,7 +446,7 @@ ), main: ( offset: (-1.5, -9.0, -10.0), - central: ("npc.lizardman_mighty.male.weapon"), + central: ("weapon.sword.long_2h_lizardman"), ) ), (Mightylizardman, Female): ( @@ -476,7 +476,7 @@ ), main: ( offset: (-1.5, -9.0, -10.0), - central: ("npc.lizardman_mighty.female.weapon"), + central: ("weapon.sword.long_2h_lizardman"), ) ), (Slylizardman, Male): ( @@ -506,7 +506,7 @@ ), main: ( offset: (-1.5, -9.0, -10.0), - central: ("npc.lizardman_sly.male.weapon"), + central: ("weapon.bow.longbow_lizardman"), ) ), (Slylizardman, Female): ( @@ -536,7 +536,7 @@ ), main: ( offset: (-1.5, -9.0, -10.0), - central: ("npc.lizardman_sly.female.weapon"), + central: ("weapon.bow.longbow_lizardman"), ) ), }) \ No newline at end of file diff --git a/assets/voxygen/voxel/npc/lizardman_mighty/male/weapon.vox b/assets/voxygen/voxel/npc/lizardman_mighty/male/weapon.vox deleted file mode 100644 index 312f10658b..0000000000 Binary files a/assets/voxygen/voxel/npc/lizardman_mighty/male/weapon.vox and /dev/null differ diff --git a/assets/voxygen/voxel/npc/lizardman_sly/male/weapon.vox b/assets/voxygen/voxel/npc/lizardman_sly/male/weapon.vox deleted file mode 100644 index f2e9267767..0000000000 Binary files a/assets/voxygen/voxel/npc/lizardman_sly/male/weapon.vox and /dev/null differ diff --git a/assets/voxygen/voxel/npc/troll/male/weapon_r.vox b/assets/voxygen/voxel/npc/troll/male/weapon_r.vox deleted file mode 100644 index b526b85dfe..0000000000 Binary files a/assets/voxygen/voxel/npc/troll/male/weapon_r.vox and /dev/null differ diff --git a/assets/voxygen/voxel/npc/wendigo/male/hammer.vox b/assets/voxygen/voxel/npc/wendigo/male/hammer.vox deleted file mode 100644 index 620c06069d..0000000000 Binary files a/assets/voxygen/voxel/npc/wendigo/male/hammer.vox and /dev/null differ diff --git a/assets/voxygen/voxel/npc/lizardman_sly/female/weapon.vox b/assets/voxygen/voxel/weapon/bow/longbow_lizardman.vox similarity index 100% rename from assets/voxygen/voxel/npc/lizardman_sly/female/weapon.vox rename to assets/voxygen/voxel/weapon/bow/longbow_lizardman.vox diff --git a/assets/voxygen/voxel/npc/cyclops/male/hammer.vox b/assets/voxygen/voxel/weapon/hammer/2hhammer_cyclops-0.vox similarity index 100% rename from assets/voxygen/voxel/npc/cyclops/male/hammer.vox rename to assets/voxygen/voxel/weapon/hammer/2hhammer_cyclops-0.vox diff --git a/assets/voxygen/voxel/npc/cyclops/female/hammer.vox b/assets/voxygen/voxel/weapon/hammer/2hhammer_cyclops-1.vox similarity index 100% rename from assets/voxygen/voxel/npc/cyclops/female/hammer.vox rename to assets/voxygen/voxel/weapon/hammer/2hhammer_cyclops-1.vox diff --git a/assets/voxygen/voxel/npc/ogre/male/main.vox b/assets/voxygen/voxel/weapon/hammer/2hhammer_ogre.vox similarity index 100% rename from assets/voxygen/voxel/npc/ogre/male/main.vox rename to assets/voxygen/voxel/weapon/hammer/2hhammer_ogre.vox diff --git a/assets/voxygen/voxel/npc/troll/female/hammer.vox b/assets/voxygen/voxel/weapon/hammer/2hhammer_troll.vox similarity index 100% rename from assets/voxygen/voxel/npc/troll/female/hammer.vox rename to assets/voxygen/voxel/weapon/hammer/2hhammer_troll.vox diff --git a/assets/voxygen/voxel/npc/troll/male/hammer.vox b/assets/voxygen/voxel/weapon/hammer/2hhammer_wendigo.vox similarity index 100% rename from assets/voxygen/voxel/npc/troll/male/hammer.vox rename to assets/voxygen/voxel/weapon/hammer/2hhammer_wendigo.vox diff --git a/assets/voxygen/voxel/npc/lizardman_occult/female/weapon.vox b/assets/voxygen/voxel/weapon/staff/firestaff_lizardman.vox similarity index 100% rename from assets/voxygen/voxel/npc/lizardman_occult/female/weapon.vox rename to assets/voxygen/voxel/weapon/staff/firestaff_lizardman.vox diff --git a/assets/voxygen/voxel/npc/ogre/female/main.vox b/assets/voxygen/voxel/weapon/staff/firestaff_ogre.vox similarity index 100% rename from assets/voxygen/voxel/npc/ogre/female/main.vox rename to assets/voxygen/voxel/weapon/staff/firestaff_ogre.vox diff --git a/assets/voxygen/voxel/npc/dullahan/male/sword.vox b/assets/voxygen/voxel/weapon/sword/greatsword_2h_dullahan.vox similarity index 100% rename from assets/voxygen/voxel/npc/dullahan/male/sword.vox rename to assets/voxygen/voxel/weapon/sword/greatsword_2h_dullahan.vox diff --git a/assets/voxygen/voxel/npc/lizardman_mighty/female/weapon.vox b/assets/voxygen/voxel/weapon/sword/long_2h_lizardman.vox similarity index 100% rename from assets/voxygen/voxel/npc/lizardman_mighty/female/weapon.vox rename to assets/voxygen/voxel/weapon/sword/long_2h_lizardman.vox diff --git a/common/src/loadout_builder.rs b/common/src/loadout_builder.rs index 72156e50fd..5cd4dc3ee5 100644 --- a/common/src/loadout_builder.rs +++ b/common/src/loadout_builder.rs @@ -1,5 +1,6 @@ use crate::comp::{ golem, + biped_large, item::{Item, ItemKind}, Alignment, Body, CharacterAbility, ItemConfig, Loadout, }; @@ -72,7 +73,6 @@ impl LoadoutBuilder { mut main_tool: Option, is_giant: bool, ) -> Self { - #![allow(clippy::single_match)] // For when this is done to more than just golems. match body { Body::Golem(golem) => match golem.species { golem::Species::StoneGolem => { @@ -81,6 +81,54 @@ impl LoadoutBuilder { )); }, }, + Body::BipedLarge(biped_large) => match (biped_large.species, biped_large.body_type) { + (biped_large::Species::Occultlizardman, _) => { + main_tool = Some(Item::new_from_asset_expect( + "common.items.npc_weapons.staff.lizardman_staff", + )); + }, + (biped_large::Species::Mightylizardman, _) => { + main_tool = Some(Item::new_from_asset_expect( + "common.items.npc_weapons.sword.lizardman_sword", + )); + }, + (biped_large::Species::Slylizardman, _) => { + main_tool = Some(Item::new_from_asset_expect( + "common.items.npc_weapons.bow.lizardman_bow", + )); + }, + (biped_large::Species::Ogre, biped_large::BodyType::Male) => { + main_tool = Some(Item::new_from_asset_expect( + "common.items.npc_weapons.hammer.ogre_hammer", + )); + }, + (biped_large::Species::Ogre, biped_large::BodyType::Female) => { + main_tool = Some(Item::new_from_asset_expect( + "common.items.npc_weapons.staff.ogre_staff", + )); + }, + (biped_large::Species::Troll, _) => { + main_tool = Some(Item::new_from_asset_expect( + "common.items.npc_weapons.hammer.troll_hammer", + )); + }, + (biped_large::Species::Wendigo, _) => { + main_tool = Some(Item::new_from_asset_expect( + "common.items.npc_weapons.hammer.wendigo_hammer", + )); + }, + (biped_large::Species::Cyclops, _) => { + main_tool = Some(Item::new_from_asset_expect( + "common.items.npc_weapons.hammer.cyclops_hammer", + )); + }, + (biped_large::Species::Dullahan, _) => { + main_tool = Some(Item::new_from_asset_expect( + "common.items.npc_weapons.sword.dullahan_sword", + )); + }, + _ => {}, + }, Body::Humanoid(_) => { if is_giant { main_tool = Some(Item::new_from_asset_expect( @@ -259,6 +307,23 @@ impl LoadoutBuilder { tabard: None, }, }, + Body::BipedLarge(_) => Loadout { + active_item, + second_item: None, + shoulder: None, + chest: None, + belt: None, + hand: None, + pants: None, + foot: None, + back: None, + ring: None, + neck: None, + lantern: None, + glider: None, + head: None, + tabard: None, + }, _ => LoadoutBuilder::animal(body).build(), }; diff --git a/common/src/sys/agent.rs b/common/src/sys/agent.rs index 3c03dfbd76..d48d116499 100644 --- a/common/src/sys/agent.rs +++ b/common/src/sys/agent.rs @@ -316,10 +316,9 @@ impl<'a> System<'a> for Sys { Some(ToolKind::Bow(_)) => Tactic::RangedPowerup, Some(ToolKind::Staff(_)) => Tactic::Staff, Some(ToolKind::NpcWeapon(kind)) => { - if kind == "StoneGolemsFist" { - Tactic::StoneGolemBoss - } else { - Tactic::Melee + match kind.as_str() { + "StoneGolemsFist" => Tactic::StoneGolemBoss, + _ => Tactic::Melee, } }, _ => Tactic::Melee, diff --git a/voxygen/src/anim/src/biped_large/wield.rs b/voxygen/src/anim/src/biped_large/wield.rs index 77ccbbf7ca..84590555b5 100644 --- a/voxygen/src/anim/src/biped_large/wield.rs +++ b/voxygen/src/anim/src/biped_large/wield.rs @@ -2,12 +2,13 @@ use super::{ super::{vek::*, Animation}, BipedLargeSkeleton, SkeletonAttr, }; +use common::comp::item::{Hands, ToolKind}; use std::{f32::consts::PI, ops::Mul}; pub struct WieldAnimation; impl Animation for WieldAnimation { - type Dependency = (f32, f64); + type Dependency = (Option, Option, f32, f64); type Skeleton = BipedLargeSkeleton; #[cfg(feature = "use-dyn-lib")] @@ -16,7 +17,7 @@ impl Animation for WieldAnimation { #[cfg_attr(feature = "be-dyn-lib", export_name = "biped_large_wield")] fn update_skeleton_inner( skeleton: &Self::Skeleton, - (velocity, global_time): Self::Dependency, + (active_tool_kind, second_tool_kind, velocity, global_time): Self::Dependency, anim_time: f64, _rate: &mut f32, skeleton_attr: &SkeletonAttr, @@ -312,11 +313,131 @@ impl Animation for WieldAnimation { Quaternion::rotation_x(-0.5 + footrotr * 0.85) * Quaternion::rotation_y(0.0); next.foot_r.scale = Vec3::one() / 8.0; - next.control.position = Vec3::new(7.0, 9.0, -10.0); - next.control.orientation = Quaternion::rotation_x(test * 0.02) - * Quaternion::rotation_y(test * 0.02) - * Quaternion::rotation_z(test * 0.02); - next.control.scale = Vec3::one(); + } + match active_tool_kind { + Some(ToolKind::Bow(_)) => { + next.hand_l.position = Vec3::new( + -skeleton_attr.hand.0 - 7.0, + skeleton_attr.hand.1 - 7.0, + skeleton_attr.hand.2 + 10.0, + ); + next.hand_l.orientation = Quaternion::rotation_x(0.57) * Quaternion::rotation_z(1.57); + next.hand_l.scale = Vec3::one() * 1.02; + + next.hand_r.position = Vec3::new( + skeleton_attr.hand.0 - 7.0, + skeleton_attr.hand.1 - 7.0, + skeleton_attr.hand.2 + 10.0, + ); + next.hand_r.orientation = Quaternion::rotation_x(0.57) * Quaternion::rotation_z(1.57); + next.hand_r.scale = Vec3::one() * 1.02; + next.hand_r.orientation = Quaternion::rotation_x(0.57) * Quaternion::rotation_z(1.57); + next.hand_r.scale = Vec3::one() * 1.02; + + next.control.position = Vec3::new(7.0, 9.0, -10.0); + next.control.orientation = Quaternion::rotation_x(test * 0.02) + * Quaternion::rotation_y(test * 0.02) + * Quaternion::rotation_z(test * 0.02); + next.control.scale = Vec3::one(); + + next.main.position = Vec3::new(0.0, 0.0, 0.0); + next.main.orientation = Quaternion::rotation_x(0.0) + * Quaternion::rotation_y(-1.57) + * Quaternion::rotation_z(1.0); + next.main.scale = Vec3::one() * 1.02; + }, + Some(ToolKind::Hammer(_)) => { + next.hand_l.position = Vec3::new( + -skeleton_attr.hand.0 - 7.0, + skeleton_attr.hand.1 - 7.0, + skeleton_attr.hand.2 + 10.0, + ); + next.hand_l.orientation = Quaternion::rotation_x(0.57) * Quaternion::rotation_z(1.57); + next.hand_l.scale = Vec3::one() * 1.02; + + next.hand_r.position = Vec3::new( + skeleton_attr.hand.0 - 7.0, + skeleton_attr.hand.1 - 7.0, + skeleton_attr.hand.2 + 10.0, + ); + next.hand_r.orientation = Quaternion::rotation_x(0.57) * Quaternion::rotation_z(1.57); + next.hand_r.scale = Vec3::one() * 1.02; + + next.control.position = Vec3::new(7.0, 9.0, -10.0); + next.control.orientation = Quaternion::rotation_x(test * 0.02) + * Quaternion::rotation_y(test * 0.02) + * Quaternion::rotation_z(test * 0.02); + next.control.scale = Vec3::one(); + + next.main.position = Vec3::new(0.0, 0.0, 0.0); + next.main.orientation = Quaternion::rotation_x(0.0) + * Quaternion::rotation_y(-1.57) + * Quaternion::rotation_z(1.0); + next.main.scale = Vec3::one() * 1.02; + }, + Some(ToolKind::Staff(_)) => { + next.hand_l.position = Vec3::new( + -skeleton_attr.hand.0 - 7.0, + skeleton_attr.hand.1 - 7.0, + skeleton_attr.hand.2 + 10.0, + ); + next.hand_l.orientation = Quaternion::rotation_x(0.57) * Quaternion::rotation_z(1.57); + next.hand_l.scale = Vec3::one() * 1.02; + + next.hand_r.position = Vec3::new( + skeleton_attr.hand.0 - 7.0, + skeleton_attr.hand.1 - 7.0, + skeleton_attr.hand.2 + 10.0, + ); + next.hand_r.orientation = Quaternion::rotation_x(0.57) * Quaternion::rotation_z(1.57); + next.hand_r.scale = Vec3::one() * 1.02; + next.hand_r.orientation = Quaternion::rotation_x(0.57) * Quaternion::rotation_z(1.57); + next.hand_r.scale = Vec3::one() * 1.02; + + next.control.position = Vec3::new(7.0, 9.0, -10.0); + next.control.orientation = Quaternion::rotation_x(test * 0.02) + * Quaternion::rotation_y(test * 0.02) + * Quaternion::rotation_z(test * 0.02); + next.control.scale = Vec3::one(); + + next.main.position = Vec3::new(0.0, 0.0, 0.0); + next.main.orientation = Quaternion::rotation_x(0.0) + * Quaternion::rotation_y(-1.57) + * Quaternion::rotation_z(1.0); + next.main.scale = Vec3::one() * 1.02; + }, + Some(ToolKind::Sword(_)) => { + next.hand_l.position = Vec3::new( + -skeleton_attr.hand.0 - 7.0, + skeleton_attr.hand.1 - 7.0, + skeleton_attr.hand.2 + 10.0, + ); + next.hand_l.orientation = Quaternion::rotation_x(0.57) * Quaternion::rotation_z(1.57); + next.hand_l.scale = Vec3::one() * 1.02; + + next.hand_r.position = Vec3::new( + skeleton_attr.hand.0 - 7.0, + skeleton_attr.hand.1 - 7.0, + skeleton_attr.hand.2 + 10.0, + ); + next.hand_r.orientation = Quaternion::rotation_x(0.57) * Quaternion::rotation_z(1.57); + next.hand_r.scale = Vec3::one() * 1.02; + next.hand_r.orientation = Quaternion::rotation_x(0.57) * Quaternion::rotation_z(1.57); + next.hand_r.scale = Vec3::one() * 1.02; + + next.control.position = Vec3::new(7.0, 9.0, -10.0); + next.control.orientation = Quaternion::rotation_x(test * 0.02) + * Quaternion::rotation_y(test * 0.02) + * Quaternion::rotation_z(test * 0.02); + next.control.scale = Vec3::one(); + + next.main.position = Vec3::new(0.0, 0.0, 0.0); + next.main.orientation = Quaternion::rotation_x(0.0) + * Quaternion::rotation_y(-1.57) + * Quaternion::rotation_z(1.0); + next.main.scale = Vec3::one() * 1.02; + }, + _ => {}, } next diff --git a/voxygen/src/scene/figure/mod.rs b/voxygen/src/scene/figure/mod.rs index 0567a60966..9a049922b1 100644 --- a/voxygen/src/scene/figure/mod.rs +++ b/voxygen/src/scene/figure/mod.rs @@ -2250,7 +2250,7 @@ impl FigureMgr { CharacterState::Wielding { .. } => { anim::biped_large::WieldAnimation::update_skeleton( &target_base, - (vel.0.magnitude(), time), + (active_tool_kind, second_tool_kind, vel.0.magnitude(), time), state.state_time, &mut state_animation_rate, skeleton_attr,