mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Yeeted from code files.
This commit is contained in:
parent
2000ba587e
commit
a4046872b2
@ -2,7 +2,7 @@ pub mod armor;
|
|||||||
pub mod tool;
|
pub mod tool;
|
||||||
|
|
||||||
// Reexports
|
// Reexports
|
||||||
pub use tool::{Hands, Tool, ToolKind};
|
pub use tool::{Hands, Tool, ToolKind, UniqueKind};
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
assets::{self, Asset, Error},
|
assets::{self, Asset, Error},
|
||||||
|
@ -16,17 +16,17 @@ use std::time::Duration;
|
|||||||
|
|
||||||
#[derive(Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
#[derive(Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
||||||
pub enum ToolKind {
|
pub enum ToolKind {
|
||||||
Sword(String),
|
Sword,
|
||||||
Axe(String),
|
Axe,
|
||||||
Hammer(String),
|
Hammer,
|
||||||
Bow(String),
|
Bow,
|
||||||
Dagger(String),
|
Dagger,
|
||||||
Staff(String),
|
Staff,
|
||||||
Sceptre(String),
|
Sceptre,
|
||||||
Shield(String),
|
Shield,
|
||||||
NpcWeapon(String),
|
Unique(UniqueKind),
|
||||||
Debug(String),
|
Debug,
|
||||||
Farming(String),
|
Farming,
|
||||||
/// This is an placeholder item, it is used by non-humanoid npcs to attack
|
/// This is an placeholder item, it is used by non-humanoid npcs to attack
|
||||||
Empty,
|
Empty,
|
||||||
}
|
}
|
||||||
@ -34,17 +34,17 @@ pub enum ToolKind {
|
|||||||
impl ToolKind {
|
impl ToolKind {
|
||||||
pub fn hands(&self) -> Hands {
|
pub fn hands(&self) -> Hands {
|
||||||
match self {
|
match self {
|
||||||
ToolKind::Sword(_) => Hands::TwoHand,
|
ToolKind::Sword => Hands::TwoHand,
|
||||||
ToolKind::Axe(_) => Hands::TwoHand,
|
ToolKind::Axe => Hands::TwoHand,
|
||||||
ToolKind::Hammer(_) => Hands::TwoHand,
|
ToolKind::Hammer => Hands::TwoHand,
|
||||||
ToolKind::Bow(_) => Hands::TwoHand,
|
ToolKind::Bow => Hands::TwoHand,
|
||||||
ToolKind::Dagger(_) => Hands::OneHand,
|
ToolKind::Dagger => Hands::OneHand,
|
||||||
ToolKind::Staff(_) => Hands::TwoHand,
|
ToolKind::Staff => Hands::TwoHand,
|
||||||
ToolKind::Sceptre(_) => Hands::TwoHand,
|
ToolKind::Sceptre => Hands::TwoHand,
|
||||||
ToolKind::Shield(_) => Hands::OneHand,
|
ToolKind::Shield => Hands::OneHand,
|
||||||
ToolKind::NpcWeapon(_) => Hands::TwoHand,
|
ToolKind::Unique(_) => Hands::TwoHand,
|
||||||
ToolKind::Debug(_) => Hands::TwoHand,
|
ToolKind::Debug => Hands::TwoHand,
|
||||||
ToolKind::Farming(_) => Hands::TwoHand,
|
ToolKind::Farming => Hands::TwoHand,
|
||||||
ToolKind::Empty => Hands::OneHand,
|
ToolKind::Empty => Hands::OneHand,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -90,8 +90,9 @@ impl Tool {
|
|||||||
use CharacterAbility::*;
|
use CharacterAbility::*;
|
||||||
use ToolKind::*;
|
use ToolKind::*;
|
||||||
|
|
||||||
|
use UniqueKind::*;
|
||||||
match &self.kind {
|
match &self.kind {
|
||||||
Sword(_) => vec![
|
Sword => vec![
|
||||||
ComboMelee {
|
ComboMelee {
|
||||||
stage_data: vec![
|
stage_data: vec![
|
||||||
combo_melee::Stage {
|
combo_melee::Stage {
|
||||||
@ -173,7 +174,7 @@ impl Tool {
|
|||||||
num_spins: 3,
|
num_spins: 3,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
Axe(_) => vec![
|
Axe => vec![
|
||||||
BasicMelee {
|
BasicMelee {
|
||||||
energy_cost: 0,
|
energy_cost: 0,
|
||||||
buildup_duration: Duration::from_millis(600),
|
buildup_duration: Duration::from_millis(600),
|
||||||
@ -212,7 +213,7 @@ impl Tool {
|
|||||||
vertical_leap_strength: 8.0,
|
vertical_leap_strength: 8.0,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
Hammer(_) => vec![
|
Hammer => vec![
|
||||||
BasicMelee {
|
BasicMelee {
|
||||||
energy_cost: 0,
|
energy_cost: 0,
|
||||||
buildup_duration: Duration::from_millis(600),
|
buildup_duration: Duration::from_millis(600),
|
||||||
@ -250,7 +251,7 @@ impl Tool {
|
|||||||
vertical_leap_strength: 8.0,
|
vertical_leap_strength: 8.0,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
Farming(_) => vec![BasicMelee {
|
Farming => vec![BasicMelee {
|
||||||
energy_cost: 1,
|
energy_cost: 1,
|
||||||
buildup_duration: Duration::from_millis(600),
|
buildup_duration: Duration::from_millis(600),
|
||||||
swing_duration: Duration::from_millis(100),
|
swing_duration: Duration::from_millis(100),
|
||||||
@ -260,7 +261,7 @@ impl Tool {
|
|||||||
range: 3.5,
|
range: 3.5,
|
||||||
max_angle: 20.0,
|
max_angle: 20.0,
|
||||||
}],
|
}],
|
||||||
Bow(_) => vec![
|
Bow => vec![
|
||||||
BasicRanged {
|
BasicRanged {
|
||||||
energy_cost: 0,
|
energy_cost: 0,
|
||||||
buildup_duration: Duration::from_millis(100),
|
buildup_duration: Duration::from_millis(100),
|
||||||
@ -353,7 +354,7 @@ impl Tool {
|
|||||||
reps_remaining: 5,
|
reps_remaining: 5,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
Dagger(_) => vec![BasicMelee {
|
Dagger => vec![BasicMelee {
|
||||||
energy_cost: 0,
|
energy_cost: 0,
|
||||||
buildup_duration: Duration::from_millis(100),
|
buildup_duration: Duration::from_millis(100),
|
||||||
swing_duration: Duration::from_millis(100),
|
swing_duration: Duration::from_millis(100),
|
||||||
@ -363,7 +364,7 @@ impl Tool {
|
|||||||
range: 3.5,
|
range: 3.5,
|
||||||
max_angle: 20.0,
|
max_angle: 20.0,
|
||||||
}],
|
}],
|
||||||
Sceptre(_) => vec![
|
Sceptre => vec![
|
||||||
BasicBeam {
|
BasicBeam {
|
||||||
buildup_duration: Duration::from_millis(250),
|
buildup_duration: Duration::from_millis(250),
|
||||||
recover_duration: Duration::from_millis(250),
|
recover_duration: Duration::from_millis(250),
|
||||||
@ -442,7 +443,7 @@ impl Tool {
|
|||||||
projectile_speed: 40.0,
|
projectile_speed: 40.0,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
Staff(_) => vec![
|
Staff => vec![
|
||||||
BasicRanged {
|
BasicRanged {
|
||||||
energy_cost: 0,
|
energy_cost: 0,
|
||||||
buildup_duration: Duration::from_millis(500),
|
buildup_duration: Duration::from_millis(500),
|
||||||
@ -517,7 +518,7 @@ impl Tool {
|
|||||||
move_efficiency: 0.1,
|
move_efficiency: 0.1,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
Shield(_) => vec![
|
Shield => vec![
|
||||||
BasicMelee {
|
BasicMelee {
|
||||||
energy_cost: 0,
|
energy_cost: 0,
|
||||||
buildup_duration: Duration::from_millis(100),
|
buildup_duration: Duration::from_millis(100),
|
||||||
@ -530,9 +531,7 @@ impl Tool {
|
|||||||
},
|
},
|
||||||
BasicBlock,
|
BasicBlock,
|
||||||
],
|
],
|
||||||
NpcWeapon(kind) => {
|
Unique(StoneGolemFist) => vec![
|
||||||
if kind == "StoneGolemsFist" {
|
|
||||||
vec![
|
|
||||||
BasicMelee {
|
BasicMelee {
|
||||||
energy_cost: 0,
|
energy_cost: 0,
|
||||||
buildup_duration: Duration::from_millis(400),
|
buildup_duration: Duration::from_millis(400),
|
||||||
@ -557,9 +556,8 @@ impl Tool {
|
|||||||
requires_ground: true,
|
requires_ground: true,
|
||||||
move_efficiency: 0.05,
|
move_efficiency: 0.05,
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
} else if kind == "BeastClaws" {
|
Unique(BeastClaws) => vec![BasicMelee {
|
||||||
vec![BasicMelee {
|
|
||||||
energy_cost: 0,
|
energy_cost: 0,
|
||||||
buildup_duration: Duration::from_millis(250),
|
buildup_duration: Duration::from_millis(250),
|
||||||
swing_duration: Duration::from_millis(250),
|
swing_duration: Duration::from_millis(250),
|
||||||
@ -568,21 +566,8 @@ impl Tool {
|
|||||||
base_damage: 200,
|
base_damage: 200,
|
||||||
range: 5.0,
|
range: 5.0,
|
||||||
max_angle: 120.0,
|
max_angle: 120.0,
|
||||||
}]
|
}],
|
||||||
} else {
|
Debug => vec![
|
||||||
vec![BasicMelee {
|
|
||||||
energy_cost: 0,
|
|
||||||
buildup_duration: Duration::from_millis(100),
|
|
||||||
swing_duration: Duration::from_millis(100),
|
|
||||||
recover_duration: Duration::from_millis(200),
|
|
||||||
base_damage: 10,
|
|
||||||
knockback: 0.0,
|
|
||||||
range: 1.0,
|
|
||||||
max_angle: 30.0,
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
Debug(_) => vec![
|
|
||||||
CharacterAbility::Boost {
|
CharacterAbility::Boost {
|
||||||
movement_duration: Duration::from_millis(50),
|
movement_duration: Duration::from_millis(50),
|
||||||
only_up: false,
|
only_up: false,
|
||||||
@ -624,3 +609,9 @@ impl Tool {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
||||||
|
pub enum UniqueKind {
|
||||||
|
StoneGolemFist,
|
||||||
|
BeastClaws,
|
||||||
|
}
|
||||||
|
@ -4,7 +4,10 @@ use crate::{
|
|||||||
agent::Activity,
|
agent::Activity,
|
||||||
group,
|
group,
|
||||||
group::Invite,
|
group::Invite,
|
||||||
item::{tool::ToolKind, ItemKind},
|
item::{
|
||||||
|
tool::{ToolKind, UniqueKind},
|
||||||
|
ItemKind,
|
||||||
|
},
|
||||||
Agent, Alignment, Body, CharacterState, ControlAction, ControlEvent, Controller, Energy,
|
Agent, Alignment, Body, CharacterState, ControlAction, ControlEvent, Controller, Energy,
|
||||||
GroupManip, Health, LightEmitter, Loadout, MountState, Ori, PhysicsState, Pos, Scale,
|
GroupManip, Health, LightEmitter, Loadout, MountState, Ori, PhysicsState, Pos, Scale,
|
||||||
UnresolvedChatMsg, Vel,
|
UnresolvedChatMsg, Vel,
|
||||||
@ -317,14 +320,13 @@ impl<'a> System<'a> for Sys {
|
|||||||
None
|
None
|
||||||
}
|
}
|
||||||
}) {
|
}) {
|
||||||
Some(ToolKind::Bow(_)) => Tactic::RangedPowerup,
|
Some(ToolKind::Bow) => Tactic::RangedPowerup,
|
||||||
Some(ToolKind::Staff(_)) => Tactic::Staff,
|
Some(ToolKind::Staff) => Tactic::Staff,
|
||||||
Some(ToolKind::Hammer(_)) => Tactic::Hammer,
|
Some(ToolKind::Hammer) => Tactic::Hammer,
|
||||||
Some(ToolKind::Sword(_)) => Tactic::Sword,
|
Some(ToolKind::Sword) => Tactic::Sword,
|
||||||
Some(ToolKind::Axe(_)) => Tactic::Axe,
|
Some(ToolKind::Axe) => Tactic::Axe,
|
||||||
Some(ToolKind::NpcWeapon(kind)) => match kind.as_str() {
|
Some(ToolKind::Unique(UniqueKind::StoneGolemFist)) => {
|
||||||
"StoneGolemsFist" => Tactic::StoneGolemBoss,
|
Tactic::StoneGolemBoss
|
||||||
_ => Tactic::Melee,
|
|
||||||
},
|
},
|
||||||
_ => Tactic::Melee,
|
_ => Tactic::Melee,
|
||||||
};
|
};
|
||||||
|
@ -72,22 +72,22 @@ fn weapon_stats() -> Result<(), Box<dyn Error>> {
|
|||||||
|
|
||||||
fn get_tool_kind(kind: &ToolKind) -> String {
|
fn get_tool_kind(kind: &ToolKind) -> String {
|
||||||
match kind {
|
match kind {
|
||||||
ToolKind::Sword(_) => "Sword".to_string(),
|
ToolKind::Sword => "Sword".to_string(),
|
||||||
ToolKind::Axe(_) => "Axe".to_string(),
|
ToolKind::Axe => "Axe".to_string(),
|
||||||
ToolKind::Hammer(_) => "Hammer".to_string(),
|
ToolKind::Hammer => "Hammer".to_string(),
|
||||||
ToolKind::Bow(_) => "Bow".to_string(),
|
ToolKind::Bow => "Bow".to_string(),
|
||||||
ToolKind::Dagger(_) => "Dagger".to_string(),
|
ToolKind::Dagger => "Dagger".to_string(),
|
||||||
ToolKind::Staff(_) => "Staff".to_string(),
|
ToolKind::Staff => "Staff".to_string(),
|
||||||
ToolKind::Sceptre(_) => "Sceptre".to_string(),
|
ToolKind::Sceptre => "Sceptre".to_string(),
|
||||||
ToolKind::Shield(_) => "Shield".to_string(),
|
ToolKind::Shield => "Shield".to_string(),
|
||||||
ToolKind::Debug(_) => "Debug".to_string(),
|
ToolKind::Debug => "Debug".to_string(),
|
||||||
ToolKind::Farming(_) => "Farming".to_string(),
|
ToolKind::Farming => "Farming".to_string(),
|
||||||
ToolKind::NpcWeapon(_) => "NpcWeapon".to_string(),
|
ToolKind::Unique(_) => "Unique".to_string(),
|
||||||
ToolKind::Empty => "Empty".to_string(),
|
ToolKind::Empty => "Empty".to_string(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn get_tool_kind_kind(kind: &ToolKind) -> String {
|
/*fn get_tool_kind_kind(kind: &ToolKind) -> String {
|
||||||
match kind {
|
match kind {
|
||||||
ToolKind::Sword(x) => x.clone(),
|
ToolKind::Sword(x) => x.clone(),
|
||||||
ToolKind::Axe(x) => x.clone(),
|
ToolKind::Axe(x) => x.clone(),
|
||||||
@ -102,7 +102,7 @@ fn get_tool_kind_kind(kind: &ToolKind) -> String {
|
|||||||
ToolKind::NpcWeapon(x) => x.clone(),
|
ToolKind::NpcWeapon(x) => x.clone(),
|
||||||
ToolKind::Empty => "".to_string(),
|
ToolKind::Empty => "".to_string(),
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
fn get_armor_kind(kind: &ArmorKind) -> String {
|
fn get_armor_kind(kind: &ArmorKind) -> String {
|
||||||
match kind {
|
match kind {
|
||||||
@ -146,7 +146,7 @@ fn all_items() -> Result<(), Box<dyn Error>> {
|
|||||||
let kind = match item.kind() {
|
let kind = match item.kind() {
|
||||||
ItemKind::Armor(armor) => get_armor_kind_kind(&armor.kind),
|
ItemKind::Armor(armor) => get_armor_kind_kind(&armor.kind),
|
||||||
ItemKind::Lantern(lantern) => lantern.kind.clone(),
|
ItemKind::Lantern(lantern) => lantern.kind.clone(),
|
||||||
ItemKind::Tool(tool) => get_tool_kind_kind(&tool.kind),
|
//ItemKind::Tool(tool) => get_tool_kind_kind(&tool.kind),
|
||||||
_ => "".to_owned(),
|
_ => "".to_owned(),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ impl Animation for AlphaAnimation {
|
|||||||
next.torso.position = Vec3::new(0.0, 0.0, 0.1);
|
next.torso.position = Vec3::new(0.0, 0.0, 0.1);
|
||||||
next.torso.orientation = Quaternion::rotation_z(0.0);
|
next.torso.orientation = Quaternion::rotation_z(0.0);
|
||||||
match active_tool_kind {
|
match active_tool_kind {
|
||||||
Some(ToolKind::Sword(_)) => {
|
Some(ToolKind::Sword) => {
|
||||||
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
||||||
next.main.orientation = Quaternion::rotation_x(0.0);
|
next.main.orientation = Quaternion::rotation_x(0.0);
|
||||||
|
|
||||||
@ -87,7 +87,7 @@ impl Animation for AlphaAnimation {
|
|||||||
movement1 * -0.9 + (movement2 * 1.75).sin() * 2.5 + movement3 * -0.5,
|
movement1 * -0.9 + (movement2 * 1.75).sin() * 2.5 + movement3 * -0.5,
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Hammer(_)) => {
|
Some(ToolKind::Hammer) => {
|
||||||
next.hand_l.position = Vec3::new(-12.0, 0.0, 10.0);
|
next.hand_l.position = Vec3::new(-12.0, 0.0, 10.0);
|
||||||
next.hand_l.orientation =
|
next.hand_l.orientation =
|
||||||
Quaternion::rotation_x(0.0) * Quaternion::rotation_z(-2.0);
|
Quaternion::rotation_x(0.0) * Quaternion::rotation_z(-2.0);
|
||||||
@ -138,7 +138,7 @@ impl Animation for AlphaAnimation {
|
|||||||
* Quaternion::rotation_y(slowersmooth * 0.35 - 0.3)
|
* Quaternion::rotation_y(slowersmooth * 0.35 - 0.3)
|
||||||
* Quaternion::rotation_z(1.4 + slowersmooth * 0.2);
|
* Quaternion::rotation_z(1.4 + slowersmooth * 0.2);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Debug(_)) => {
|
Some(ToolKind::Debug) => {
|
||||||
next.hand_l.position = Vec3::new(-7.0, 4.0, 3.0);
|
next.hand_l.position = Vec3::new(-7.0, 4.0, 3.0);
|
||||||
next.hand_l.orientation = Quaternion::rotation_x(1.27);
|
next.hand_l.orientation = Quaternion::rotation_x(1.27);
|
||||||
next.main.position = Vec3::new(-5.0, 5.0, 23.0);
|
next.main.position = Vec3::new(-5.0, 5.0, 23.0);
|
||||||
|
@ -54,7 +54,7 @@ impl Animation for BeamAnimation {
|
|||||||
* Quaternion::rotation_z(0.0);
|
* Quaternion::rotation_z(0.0);
|
||||||
|
|
||||||
match active_tool_kind {
|
match active_tool_kind {
|
||||||
Some(ToolKind::Staff(_)) | Some(ToolKind::Sceptre(_)) => {
|
Some(ToolKind::Staff) | Some(ToolKind::Sceptre) => {
|
||||||
next.control.position = Vec3::new(
|
next.control.position = Vec3::new(
|
||||||
s_a.stc.0 + (movement1 * 26.0) * (1.0 - movement3),
|
s_a.stc.0 + (movement1 * 26.0) * (1.0 - movement3),
|
||||||
s_a.stc.1 + (movement1 + (movement2 * 8.0).sin() * 2.0) * (1.0 - movement3),
|
s_a.stc.1 + (movement1 + (movement2 * 8.0).sin() * 2.0) * (1.0 - movement3),
|
||||||
|
@ -78,7 +78,7 @@ impl Animation for ChargeAnimation {
|
|||||||
next.lower_torso.orientation = Quaternion::rotation_z(stop * -0.7 + tilt * 4.0);
|
next.lower_torso.orientation = Quaternion::rotation_z(stop * -0.7 + tilt * 4.0);
|
||||||
|
|
||||||
match active_tool_kind {
|
match active_tool_kind {
|
||||||
Some(ToolKind::Staff(_)) | Some(ToolKind::Sceptre(_)) => {
|
Some(ToolKind::Staff) | Some(ToolKind::Sceptre) => {
|
||||||
next.hand_l.position = Vec3::new(s_a.sthl.0, s_a.sthl.1, s_a.sthl.2);
|
next.hand_l.position = Vec3::new(s_a.sthl.0, s_a.sthl.1, s_a.sthl.2);
|
||||||
next.hand_l.orientation = Quaternion::rotation_x(s_a.sthl.3);
|
next.hand_l.orientation = Quaternion::rotation_x(s_a.sthl.3);
|
||||||
|
|
||||||
@ -98,7 +98,7 @@ impl Animation for ChargeAnimation {
|
|||||||
* Quaternion::rotation_y(s_a.stc.4)
|
* Quaternion::rotation_y(s_a.stc.4)
|
||||||
* Quaternion::rotation_z(s_a.stc.5 + stop * 0.2);
|
* Quaternion::rotation_z(s_a.stc.5 + stop * 0.2);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Bow(_)) => {
|
Some(ToolKind::Bow) => {
|
||||||
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
||||||
next.main.orientation = Quaternion::rotation_x(0.0);
|
next.main.orientation = Quaternion::rotation_x(0.0);
|
||||||
next.hand_l.position = Vec3::new(s_a.bhl.0, s_a.bhl.1, s_a.bhl.2);
|
next.hand_l.position = Vec3::new(s_a.bhl.0, s_a.bhl.1, s_a.bhl.2);
|
||||||
|
@ -69,7 +69,7 @@ impl Animation for DashAnimation {
|
|||||||
|
|
||||||
match active_tool_kind {
|
match active_tool_kind {
|
||||||
//TODO: Inventory
|
//TODO: Inventory
|
||||||
Some(ToolKind::Sword(_)) => {
|
Some(ToolKind::Sword) => {
|
||||||
next.head.position =
|
next.head.position =
|
||||||
Vec3::new(0.0, 0.0 + s_a.head.0, s_a.head.1 + movement2.min(1.0) * 1.0);
|
Vec3::new(0.0, 0.0 + s_a.head.0, s_a.head.1 + movement2.min(1.0) * 1.0);
|
||||||
next.head.orientation = Quaternion::rotation_x(0.0)
|
next.head.orientation = Quaternion::rotation_x(0.0)
|
||||||
|
@ -33,19 +33,19 @@ impl Animation for EquipAnimation {
|
|||||||
next.control.position = Vec3::new(equip_slowa * -1.5, 0.0, equip_slow * 1.5);
|
next.control.position = Vec3::new(equip_slowa * -1.5, 0.0, equip_slow * 1.5);
|
||||||
|
|
||||||
match active_tool_kind {
|
match active_tool_kind {
|
||||||
Some(ToolKind::Sword(_)) => {
|
Some(ToolKind::Sword) => {
|
||||||
next.hand_l.position = Vec3::new(-18.0, -8.0, -1.0);
|
next.hand_l.position = Vec3::new(-18.0, -8.0, -1.0);
|
||||||
next.hand_r.position = Vec3::new(-16.0, -7.5, -4.0);
|
next.hand_r.position = Vec3::new(-16.0, -7.5, -4.0);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Axe(_)) => {
|
Some(ToolKind::Axe) => {
|
||||||
next.hand_l.position = Vec3::new(-7.0, -5.0, 17.0);
|
next.hand_l.position = Vec3::new(-7.0, -5.0, 17.0);
|
||||||
next.hand_r.position = Vec3::new(-5.0, -4.5, 14.0);
|
next.hand_r.position = Vec3::new(-5.0, -4.5, 14.0);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Hammer(_)) => {
|
Some(ToolKind::Hammer) => {
|
||||||
next.hand_l.position = Vec3::new(-15.0, -7.0, 3.0);
|
next.hand_l.position = Vec3::new(-15.0, -7.0, 3.0);
|
||||||
next.hand_r.position = Vec3::new(-13.0, -6.5, 0.0);
|
next.hand_r.position = Vec3::new(-13.0, -6.5, 0.0);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Staff(_)) | Some(ToolKind::Sceptre(_)) => {
|
Some(ToolKind::Staff) | Some(ToolKind::Sceptre) => {
|
||||||
next.hand_l.position = Vec3::new(4.0, -6.0, 0.0);
|
next.hand_l.position = Vec3::new(4.0, -6.0, 0.0);
|
||||||
next.hand_r.position = Vec3::new(6.0, -6.0, 6.0);
|
next.hand_r.position = Vec3::new(6.0, -6.0, 6.0);
|
||||||
next.hand_l.orientation =
|
next.hand_l.orientation =
|
||||||
@ -53,7 +53,7 @@ impl Animation for EquipAnimation {
|
|||||||
next.hand_r.orientation =
|
next.hand_r.orientation =
|
||||||
Quaternion::rotation_y(2.2) * Quaternion::rotation_z(-1.57);
|
Quaternion::rotation_y(2.2) * Quaternion::rotation_z(-1.57);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Bow(_)) => {
|
Some(ToolKind::Bow) => {
|
||||||
next.hand_l.position = Vec3::new(-3.0, -5.0, 9.0);
|
next.hand_l.position = Vec3::new(-3.0, -5.0, 9.0);
|
||||||
next.hand_r.position = Vec3::new(-1.75, -4.5, 7.0);
|
next.hand_r.position = Vec3::new(-1.75, -4.5, 7.0);
|
||||||
},
|
},
|
||||||
|
@ -90,19 +90,19 @@ impl Animation for IdleAnimation {
|
|||||||
Quaternion::rotation_z(0.0 + slow * 0.2) * Quaternion::rotation_x(0.0);
|
Quaternion::rotation_z(0.0 + slow * 0.2) * Quaternion::rotation_x(0.0);
|
||||||
|
|
||||||
match active_tool_kind {
|
match active_tool_kind {
|
||||||
Some(ToolKind::Bow(_)) => {
|
Some(ToolKind::Bow) => {
|
||||||
next.main.position = Vec3::new(-2.0, -5.0, -6.0);
|
next.main.position = Vec3::new(-2.0, -5.0, -6.0);
|
||||||
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Staff(_)) | Some(ToolKind::Sceptre(_)) => {
|
Some(ToolKind::Staff) | Some(ToolKind::Sceptre) => {
|
||||||
next.main.position = Vec3::new(-6.0, -5.0, -12.0);
|
next.main.position = Vec3::new(-6.0, -5.0, -12.0);
|
||||||
next.main.orientation = Quaternion::rotation_y(0.6) * Quaternion::rotation_z(1.57);
|
next.main.orientation = Quaternion::rotation_y(0.6) * Quaternion::rotation_z(1.57);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Sword(_)) => {
|
Some(ToolKind::Sword) => {
|
||||||
next.main.position = Vec3::new(-10.0, -8.0, 12.0);
|
next.main.position = Vec3::new(-10.0, -8.0, 12.0);
|
||||||
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Hammer(_)) => {
|
Some(ToolKind::Hammer) => {
|
||||||
next.main.position = Vec3::new(-10.0, -8.0, 12.0);
|
next.main.position = Vec3::new(-10.0, -8.0, 12.0);
|
||||||
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||||
},
|
},
|
||||||
|
@ -60,19 +60,19 @@ impl Animation for JumpAnimation {
|
|||||||
next.second.scale = Vec3::one() * 0.0;
|
next.second.scale = Vec3::one() * 0.0;
|
||||||
|
|
||||||
match active_tool_kind {
|
match active_tool_kind {
|
||||||
Some(ToolKind::Bow(_)) => {
|
Some(ToolKind::Bow) => {
|
||||||
next.main.position = Vec3::new(-2.0, -5.0, -6.0);
|
next.main.position = Vec3::new(-2.0, -5.0, -6.0);
|
||||||
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Staff(_)) | Some(ToolKind::Sceptre(_)) => {
|
Some(ToolKind::Staff) | Some(ToolKind::Sceptre) => {
|
||||||
next.main.position = Vec3::new(-6.0, -5.0, -12.0);
|
next.main.position = Vec3::new(-6.0, -5.0, -12.0);
|
||||||
next.main.orientation = Quaternion::rotation_y(0.6) * Quaternion::rotation_z(1.57);
|
next.main.orientation = Quaternion::rotation_y(0.6) * Quaternion::rotation_z(1.57);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Sword(_)) => {
|
Some(ToolKind::Sword) => {
|
||||||
next.main.position = Vec3::new(-10.0, -8.0, 12.0);
|
next.main.position = Vec3::new(-10.0, -8.0, 12.0);
|
||||||
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Hammer(_)) => {
|
Some(ToolKind::Hammer) => {
|
||||||
next.main.position = Vec3::new(-10.0, -8.0, 12.0);
|
next.main.position = Vec3::new(-10.0, -8.0, 12.0);
|
||||||
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||||
},
|
},
|
||||||
|
@ -38,7 +38,7 @@ impl Animation for LeapAnimation {
|
|||||||
_ => (0.0, 0.0, 0.0, 0.0),
|
_ => (0.0, 0.0, 0.0, 0.0),
|
||||||
};
|
};
|
||||||
|
|
||||||
if let Some(ToolKind::Hammer(_)) = active_tool_kind {
|
if let Some(ToolKind::Hammer) = active_tool_kind {
|
||||||
next.hand_l.position = Vec3::new(s_a.hhl.0, s_a.hhl.1, s_a.hhl.2);
|
next.hand_l.position = Vec3::new(s_a.hhl.0, s_a.hhl.1, s_a.hhl.2);
|
||||||
next.hand_l.orientation = Quaternion::rotation_x(s_a.hhl.3);
|
next.hand_l.orientation = Quaternion::rotation_x(s_a.hhl.3);
|
||||||
next.hand_r.position = Vec3::new(s_a.hhr.0, s_a.hhr.1, s_a.hhr.2);
|
next.hand_r.position = Vec3::new(s_a.hhr.0, s_a.hhr.1, s_a.hhr.2);
|
||||||
|
@ -298,22 +298,22 @@ impl Animation for RunAnimation {
|
|||||||
* Quaternion::rotation_z(0.0);
|
* Quaternion::rotation_z(0.0);
|
||||||
|
|
||||||
match active_tool_kind {
|
match active_tool_kind {
|
||||||
Some(ToolKind::Bow(_)) => {
|
Some(ToolKind::Bow) => {
|
||||||
next.main.position = Vec3::new(-2.0, -5.0, -6.0);
|
next.main.position = Vec3::new(-2.0, -5.0, -6.0);
|
||||||
next.main.orientation =
|
next.main.orientation =
|
||||||
Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Staff(_)) | Some(ToolKind::Sceptre(_)) => {
|
Some(ToolKind::Staff) | Some(ToolKind::Sceptre) => {
|
||||||
next.main.position = Vec3::new(-6.0, -5.0, -12.0);
|
next.main.position = Vec3::new(-6.0, -5.0, -12.0);
|
||||||
next.main.orientation =
|
next.main.orientation =
|
||||||
Quaternion::rotation_y(0.6) * Quaternion::rotation_z(1.57);
|
Quaternion::rotation_y(0.6) * Quaternion::rotation_z(1.57);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Sword(_)) => {
|
Some(ToolKind::Sword) => {
|
||||||
next.main.position = Vec3::new(-10.0, -8.0, 12.0);
|
next.main.position = Vec3::new(-10.0, -8.0, 12.0);
|
||||||
next.main.orientation =
|
next.main.orientation =
|
||||||
Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Hammer(_)) => {
|
Some(ToolKind::Hammer) => {
|
||||||
next.main.position = Vec3::new(-10.0, -8.0, 12.0);
|
next.main.position = Vec3::new(-10.0, -8.0, 12.0);
|
||||||
next.main.orientation =
|
next.main.orientation =
|
||||||
Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||||
|
@ -317,7 +317,7 @@ impl Animation for ShootAnimation {
|
|||||||
next.lower_torso.orientation = next.upper_torso.orientation * -0.08;
|
next.lower_torso.orientation = next.upper_torso.orientation * -0.08;
|
||||||
|
|
||||||
match active_tool_kind {
|
match active_tool_kind {
|
||||||
Some(ToolKind::Staff(_)) | Some(ToolKind::Sceptre(_)) => {
|
Some(ToolKind::Staff) | Some(ToolKind::Sceptre) => {
|
||||||
next.hand_l.position = Vec3::new(s_a.sthl.0, s_a.sthl.1, s_a.sthl.2);
|
next.hand_l.position = Vec3::new(s_a.sthl.0, s_a.sthl.1, s_a.sthl.2);
|
||||||
next.hand_l.orientation = Quaternion::rotation_x(s_a.sthl.3);
|
next.hand_l.orientation = Quaternion::rotation_x(s_a.sthl.3);
|
||||||
|
|
||||||
@ -337,7 +337,7 @@ impl Animation for ShootAnimation {
|
|||||||
* Quaternion::rotation_y(s_a.stc.4)
|
* Quaternion::rotation_y(s_a.stc.4)
|
||||||
* Quaternion::rotation_z(s_a.stc.5 + exp * 1.5);
|
* Quaternion::rotation_z(s_a.stc.5 + exp * 1.5);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Bow(_)) => {
|
Some(ToolKind::Bow) => {
|
||||||
next.hand_l.position = Vec3::new(
|
next.hand_l.position = Vec3::new(
|
||||||
s_a.bhl.0 - exp * 2.0,
|
s_a.bhl.0 - exp * 2.0,
|
||||||
s_a.bhl.1 - exp * 4.0,
|
s_a.bhl.1 - exp * 4.0,
|
||||||
|
@ -51,7 +51,7 @@ impl Animation for SpinAnimation {
|
|||||||
|
|
||||||
next.head.position = Vec3::new(0.0, s_a.head.0, s_a.head.1);
|
next.head.position = Vec3::new(0.0, s_a.head.0, s_a.head.1);
|
||||||
|
|
||||||
if let Some(ToolKind::Sword(_)) = active_tool_kind {
|
if let Some(ToolKind::Sword) = active_tool_kind {
|
||||||
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
||||||
next.main.orientation = Quaternion::rotation_x(0.0);
|
next.main.orientation = Quaternion::rotation_x(0.0);
|
||||||
|
|
||||||
@ -92,8 +92,7 @@ impl Animation for SpinAnimation {
|
|||||||
next.torso.orientation = Quaternion::rotation_z(movement2 * 6.28);
|
next.torso.orientation = Quaternion::rotation_z(movement2 * 6.28);
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Some(ToolKind::Axe(_) | ToolKind::Hammer(_) | ToolKind::Dagger(_)) = active_tool_kind
|
if let Some(ToolKind::Axe | ToolKind::Hammer | ToolKind::Dagger) = active_tool_kind {
|
||||||
{
|
|
||||||
next.hand_l.position = Vec3::new(-0.75, -1.0, -2.5);
|
next.hand_l.position = Vec3::new(-0.75, -1.0, -2.5);
|
||||||
next.hand_l.orientation = Quaternion::rotation_x(1.27);
|
next.hand_l.orientation = Quaternion::rotation_x(1.27);
|
||||||
next.hand_r.position = Vec3::new(0.75, -1.5, -5.5);
|
next.hand_r.position = Vec3::new(0.75, -1.5, -5.5);
|
||||||
|
@ -62,7 +62,7 @@ impl Animation for SpinMeleeAnimation {
|
|||||||
let quick = (anim_time as f32 * lab as f32 * 8.0).sin();
|
let quick = (anim_time as f32 * lab as f32 * 8.0).sin();
|
||||||
|
|
||||||
match active_tool_kind {
|
match active_tool_kind {
|
||||||
Some(ToolKind::Sword(_)) => {
|
Some(ToolKind::Sword) => {
|
||||||
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
||||||
next.main.orientation = Quaternion::rotation_x(0.0);
|
next.main.orientation = Quaternion::rotation_x(0.0);
|
||||||
|
|
||||||
@ -85,7 +85,7 @@ impl Animation for SpinMeleeAnimation {
|
|||||||
next.head.orientation = Quaternion::rotation_x(-0.15 + movement3 * 0.15);
|
next.head.orientation = Quaternion::rotation_x(-0.15 + movement3 * 0.15);
|
||||||
next.lower_torso.orientation = Quaternion::rotation_x(0.2);
|
next.lower_torso.orientation = Quaternion::rotation_x(0.2);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Axe(_)) => {
|
Some(ToolKind::Axe) => {
|
||||||
next.hand_l.position = Vec3::new(-0.5, 0.0, 4.0);
|
next.hand_l.position = Vec3::new(-0.5, 0.0, 4.0);
|
||||||
next.hand_l.orientation =
|
next.hand_l.orientation =
|
||||||
Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_y(PI);
|
Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_y(PI);
|
||||||
|
@ -2,7 +2,7 @@ use super::{
|
|||||||
super::{vek::*, Animation},
|
super::{vek::*, Animation},
|
||||||
BipedLargeSkeleton, SkeletonAttr,
|
BipedLargeSkeleton, SkeletonAttr,
|
||||||
};
|
};
|
||||||
use common::comp::item::ToolKind;
|
use common::comp::item::{ToolKind, UniqueKind};
|
||||||
use std::{f32::consts::PI, ops::Mul};
|
use std::{f32::consts::PI, ops::Mul};
|
||||||
|
|
||||||
pub struct WieldAnimation;
|
pub struct WieldAnimation;
|
||||||
@ -208,7 +208,7 @@ impl Animation for WieldAnimation {
|
|||||||
* Quaternion::rotation_z(test * 0.02);
|
* Quaternion::rotation_z(test * 0.02);
|
||||||
}
|
}
|
||||||
match active_tool_kind {
|
match active_tool_kind {
|
||||||
Some(ToolKind::Sword(_)) => {
|
Some(ToolKind::Sword) => {
|
||||||
next.hand_l.position = Vec3::new(s_a.shl.0, s_a.shl.1, s_a.shl.2);
|
next.hand_l.position = Vec3::new(s_a.shl.0, s_a.shl.1, s_a.shl.2);
|
||||||
next.hand_l.orientation =
|
next.hand_l.orientation =
|
||||||
Quaternion::rotation_x(s_a.shl.3) * Quaternion::rotation_y(s_a.shl.4);
|
Quaternion::rotation_x(s_a.shl.3) * Quaternion::rotation_y(s_a.shl.4);
|
||||||
@ -222,7 +222,7 @@ impl Animation for WieldAnimation {
|
|||||||
next.control.orientation = Quaternion::rotation_x(u_slow * 0.15)
|
next.control.orientation = Quaternion::rotation_x(u_slow * 0.15)
|
||||||
* Quaternion::rotation_z(u_slowalt * 0.08);
|
* Quaternion::rotation_z(u_slowalt * 0.08);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Bow(_)) => {
|
Some(ToolKind::Bow) => {
|
||||||
next.hand_l.position = Vec3::new(s_a.bhl.0, s_a.bhl.1, s_a.bhl.2);
|
next.hand_l.position = Vec3::new(s_a.bhl.0, s_a.bhl.1, s_a.bhl.2);
|
||||||
next.hand_l.orientation = Quaternion::rotation_x(s_a.bhl.3)
|
next.hand_l.orientation = Quaternion::rotation_x(s_a.bhl.3)
|
||||||
* Quaternion::rotation_y(s_a.bhl.4)
|
* Quaternion::rotation_y(s_a.bhl.4)
|
||||||
@ -243,7 +243,7 @@ impl Animation for WieldAnimation {
|
|||||||
* Quaternion::rotation_y(s_a.bc.4)
|
* Quaternion::rotation_y(s_a.bc.4)
|
||||||
* Quaternion::rotation_z(s_a.bc.5 + u_slowalt * 0.1);
|
* Quaternion::rotation_z(s_a.bc.5 + u_slowalt * 0.1);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Hammer(_)) => {
|
Some(ToolKind::Hammer) => {
|
||||||
next.hand_l.position = Vec3::new(s_a.hhl.0, s_a.hhl.1, s_a.hhl.2);
|
next.hand_l.position = Vec3::new(s_a.hhl.0, s_a.hhl.1, s_a.hhl.2);
|
||||||
next.hand_l.orientation = Quaternion::rotation_x(s_a.hhl.3)
|
next.hand_l.orientation = Quaternion::rotation_x(s_a.hhl.3)
|
||||||
* Quaternion::rotation_y(s_a.hhl.4)
|
* Quaternion::rotation_y(s_a.hhl.4)
|
||||||
@ -262,7 +262,7 @@ impl Animation for WieldAnimation {
|
|||||||
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
||||||
next.main.orientation = Quaternion::rotation_y(0.0);
|
next.main.orientation = Quaternion::rotation_y(0.0);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Staff(_)) => {
|
Some(ToolKind::Staff) => {
|
||||||
next.hand_l.position = Vec3::new(s_a.sthl.0, s_a.sthl.1, s_a.sthl.2);
|
next.hand_l.position = Vec3::new(s_a.sthl.0, s_a.sthl.1, s_a.sthl.2);
|
||||||
next.hand_l.orientation =
|
next.hand_l.orientation =
|
||||||
Quaternion::rotation_x(s_a.sthl.3) * Quaternion::rotation_y(s_a.sthl.4);
|
Quaternion::rotation_x(s_a.sthl.3) * Quaternion::rotation_y(s_a.sthl.4);
|
||||||
@ -283,7 +283,7 @@ impl Animation for WieldAnimation {
|
|||||||
* Quaternion::rotation_y(0.15)
|
* Quaternion::rotation_y(0.15)
|
||||||
* Quaternion::rotation_z(u_slowalt * 0.08);
|
* Quaternion::rotation_z(u_slowalt * 0.08);
|
||||||
},
|
},
|
||||||
Some(ToolKind::NpcWeapon(_)) => {
|
Some(ToolKind::Unique(UniqueKind::BeastClaws)) => {
|
||||||
next.shoulder_l.position =
|
next.shoulder_l.position =
|
||||||
Vec3::new(-s_a.shoulder.0, s_a.shoulder.1, s_a.shoulder.2);
|
Vec3::new(-s_a.shoulder.0, s_a.shoulder.1, s_a.shoulder.2);
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ impl Animation for AlphaAnimation {
|
|||||||
next.torso.position = Vec3::new(0.0, 0.0, 0.1) * s_a.scaler;
|
next.torso.position = Vec3::new(0.0, 0.0, 0.1) * s_a.scaler;
|
||||||
next.torso.orientation = Quaternion::rotation_z(0.0);
|
next.torso.orientation = Quaternion::rotation_z(0.0);
|
||||||
match active_tool_kind {
|
match active_tool_kind {
|
||||||
Some(ToolKind::Sword(_)) => {
|
Some(ToolKind::Sword) => {
|
||||||
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
||||||
next.main.orientation = Quaternion::rotation_x(0.0);
|
next.main.orientation = Quaternion::rotation_x(0.0);
|
||||||
|
|
||||||
@ -96,13 +96,13 @@ impl Animation for AlphaAnimation {
|
|||||||
movement1 * -0.9 + (movement2 * 1.75).sin() * 2.5 + movement3 * -0.5,
|
movement1 * -0.9 + (movement2 * 1.75).sin() * 2.5 + movement3 * -0.5,
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Dagger(_)) => {
|
Some(ToolKind::Dagger) => {
|
||||||
next.control_l.position = Vec3::new(-10.0 + push * 5.0, 6.0 + push * 5.0, 2.0);
|
next.control_l.position = Vec3::new(-10.0 + push * 5.0, 6.0 + push * 5.0, 2.0);
|
||||||
next.control_l.orientation = Quaternion::rotation_x(-1.4 + slow * 0.4)
|
next.control_l.orientation = Quaternion::rotation_x(-1.4 + slow * 0.4)
|
||||||
* Quaternion::rotation_y(slow * -1.3)
|
* Quaternion::rotation_y(slow * -1.3)
|
||||||
* Quaternion::rotation_z(1.4 + slow * -0.5);
|
* Quaternion::rotation_z(1.4 + slow * -0.5);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Axe(_)) => {
|
Some(ToolKind::Axe) => {
|
||||||
next.head.position = Vec3::new(0.0, 0.0 + s_a.head.0, s_a.head.1);
|
next.head.position = Vec3::new(0.0, 0.0 + s_a.head.0, s_a.head.1);
|
||||||
next.head.orientation = Quaternion::rotation_z(0.1 + axe * 0.2)
|
next.head.orientation = Quaternion::rotation_z(0.1 + axe * 0.2)
|
||||||
* Quaternion::rotation_x(0.0)
|
* Quaternion::rotation_x(0.0)
|
||||||
@ -129,7 +129,7 @@ impl Animation for AlphaAnimation {
|
|||||||
* Quaternion::rotation_z(PI * 0.4);
|
* Quaternion::rotation_z(PI * 0.4);
|
||||||
next.lantern.orientation = Quaternion::rotation_x(0.4);
|
next.lantern.orientation = Quaternion::rotation_x(0.4);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Hammer(_)) => {
|
Some(ToolKind::Hammer) => {
|
||||||
next.hand_l.position = Vec3::new(-12.0, 0.0, 0.0);
|
next.hand_l.position = Vec3::new(-12.0, 0.0, 0.0);
|
||||||
next.hand_l.orientation =
|
next.hand_l.orientation =
|
||||||
Quaternion::rotation_x(-0.0) * Quaternion::rotation_y(0.0);
|
Quaternion::rotation_x(-0.0) * Quaternion::rotation_y(0.0);
|
||||||
@ -187,7 +187,7 @@ impl Animation for AlphaAnimation {
|
|||||||
* Quaternion::rotation_y(slowersmooth * 0.35 - 0.3)
|
* Quaternion::rotation_y(slowersmooth * 0.35 - 0.3)
|
||||||
* Quaternion::rotation_z(1.4 + slowersmooth * 0.2);
|
* Quaternion::rotation_z(1.4 + slowersmooth * 0.2);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Debug(_)) => {
|
Some(ToolKind::Debug) => {
|
||||||
next.hand_l.position = Vec3::new(-7.0, 4.0, 3.0);
|
next.hand_l.position = Vec3::new(-7.0, 4.0, 3.0);
|
||||||
next.hand_l.orientation = Quaternion::rotation_x(1.27);
|
next.hand_l.orientation = Quaternion::rotation_x(1.27);
|
||||||
next.main.position = Vec3::new(-5.0, 5.0, 23.0);
|
next.main.position = Vec3::new(-5.0, 5.0, 23.0);
|
||||||
|
@ -54,7 +54,7 @@ impl Animation for BeamAnimation {
|
|||||||
* Quaternion::rotation_z(0.0);
|
* Quaternion::rotation_z(0.0);
|
||||||
|
|
||||||
match active_tool_kind {
|
match active_tool_kind {
|
||||||
Some(ToolKind::Staff(_)) | Some(ToolKind::Sceptre(_)) => {
|
Some(ToolKind::Staff) | Some(ToolKind::Sceptre) => {
|
||||||
next.control.position = Vec3::new(
|
next.control.position = Vec3::new(
|
||||||
s_a.stc.0 + (movement1 * 16.0) * (1.0 - movement3),
|
s_a.stc.0 + (movement1 * 16.0) * (1.0 - movement3),
|
||||||
s_a.stc.1 + (movement1 + (movement2 * 8.0).sin() * 2.0) * (1.0 - movement3),
|
s_a.stc.1 + (movement1 + (movement2 * 8.0).sin() * 2.0) * (1.0 - movement3),
|
||||||
|
@ -85,7 +85,7 @@ impl Animation for ChargeAnimation {
|
|||||||
next.shorts.orientation = Quaternion::rotation_z(stop * -0.7 + tilt * 4.0);
|
next.shorts.orientation = Quaternion::rotation_z(stop * -0.7 + tilt * 4.0);
|
||||||
|
|
||||||
match active_tool_kind {
|
match active_tool_kind {
|
||||||
Some(ToolKind::Staff(_)) | Some(ToolKind::Sceptre(_)) => {
|
Some(ToolKind::Staff) | Some(ToolKind::Sceptre) => {
|
||||||
next.hand_l.position = Vec3::new(s_a.sthl.0, s_a.sthl.1, s_a.sthl.2);
|
next.hand_l.position = Vec3::new(s_a.sthl.0, s_a.sthl.1, s_a.sthl.2);
|
||||||
next.hand_l.orientation = Quaternion::rotation_x(s_a.sthl.3);
|
next.hand_l.orientation = Quaternion::rotation_x(s_a.sthl.3);
|
||||||
|
|
||||||
@ -105,7 +105,7 @@ impl Animation for ChargeAnimation {
|
|||||||
* Quaternion::rotation_y(s_a.stc.4)
|
* Quaternion::rotation_y(s_a.stc.4)
|
||||||
* Quaternion::rotation_z(s_a.stc.5 + stop * 0.2);
|
* Quaternion::rotation_z(s_a.stc.5 + stop * 0.2);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Bow(_)) => {
|
Some(ToolKind::Bow) => {
|
||||||
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
||||||
next.main.orientation = Quaternion::rotation_x(0.0);
|
next.main.orientation = Quaternion::rotation_x(0.0);
|
||||||
next.hand_l.position = Vec3::new(s_a.bhl.0, s_a.bhl.1, s_a.bhl.2);
|
next.hand_l.position = Vec3::new(s_a.bhl.0, s_a.bhl.1, s_a.bhl.2);
|
||||||
|
@ -49,7 +49,7 @@ impl Animation for ChargeswingAnimation {
|
|||||||
Some(StageSection::Recover) => (1.0, 1.0, (anim_time as f32).powf(4.0), 0.0),
|
Some(StageSection::Recover) => (1.0, 1.0, (anim_time as f32).powf(4.0), 0.0),
|
||||||
_ => (0.0, 0.0, 0.0, 0.0),
|
_ => (0.0, 0.0, 0.0, 0.0),
|
||||||
};
|
};
|
||||||
if let Some(ToolKind::Hammer(_)) = active_tool_kind {
|
if let Some(ToolKind::Hammer) = active_tool_kind {
|
||||||
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
||||||
next.main.orientation = Quaternion::rotation_x(0.0);
|
next.main.orientation = Quaternion::rotation_x(0.0);
|
||||||
next.hand_l.position = Vec3::new(
|
next.hand_l.position = Vec3::new(
|
||||||
|
@ -68,7 +68,7 @@ impl Animation for DashAnimation {
|
|||||||
next.head.position = Vec3::new(0.0, s_a.head.0, s_a.head.1);
|
next.head.position = Vec3::new(0.0, s_a.head.0, s_a.head.1);
|
||||||
|
|
||||||
match active_tool_kind {
|
match active_tool_kind {
|
||||||
Some(ToolKind::Sword(_)) => {
|
Some(ToolKind::Sword) => {
|
||||||
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
||||||
next.main.orientation = Quaternion::rotation_x(0.0);
|
next.main.orientation = Quaternion::rotation_x(0.0);
|
||||||
|
|
||||||
|
@ -32,23 +32,23 @@ impl Animation for EquipAnimation {
|
|||||||
next.control.position = Vec3::new(equip_slowa * -1.5, 0.0, equip_slow * 1.5);
|
next.control.position = Vec3::new(equip_slowa * -1.5, 0.0, equip_slow * 1.5);
|
||||||
|
|
||||||
match active_tool_kind {
|
match active_tool_kind {
|
||||||
Some(ToolKind::Sword(_)) => {
|
Some(ToolKind::Sword) => {
|
||||||
next.hand_l.position = Vec3::new(-8.0, -5.0, 17.0);
|
next.hand_l.position = Vec3::new(-8.0, -5.0, 17.0);
|
||||||
next.hand_r.position = Vec3::new(-6.0, -4.5, 14.0);
|
next.hand_r.position = Vec3::new(-6.0, -4.5, 14.0);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Axe(_)) => {
|
Some(ToolKind::Axe) => {
|
||||||
next.hand_l.position = Vec3::new(-7.0, -5.0, 17.0);
|
next.hand_l.position = Vec3::new(-7.0, -5.0, 17.0);
|
||||||
next.hand_r.position = Vec3::new(-5.0, -4.5, 14.0);
|
next.hand_r.position = Vec3::new(-5.0, -4.5, 14.0);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Hammer(_)) => {
|
Some(ToolKind::Hammer) => {
|
||||||
next.hand_l.position = Vec3::new(-5.0, -5.0, 13.0);
|
next.hand_l.position = Vec3::new(-5.0, -5.0, 13.0);
|
||||||
next.hand_r.position = Vec3::new(-3.0, -4.5, 10.0);
|
next.hand_r.position = Vec3::new(-3.0, -4.5, 10.0);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Staff(_)) | Some(ToolKind::Sceptre(_)) => {
|
Some(ToolKind::Staff) | Some(ToolKind::Sceptre) => {
|
||||||
next.hand_l.position = Vec3::new(-3.0, -5.0, 8.0);
|
next.hand_l.position = Vec3::new(-3.0, -5.0, 8.0);
|
||||||
next.hand_r.position = Vec3::new(-1.75, -4.5, 5.0);
|
next.hand_r.position = Vec3::new(-1.75, -4.5, 5.0);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Bow(_)) => {
|
Some(ToolKind::Bow) => {
|
||||||
next.hand_l.position = Vec3::new(-3.0, -5.0, 9.0);
|
next.hand_l.position = Vec3::new(-3.0, -5.0, 9.0);
|
||||||
next.hand_r.position = Vec3::new(-1.75, -4.5, 7.0);
|
next.hand_r.position = Vec3::new(-1.75, -4.5, 7.0);
|
||||||
},
|
},
|
||||||
|
@ -79,17 +79,17 @@ impl Animation for IdleAnimation {
|
|||||||
next.glider.scale = Vec3::one() * 0.0;
|
next.glider.scale = Vec3::one() * 0.0;
|
||||||
|
|
||||||
match active_tool_kind {
|
match active_tool_kind {
|
||||||
Some(ToolKind::Dagger(_)) => {
|
Some(ToolKind::Dagger) => {
|
||||||
next.main.position = Vec3::new(-4.0, -5.0, 7.0);
|
next.main.position = Vec3::new(-4.0, -5.0, 7.0);
|
||||||
next.main.orientation =
|
next.main.orientation =
|
||||||
Quaternion::rotation_y(0.25 * PI) * Quaternion::rotation_z(1.5 * PI);
|
Quaternion::rotation_y(0.25 * PI) * Quaternion::rotation_z(1.5 * PI);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Shield(_)) => {
|
Some(ToolKind::Shield) => {
|
||||||
next.main.position = Vec3::new(-0.0, -5.0, 3.0);
|
next.main.position = Vec3::new(-0.0, -5.0, 3.0);
|
||||||
next.main.orientation =
|
next.main.orientation =
|
||||||
Quaternion::rotation_y(0.25 * PI) * Quaternion::rotation_z(-1.5 * PI);
|
Quaternion::rotation_y(0.25 * PI) * Quaternion::rotation_z(-1.5 * PI);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Bow(_)) => {
|
Some(ToolKind::Bow) => {
|
||||||
next.main.position = Vec3::new(0.0, -5.0, 6.0);
|
next.main.position = Vec3::new(0.0, -5.0, 6.0);
|
||||||
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||||
},
|
},
|
||||||
@ -104,12 +104,12 @@ impl Animation for IdleAnimation {
|
|||||||
}
|
}
|
||||||
|
|
||||||
match second_tool_kind {
|
match second_tool_kind {
|
||||||
Some(ToolKind::Dagger(_)) => {
|
Some(ToolKind::Dagger) => {
|
||||||
next.second.position = Vec3::new(4.0, -6.0, 7.0);
|
next.second.position = Vec3::new(4.0, -6.0, 7.0);
|
||||||
next.second.orientation =
|
next.second.orientation =
|
||||||
Quaternion::rotation_y(-0.25 * PI) * Quaternion::rotation_z(-1.5 * PI);
|
Quaternion::rotation_y(-0.25 * PI) * Quaternion::rotation_z(-1.5 * PI);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Shield(_)) => {
|
Some(ToolKind::Shield) => {
|
||||||
next.second.position = Vec3::new(0.0, -4.0, 3.0);
|
next.second.position = Vec3::new(0.0, -4.0, 3.0);
|
||||||
next.second.orientation =
|
next.second.orientation =
|
||||||
Quaternion::rotation_y(-0.25 * PI) * Quaternion::rotation_z(1.5 * PI);
|
Quaternion::rotation_y(-0.25 * PI) * Quaternion::rotation_z(1.5 * PI);
|
||||||
|
@ -126,21 +126,21 @@ impl Animation for JumpAnimation {
|
|||||||
next.glider.scale = Vec3::one() * 0.0;
|
next.glider.scale = Vec3::one() * 0.0;
|
||||||
|
|
||||||
match active_tool_kind {
|
match active_tool_kind {
|
||||||
Some(ToolKind::Dagger(_)) => {
|
Some(ToolKind::Dagger) => {
|
||||||
next.main.position = Vec3::new(-4.0, -5.0, 7.0);
|
next.main.position = Vec3::new(-4.0, -5.0, 7.0);
|
||||||
next.main.orientation =
|
next.main.orientation =
|
||||||
Quaternion::rotation_y(0.25 * PI) * Quaternion::rotation_z(1.5 * PI);
|
Quaternion::rotation_y(0.25 * PI) * Quaternion::rotation_z(1.5 * PI);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Shield(_)) => {
|
Some(ToolKind::Shield) => {
|
||||||
next.main.position = Vec3::new(-0.0, -5.0, 3.0);
|
next.main.position = Vec3::new(-0.0, -5.0, 3.0);
|
||||||
next.main.orientation =
|
next.main.orientation =
|
||||||
Quaternion::rotation_y(0.25 * PI) * Quaternion::rotation_z(-1.5 * PI);
|
Quaternion::rotation_y(0.25 * PI) * Quaternion::rotation_z(-1.5 * PI);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Staff(_)) | Some(ToolKind::Sceptre(_)) => {
|
Some(ToolKind::Staff) | Some(ToolKind::Sceptre) => {
|
||||||
next.main.position = Vec3::new(2.0, -5.0, -1.0);
|
next.main.position = Vec3::new(2.0, -5.0, -1.0);
|
||||||
next.main.orientation = Quaternion::rotation_y(-0.5) * Quaternion::rotation_z(1.57);
|
next.main.orientation = Quaternion::rotation_y(-0.5) * Quaternion::rotation_z(1.57);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Bow(_)) => {
|
Some(ToolKind::Bow) => {
|
||||||
next.main.position = Vec3::new(0.0, -5.0, 6.0);
|
next.main.position = Vec3::new(0.0, -5.0, 6.0);
|
||||||
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||||
},
|
},
|
||||||
@ -151,12 +151,12 @@ impl Animation for JumpAnimation {
|
|||||||
}
|
}
|
||||||
|
|
||||||
match second_tool_kind {
|
match second_tool_kind {
|
||||||
Some(ToolKind::Dagger(_)) => {
|
Some(ToolKind::Dagger) => {
|
||||||
next.second.position = Vec3::new(4.0, -6.0, 7.0);
|
next.second.position = Vec3::new(4.0, -6.0, 7.0);
|
||||||
next.second.orientation =
|
next.second.orientation =
|
||||||
Quaternion::rotation_y(-0.25 * PI) * Quaternion::rotation_z(-1.5 * PI);
|
Quaternion::rotation_y(-0.25 * PI) * Quaternion::rotation_z(-1.5 * PI);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Shield(_)) => {
|
Some(ToolKind::Shield) => {
|
||||||
next.second.position = Vec3::new(0.0, -4.0, 3.0);
|
next.second.position = Vec3::new(0.0, -4.0, 3.0);
|
||||||
next.second.orientation =
|
next.second.orientation =
|
||||||
Quaternion::rotation_y(-0.25 * PI) * Quaternion::rotation_z(1.5 * PI);
|
Quaternion::rotation_y(-0.25 * PI) * Quaternion::rotation_z(1.5 * PI);
|
||||||
|
@ -39,7 +39,7 @@ impl Animation for LeapAnimation {
|
|||||||
_ => (0.0, 0.0, 0.0, 0.0),
|
_ => (0.0, 0.0, 0.0, 0.0),
|
||||||
};
|
};
|
||||||
|
|
||||||
if let Some(ToolKind::Hammer(_)) = active_tool_kind {
|
if let Some(ToolKind::Hammer) = active_tool_kind {
|
||||||
next.hand_l.position = Vec3::new(s_a.hhl.0, s_a.hhl.1, s_a.hhl.2);
|
next.hand_l.position = Vec3::new(s_a.hhl.0, s_a.hhl.1, s_a.hhl.2);
|
||||||
next.hand_l.orientation = Quaternion::rotation_x(s_a.hhl.3);
|
next.hand_l.orientation = Quaternion::rotation_x(s_a.hhl.3);
|
||||||
next.hand_r.position = Vec3::new(s_a.hhr.0, s_a.hhr.1, s_a.hhr.2);
|
next.hand_r.position = Vec3::new(s_a.hhr.0, s_a.hhr.1, s_a.hhr.2);
|
||||||
@ -82,7 +82,7 @@ impl Animation for LeapAnimation {
|
|||||||
s_a.foot.2 + 5.0 + movement3 * -5.0,
|
s_a.foot.2 + 5.0 + movement3 * -5.0,
|
||||||
);
|
);
|
||||||
next.foot_r.orientation = Quaternion::rotation_x(0.9 + movement3 * -1.7);
|
next.foot_r.orientation = Quaternion::rotation_x(0.9 + movement3 * -1.7);
|
||||||
} else if let Some(ToolKind::Axe(_)) = active_tool_kind {
|
} else if let Some(ToolKind::Axe) = active_tool_kind {
|
||||||
next.hand_l.position = Vec3::new(s_a.ahl.0, s_a.ahl.1, s_a.ahl.2);
|
next.hand_l.position = Vec3::new(s_a.ahl.0, s_a.ahl.1, s_a.ahl.2);
|
||||||
next.hand_l.orientation = Quaternion::rotation_x(s_a.ahl.3);
|
next.hand_l.orientation = Quaternion::rotation_x(s_a.ahl.3);
|
||||||
next.hand_r.position = Vec3::new(s_a.ahr.0, s_a.ahr.1, s_a.ahr.2);
|
next.hand_r.position = Vec3::new(s_a.ahr.0, s_a.ahr.1, s_a.ahr.2);
|
||||||
|
@ -42,7 +42,7 @@ impl Animation for RepeaterAnimation {
|
|||||||
|
|
||||||
fn fire(x: f32) -> f32 { (x * 18.0).sin() }
|
fn fire(x: f32) -> f32 { (x * 18.0).sin() }
|
||||||
|
|
||||||
if let Some(ToolKind::Bow(_)) = active_tool_kind {
|
if let Some(ToolKind::Bow) = active_tool_kind {
|
||||||
next.hand_l.position = Vec3::new(s_a.bhl.0, s_a.bhl.1, s_a.bhl.2);
|
next.hand_l.position = Vec3::new(s_a.bhl.0, s_a.bhl.1, s_a.bhl.2);
|
||||||
next.hand_l.orientation = Quaternion::rotation_x(s_a.bhl.3);
|
next.hand_l.orientation = Quaternion::rotation_x(s_a.bhl.3);
|
||||||
next.hand_r.position = Vec3::new(s_a.bhr.0, s_a.bhr.1, s_a.bhr.2);
|
next.hand_r.position = Vec3::new(s_a.bhr.0, s_a.bhr.1, s_a.bhr.2);
|
||||||
|
@ -187,21 +187,21 @@ impl Animation for RunAnimation {
|
|||||||
next.glider.scale = Vec3::one() * 0.0;
|
next.glider.scale = Vec3::one() * 0.0;
|
||||||
|
|
||||||
match active_tool_kind {
|
match active_tool_kind {
|
||||||
Some(ToolKind::Dagger(_)) => {
|
Some(ToolKind::Dagger) => {
|
||||||
next.main.position = Vec3::new(-4.0, -5.0, 7.0);
|
next.main.position = Vec3::new(-4.0, -5.0, 7.0);
|
||||||
next.main.orientation =
|
next.main.orientation =
|
||||||
Quaternion::rotation_y(0.25 * PI) * Quaternion::rotation_z(1.5 * PI);
|
Quaternion::rotation_y(0.25 * PI) * Quaternion::rotation_z(1.5 * PI);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Shield(_)) => {
|
Some(ToolKind::Shield) => {
|
||||||
next.main.position = Vec3::new(-0.0, -5.0, 3.0);
|
next.main.position = Vec3::new(-0.0, -5.0, 3.0);
|
||||||
next.main.orientation =
|
next.main.orientation =
|
||||||
Quaternion::rotation_y(0.25 * PI) * Quaternion::rotation_z(-1.5 * PI);
|
Quaternion::rotation_y(0.25 * PI) * Quaternion::rotation_z(-1.5 * PI);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Staff(_)) | Some(ToolKind::Sceptre(_)) => {
|
Some(ToolKind::Staff) | Some(ToolKind::Sceptre) => {
|
||||||
next.main.position = Vec3::new(2.0, -5.0, -1.0);
|
next.main.position = Vec3::new(2.0, -5.0, -1.0);
|
||||||
next.main.orientation = Quaternion::rotation_y(-0.5) * Quaternion::rotation_z(1.57);
|
next.main.orientation = Quaternion::rotation_y(-0.5) * Quaternion::rotation_z(1.57);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Bow(_)) => {
|
Some(ToolKind::Bow) => {
|
||||||
next.main.position = Vec3::new(0.0, -5.0, 6.0);
|
next.main.position = Vec3::new(0.0, -5.0, 6.0);
|
||||||
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||||
},
|
},
|
||||||
@ -213,12 +213,12 @@ impl Animation for RunAnimation {
|
|||||||
}
|
}
|
||||||
|
|
||||||
match second_tool_kind {
|
match second_tool_kind {
|
||||||
Some(ToolKind::Dagger(_)) => {
|
Some(ToolKind::Dagger) => {
|
||||||
next.second.position = Vec3::new(4.0, -6.0, 7.0);
|
next.second.position = Vec3::new(4.0, -6.0, 7.0);
|
||||||
next.second.orientation =
|
next.second.orientation =
|
||||||
Quaternion::rotation_y(-0.25 * PI) * Quaternion::rotation_z(-1.5 * PI);
|
Quaternion::rotation_y(-0.25 * PI) * Quaternion::rotation_z(-1.5 * PI);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Shield(_)) => {
|
Some(ToolKind::Shield) => {
|
||||||
next.second.position = Vec3::new(0.0, -4.0, 3.0);
|
next.second.position = Vec3::new(0.0, -4.0, 3.0);
|
||||||
next.second.orientation =
|
next.second.orientation =
|
||||||
Quaternion::rotation_y(-0.25 * PI) * Quaternion::rotation_z(1.5 * PI);
|
Quaternion::rotation_y(-0.25 * PI) * Quaternion::rotation_z(1.5 * PI);
|
||||||
|
@ -55,7 +55,7 @@ impl Animation for ShootAnimation {
|
|||||||
next.shorts.orientation = next.chest.orientation * -0.08;
|
next.shorts.orientation = next.chest.orientation * -0.08;
|
||||||
|
|
||||||
match active_tool_kind {
|
match active_tool_kind {
|
||||||
Some(ToolKind::Staff(_)) | Some(ToolKind::Sceptre(_)) => {
|
Some(ToolKind::Staff) | Some(ToolKind::Sceptre) => {
|
||||||
next.hand_l.position = Vec3::new(s_a.sthl.0, s_a.sthl.1, s_a.sthl.2);
|
next.hand_l.position = Vec3::new(s_a.sthl.0, s_a.sthl.1, s_a.sthl.2);
|
||||||
next.hand_l.orientation = Quaternion::rotation_x(s_a.sthl.3);
|
next.hand_l.orientation = Quaternion::rotation_x(s_a.sthl.3);
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ impl Animation for ShootAnimation {
|
|||||||
* Quaternion::rotation_y(s_a.stc.4)
|
* Quaternion::rotation_y(s_a.stc.4)
|
||||||
* Quaternion::rotation_z(s_a.stc.5 + exp * 1.5);
|
* Quaternion::rotation_z(s_a.stc.5 + exp * 1.5);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Bow(_)) => {
|
Some(ToolKind::Bow) => {
|
||||||
next.hand_l.position = Vec3::new(
|
next.hand_l.position = Vec3::new(
|
||||||
s_a.bhl.0 - exp * 2.0,
|
s_a.bhl.0 - exp * 2.0,
|
||||||
s_a.bhl.1 - exp * 4.0,
|
s_a.bhl.1 - exp * 4.0,
|
||||||
|
@ -54,7 +54,7 @@ impl Animation for SpinAnimation {
|
|||||||
|
|
||||||
next.head.position = Vec3::new(0.0, s_a.head.0, s_a.head.1);
|
next.head.position = Vec3::new(0.0, s_a.head.0, s_a.head.1);
|
||||||
|
|
||||||
if let Some(ToolKind::Sword(_)) = active_tool_kind {
|
if let Some(ToolKind::Sword) = active_tool_kind {
|
||||||
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
||||||
next.main.orientation = Quaternion::rotation_x(0.0);
|
next.main.orientation = Quaternion::rotation_x(0.0);
|
||||||
|
|
||||||
@ -98,8 +98,7 @@ impl Animation for SpinAnimation {
|
|||||||
next.torso.orientation = Quaternion::rotation_z(movement2 * 6.28);
|
next.torso.orientation = Quaternion::rotation_z(movement2 * 6.28);
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Some(ToolKind::Axe(_) | ToolKind::Hammer(_) | ToolKind::Dagger(_)) = active_tool_kind
|
if let Some(ToolKind::Axe | ToolKind::Hammer | ToolKind::Dagger) = active_tool_kind {
|
||||||
{
|
|
||||||
next.hand_l.position = Vec3::new(-0.75, -1.0, -2.5);
|
next.hand_l.position = Vec3::new(-0.75, -1.0, -2.5);
|
||||||
next.hand_l.orientation = Quaternion::rotation_x(1.27);
|
next.hand_l.orientation = Quaternion::rotation_x(1.27);
|
||||||
next.hand_r.position = Vec3::new(0.75, -1.5, -5.5);
|
next.hand_r.position = Vec3::new(0.75, -1.5, -5.5);
|
||||||
|
@ -62,7 +62,7 @@ impl Animation for SpinMeleeAnimation {
|
|||||||
let quick = (anim_time as f32 * lab as f32 * 8.0).sin();
|
let quick = (anim_time as f32 * lab as f32 * 8.0).sin();
|
||||||
|
|
||||||
match active_tool_kind {
|
match active_tool_kind {
|
||||||
Some(ToolKind::Sword(_)) => {
|
Some(ToolKind::Sword) => {
|
||||||
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
||||||
next.main.orientation = Quaternion::rotation_x(0.0);
|
next.main.orientation = Quaternion::rotation_x(0.0);
|
||||||
|
|
||||||
@ -90,7 +90,7 @@ impl Animation for SpinMeleeAnimation {
|
|||||||
next.belt.orientation = Quaternion::rotation_x(0.1);
|
next.belt.orientation = Quaternion::rotation_x(0.1);
|
||||||
next.shorts.orientation = Quaternion::rotation_x(0.2);
|
next.shorts.orientation = Quaternion::rotation_x(0.2);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Axe(_)) => {
|
Some(ToolKind::Axe) => {
|
||||||
next.hand_l.position = Vec3::new(-0.5, 0.0, 4.0);
|
next.hand_l.position = Vec3::new(-0.5, 0.0, 4.0);
|
||||||
next.hand_l.orientation =
|
next.hand_l.orientation =
|
||||||
Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_y(PI);
|
Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_y(PI);
|
||||||
|
@ -96,21 +96,21 @@ impl Animation for StandAnimation {
|
|||||||
next.glider.scale = Vec3::one() * 0.0;
|
next.glider.scale = Vec3::one() * 0.0;
|
||||||
next.hold.position = Vec3::new(0.4, -0.3, -5.8);
|
next.hold.position = Vec3::new(0.4, -0.3, -5.8);
|
||||||
match active_tool_kind {
|
match active_tool_kind {
|
||||||
Some(ToolKind::Dagger(_)) => {
|
Some(ToolKind::Dagger) => {
|
||||||
next.main.position = Vec3::new(-4.0, -5.0, 7.0);
|
next.main.position = Vec3::new(-4.0, -5.0, 7.0);
|
||||||
next.main.orientation =
|
next.main.orientation =
|
||||||
Quaternion::rotation_y(0.25 * PI) * Quaternion::rotation_z(1.5 * PI);
|
Quaternion::rotation_y(0.25 * PI) * Quaternion::rotation_z(1.5 * PI);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Shield(_)) => {
|
Some(ToolKind::Shield) => {
|
||||||
next.main.position = Vec3::new(-0.0, -5.0, 3.0);
|
next.main.position = Vec3::new(-0.0, -5.0, 3.0);
|
||||||
next.main.orientation =
|
next.main.orientation =
|
||||||
Quaternion::rotation_y(0.25 * PI) * Quaternion::rotation_z(-1.5 * PI);
|
Quaternion::rotation_y(0.25 * PI) * Quaternion::rotation_z(-1.5 * PI);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Bow(_)) => {
|
Some(ToolKind::Bow) => {
|
||||||
next.main.position = Vec3::new(0.0, -5.0, 6.0);
|
next.main.position = Vec3::new(0.0, -5.0, 6.0);
|
||||||
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Staff(_)) | Some(ToolKind::Sceptre(_)) => {
|
Some(ToolKind::Staff) | Some(ToolKind::Sceptre) => {
|
||||||
next.main.position = Vec3::new(2.0, -5.0, -1.0);
|
next.main.position = Vec3::new(2.0, -5.0, -1.0);
|
||||||
next.main.orientation = Quaternion::rotation_y(-0.5) * Quaternion::rotation_z(1.57);
|
next.main.orientation = Quaternion::rotation_y(-0.5) * Quaternion::rotation_z(1.57);
|
||||||
},
|
},
|
||||||
@ -121,12 +121,12 @@ impl Animation for StandAnimation {
|
|||||||
}
|
}
|
||||||
|
|
||||||
match second_tool_kind {
|
match second_tool_kind {
|
||||||
Some(ToolKind::Dagger(_)) => {
|
Some(ToolKind::Dagger) => {
|
||||||
next.second.position = Vec3::new(4.0, -6.0, 7.0);
|
next.second.position = Vec3::new(4.0, -6.0, 7.0);
|
||||||
next.second.orientation =
|
next.second.orientation =
|
||||||
Quaternion::rotation_y(-0.25 * PI) * Quaternion::rotation_z(-1.5 * PI);
|
Quaternion::rotation_y(-0.25 * PI) * Quaternion::rotation_z(-1.5 * PI);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Shield(_)) => {
|
Some(ToolKind::Shield) => {
|
||||||
next.second.position = Vec3::new(0.0, -4.0, 3.0);
|
next.second.position = Vec3::new(0.0, -4.0, 3.0);
|
||||||
next.second.orientation =
|
next.second.orientation =
|
||||||
Quaternion::rotation_y(-0.25 * PI) * Quaternion::rotation_z(1.5 * PI);
|
Quaternion::rotation_y(-0.25 * PI) * Quaternion::rotation_z(1.5 * PI);
|
||||||
|
@ -168,21 +168,21 @@ impl Animation for SwimAnimation {
|
|||||||
next.glider.scale = Vec3::one() * 0.0;
|
next.glider.scale = Vec3::one() * 0.0;
|
||||||
|
|
||||||
match active_tool_kind {
|
match active_tool_kind {
|
||||||
Some(ToolKind::Dagger(_)) => {
|
Some(ToolKind::Dagger) => {
|
||||||
next.main.position = Vec3::new(-4.0, -5.0, 7.0);
|
next.main.position = Vec3::new(-4.0, -5.0, 7.0);
|
||||||
next.main.orientation =
|
next.main.orientation =
|
||||||
Quaternion::rotation_y(0.25 * PI) * Quaternion::rotation_z(1.5 * PI);
|
Quaternion::rotation_y(0.25 * PI) * Quaternion::rotation_z(1.5 * PI);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Shield(_)) => {
|
Some(ToolKind::Shield) => {
|
||||||
next.main.position = Vec3::new(-0.0, -5.0, 3.0);
|
next.main.position = Vec3::new(-0.0, -5.0, 3.0);
|
||||||
next.main.orientation =
|
next.main.orientation =
|
||||||
Quaternion::rotation_y(0.25 * PI) * Quaternion::rotation_z(-1.5 * PI);
|
Quaternion::rotation_y(0.25 * PI) * Quaternion::rotation_z(-1.5 * PI);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Staff(_)) | Some(ToolKind::Sceptre(_)) => {
|
Some(ToolKind::Staff) | Some(ToolKind::Sceptre) => {
|
||||||
next.main.position = Vec3::new(2.0, -5.0, -1.0);
|
next.main.position = Vec3::new(2.0, -5.0, -1.0);
|
||||||
next.main.orientation = Quaternion::rotation_y(-0.5) * Quaternion::rotation_z(1.57);
|
next.main.orientation = Quaternion::rotation_y(-0.5) * Quaternion::rotation_z(1.57);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Bow(_)) => {
|
Some(ToolKind::Bow) => {
|
||||||
next.main.position = Vec3::new(0.0, -5.0, 6.0);
|
next.main.position = Vec3::new(0.0, -5.0, 6.0);
|
||||||
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||||
},
|
},
|
||||||
@ -193,12 +193,12 @@ impl Animation for SwimAnimation {
|
|||||||
}
|
}
|
||||||
|
|
||||||
match second_tool_kind {
|
match second_tool_kind {
|
||||||
Some(ToolKind::Dagger(_)) => {
|
Some(ToolKind::Dagger) => {
|
||||||
next.second.position = Vec3::new(4.0, -6.0, 7.0);
|
next.second.position = Vec3::new(4.0, -6.0, 7.0);
|
||||||
next.second.orientation =
|
next.second.orientation =
|
||||||
Quaternion::rotation_y(-0.25 * PI) * Quaternion::rotation_z(-1.5 * PI);
|
Quaternion::rotation_y(-0.25 * PI) * Quaternion::rotation_z(-1.5 * PI);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Shield(_)) => {
|
Some(ToolKind::Shield) => {
|
||||||
next.second.position = Vec3::new(0.0, -4.0, 3.0);
|
next.second.position = Vec3::new(0.0, -4.0, 3.0);
|
||||||
next.second.orientation =
|
next.second.orientation =
|
||||||
Quaternion::rotation_y(-0.25 * PI) * Quaternion::rotation_z(1.5 * PI);
|
Quaternion::rotation_y(-0.25 * PI) * Quaternion::rotation_z(1.5 * PI);
|
||||||
|
@ -124,7 +124,7 @@ impl Animation for SwimWieldAnimation {
|
|||||||
next.shorts.orientation = Quaternion::rotation_z(0.3);
|
next.shorts.orientation = Quaternion::rotation_z(0.3);
|
||||||
}
|
}
|
||||||
match active_tool_kind {
|
match active_tool_kind {
|
||||||
Some(ToolKind::Sword(_)) => {
|
Some(ToolKind::Sword) => {
|
||||||
next.hand_l.position = Vec3::new(-0.75, -1.0, -2.5);
|
next.hand_l.position = Vec3::new(-0.75, -1.0, -2.5);
|
||||||
next.hand_l.orientation =
|
next.hand_l.orientation =
|
||||||
Quaternion::rotation_x(1.47) * Quaternion::rotation_y(-0.2);
|
Quaternion::rotation_x(1.47) * Quaternion::rotation_y(-0.2);
|
||||||
@ -143,7 +143,7 @@ impl Animation for SwimWieldAnimation {
|
|||||||
* Quaternion::rotation_y(0.0)
|
* Quaternion::rotation_y(0.0)
|
||||||
* Quaternion::rotation_z(u_slowalt * 0.08);
|
* Quaternion::rotation_z(u_slowalt * 0.08);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Dagger(_)) => {
|
Some(ToolKind::Dagger) => {
|
||||||
let hand_scale = 1.12;
|
let hand_scale = 1.12;
|
||||||
|
|
||||||
next.control.position = Vec3::new(0.0, 0.0, 0.0);
|
next.control.position = Vec3::new(0.0, 0.0, 0.0);
|
||||||
@ -174,7 +174,7 @@ impl Animation for SwimWieldAnimation {
|
|||||||
|
|
||||||
next.control_r.position = Vec3::new(7.0, 0.0, 0.0);
|
next.control_r.position = Vec3::new(7.0, 0.0, 0.0);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Axe(_)) => {
|
Some(ToolKind::Axe) => {
|
||||||
if velocity < 0.5 {
|
if velocity < 0.5 {
|
||||||
next.head.position =
|
next.head.position =
|
||||||
Vec3::new(0.0, -3.5 + s_a.head.0, s_a.head.1 + u_slow * 0.1);
|
Vec3::new(0.0, -3.5 + s_a.head.0, s_a.head.1 + u_slow * 0.1);
|
||||||
@ -216,7 +216,7 @@ impl Animation for SwimWieldAnimation {
|
|||||||
|
|
||||||
next.control.position = Vec3::new(-3.0, 11.0, 3.0);
|
next.control.position = Vec3::new(-3.0, 11.0, 3.0);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Hammer(_)) => {
|
Some(ToolKind::Hammer) => {
|
||||||
next.hand_l.position = Vec3::new(-12.0, 0.0, 0.0);
|
next.hand_l.position = Vec3::new(-12.0, 0.0, 0.0);
|
||||||
next.hand_l.orientation =
|
next.hand_l.orientation =
|
||||||
Quaternion::rotation_x(-0.0) * Quaternion::rotation_y(0.0);
|
Quaternion::rotation_x(-0.0) * Quaternion::rotation_y(0.0);
|
||||||
@ -234,7 +234,7 @@ impl Animation for SwimWieldAnimation {
|
|||||||
* Quaternion::rotation_y(0.0)
|
* Quaternion::rotation_y(0.0)
|
||||||
* Quaternion::rotation_z(u_slowalt * 0.08);
|
* Quaternion::rotation_z(u_slowalt * 0.08);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Staff(_)) | Some(ToolKind::Sceptre(_)) => {
|
Some(ToolKind::Staff) | Some(ToolKind::Sceptre) => {
|
||||||
next.hand_l.position = Vec3::new(1.5, 0.5, -4.0);
|
next.hand_l.position = Vec3::new(1.5, 0.5, -4.0);
|
||||||
next.hand_l.orientation =
|
next.hand_l.orientation =
|
||||||
Quaternion::rotation_x(1.47) * Quaternion::rotation_y(-0.3);
|
Quaternion::rotation_x(1.47) * Quaternion::rotation_y(-0.3);
|
||||||
@ -254,7 +254,7 @@ impl Animation for SwimWieldAnimation {
|
|||||||
* Quaternion::rotation_y(-0.2)
|
* Quaternion::rotation_y(-0.2)
|
||||||
* Quaternion::rotation_z(u_slowalt * 0.1);
|
* Quaternion::rotation_z(u_slowalt * 0.1);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Shield(_)) => {
|
Some(ToolKind::Shield) => {
|
||||||
let hand_scale = 1.12;
|
let hand_scale = 1.12;
|
||||||
|
|
||||||
next.control.position = Vec3::new(0.0, 0.0, 0.0);
|
next.control.position = Vec3::new(0.0, 0.0, 0.0);
|
||||||
@ -285,7 +285,7 @@ impl Animation for SwimWieldAnimation {
|
|||||||
|
|
||||||
next.control_r.position = Vec3::new(7.0, 0.0, 0.0);
|
next.control_r.position = Vec3::new(7.0, 0.0, 0.0);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Bow(_)) => {
|
Some(ToolKind::Bow) => {
|
||||||
next.hand_l.position = Vec3::new(2.0, 1.5, 0.0);
|
next.hand_l.position = Vec3::new(2.0, 1.5, 0.0);
|
||||||
next.hand_l.orientation = Quaternion::rotation_x(1.20)
|
next.hand_l.orientation = Quaternion::rotation_x(1.20)
|
||||||
* Quaternion::rotation_y(-0.6)
|
* Quaternion::rotation_y(-0.6)
|
||||||
@ -311,7 +311,7 @@ impl Animation for SwimWieldAnimation {
|
|||||||
next.control.orientation =
|
next.control.orientation =
|
||||||
Quaternion::rotation_x(u_slow * 0.2) * Quaternion::rotation_z(u_slowalt * 0.1);
|
Quaternion::rotation_x(u_slow * 0.2) * Quaternion::rotation_z(u_slowalt * 0.1);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Debug(_)) => {
|
Some(ToolKind::Debug) => {
|
||||||
next.hand_l.position = Vec3::new(-7.0, 4.0, 3.0);
|
next.hand_l.position = Vec3::new(-7.0, 4.0, 3.0);
|
||||||
next.hand_l.orientation = Quaternion::rotation_x(1.27)
|
next.hand_l.orientation = Quaternion::rotation_x(1.27)
|
||||||
* Quaternion::rotation_y(0.0)
|
* Quaternion::rotation_y(0.0)
|
||||||
|
@ -183,7 +183,7 @@ impl Animation for WieldAnimation {
|
|||||||
next.shorts.position = Vec3::new(0.0, s_a.shorts.0, s_a.shorts.1);
|
next.shorts.position = Vec3::new(0.0, s_a.shorts.0, s_a.shorts.1);
|
||||||
}
|
}
|
||||||
match active_tool_kind {
|
match active_tool_kind {
|
||||||
Some(ToolKind::Sword(_)) => {
|
Some(ToolKind::Sword) => {
|
||||||
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
||||||
next.main.orientation = Quaternion::rotation_x(0.0);
|
next.main.orientation = Quaternion::rotation_x(0.0);
|
||||||
|
|
||||||
@ -198,7 +198,7 @@ impl Animation for WieldAnimation {
|
|||||||
next.control.orientation = Quaternion::rotation_x(s_a.sc.3 + u_slow * 0.15)
|
next.control.orientation = Quaternion::rotation_x(s_a.sc.3 + u_slow * 0.15)
|
||||||
* Quaternion::rotation_z(u_slowalt * 0.08);
|
* Quaternion::rotation_z(u_slowalt * 0.08);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Dagger(_)) => {
|
Some(ToolKind::Dagger) => {
|
||||||
next.control.position = Vec3::new(0.0, 0.0, 0.0);
|
next.control.position = Vec3::new(0.0, 0.0, 0.0);
|
||||||
|
|
||||||
next.hand_l.position = Vec3::new(0.0, 0.0, 0.0);
|
next.hand_l.position = Vec3::new(0.0, 0.0, 0.0);
|
||||||
@ -225,7 +225,7 @@ impl Animation for WieldAnimation {
|
|||||||
|
|
||||||
next.control_r.position = Vec3::new(7.0, 0.0, 0.0);
|
next.control_r.position = Vec3::new(7.0, 0.0, 0.0);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Axe(_)) => {
|
Some(ToolKind::Axe) => {
|
||||||
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
||||||
next.main.orientation = Quaternion::rotation_x(0.0);
|
next.main.orientation = Quaternion::rotation_x(0.0);
|
||||||
|
|
||||||
@ -258,7 +258,7 @@ impl Animation for WieldAnimation {
|
|||||||
* Quaternion::rotation_y(s_a.ac.4)
|
* Quaternion::rotation_y(s_a.ac.4)
|
||||||
* Quaternion::rotation_z(s_a.ac.5);
|
* Quaternion::rotation_z(s_a.ac.5);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Hammer(_)) => {
|
Some(ToolKind::Hammer) => {
|
||||||
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
||||||
next.main.orientation = Quaternion::rotation_x(0.0);
|
next.main.orientation = Quaternion::rotation_x(0.0);
|
||||||
next.hand_l.position = Vec3::new(s_a.hhl.0, s_a.hhl.1, s_a.hhl.2);
|
next.hand_l.position = Vec3::new(s_a.hhl.0, s_a.hhl.1, s_a.hhl.2);
|
||||||
@ -277,7 +277,7 @@ impl Animation for WieldAnimation {
|
|||||||
* Quaternion::rotation_y(s_a.hc.4 + speed * -0.04)
|
* Quaternion::rotation_y(s_a.hc.4 + speed * -0.04)
|
||||||
* Quaternion::rotation_z(s_a.hc.5 + u_slowalt * 0.07);
|
* Quaternion::rotation_z(s_a.hc.5 + u_slowalt * 0.07);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Staff(_)) | Some(ToolKind::Sceptre(_)) => {
|
Some(ToolKind::Staff) | Some(ToolKind::Sceptre) => {
|
||||||
if speed > 0.5 && velocity.z == 0.0 {
|
if speed > 0.5 && velocity.z == 0.0 {
|
||||||
next.hand_r.position = Vec3::new(
|
next.hand_r.position = Vec3::new(
|
||||||
4.0 + s_a.hand.0 + foothoril * 1.3,
|
4.0 + s_a.hand.0 + foothoril * 1.3,
|
||||||
@ -304,7 +304,7 @@ impl Animation for WieldAnimation {
|
|||||||
* Quaternion::rotation_y(s_a.stc.4)
|
* Quaternion::rotation_y(s_a.stc.4)
|
||||||
* Quaternion::rotation_z(s_a.stc.5 + u_slowalt * 0.1);
|
* Quaternion::rotation_z(s_a.stc.5 + u_slowalt * 0.1);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Shield(_)) => {
|
Some(ToolKind::Shield) => {
|
||||||
next.control.position = Vec3::new(0.0, 0.0, 0.0);
|
next.control.position = Vec3::new(0.0, 0.0, 0.0);
|
||||||
|
|
||||||
next.hand_l.position = Vec3::new(0.0, 0.0, 0.0);
|
next.hand_l.position = Vec3::new(0.0, 0.0, 0.0);
|
||||||
@ -323,7 +323,7 @@ impl Animation for WieldAnimation {
|
|||||||
|
|
||||||
next.control_r.position = Vec3::new(7.0, 0.0, 0.0);
|
next.control_r.position = Vec3::new(7.0, 0.0, 0.0);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Bow(_)) => {
|
Some(ToolKind::Bow) => {
|
||||||
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
||||||
next.main.orientation = Quaternion::rotation_x(0.0);
|
next.main.orientation = Quaternion::rotation_x(0.0);
|
||||||
next.hand_l.position = Vec3::new(s_a.bhl.0, s_a.bhl.1, s_a.bhl.2);
|
next.hand_l.position = Vec3::new(s_a.bhl.0, s_a.bhl.1, s_a.bhl.2);
|
||||||
@ -340,13 +340,13 @@ impl Animation for WieldAnimation {
|
|||||||
* Quaternion::rotation_y(s_a.bc.4)
|
* Quaternion::rotation_y(s_a.bc.4)
|
||||||
* Quaternion::rotation_z(s_a.bc.5 + u_slowalt * 0.1);
|
* Quaternion::rotation_z(s_a.bc.5 + u_slowalt * 0.1);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Debug(_)) => {
|
Some(ToolKind::Debug) => {
|
||||||
next.hand_l.position = Vec3::new(-7.0, 4.0, 3.0);
|
next.hand_l.position = Vec3::new(-7.0, 4.0, 3.0);
|
||||||
next.hand_l.orientation = Quaternion::rotation_x(1.27);
|
next.hand_l.orientation = Quaternion::rotation_x(1.27);
|
||||||
next.main.position = Vec3::new(-5.0, 5.0, 23.0);
|
next.main.position = Vec3::new(-5.0, 5.0, 23.0);
|
||||||
next.main.orientation = Quaternion::rotation_x(PI);
|
next.main.orientation = Quaternion::rotation_x(PI);
|
||||||
},
|
},
|
||||||
Some(ToolKind::Farming(_)) => {
|
Some(ToolKind::Farming) => {
|
||||||
if speed < 0.5 {
|
if speed < 0.5 {
|
||||||
next.head.orientation = Quaternion::rotation_z(head_look.x)
|
next.head.orientation = Quaternion::rotation_z(head_look.x)
|
||||||
* Quaternion::rotation_x(-0.2 + head_look.y.abs());
|
* Quaternion::rotation_x(-0.2 + head_look.y.abs());
|
||||||
|
@ -78,12 +78,12 @@ impl State {
|
|||||||
use common::comp::item::{tool::ToolKind, ItemKind};
|
use common::comp::item::{tool::ToolKind, ItemKind};
|
||||||
if let ItemKind::Tool(kind) = kind {
|
if let ItemKind::Tool(kind) = kind {
|
||||||
match &kind.kind {
|
match &kind.kind {
|
||||||
ToolKind::Staff(_) => true,
|
ToolKind::Staff => true,
|
||||||
ToolKind::Debug(_) => true,
|
ToolKind::Debug => true,
|
||||||
ToolKind::Sword(_) => true,
|
ToolKind::Sword => true,
|
||||||
ToolKind::Hammer(_) => true,
|
ToolKind::Hammer => true,
|
||||||
ToolKind::Axe(_) => true,
|
ToolKind::Axe => true,
|
||||||
ToolKind::Bow(_) => true,
|
ToolKind::Bow => true,
|
||||||
_ => false,
|
_ => false,
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -526,28 +526,28 @@ impl<'a> Widget for Skillbar<'a> {
|
|||||||
.map(|i| i.item.kind())
|
.map(|i| i.item.kind())
|
||||||
.and_then(|kind| match kind {
|
.and_then(|kind| match kind {
|
||||||
ItemKind::Tool(Tool { kind, .. }) => match kind {
|
ItemKind::Tool(Tool { kind, .. }) => match kind {
|
||||||
ToolKind::Hammer(_) => Some((
|
ToolKind::Hammer => Some((
|
||||||
"Smash of Doom",
|
"Smash of Doom",
|
||||||
"\nAn AOE attack with knockback. \nLeaps to position of \
|
"\nAn AOE attack with knockback. \nLeaps to position of \
|
||||||
cursor.",
|
cursor.",
|
||||||
)),
|
)),
|
||||||
ToolKind::Axe(_) => {
|
ToolKind::Axe => {
|
||||||
Some(("Spin Leap", "\nA slashing running spin leap."))
|
Some(("Spin Leap", "\nA slashing running spin leap."))
|
||||||
},
|
},
|
||||||
ToolKind::Staff(_) => Some((
|
ToolKind::Staff => Some((
|
||||||
"Firebomb",
|
"Firebomb",
|
||||||
"\nWhirls a big fireball into the air. \nExplodes the ground \
|
"\nWhirls a big fireball into the air. \nExplodes the ground \
|
||||||
and does\na big amount of damage",
|
and does\na big amount of damage",
|
||||||
)),
|
)),
|
||||||
ToolKind::Sword(_) => Some((
|
ToolKind::Sword => Some((
|
||||||
"Whirlwind",
|
"Whirlwind",
|
||||||
"\nMove forward while spinning with \n your sword.",
|
"\nMove forward while spinning with \n your sword.",
|
||||||
)),
|
)),
|
||||||
ToolKind::Bow(_) => Some((
|
ToolKind::Bow => Some((
|
||||||
"Burst",
|
"Burst",
|
||||||
"\nLaunches a burst of arrows at the top \nof a running leap.",
|
"\nLaunches a burst of arrows at the top \nof a running leap.",
|
||||||
)),
|
)),
|
||||||
ToolKind::Debug(_) => Some((
|
ToolKind::Debug => Some((
|
||||||
"Possessing Arrow",
|
"Possessing Arrow",
|
||||||
"\nShoots a poisonous arrow.\nLets you control your target.",
|
"\nShoots a poisonous arrow.\nLets you control your target.",
|
||||||
)),
|
)),
|
||||||
@ -623,15 +623,15 @@ impl<'a> Widget for Skillbar<'a> {
|
|||||||
Button::image(
|
Button::image(
|
||||||
match self.loadout.active_item.as_ref().map(|i| i.item.kind()) {
|
match self.loadout.active_item.as_ref().map(|i| i.item.kind()) {
|
||||||
Some(ItemKind::Tool(Tool { kind, .. })) => match kind {
|
Some(ItemKind::Tool(Tool { kind, .. })) => match kind {
|
||||||
ToolKind::Sword(_) => self.imgs.twohsword_m1,
|
ToolKind::Sword => self.imgs.twohsword_m1,
|
||||||
ToolKind::Dagger(_) => self.imgs.onehdagger_m1,
|
ToolKind::Dagger => self.imgs.onehdagger_m1,
|
||||||
ToolKind::Shield(_) => self.imgs.onehshield_m1,
|
ToolKind::Shield => self.imgs.onehshield_m1,
|
||||||
ToolKind::Hammer(_) => self.imgs.twohhammer_m1,
|
ToolKind::Hammer => self.imgs.twohhammer_m1,
|
||||||
ToolKind::Axe(_) => self.imgs.twohaxe_m1,
|
ToolKind::Axe => self.imgs.twohaxe_m1,
|
||||||
ToolKind::Bow(_) => self.imgs.bow_m1,
|
ToolKind::Bow => self.imgs.bow_m1,
|
||||||
ToolKind::Sceptre(_) => self.imgs.heal_0,
|
ToolKind::Sceptre => self.imgs.heal_0,
|
||||||
ToolKind::Staff(_) => self.imgs.fireball,
|
ToolKind::Staff => self.imgs.fireball,
|
||||||
ToolKind::Debug(_) => self.imgs.flyingrod_m1,
|
ToolKind::Debug => self.imgs.flyingrod_m1,
|
||||||
_ => self.imgs.nothing,
|
_ => self.imgs.nothing,
|
||||||
},
|
},
|
||||||
_ => self.imgs.nothing,
|
_ => self.imgs.nothing,
|
||||||
@ -670,36 +670,36 @@ impl<'a> Widget for Skillbar<'a> {
|
|||||||
.middle_of(state.ids.m2_slot)
|
.middle_of(state.ids.m2_slot)
|
||||||
.set(state.ids.m2_slot_bg, ui);
|
.set(state.ids.m2_slot_bg, ui);
|
||||||
Button::image(match tool_kind {
|
Button::image(match tool_kind {
|
||||||
Some(ToolKind::Sword(_)) => self.imgs.twohsword_m2,
|
Some(ToolKind::Sword) => self.imgs.twohsword_m2,
|
||||||
Some(ToolKind::Dagger(_)) => self.imgs.onehdagger_m2,
|
Some(ToolKind::Dagger) => self.imgs.onehdagger_m2,
|
||||||
Some(ToolKind::Shield(_)) => self.imgs.onehshield_m2,
|
Some(ToolKind::Shield) => self.imgs.onehshield_m2,
|
||||||
Some(ToolKind::Hammer(_)) => self.imgs.hammergolf,
|
Some(ToolKind::Hammer) => self.imgs.hammergolf,
|
||||||
Some(ToolKind::Axe(_)) => self.imgs.axespin,
|
Some(ToolKind::Axe) => self.imgs.axespin,
|
||||||
Some(ToolKind::Bow(_)) => self.imgs.bow_m2,
|
Some(ToolKind::Bow) => self.imgs.bow_m2,
|
||||||
Some(ToolKind::Sceptre(_)) => self.imgs.heal_bomb,
|
Some(ToolKind::Sceptre) => self.imgs.heal_bomb,
|
||||||
Some(ToolKind::Staff(_)) => self.imgs.flamethrower,
|
Some(ToolKind::Staff) => self.imgs.flamethrower,
|
||||||
Some(ToolKind::Debug(_)) => self.imgs.flyingrod_m2,
|
Some(ToolKind::Debug) => self.imgs.flyingrod_m2,
|
||||||
_ => self.imgs.nothing,
|
_ => self.imgs.nothing,
|
||||||
})
|
})
|
||||||
.w_h(36.0, 36.0)
|
.w_h(36.0, 36.0)
|
||||||
.middle_of(state.ids.m2_slot_bg)
|
.middle_of(state.ids.m2_slot_bg)
|
||||||
.image_color(match tool_kind {
|
.image_color(match tool_kind {
|
||||||
// TODO Automate this to grey out unavailable M2 skills
|
// TODO Automate this to grey out unavailable M2 skills
|
||||||
Some(ToolKind::Sword(_)) => {
|
Some(ToolKind::Sword) => {
|
||||||
if self.energy.current() as f64 >= 200.0 {
|
if self.energy.current() as f64 >= 200.0 {
|
||||||
Color::Rgba(1.0, 1.0, 1.0, 1.0)
|
Color::Rgba(1.0, 1.0, 1.0, 1.0)
|
||||||
} else {
|
} else {
|
||||||
Color::Rgba(0.3, 0.3, 0.3, 0.8)
|
Color::Rgba(0.3, 0.3, 0.3, 0.8)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
Some(ToolKind::Sceptre(_)) => {
|
Some(ToolKind::Sceptre) => {
|
||||||
if self.energy.current() as f64 >= 400.0 {
|
if self.energy.current() as f64 >= 400.0 {
|
||||||
Color::Rgba(1.0, 1.0, 1.0, 1.0)
|
Color::Rgba(1.0, 1.0, 1.0, 1.0)
|
||||||
} else {
|
} else {
|
||||||
Color::Rgba(0.3, 0.3, 0.3, 0.8)
|
Color::Rgba(0.3, 0.3, 0.3, 0.8)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
Some(ToolKind::Axe(_)) => {
|
Some(ToolKind::Axe) => {
|
||||||
if self.energy.current() as f64 >= 100.0 {
|
if self.energy.current() as f64 >= 100.0 {
|
||||||
Color::Rgba(1.0, 1.0, 1.0, 1.0)
|
Color::Rgba(1.0, 1.0, 1.0, 1.0)
|
||||||
} else {
|
} else {
|
||||||
|
@ -112,12 +112,12 @@ impl<'a> SlotKey<HotbarSource<'a>, HotbarImageSource<'a>> for HotbarSlot {
|
|||||||
.and_then(|kind| {
|
.and_then(|kind| {
|
||||||
match kind {
|
match kind {
|
||||||
ItemKind::Tool(Tool { kind, .. }) => match kind {
|
ItemKind::Tool(Tool { kind, .. }) => match kind {
|
||||||
ToolKind::Staff(_) => Some(HotbarImage::FireAoe),
|
ToolKind::Staff => Some(HotbarImage::FireAoe),
|
||||||
ToolKind::Hammer(_) => Some(HotbarImage::HammerLeap),
|
ToolKind::Hammer => Some(HotbarImage::HammerLeap),
|
||||||
ToolKind::Axe(_) => Some(HotbarImage::AxeLeapSlash),
|
ToolKind::Axe => Some(HotbarImage::AxeLeapSlash),
|
||||||
ToolKind::Bow(_) => Some(HotbarImage::BowJumpBurst),
|
ToolKind::Bow => Some(HotbarImage::BowJumpBurst),
|
||||||
ToolKind::Debug(_) => Some(HotbarImage::SnakeArrow),
|
ToolKind::Debug => Some(HotbarImage::SnakeArrow),
|
||||||
ToolKind::Sword(_) => Some(HotbarImage::SwordWhirlwind),
|
ToolKind::Sword => Some(HotbarImage::SwordWhirlwind),
|
||||||
_ => None,
|
_ => None,
|
||||||
},
|
},
|
||||||
_ => None,
|
_ => None,
|
||||||
|
@ -84,17 +84,17 @@ fn armor_desc(armor: &Armor, desc: &str) -> String {
|
|||||||
fn tool_desc(tool: &Tool, desc: &str) -> String {
|
fn tool_desc(tool: &Tool, desc: &str) -> String {
|
||||||
// TODO: localization
|
// TODO: localization
|
||||||
let kind = match tool.kind {
|
let kind = match tool.kind {
|
||||||
ToolKind::Sword(_) => "Sword",
|
ToolKind::Sword => "Sword",
|
||||||
ToolKind::Axe(_) => "Axe",
|
ToolKind::Axe => "Axe",
|
||||||
ToolKind::Hammer(_) => "Hammer",
|
ToolKind::Hammer => "Hammer",
|
||||||
ToolKind::Bow(_) => "Bow",
|
ToolKind::Bow => "Bow",
|
||||||
ToolKind::Dagger(_) => "Dagger",
|
ToolKind::Dagger => "Dagger",
|
||||||
ToolKind::Staff(_) => "Staff",
|
ToolKind::Staff => "Staff",
|
||||||
ToolKind::Sceptre(_) => "Sceptre",
|
ToolKind::Sceptre => "Sceptre",
|
||||||
ToolKind::Shield(_) => "Shield",
|
ToolKind::Shield => "Shield",
|
||||||
ToolKind::NpcWeapon(_) => "Npc Weapon",
|
ToolKind::Unique(_) => "Unique",
|
||||||
ToolKind::Debug(_) => "Debug",
|
ToolKind::Debug => "Debug",
|
||||||
ToolKind::Farming(_) => "Farming Tool",
|
ToolKind::Farming => "Farming Tool",
|
||||||
ToolKind::Empty => "Empty",
|
ToolKind::Empty => "Empty",
|
||||||
};
|
};
|
||||||
let power = tool.base_power();
|
let power = tool.base_power();
|
||||||
|
@ -1024,7 +1024,7 @@ impl FigureMgr {
|
|||||||
},
|
},
|
||||||
CharacterState::LeapMelee(s) => {
|
CharacterState::LeapMelee(s) => {
|
||||||
let stage_progress = match active_tool_kind {
|
let stage_progress = match active_tool_kind {
|
||||||
Some(ToolKind::Axe(_) | ToolKind::Hammer(_)) => {
|
Some(ToolKind::Axe | ToolKind::Hammer) => {
|
||||||
let stage_time = s.timer.as_secs_f64();
|
let stage_time = s.timer.as_secs_f64();
|
||||||
match s.stage_section {
|
match s.stage_section {
|
||||||
StageSection::Buildup => {
|
StageSection::Buildup => {
|
||||||
@ -1064,7 +1064,7 @@ impl FigureMgr {
|
|||||||
},
|
},
|
||||||
CharacterState::SpinMelee(s) => {
|
CharacterState::SpinMelee(s) => {
|
||||||
let stage_progress = match active_tool_kind {
|
let stage_progress = match active_tool_kind {
|
||||||
Some(ToolKind::Sword(_)) => {
|
Some(ToolKind::Sword) => {
|
||||||
let stage_time = s.timer.as_secs_f64();
|
let stage_time = s.timer.as_secs_f64();
|
||||||
match s.stage_section {
|
match s.stage_section {
|
||||||
StageSection::Buildup => {
|
StageSection::Buildup => {
|
||||||
@ -2439,7 +2439,7 @@ impl FigureMgr {
|
|||||||
},
|
},
|
||||||
CharacterState::SpinMelee(s) => {
|
CharacterState::SpinMelee(s) => {
|
||||||
let stage_progress = match active_tool_kind {
|
let stage_progress = match active_tool_kind {
|
||||||
Some(ToolKind::Sword(_)) => {
|
Some(ToolKind::Sword) => {
|
||||||
let stage_time = s.timer.as_secs_f64();
|
let stage_time = s.timer.as_secs_f64();
|
||||||
match s.stage_section {
|
match s.stage_section {
|
||||||
StageSection::Buildup => {
|
StageSection::Buildup => {
|
||||||
@ -2475,7 +2475,7 @@ impl FigureMgr {
|
|||||||
},
|
},
|
||||||
CharacterState::LeapMelee(s) => {
|
CharacterState::LeapMelee(s) => {
|
||||||
let stage_progress = match active_tool_kind {
|
let stage_progress = match active_tool_kind {
|
||||||
Some(ToolKind::Axe(_) | ToolKind::Hammer(_)) => {
|
Some(ToolKind::Axe | ToolKind::Hammer) => {
|
||||||
let stage_time = s.timer.as_secs_f64();
|
let stage_time = s.timer.as_secs_f64();
|
||||||
match s.stage_section {
|
match s.stage_section {
|
||||||
StageSection::Buildup => {
|
StageSection::Buildup => {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user