diff --git a/assets/common/abilities/sword/airslash_combo.ron b/assets/common/abilities/sword/airslash_combo.ron index d311941ad4..2cb7ea5750 100644 --- a/assets/common/abilities/sword/airslash_combo.ron +++ b/assets/common/abilities/sword/airslash_combo.ron @@ -1,25 +1,45 @@ -// TODO: Make actual ability, just for testing right now -BasicMelee( - energy_cost: 50, - buildup_duration: 0.3, - swing_duration: 0.1, - recover_duration: 0.2, - melee_constructor: ( - kind: Stab( - damage: 10, - poise: 0, - knockback: 0, - energy_regen: 0, +ComboMelee2( + strikes: [ + ( + melee_constructor: ( + kind: Slash( + damage: 5, + poise: 0, + knockback: 0, + energy_regen: 5, + ), + range: 8.0, + angle: 45.0, + multi_target: true, + ), + buildup_duration: 0.3, + swing_duration: 0.1, + hit_timing: 0.5, + recover_duration: 0.5, + ori_modifier: 0.6, ), - range: 5.0, - angle: 10.0, - ), - ori_modifier: 1.0, + ( + melee_constructor: ( + kind: Slash( + damage: 7, + poise: 0, + knockback: 0, + energy_regen: 10, + ), + range: 8.0, + angle: 45.0, + multi_target: true, + ), + buildup_duration: 0.3, + swing_duration: 0.1, + hit_timing: 0.5, + recover_duration: 0.3, + ori_modifier: 0.6, + ), + ], + is_stance: true, + energy_cost_per_strike: 10, meta: ( - kind: Some(Sword(Balanced)), - capabilities: ( - // Block - bits: 0b00000010, - ), + kind: Some(Sword(AirSlash)), ), -) +) \ No newline at end of file diff --git a/assets/common/abilities/sword/airslash_horizontal.ron b/assets/common/abilities/sword/airslash_horizontal.ron index d311941ad4..218572e99a 100644 --- a/assets/common/abilities/sword/airslash_horizontal.ron +++ b/assets/common/abilities/sword/airslash_horizontal.ron @@ -1,25 +1,20 @@ -// TODO: Make actual ability, just for testing right now -BasicMelee( - energy_cost: 50, - buildup_duration: 0.3, +Shockwave( + energy_cost: 30, + buildup_duration: 0.2, swing_duration: 0.1, - recover_duration: 0.2, - melee_constructor: ( - kind: Stab( - damage: 10, - poise: 0, - knockback: 0, - energy_regen: 0, - ), - range: 5.0, - angle: 10.0, - ), - ori_modifier: 1.0, + recover_duration: 0.4, + damage: 10, + poise_damage: 0, + knockback: (strength: 0, direction: Away), + shockwave_angle: 120.0, + shockwave_vertical_angle: 5.0, + shockwave_speed: 8.0, + shockwave_duration: 2.5, + requires_ground: false, + move_efficiency: 0.3, + damage_kind: Slashing, + specifier: AirSlash, meta: ( - kind: Some(Sword(Balanced)), - capabilities: ( - // Block - bits: 0b00000010, - ), + kind: Some(Sword(AirSlash)), ), ) diff --git a/assets/common/abilities/sword/airslash_vertical.ron b/assets/common/abilities/sword/airslash_vertical.ron index d311941ad4..84a33ede08 100644 --- a/assets/common/abilities/sword/airslash_vertical.ron +++ b/assets/common/abilities/sword/airslash_vertical.ron @@ -1,25 +1,20 @@ -// TODO: Make actual ability, just for testing right now -BasicMelee( - energy_cost: 50, - buildup_duration: 0.3, +Shockwave( + energy_cost: 30, + buildup_duration: 0.2, swing_duration: 0.1, - recover_duration: 0.2, - melee_constructor: ( - kind: Stab( - damage: 10, - poise: 0, - knockback: 0, - energy_regen: 0, - ), - range: 5.0, - angle: 10.0, - ), - ori_modifier: 1.0, + recover_duration: 0.4, + damage: 16, + poise_damage: 0, + knockback: (strength: 0, direction: Away), + shockwave_angle: 10.0, + shockwave_vertical_angle: 90.0, + shockwave_speed: 10.0, + shockwave_duration: 2.5, + requires_ground: false, + move_efficiency: 0.3, + damage_kind: Slashing, + specifier: AirSlash, meta: ( - kind: Some(Sword(Balanced)), - capabilities: ( - // Block - bits: 0b00000010, - ), + kind: Some(Sword(AirSlash)), ), ) diff --git a/assets/common/abilities/sword/airslash_whirlwind.ron b/assets/common/abilities/sword/airslash_whirlwind.ron index d311941ad4..90d7346d28 100644 --- a/assets/common/abilities/sword/airslash_whirlwind.ron +++ b/assets/common/abilities/sword/airslash_whirlwind.ron @@ -1,25 +1,21 @@ -// TODO: Make actual ability, just for testing right now -BasicMelee( - energy_cost: 50, - buildup_duration: 0.3, - swing_duration: 0.1, - recover_duration: 0.2, +RapidMelee( + buildup_duration: 0.4, + swing_duration: 0.5, + recover_duration: 0.6, melee_constructor: ( - kind: Stab( - damage: 10, + kind: Slash( + damage: 6, poise: 0, knockback: 0, - energy_regen: 0, + energy_regen: 5, ), - range: 5.0, - angle: 10.0, + range: 7.5, + angle: 360.0, + multi_target: true, ), - ori_modifier: 1.0, + energy_cost: 10, + max_strikes: 6, meta: ( - kind: Some(Sword(Balanced)), - capabilities: ( - // Block - bits: 0b00000010, - ), + kind: Some(Sword(AirSlash)), ), ) diff --git a/common/src/comp/shockwave.rs b/common/src/comp/shockwave.rs index 3d6fecce76..f9235a1716 100644 --- a/common/src/comp/shockwave.rs +++ b/common/src/comp/shockwave.rs @@ -51,4 +51,5 @@ pub enum FrontendSpecifier { Water, IceSpikes, Steam, + AirSlash, } diff --git a/voxygen/src/scene/particle.rs b/voxygen/src/scene/particle.rs index 159dea318f..2fa95c4027 100644 --- a/voxygen/src/scene/particle.rs +++ b/voxygen/src/scene/particle.rs @@ -1678,6 +1678,8 @@ impl ParticleMgr { } } }, + // TODO: Maybe look into weapon trails? + FrontendSpecifier::AirSlash => {}, } } }