mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Wide wallop
This commit is contained in:
parent
bddced1ab7
commit
af755197bb
@ -194,8 +194,7 @@
|
|||||||
Tool(Hammer): (
|
Tool(Hammer): (
|
||||||
guard: Some(Simple(None, "common.abilities.hammer.basic_guard")),
|
guard: Some(Simple(None, "common.abilities.hammer.basic_guard")),
|
||||||
primary: Simple(None, "common.abilities.hammer.solid_smash"),
|
primary: Simple(None, "common.abilities.hammer.solid_smash"),
|
||||||
secondary: Simple(None, "common.abilities.hammer.basic_guard"),
|
secondary: Simple(None, "common.abilities.hammer.wide_wallop"),
|
||||||
// secondary: Simple(None, "common.abilities.hammer.wide_wallop"),
|
|
||||||
abilities: [
|
abilities: [
|
||||||
// Simple(Hammer(ScornfulSwipe), "common.abilities.hammer.scornful_swipe"),
|
// Simple(Hammer(ScornfulSwipe), "common.abilities.hammer.scornful_swipe"),
|
||||||
// Simple(Hammer(Tremor), "common.abilities.hammer.tremor"),
|
// Simple(Hammer(Tremor), "common.abilities.hammer.tremor"),
|
||||||
|
25
assets/common/abilities/hammer/wide_wallop.ron
Normal file
25
assets/common/abilities/hammer/wide_wallop.ron
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
ChargedMelee(
|
||||||
|
energy_cost: 0,
|
||||||
|
energy_drain: 0,
|
||||||
|
melee_constructor: (
|
||||||
|
kind: Bash(
|
||||||
|
damage: 0,
|
||||||
|
poise: 0,
|
||||||
|
knockback: 0,
|
||||||
|
energy_regen: 0,
|
||||||
|
),
|
||||||
|
scaled: Some((
|
||||||
|
kind: Bash(
|
||||||
|
damage: 20,
|
||||||
|
poise: 30,
|
||||||
|
knockback: 20,
|
||||||
|
energy_regen: 30,
|
||||||
|
))),
|
||||||
|
range: 4.5,
|
||||||
|
angle: 15.0,
|
||||||
|
),
|
||||||
|
charge_duration: 0.6,
|
||||||
|
swing_duration: 0.2,
|
||||||
|
hit_timing: 0.5,
|
||||||
|
recover_duration: 0.5,
|
||||||
|
)
|
BIN
assets/voxygen/element/skills/hammer/wide_wallop.png
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/element/skills/hammer/wide_wallop.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -380,3 +380,6 @@ common-abilities-axe-capsize = Capsize
|
|||||||
common-abilities-hammer-solid_smash = Solid Smash
|
common-abilities-hammer-solid_smash = Solid Smash
|
||||||
.desc =
|
.desc =
|
||||||
A solid smash, that'll hurt
|
A solid smash, that'll hurt
|
||||||
|
common-abilities-hammer-wide_wallop = Wide Wallop
|
||||||
|
.desc =
|
||||||
|
Pull back and send them flying
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
use super::{
|
use super::{
|
||||||
super::{vek::*, Animation},
|
super::{vek::*, Animation},
|
||||||
CharacterSkeleton, SkeletonAttr,
|
hammer_start, twist_back, twist_forward, CharacterSkeleton, SkeletonAttr,
|
||||||
};
|
};
|
||||||
use common::states::utils::StageSection;
|
use common::states::utils::StageSection;
|
||||||
use core::f32::consts::{PI, TAU};
|
use core::f32::consts::{PI, TAU};
|
||||||
@ -262,6 +262,27 @@ impl Animation for ChargeswingAnimation {
|
|||||||
next.control.orientation.rotate_x(move2 * -3.0);
|
next.control.orientation.rotate_x(move2 * -3.0);
|
||||||
next.control.position += Vec3::new(0.0, move2 * 8.0, move2 * -30.0);
|
next.control.position += Vec3::new(0.0, move2 * 8.0, move2 * -30.0);
|
||||||
},
|
},
|
||||||
|
Some("common.abilities.hammer.wide_wallop") => {
|
||||||
|
hammer_start(&mut next, s_a);
|
||||||
|
let (move1, move2, move3, tension) = match stage_section {
|
||||||
|
StageSection::Charge => (anim_time.min(1.0), 0.0, 0.0, (anim_time * 7.0).sin()),
|
||||||
|
StageSection::Action => (1.0, anim_time, 0.0, 0.0),
|
||||||
|
StageSection::Recover => (1.0, 1.0, anim_time, 0.0),
|
||||||
|
_ => (0.0, 0.0, 0.0, 0.0),
|
||||||
|
};
|
||||||
|
let pullback = 1.0 - move3;
|
||||||
|
let move1 = move1 * pullback;
|
||||||
|
let move2 = move2 * pullback;
|
||||||
|
|
||||||
|
next.control.orientation.rotate_x(move1 * 1.1 + move2 * 0.6);
|
||||||
|
twist_back(&mut next, move1 + tension / 25.0, 1.7, 0.7, 0.3, 1.1);
|
||||||
|
next.control.orientation.rotate_y(move1 * -0.8);
|
||||||
|
next.control.position += Vec3::new(0.0, 0.0, 6.0) * move1;
|
||||||
|
|
||||||
|
twist_forward(&mut next, move2, 4.8, 1.7, 0.7, 3.2);
|
||||||
|
next.control.orientation.rotate_y(move2 * 2.0);
|
||||||
|
next.control.orientation.rotate_z(move2 * -1.8);
|
||||||
|
},
|
||||||
_ => {},
|
_ => {},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -316,6 +316,7 @@ image_ids! {
|
|||||||
axe_capsize: "voxygen.element.skills.axe.capsize",
|
axe_capsize: "voxygen.element.skills.axe.capsize",
|
||||||
// Hammer
|
// Hammer
|
||||||
hammer_solid_smash: "voxygen.element.skills.hammer.solid_smash",
|
hammer_solid_smash: "voxygen.element.skills.hammer.solid_smash",
|
||||||
|
hammer_wide_wallop: "voxygen.element.skills.hammer.wide_wallop",
|
||||||
// Skilltree Icons
|
// Skilltree Icons
|
||||||
health_plus_skill: "voxygen.element.skills.skilltree.health_plus",
|
health_plus_skill: "voxygen.element.skills.skilltree.health_plus",
|
||||||
energy_plus_skill: "voxygen.element.skills.skilltree.energy_plus",
|
energy_plus_skill: "voxygen.element.skills.skilltree.energy_plus",
|
||||||
|
@ -620,6 +620,7 @@ pub fn ability_image(imgs: &img_ids::Imgs, ability_id: &str) -> image::Id {
|
|||||||
"common.abilities.axe.capsize" => imgs.axe_capsize,
|
"common.abilities.axe.capsize" => imgs.axe_capsize,
|
||||||
// Hammer
|
// Hammer
|
||||||
"common.abilities.hammer.solid_smash" => imgs.hammer_solid_smash,
|
"common.abilities.hammer.solid_smash" => imgs.hammer_solid_smash,
|
||||||
|
"common.abilities.hammer.wide_wallop" => imgs.hammer_wide_wallop,
|
||||||
// Bow
|
// Bow
|
||||||
"common.abilities.bow.charged" => imgs.bow_m1,
|
"common.abilities.bow.charged" => imgs.bow_m1,
|
||||||
"common.abilities.bow.repeater" => imgs.bow_m2,
|
"common.abilities.bow.repeater" => imgs.bow_m2,
|
||||||
|
Loading…
Reference in New Issue
Block a user