From 9c09000256fee165b46e2fa24a50e08b105b7236 Mon Sep 17 00:00:00 2001 From: flo666 Date: Sun, 29 Jan 2023 15:14:17 +0100 Subject: [PATCH] - change bristlemane to bristleback - axebeak tweaks --- .../{bristlemane.ron => bristleback.ron} | 2 +- assets/common/npc_names.ron | 6 ++-- .../male/foot_br.vox | 0 .../male/foot_fr.vox | 0 .../male/head.vox | 0 .../{bristlemane => bristleback}/male/jaw.vox | 0 .../male/leg_br.vox | 0 .../male/leg_fr.vox | 0 .../male/neck.vox | 0 .../male/tail.vox | 0 .../male/torso_back.vox | 0 .../male/torso_front.vox | 0 .../quadruped_medium_central_manifest.ron | 28 +++++++-------- .../quadruped_medium_lateral_manifest.ron | 36 +++++++++---------- .../voxel/theropod_central_manifest.ron | 4 +-- common/src/comp/body.rs | 6 ++-- common/src/comp/body/quadruped_medium.rs | 8 ++--- common/src/states/utils.rs | 2 +- voxygen/anim/src/quadruped_medium/mod.rs | 26 +++++++------- voxygen/anim/src/theropod/mod.rs | 5 ++- voxygen/anim/src/theropod/run.rs | 18 +++++++--- 21 files changed, 76 insertions(+), 65 deletions(-) rename assets/common/entity/wild/aggressive/{bristlemane.ron => bristleback.ron} (85%) rename assets/voxygen/voxel/npc/{bristlemane => bristleback}/male/foot_br.vox (100%) rename assets/voxygen/voxel/npc/{bristlemane => bristleback}/male/foot_fr.vox (100%) rename assets/voxygen/voxel/npc/{bristlemane => bristleback}/male/head.vox (100%) rename assets/voxygen/voxel/npc/{bristlemane => bristleback}/male/jaw.vox (100%) rename assets/voxygen/voxel/npc/{bristlemane => bristleback}/male/leg_br.vox (100%) rename assets/voxygen/voxel/npc/{bristlemane => bristleback}/male/leg_fr.vox (100%) rename assets/voxygen/voxel/npc/{bristlemane => bristleback}/male/neck.vox (100%) rename assets/voxygen/voxel/npc/{bristlemane => bristleback}/male/tail.vox (100%) rename assets/voxygen/voxel/npc/{bristlemane => bristleback}/male/torso_back.vox (100%) rename assets/voxygen/voxel/npc/{bristlemane => bristleback}/male/torso_front.vox (100%) diff --git a/assets/common/entity/wild/aggressive/bristlemane.ron b/assets/common/entity/wild/aggressive/bristleback.ron similarity index 85% rename from assets/common/entity/wild/aggressive/bristlemane.ron rename to assets/common/entity/wild/aggressive/bristleback.ron index caecec1dc6..e7fe06176f 100644 --- a/assets/common/entity/wild/aggressive/bristlemane.ron +++ b/assets/common/entity/wild/aggressive/bristleback.ron @@ -1,7 +1,7 @@ #![enable(implicit_some)] ( name: Automatic, - body: RandomWith("bristlemane"), + body: RandomWith("bristleback"), alignment: Alignment(Enemy), loot: LootTable("common.loot_tables.creature.quad_medium.generic"), inventory: ( diff --git a/assets/common/npc_names.ron b/assets/common/npc_names.ron index 5cd2d3a616..d4e4276c47 100644 --- a/assets/common/npc_names.ron +++ b/assets/common/npc_names.ron @@ -567,9 +567,9 @@ keyword: "akhlut", generic: "Akhlut" ), - bristlemane: ( - keyword: "bristlemane", - generic: "Bristlemane" + bristleback: ( + keyword: "bristleback", + generic: "Bristleback" ), ) ), diff --git a/assets/voxygen/voxel/npc/bristlemane/male/foot_br.vox b/assets/voxygen/voxel/npc/bristleback/male/foot_br.vox similarity index 100% rename from assets/voxygen/voxel/npc/bristlemane/male/foot_br.vox rename to assets/voxygen/voxel/npc/bristleback/male/foot_br.vox diff --git a/assets/voxygen/voxel/npc/bristlemane/male/foot_fr.vox b/assets/voxygen/voxel/npc/bristleback/male/foot_fr.vox similarity index 100% rename from assets/voxygen/voxel/npc/bristlemane/male/foot_fr.vox rename to assets/voxygen/voxel/npc/bristleback/male/foot_fr.vox diff --git a/assets/voxygen/voxel/npc/bristlemane/male/head.vox b/assets/voxygen/voxel/npc/bristleback/male/head.vox similarity index 100% rename from assets/voxygen/voxel/npc/bristlemane/male/head.vox rename to assets/voxygen/voxel/npc/bristleback/male/head.vox diff --git a/assets/voxygen/voxel/npc/bristlemane/male/jaw.vox b/assets/voxygen/voxel/npc/bristleback/male/jaw.vox similarity index 100% rename from assets/voxygen/voxel/npc/bristlemane/male/jaw.vox rename to assets/voxygen/voxel/npc/bristleback/male/jaw.vox diff --git a/assets/voxygen/voxel/npc/bristlemane/male/leg_br.vox b/assets/voxygen/voxel/npc/bristleback/male/leg_br.vox similarity index 100% rename from assets/voxygen/voxel/npc/bristlemane/male/leg_br.vox rename to assets/voxygen/voxel/npc/bristleback/male/leg_br.vox diff --git a/assets/voxygen/voxel/npc/bristlemane/male/leg_fr.vox b/assets/voxygen/voxel/npc/bristleback/male/leg_fr.vox similarity index 100% rename from assets/voxygen/voxel/npc/bristlemane/male/leg_fr.vox rename to assets/voxygen/voxel/npc/bristleback/male/leg_fr.vox diff --git a/assets/voxygen/voxel/npc/bristlemane/male/neck.vox b/assets/voxygen/voxel/npc/bristleback/male/neck.vox similarity index 100% rename from assets/voxygen/voxel/npc/bristlemane/male/neck.vox rename to assets/voxygen/voxel/npc/bristleback/male/neck.vox diff --git a/assets/voxygen/voxel/npc/bristlemane/male/tail.vox b/assets/voxygen/voxel/npc/bristleback/male/tail.vox similarity index 100% rename from assets/voxygen/voxel/npc/bristlemane/male/tail.vox rename to assets/voxygen/voxel/npc/bristleback/male/tail.vox diff --git a/assets/voxygen/voxel/npc/bristlemane/male/torso_back.vox b/assets/voxygen/voxel/npc/bristleback/male/torso_back.vox similarity index 100% rename from assets/voxygen/voxel/npc/bristlemane/male/torso_back.vox rename to assets/voxygen/voxel/npc/bristleback/male/torso_back.vox diff --git a/assets/voxygen/voxel/npc/bristlemane/male/torso_front.vox b/assets/voxygen/voxel/npc/bristleback/male/torso_front.vox similarity index 100% rename from assets/voxygen/voxel/npc/bristlemane/male/torso_front.vox rename to assets/voxygen/voxel/npc/bristleback/male/torso_front.vox diff --git a/assets/voxygen/voxel/quadruped_medium_central_manifest.ron b/assets/voxygen/voxel/quadruped_medium_central_manifest.ron index da44081463..b2b591eb05 100644 --- a/assets/voxygen/voxel/quadruped_medium_central_manifest.ron +++ b/assets/voxygen/voxel/quadruped_medium_central_manifest.ron @@ -2099,26 +2099,26 @@ central: ("npc.akhlut.male.tail"), ), ), - (Bristlemane, Male): ( + (Bristleback, Male): ( head: ( offset: (-7.5, 0.0, -8.5), - central: ("npc.bristlemane.male.head"), + central: ("npc.bristleback.male.head"), ), neck: ( offset: (-3.5, -2.0, -6.5), - central: ("npc.bristlemane.male.neck"), + central: ("npc.bristleback.male.neck"), ), jaw: ( offset: (-3.5, -3.5, -0.5), - central: ("npc.bristlemane.male.jaw"), + central: ("npc.bristleback.male.jaw"), ), torso_front: ( offset: (-6.5, -5.0, -6.0), - central: ("npc.bristlemane.male.torso_front"), + central: ("npc.bristleback.male.torso_front"), ), torso_back: ( offset: (-3.5, -8.0, -6.0), - central: ("npc.bristlemane.male.torso_back"), + central: ("npc.bristleback.male.torso_back"), ), ears: ( offset: (0.0, 0.0, 0.0), @@ -2126,29 +2126,29 @@ ), tail: ( offset: (-1.5, -6.0, -4.5), - central: ("npc.bristlemane.male.tail"), + central: ("npc.bristleback.male.tail"), ), ), - (Bristlemane, Female): ( + (Bristleback, Female): ( head: ( offset: (-7.5, 0.0, -8.5), - central: ("npc.bristlemane.male.head"), + central: ("npc.bristleback.male.head"), ), neck: ( offset: (-3.5, -2.0, -6.5), - central: ("npc.bristlemane.male.neck"), + central: ("npc.bristleback.male.neck"), ), jaw: ( offset: (-3.5, -3.5, -0.5), - central: ("npc.bristlemane.male.jaw"), + central: ("npc.bristleback.male.jaw"), ), torso_front: ( offset: (-6.5, -5.0, -6.0), - central: ("npc.bristlemane.male.torso_front"), + central: ("npc.bristleback.male.torso_front"), ), torso_back: ( offset: (-3.5, -8.0, -6.0), - central: ("npc.bristlemane.male.torso_back"), + central: ("npc.bristleback.male.torso_back"), ), ears: ( offset: (0.0, 0.0, 0.0), @@ -2156,7 +2156,7 @@ ), tail: ( offset: (-1.5, -6.0, -4.5), - central: ("npc.bristlemane.male.tail"), + central: ("npc.bristleback.male.tail"), ), ), }) diff --git a/assets/voxygen/voxel/quadruped_medium_lateral_manifest.ron b/assets/voxygen/voxel/quadruped_medium_lateral_manifest.ron index 20287bd1b7..e76adaed73 100644 --- a/assets/voxygen/voxel/quadruped_medium_lateral_manifest.ron +++ b/assets/voxygen/voxel/quadruped_medium_lateral_manifest.ron @@ -2379,72 +2379,72 @@ lateral: ("npc.akhlut.male.foot_br"), ), ), - (Bristlemane, Male): ( + (Bristleback, Male): ( leg_fl: ( offset: (-1.5, -2.0, -2.0), - lateral: ("npc.bristlemane.male.leg_fr"), + lateral: ("npc.bristleback.male.leg_fr"), ), leg_fr: ( offset: (-1.5, -2.0, -2.0), - lateral: ("npc.bristlemane.male.leg_fr"), + lateral: ("npc.bristleback.male.leg_fr"), ), leg_bl: ( offset: (-1.5, -2.0, -4.0), - lateral: ("npc.bristlemane.male.leg_br"), + lateral: ("npc.bristleback.male.leg_br"), ), leg_br: ( offset: (-1.5, -2.0, -4.0), - lateral: ("npc.bristlemane.male.leg_br"), + lateral: ("npc.bristleback.male.leg_br"), ), foot_fl: ( offset: (-1.5, -1.5, -5.0), - lateral: ("npc.bristlemane.male.foot_fr"), + lateral: ("npc.bristleback.male.foot_fr"), ), foot_fr: ( offset: (-1.5, -1.5, -5.0), - lateral: ("npc.bristlemane.male.foot_fr"), + lateral: ("npc.bristleback.male.foot_fr"), ), foot_bl: ( offset: (-1.0, -2.0, -5.0), - lateral: ("npc.bristlemane.male.foot_br"), + lateral: ("npc.bristleback.male.foot_br"), ), foot_br: ( offset: (-1.0, -2.0, -5.0), - lateral: ("npc.bristlemane.male.foot_br"), + lateral: ("npc.bristleback.male.foot_br"), ), ), - (Bristlemane, Female): ( + (Bristleback, Female): ( leg_fl: ( offset: (-1.5, -2.0, -2.0), - lateral: ("npc.bristlemane.male.leg_fr"), + lateral: ("npc.bristleback.male.leg_fr"), ), leg_fr: ( offset: (-1.5, -2.0, -2.0), - lateral: ("npc.bristlemane.male.leg_fr"), + lateral: ("npc.bristleback.male.leg_fr"), ), leg_bl: ( offset: (-1.5, -2.0, -4.0), - lateral: ("npc.bristlemane.male.leg_br"), + lateral: ("npc.bristleback.male.leg_br"), ), leg_br: ( offset: (-1.5, -2.0, -4.0), - lateral: ("npc.bristlemane.male.leg_br"), + lateral: ("npc.bristleback.male.leg_br"), ), foot_fl: ( offset: (-1.5, -1.5, -5.0), - lateral: ("npc.bristlemane.male.foot_fr"), + lateral: ("npc.bristleback.male.foot_fr"), ), foot_fr: ( offset: (-1.5, -1.5, -5.0), - lateral: ("npc.bristlemane.male.foot_fr"), + lateral: ("npc.bristleback.male.foot_fr"), ), foot_bl: ( offset: (-1.0, -2.0, -5.0), - lateral: ("npc.bristlemane.male.foot_br"), + lateral: ("npc.bristleback.male.foot_br"), ), foot_br: ( offset: (-1.0, -2.0, -5.0), - lateral: ("npc.bristlemane.male.foot_br"), + lateral: ("npc.bristleback.male.foot_br"), ), ), }) diff --git a/assets/voxygen/voxel/theropod_central_manifest.ron b/assets/voxygen/voxel/theropod_central_manifest.ron index d555b6f7f0..f29c93c67d 100644 --- a/assets/voxygen/voxel/theropod_central_manifest.ron +++ b/assets/voxygen/voxel/theropod_central_manifest.ron @@ -545,7 +545,7 @@ central: ("npc.axebeak.male.head"), ), jaw: ( - offset: (-1.5, -3.0, 4.5), + offset: (-1.5, 0.0, -1.5), central: ("npc.axebeak.male.jaw"), ), neck: ( @@ -575,7 +575,7 @@ central: ("npc.axebeak.male.head"), ), jaw: ( - offset: (-1.5, -3.0, 4.5), + offset: (-1.5, 0.0, -1.5), central: ("npc.axebeak.male.jaw"), ), neck: ( diff --git a/common/src/comp/body.rs b/common/src/comp/body.rs index 5101dee51b..ef968395bc 100644 --- a/common/src/comp/body.rs +++ b/common/src/comp/body.rs @@ -465,7 +465,7 @@ impl Body { quadruped_medium::Species::Horse => Vec3::new(2.0, 3.0, 2.4), quadruped_medium::Species::Lion => Vec3::new(2.0, 3.3, 2.0), quadruped_medium::Species::Moose => Vec3::new(2.0, 4.0, 2.5), - quadruped_medium::Species::Bristlemane => Vec3::new(2.0, 4.0, 2.5), + quadruped_medium::Species::Bristleback => Vec3::new(2.0, 4.0, 2.5), quadruped_medium::Species::Roshwalr => Vec3::new(2.0, 3.5, 2.2), quadruped_medium::Species::Saber => Vec3::new(2.0, 3.0, 2.0), quadruped_medium::Species::Tarasque => Vec3::new(2.0, 4.0, 2.6), @@ -717,7 +717,7 @@ impl Body { quadruped_medium::Species::Panda => 90, quadruped_medium::Species::Bear => 90, quadruped_medium::Species::Moose => 80, - quadruped_medium::Species::Bristlemane => 90, + quadruped_medium::Species::Bristleback => 90, quadruped_medium::Species::Dreadhorn => 370, quadruped_medium::Species::Mammoth => 250, quadruped_medium::Species::Ngoubou => 290, @@ -984,7 +984,7 @@ impl Body { (quadruped_medium::Species::Bear, _) => [0.0, -0.4, 2.5], (quadruped_medium::Species::Dreadhorn, _) => [0.0, 0.2, 3.5], (quadruped_medium::Species::Moose, _) => [0.0, -0.6, 2.1], - (quadruped_medium::Species::Bristlemane, _) => [0.0, -0.6, 2.1], + (quadruped_medium::Species::Bristleback, _) => [0.0, -0.6, 2.1], (quadruped_medium::Species::Snowleopard, _) => [-0.5, -0.5, 1.4], (quadruped_medium::Species::Mammoth, _) => [0.0, 4.9, 7.2], (quadruped_medium::Species::Ngoubou, _) => [0.0, 0.3, 2.0], diff --git a/common/src/comp/body/quadruped_medium.rs b/common/src/comp/body/quadruped_medium.rs index a875f04a29..ea9c219309 100644 --- a/common/src/comp/body/quadruped_medium.rs +++ b/common/src/comp/body/quadruped_medium.rs @@ -70,7 +70,7 @@ pub enum Species { Llama = 34, Alpaca = 35, Akhlut = 36, - Bristlemane = 37, + Bristleback = 37, } /// Data representing per-species generic data. @@ -113,7 +113,7 @@ pub struct AllSpecies { pub llama: SpeciesMeta, pub alpaca: SpeciesMeta, pub akhlut: SpeciesMeta, - pub bristlemane: SpeciesMeta, + pub bristleback: SpeciesMeta, } impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies { @@ -157,7 +157,7 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies Species::Llama => &self.llama, Species::Alpaca => &self.alpaca, Species::Akhlut => &self.akhlut, - Species::Bristlemane => &self.bristlemane, + Species::Bristleback => &self.bristleback, } } } @@ -198,7 +198,7 @@ pub const ALL_SPECIES: [Species; 36] = [ Species::Llama, Species::Alpaca, Species::Akhlut, - Species::Bristlemane, + Species::Bristleback, ]; impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies { diff --git a/common/src/states/utils.rs b/common/src/states/utils.rs index 6490ff096f..fcc5727f55 100644 --- a/common/src/states/utils.rs +++ b/common/src/states/utils.rs @@ -89,7 +89,7 @@ impl Body { quadruped_medium::Species::Llama => 120.0, quadruped_medium::Species::Alpaca => 110.0, quadruped_medium::Species::Akhlut => 90.0, - quadruped_medium::Species::Bristlemane => 135.0, + quadruped_medium::Species::Bristleback => 135.0, }, Body::BipedLarge(body) => match body.species { biped_large::Species::Slysaurok => 100.0, diff --git a/voxygen/anim/src/quadruped_medium/mod.rs b/voxygen/anim/src/quadruped_medium/mod.rs index 8f38144eea..9387ee5130 100644 --- a/voxygen/anim/src/quadruped_medium/mod.rs +++ b/voxygen/anim/src/quadruped_medium/mod.rs @@ -237,7 +237,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Llama, _) => (0.5, 10.0), (Alpaca, _) => (0.5, 7.5), (Akhlut, _) => (1.0, 3.5), - (Bristlemane, _) => (-3.0, -2.0), + (Bristleback, _) => (-3.0, -2.0), }, neck: match (body.species, body.body_type) { (Grolgar, _) => (1.0, -1.0), @@ -277,7 +277,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Llama, _) => (2.5, 4.5), (Alpaca, _) => (-1.5, 3.0), (Akhlut, _) => (8.5, -1.0), - (Bristlemane, _) => (6.0, 2.5), + (Bristleback, _) => (6.0, 2.5), }, jaw: match (body.species, body.body_type) { (Grolgar, _) => (7.0, 2.0), @@ -318,7 +318,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Llama, _) => (4.0, -1.0), (Alpaca, _) => (3.0, -2.5), (Akhlut, _) => (0.0, -4.5), - (Bristlemane, _) => (8.0, -6.0), + (Bristleback, _) => (8.0, -6.0), }, tail: match (body.species, body.body_type) { (Grolgar, _) => (-11.5, -0.5), @@ -358,7 +358,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Llama, _) => (-9.0, 6.0), (Alpaca, _) => (-8.5, 3.5), (Akhlut, _) => (-14.0, -2.0), - (Bristlemane, _) => (-7.0, -5.5), + (Bristleback, _) => (-7.0, -5.5), }, torso_front: match (body.species, body.body_type) { (Grolgar, _) => (10.0, 13.0), @@ -398,7 +398,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Llama, _) => (7.0, 15.0), (Alpaca, _) => (7.0, 11.5), (Akhlut, _) => (5.5, 14.5), - (Bristlemane, _) => (1.5, 9.0), + (Bristleback, _) => (1.5, 9.0), }, torso_back: match (body.species, body.body_type) { (Grolgar, _) => (-10.0, 1.5), @@ -438,7 +438,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Llama, _) => (-8.0, 0.0), (Alpaca, _) => (-6.0, 0.0), (Akhlut, _) => (-7.0, 1.0), - (Bristlemane, _) => (-4.0, 2.0), + (Bristleback, _) => (-4.0, 2.0), }, ears: match (body.species, body.body_type) { (Grolgar, _) => (5.0, 8.0), @@ -479,7 +479,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Llama, _) => (1.0, 3.5), (Alpaca, _) => (1.0, 2.0), (Akhlut, _) => (12.0, -3.0), - (Bristlemane, _) => (6.0, 1.0), + (Bristleback, _) => (6.0, 1.0), }, leg_f: match (body.species, body.body_type) { (Grolgar, _) => (7.5, -5.5, -1.0), @@ -519,7 +519,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Llama, _) => (5.0, -1.5, -1.0), (Alpaca, _) => (3.5, -2.5, -0.5), (Akhlut, _) => (8.0, -2.0, 0.5), - (Bristlemane, _) => (6.0, 1.0, -2.0), + (Bristleback, _) => (6.0, 1.0, -2.0), }, leg_b: match (body.species, body.body_type) { (Grolgar, _) => (6.0, -6.5, -4.0), @@ -559,7 +559,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Llama, _) => (5.0, -7.0, -2.0), (Alpaca, _) => (3.5, -7.0, 0.0), (Akhlut, _) => (6.0, -7.5, -2.0), - (Bristlemane, _) => (4.5, -3.0, -2.0), + (Bristleback, _) => (4.5, -3.0, -2.0), }, feet_f: match (body.species, body.body_type) { (Grolgar, _) => (0.0, 0.0, -4.0), @@ -599,7 +599,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Llama, _) => (-0.5, 0.5, -6.0), (Alpaca, _) => (0.0, -0.5, -5.0), (Akhlut, _) => (0.0, 0.0, -5.0), - (Bristlemane, _) => (0.0, -0.5, -2.0), + (Bristleback, _) => (0.0, -0.5, -2.0), }, feet_b: match (body.species, body.body_type) { (Grolgar, _) => (0.5, -1.5, -3.0), @@ -639,7 +639,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Llama, _) => (0.5, -1.5, -3.5), (Alpaca, _) => (-0.5, -0.5, -5.5), (Akhlut, _) => (1.5, -1.0, -4.5), - (Bristlemane, _) => (-0.5, 0.0, -4.0), + (Bristleback, _) => (-0.5, 0.0, -4.0), }, scaler: match (body.species, body.body_type) { (Grolgar, _) => 1.05, @@ -668,7 +668,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Mammoth, _) => 3.0, (Ngoubou, _) => 1.0, (Akhlut, _) => 1.4, - (Bristlemane, _) => 1.1, + (Bristleback, _) => 1.1, _ => 0.9, }, startangle: match (body.species, body.body_type) { @@ -791,7 +791,7 @@ fn mount_point(body: &Body) -> Vec3 { (Llama, _) => (0.0, -6.0, 2.0), (Alpaca, _) => (0.0, -9.0, 0.0), (Akhlut, _) => (0.0, -6.0, 1.0), - (Bristlemane, _) => (0.0, -9.0, 3.0), + (Bristleback, _) => (0.0, -9.0, 3.0), } .into() } diff --git a/voxygen/anim/src/theropod/mod.rs b/voxygen/anim/src/theropod/mod.rs index 1e86fdd095..51e1e4b130 100644 --- a/voxygen/anim/src/theropod/mod.rs +++ b/voxygen/anim/src/theropod/mod.rs @@ -103,6 +103,7 @@ pub struct SkeletonAttr { leg: (f32, f32, f32), foot: (f32, f32, f32), scaler: f32, + steady_wings: bool, } impl<'a> TryFrom<&'a comp::Body> for SkeletonAttr { @@ -130,6 +131,7 @@ impl Default for SkeletonAttr { leg: (0.0, 0.0, 0.0), foot: (0.0, 0.0, 0.0), scaler: 0.0, + steady_wings: false, } } } @@ -160,7 +162,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Yale, _) => (2.0, -9.5), (Dodarock, _) => (0.0, -5.0), (Ntouka, _) => (0.0, -4.0), - (Axebeak, _) => (5.0, -9.5), + (Axebeak, _) => (2.5, -4.0), }, neck: match (body.species, body.body_type) { (Archaeos, _) => (4.5, -2.0), @@ -270,6 +272,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Ntouka, _) => 2.93, (Axebeak, _) => 1.1, }, + steady_wings: matches!((body.species, body.body_type), (Axebeak, _)), } } } diff --git a/voxygen/anim/src/theropod/run.rs b/voxygen/anim/src/theropod/run.rs index 3e480a1cdd..5e0f4db10e 100644 --- a/voxygen/anim/src/theropod/run.rs +++ b/voxygen/anim/src/theropod/run.rs @@ -103,13 +103,21 @@ impl Animation for RunAnimation { next.tail_back.position = Vec3::new(0.0, s_a.tail_back.0, s_a.tail_back.1); next.tail_back.orientation = Quaternion::rotation_x(0.2 + short * -0.1) * Quaternion::rotation_z(shortalt * -0.2 + tilt * 1.4); + if s_a.steady_wings { + next.hand_l.position = Vec3::new(-s_a.hand.0 - 8.0, s_a.hand.1, s_a.hand.2); + next.hand_l.orientation = + Quaternion::rotation_x(-0.2 * speednorm) * Quaternion::rotation_z(-0.6); - next.hand_l.position = Vec3::new(-s_a.hand.0, s_a.hand.1, s_a.hand.2); - next.hand_l.orientation = Quaternion::rotation_x(-0.2 * speednorm + foot2a * 0.3); - - next.hand_r.position = Vec3::new(s_a.hand.0, s_a.hand.1, s_a.hand.2); - next.hand_r.orientation = Quaternion::rotation_x(-0.2 * speednorm + foot1a * 0.3); + next.hand_r.position = Vec3::new(s_a.hand.0 + 8.0, s_a.hand.1, s_a.hand.2); + next.hand_r.orientation = + Quaternion::rotation_x(-0.2 * speednorm) * Quaternion::rotation_z(0.6); + } else { + next.hand_l.position = Vec3::new(-s_a.hand.0, s_a.hand.1, s_a.hand.2); + next.hand_l.orientation = Quaternion::rotation_x(-0.2 * speednorm + foot2a * 0.3); + next.hand_r.position = Vec3::new(s_a.hand.0, s_a.hand.1, s_a.hand.2); + next.hand_r.orientation = Quaternion::rotation_x(-0.2 * speednorm + foot1a * 0.3); + }; next.leg_l.position = Vec3::new( -s_a.leg.0 + speednorm * 1.5, s_a.leg.1 + foot1b * -1.3,