Merge branch 'sam/sword-balance-0' into 'master'

Sword Tweaks

See merge request veloren/veloren!3838
This commit is contained in:
Samuel Keiffer 2023-03-29 01:26:33 +00:00
commit a737a1862c
112 changed files with 489 additions and 476 deletions

View File

@ -20,7 +20,7 @@
None: (None, "common.abilities.sword.basic_thrust"),
Stance(Sword(Heavy)): (None, "common.abilities.sword.heavy_slam"),
Stance(Sword(Agile)): (None, "common.abilities.sword.agile_perforate"),
Stance(Sword(Defensive)): (None, "common.abilities.sword.defensive_parry"),
Stance(Sword(Defensive)): (None, "common.abilities.sword.defensive_vital_jab"),
Stance(Sword(Crippling)): (None, "common.abilities.sword.crippling_deep_rend"),
Stance(Sword(Cleaving)): (None, "common.abilities.sword.cleaving_spiral_slash"),
},
@ -92,7 +92,7 @@
Stance(Sword(Cleaving)): (Sword(Finisher), "common.abilities.sword.cleaving_bladestorm"),
},
),
Simple(Sword(HeavyWindmillSlash), "common.abilities.sword.heavy_windmill_slash"),
Simple(Sword(HeavySweep), "common.abilities.sword.heavy_sweep"),
Simple(Sword(HeavyPommelStrike), "common.abilities.sword.heavy_pommel_strike"),
Simple(Sword(AgileQuickDraw), "common.abilities.sword.agile_quick_draw"),
Simple(Sword(AgileFeint), "common.abilities.sword.agile_feint"),

View File

@ -3,7 +3,7 @@ BasicBeam(
recover_duration: 0.20,
beam_duration: 1.0,
damage: 4,
tick_rate: 4,
tick_rate: 3,
range: 25.0,
max_angle: 1.0,
damage_effect: Some(Lifesteal(0.05)),

View File

@ -3,7 +3,7 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 16,
damage: 12,
poise: 5,
knockback: 0,
energy_regen: 0,
@ -12,11 +12,11 @@ ComboMelee2(
angle: 15.0,
),
buildup_duration: 0.2,
swing_duration: 0.1,
swing_duration: 0.05,
hit_timing: 0.5,
recover_duration: 0.1,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
energy_cost_per_strike: 5,
)

View File

@ -3,7 +3,7 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 12,
damage: 8,
poise: 5,
knockback: 0,
energy_regen: 0,
@ -11,12 +11,12 @@ ComboMelee2(
range: 3.0,
angle: 60.0,
),
buildup_duration: 0.05,
swing_duration: 0.1,
buildup_duration: 0.1,
swing_duration: 0.05,
hit_timing: 0.5,
recover_duration: 0.1,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
energy_cost_per_strike: 5,
)

View File

@ -3,30 +3,13 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 6,
poise: 3,
damage: 5,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 50.0,
),
buildup_duration: 0.1,
swing_duration: 0.05,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Slash(
damage: 6,
poise: 3,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 50.0,
angle: 90.0,
),
buildup_duration: 0.1,
swing_duration: 0.05,
@ -34,7 +17,24 @@ ComboMelee2(
recover_duration: 0.1,
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Slash(
damage: 7,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 90.0,
),
buildup_duration: 0.1,
swing_duration: 0.05,
hit_timing: 0.5,
recover_duration: 0.05,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 7.5,
energy_cost_per_strike: 2.5,
auto_progress: true,
)

View File

@ -4,8 +4,8 @@ SelfBuff(
recover_duration: 0.3,
buff_kind: Hastened,
buff_strength: 0.25,
buff_duration: Some(30.0),
energy_cost: 30,
buff_duration: Some(20.0),
energy_cost: 20,
meta: (
requirements: (stance: Some(Sword(Agile))),
),

View File

@ -3,32 +3,32 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 3,
poise: 2,
damage: 2,
poise: 5,
knockback: 0,
energy_regen: 5,
),
range: 3.0,
angle: 45.0,
),
buildup_duration: 0.1,
buildup_duration: 0.05,
swing_duration: 0.05,
hit_timing: 0.5,
recover_duration: 0.1,
recover_duration: 0.05,
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Slash(
damage: 6,
poise: 3,
damage: 3,
poise: 5,
knockback: 0,
energy_regen: 5,
energy_regen: 10,
),
range: 3.0,
angle: 45.0,
),
buildup_duration: 0.1,
buildup_duration: 0.05,
swing_duration: 0.05,
hit_timing: 0.5,
recover_duration: 0.1,

View File

@ -3,7 +3,7 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 12,
damage: 8,
poise: 5,
knockback: 0,
energy_regen: 0,
@ -23,7 +23,7 @@ ComboMelee2(
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
energy_cost_per_strike: 0,
meta: (
init_event: Some(EnterStance(Sword(Agile))),
),

View File

@ -3,7 +3,7 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 16,
damage: 10,
poise: 5,
knockback: 0,
energy_regen: 0,
@ -14,9 +14,9 @@ ComboMelee2(
buildup_duration: 0.05,
swing_duration: 0.05,
hit_timing: 0.5,
recover_duration: 0.45,
recover_duration: 0.3,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 15,
energy_cost_per_strike: 5,
)

View File

@ -4,7 +4,7 @@ RapidMelee(
recover_duration: 0.1,
melee_constructor: (
kind: Slash(
damage: 8,
damage: 10,
poise: 3,
knockback: 0,
energy_regen: 0,
@ -12,7 +12,7 @@ RapidMelee(
range: 6.0,
angle: 10.0,
),
energy_cost: 10,
energy_cost: 5,
max_strikes: Some(3),
move_modifier: 0.35,
ori_modifier: 0.25,

View File

@ -4,7 +4,7 @@ RapidMelee(
recover_duration: 0.1,
melee_constructor: (
kind: Slash(
damage: 2,
damage: 4,
poise: 0,
knockback: 0,
energy_regen: 0,
@ -12,9 +12,9 @@ RapidMelee(
range: 3.0,
angle: 10.0,
),
energy_cost: 2,
energy_cost: 1,
max_strikes: Some(20),
move_modifier: 0.6,
ori_modifier: 0.4,
minimum_combo: 20,
minimum_combo: 10,
)

View File

@ -1,6 +1,6 @@
RapidMelee(
buildup_duration: 0.2,
swing_duration: 0.15,
swing_duration: 0.2,
recover_duration: 0.3,
melee_constructor: (
kind: Slash(

View File

@ -3,7 +3,7 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 8,
damage: 12,
poise: 5,
knockback: 0,
energy_regen: 0,
@ -11,19 +11,19 @@ ComboMelee2(
range: 5.0,
angle: 20.0,
),
buildup_duration: 0.2,
buildup_duration: 0.15,
swing_duration: 0.05,
hit_timing: 0.5,
recover_duration: 0.05,
recover_duration: 0.1,
movement: (
buildup: None,
buildup: Some(Forward(1.0)),
swing: Some(Forward(3.0)),
recover: Some(Forward(2.0)),
recover: Some(Forward(1.0)),
),
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
energy_cost_per_strike: 5,
meta: (
init_event: Some(EnterStance(Sword(Agile))),
),

View File

@ -3,7 +3,7 @@ ComboMelee2(
(
melee_constructor: (
kind: Stab(
damage: 12,
damage: 9,
poise: 5,
knockback: 0,
energy_regen: 0,
@ -14,14 +14,14 @@ ComboMelee2(
buildup_duration: 0.1,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.25,
recover_duration: 0.2,
ori_modifier: 0.6,
movement: (
buildup: Some(Forward(2.0)),
buildup: Some(Forward(3.0)),
swing: Some(Forward(2.0)),
recover: None,
),
),
],
energy_cost_per_strike: 10,
energy_cost_per_strike: 5,
)

View File

@ -11,12 +11,12 @@ ComboMelee2(
range: 4.0,
angle: 15.0,
),
buildup_duration: 0.35,
buildup_duration: 0.4,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
energy_cost_per_strike: 5,
)

View File

@ -3,7 +3,7 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 18,
damage: 16,
poise: 5,
knockback: 0,
energy_regen: 0,
@ -11,12 +11,12 @@ ComboMelee2(
range: 3.0,
angle: 60.0,
),
buildup_duration: 0.1,
buildup_duration: 0.2,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
energy_cost_per_strike: 5,
)

View File

@ -4,12 +4,12 @@ ComboMelee2(
melee_constructor: (
kind: Slash(
damage: 10,
poise: 3,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 50.0,
angle: 90.0,
),
buildup_duration: 0.15,
swing_duration: 0.1,
@ -20,13 +20,13 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 10,
poise: 3,
damage: 14,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 50.0,
angle: 90.0,
),
buildup_duration: 0.15,
swing_duration: 0.1,
@ -35,6 +35,6 @@ ComboMelee2(
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 7.5,
energy_cost_per_strike: 2.5,
auto_progress: true,
)

View File

@ -3,7 +3,7 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 5,
damage: 4,
poise: 5,
knockback: 0,
energy_regen: 5,
@ -20,7 +20,7 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 10,
damage: 7,
poise: 5,
knockback: 0,
energy_regen: 10,

View File

@ -3,7 +3,7 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 24,
damage: 20,
poise: 5,
knockback: 0,
energy_regen: 0,
@ -18,5 +18,5 @@ ComboMelee2(
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 15,
energy_cost_per_strike: 5,
)

View File

@ -23,5 +23,5 @@ ComboMelee2(
),
),
],
energy_cost_per_strike: 10,
energy_cost_per_strike: 5,
)

View File

@ -9,10 +9,10 @@ ChargedMelee(
energy_regen: 0,
),
scaled: Some(Stab(
damage: 20,
poise: 10,
damage: 15,
poise: 5,
knockback: 0,
energy_regen: 20,
energy_regen: 15,
)),
range: 4.5,
angle: 10.0,

View File

@ -4,8 +4,8 @@ SelfBuff(
recover_duration: 0.3,
buff_kind: Reckless,
buff_strength: 0.25,
buff_duration: Some(30.0),
energy_cost: 30,
buff_duration: Some(20.0),
energy_cost: 20,
meta: (
requirements: (stance: Some(Sword(Cleaving))),
),

View File

@ -13,7 +13,7 @@ RapidMelee(
angle: 360.0,
multi_target: Some(Normal),
),
energy_cost: 5,
energy_cost: 3.33,
max_strikes: Some(6),
move_modifier: 0.8,
ori_modifier: 1.0,

View File

@ -3,21 +3,21 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 19,
damage: 24,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 4.0,
angle: 25.0,
angle: 15.0,
multi_target: Some(Normal),
),
buildup_duration: 0.35,
swing_duration: 0.1,
buildup_duration: 0.5,
swing_duration: 0.15,
hit_timing: 0.5,
recover_duration: 0.2,
recover_duration: 0.25,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
energy_cost_per_strike: 5,
)

View File

@ -3,21 +3,21 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 15,
damage: 16,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.0,
angle: 75.0,
angle: 60.0,
multi_target: Some(Normal),
),
buildup_duration: 0.1,
swing_duration: 0.1,
buildup_duration: 0.25,
swing_duration: 0.15,
hit_timing: 0.5,
recover_duration: 0.2,
recover_duration: 0.25,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
energy_cost_per_strike: 5,
)

View File

@ -4,39 +4,39 @@ ComboMelee2(
melee_constructor: (
kind: Slash(
damage: 10,
poise: 3,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 60.0,
angle: 90.0,
multi_target: Some(Normal),
),
buildup_duration: 0.15,
swing_duration: 0.1,
buildup_duration: 0.2,
swing_duration: 0.15,
hit_timing: 0.5,
recover_duration: 0.2,
recover_duration: 0.25,
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Slash(
damage: 10,
poise: 3,
damage: 14,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 60.0,
angle: 90.0,
multi_target: Some(Normal),
),
buildup_duration: 0.15,
swing_duration: 0.1,
buildup_duration: 0.2,
swing_duration: 0.15,
hit_timing: 0.5,
recover_duration: 0.1,
recover_duration: 0.15,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 7.5,
energy_cost_per_strike: 2.5,
auto_progress: true,
)

View File

@ -3,7 +3,7 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 5,
damage: 4,
poise: 5,
knockback: 0,
energy_regen: 5,
@ -13,25 +13,25 @@ ComboMelee2(
multi_target: Some(Normal),
),
buildup_duration: 0.2,
swing_duration: 0.05,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.1,
recover_duration: 0.15,
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Slash(
damage: 10,
damage: 7,
poise: 5,
knockback: 0,
energy_regen: 5,
energy_regen: 10,
),
range: 3.0,
angle: 45.0,
multi_target: Some(Normal),
),
buildup_duration: 0.15,
swing_duration: 0.1,
swing_duration: 0.15,
hit_timing: 0.5,
recover_duration: 0.25,
ori_modifier: 0.6,

View File

@ -1,5 +1,5 @@
DiveMelee(
energy_cost: 15,
energy_cost: 5,
vertical_speed: 5,
buildup_duration: Some(0.1),
movement_duration: 5,
@ -7,22 +7,22 @@ DiveMelee(
recover_duration: 0.3,
melee_constructor: (
kind: Slash(
damage: 5,
damage: 10,
poise: 5,
knockback: 0,
energy_regen: 0,
),
scaled: Some(Slash(
damage: 10,
damage: 15,
poise: 10,
knockback: 0,
energy_regen: 0,
)),
range: 6.0,
angle: 15.0,
range: 4.0,
angle: 360.0,
multi_target: Some(Normal),
),
max_scaling: 10.0,
max_scaling: 6.0,
meta: (
init_event: Some(EnterStance(Sword(Cleaving))),
),

View File

@ -3,21 +3,21 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 24,
damage: 20,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 30.0,
angle: 20.0,
multi_target: Some(Normal),
),
buildup_duration: 0.05,
swing_duration: 0.05,
buildup_duration: 0.1,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.7,
recover_duration: 0.8,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 15,
energy_cost_per_strike: 5,
)

View File

@ -3,26 +3,26 @@ ComboMelee2(
(
melee_constructor: (
kind: Stab(
damage: 14,
damage: 18,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 5.0,
angle: 7.5,
angle: 5.0,
multi_target: Some(Normal),
),
buildup_duration: 0.15,
swing_duration: 0.1,
buildup_duration: 0.2,
swing_duration: 0.15,
hit_timing: 0.5,
recover_duration: 0.4,
recover_duration: 0.5,
ori_modifier: 0.6,
movement: (
buildup: Some(Forward(2.0)),
swing: Some(Forward(2.0)),
buildup: Some(Forward(1.5)),
swing: Some(Forward(1.5)),
recover: None,
),
),
],
energy_cost_per_strike: 10,
energy_cost_per_strike: 5,
)

View File

@ -20,7 +20,7 @@ ComboMelee2(
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 40,
energy_cost_per_strike: 30,
meta: (
requirements: (stance: Some(Sword(Cleaving))),
),

View File

@ -9,7 +9,7 @@ ChargedMelee(
energy_regen: 0,
),
scaled: Some(Slash(
damage: 12,
damage: 10,
poise: 10,
knockback: 0,
energy_regen: 10,

View File

@ -4,7 +4,7 @@ RapidMelee(
recover_duration: 0.4,
melee_constructor: (
kind: Slash(
damage: 12,
damage: 14,
poise: 5,
knockback: 0,
energy_regen: 0,
@ -13,7 +13,7 @@ RapidMelee(
angle: 360.0,
multi_target: Some(Normal),
),
energy_cost: 10,
energy_cost: 5,
max_strikes: Some(2),
ori_modifier: 1.0,
move_modifier: 1.0,

View File

@ -3,7 +3,7 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 15,
damage: 24,
poise: 5,
knockback: 0,
energy_regen: 5,
@ -12,14 +12,14 @@ ComboMelee2(
angle: 45.0,
damage_effect: Some(BuffsVulnerable(1.0, Bleeding)),
),
buildup_duration: 0.15,
buildup_duration: 0.2,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.15,
recover_duration: 0.2,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 20,
energy_cost_per_strike: 10,
meta: (
requirements: (stance: Some(Sword(Crippling))),
),

View File

@ -3,7 +3,7 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 18,
damage: 20,
poise: 5,
knockback: 0,
energy_regen: 0,
@ -14,15 +14,15 @@ ComboMelee2(
kind: Bleeding,
dur_secs: 8.0,
strength: DamageFraction(0.25),
chance: 0.25,
chance: 1.0,
))),
),
buildup_duration: 0.35,
buildup_duration: 0.4,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
energy_cost_per_strike: 5,
)

View File

@ -3,7 +3,7 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 14,
damage: 13,
poise: 5,
knockback: 0,
energy_regen: 0,
@ -14,15 +14,15 @@ ComboMelee2(
kind: Bleeding,
dur_secs: 8.0,
strength: DamageFraction(0.25),
chance: 0.25,
chance: 1.0,
))),
),
buildup_duration: 0.1,
buildup_duration: 0.2,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
energy_cost_per_strike: 5,
)

View File

@ -4,17 +4,17 @@ ComboMelee2(
melee_constructor: (
kind: Slash(
damage: 7,
poise: 3,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 50.0,
angle: 90.0,
damage_effect: Some(Buff((
kind: Bleeding,
dur_secs: 8.0,
strength: DamageFraction(0.25),
chance: 0.25,
chance: 1.0,
))),
),
buildup_duration: 0.15,
@ -26,18 +26,18 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 7,
poise: 3,
damage: 11,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 50.0,
angle: 90.0,
damage_effect: Some(Buff((
kind: Bleeding,
dur_secs: 8.0,
strength: DamageFraction(0.25),
chance: 0.25,
chance: 1.0,
))),
),
buildup_duration: 0.15,
@ -47,6 +47,6 @@ ComboMelee2(
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 7.5,
energy_cost_per_strike: 2.5,
auto_progress: true,
)

View File

@ -9,10 +9,10 @@ ChargedMelee(
energy_regen: 0,
),
scaled: Some(Slash(
damage: 12,
damage: 15,
poise: 5,
knockback: 0,
energy_regen: 15,
energy_regen: 10,
)),
damage_effect: Some(BuffsVulnerable(0.5, Bleeding)),
range: 4.5,

View File

@ -3,7 +3,7 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 5,
damage: 4,
poise: 5,
knockback: 0,
energy_regen: 5,
@ -21,7 +21,7 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 10,
damage: 7,
poise: 5,
knockback: 0,
energy_regen: 10,

View File

@ -3,14 +3,14 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 15,
damage: 18,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.0,
angle: 45.0,
damage_effect: Some(BuffsVulnerable(2.0, Crippled)),
damage_effect: Some(BuffsVulnerable(1.0, Crippled)),
),
buildup_duration: 0.2,
swing_duration: 0.15,
@ -19,7 +19,7 @@ ComboMelee2(
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 25,
energy_cost_per_strike: 15,
meta: (
requirements: (stance: Some(Sword(Crippling))),
),

View File

@ -3,7 +3,7 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 18,
damage: 17,
poise: 5,
knockback: 0,
energy_regen: 0,
@ -14,7 +14,7 @@ ComboMelee2(
kind: Bleeding,
dur_secs: 8.0,
strength: DamageFraction(0.25),
chance: 0.25,
chance: 1.0,
))),
),
buildup_duration: 0.05,
@ -24,5 +24,5 @@ ComboMelee2(
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 15,
energy_cost_per_strike: 5,
)

View File

@ -3,7 +3,7 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 8,
damage: 16,
poise: 5,
knockback: 0,
energy_regen: 0,
@ -12,8 +12,8 @@ ComboMelee2(
angle: 45.0,
damage_effect: Some(Buff((
kind: Bleeding,
dur_secs: 8.0,
strength: DamageFraction(0.35),
dur_secs: 4.0,
strength: DamageFraction(0.4),
chance: 1.0,
))),
),
@ -24,7 +24,7 @@ ComboMelee2(
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 15,
energy_cost_per_strike: 5,
meta: (
init_event: Some(EnterStance(Sword(Crippling))),
),

View File

@ -3,7 +3,7 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 10,
damage: 16,
poise: 5,
knockback: 0,
energy_regen: 0,
@ -24,7 +24,7 @@ ComboMelee2(
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 15,
energy_cost_per_strike: 10,
meta: (
init_event: Some(EnterStance(Sword(Crippling))),
),

View File

@ -13,7 +13,7 @@ RapidMelee(
angle: 15.0,
damage_effect: Some(BuffsVulnerable(1.0, Bleeding)),
),
energy_cost: 7.5,
energy_cost: 5,
max_strikes: Some(4),
move_modifier: 0.7,
ori_modifier: 0.2,

View File

@ -3,7 +3,7 @@ ComboMelee2(
(
melee_constructor: (
kind: Stab(
damage: 14,
damage: 15,
poise: 5,
knockback: 0,
energy_regen: 0,
@ -14,7 +14,7 @@ ComboMelee2(
kind: Bleeding,
dur_secs: 8.0,
strength: DamageFraction(0.25),
chance: 0.25,
chance: 1.0,
))),
),
buildup_duration: 0.15,
@ -29,5 +29,5 @@ ComboMelee2(
),
),
],
energy_cost_per_strike: 10,
energy_cost_per_strike: 5,
)

View File

@ -10,18 +10,19 @@ ComboMelee2(
),
range: 4.0,
angle: 15.0,
damage_effect: Some(BuffsVulnerable(0.5, Parried)),
),
buildup_duration: 0.35,
buildup_duration: 0.4,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
energy_cost_per_strike: 5,
meta: (
capabilities: (
// When in buildup, attack can get cancelled into parry
// The ability will parry melee attacks in the buildup portion
bits: 0b00100000,
),
),

View File

@ -1,5 +1,5 @@
FinisherMelee(
energy_cost: 30,
energy_cost: 20,
buildup_duration: 0.05,
swing_duration: 0.1,
recover_duration: 0.6,

View File

@ -3,25 +3,26 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 15,
damage: 11,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.0,
angle: 60.0,
damage_effect: Some(BuffsVulnerable(0.5, Parried)),
),
buildup_duration: 0.1,
buildup_duration: 0.2,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.2,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
energy_cost_per_strike: 5,
meta: (
capabilities: (
// When in buildup, attack can get cancelled into parry
// The ability will parry melee attacks in the buildup portion
bits: 0b00100000,
),
),

View File

@ -3,13 +3,14 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 8,
poise: 3,
damage: 6,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 50.0,
angle: 90.0,
damage_effect: Some(BuffsVulnerable(0.5, Parried)),
),
buildup_duration: 0.15,
swing_duration: 0.1,
@ -20,13 +21,14 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 8,
poise: 3,
damage: 9,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 50.0,
angle: 90.0,
damage_effect: Some(BuffsVulnerable(0.5, Parried)),
),
buildup_duration: 0.15,
swing_duration: 0.1,
@ -35,11 +37,11 @@ ComboMelee2(
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 7.5,
energy_cost_per_strike: 2.5,
auto_progress: true,
meta: (
capabilities: (
// When in buildup, attack can get cancelled into parry
// The ability will parry melee attacks in the buildup portion
bits: 0b00100000,
),
),

View File

@ -7,7 +7,7 @@ BasicBlock(
buildup: true,
recover: true,
),
energy_cost: 10,
energy_cost: 0,
can_hold: false,
blocked_attacks: (
melee: true,

View File

@ -3,7 +3,7 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 16,
damage: 10,
poise: 5,
knockback: 0,
energy_regen: 0,
@ -23,7 +23,7 @@ ComboMelee2(
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
energy_cost_per_strike: 0,
meta: (
init_event: Some(EnterStance(Sword(Defensive))),
),

View File

@ -20,7 +20,7 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 8,
damage: 7,
poise: 5,
knockback: 0,
energy_regen: 10,

View File

@ -3,13 +3,14 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 20,
damage: 15,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 20.0,
damage_effect: Some(BuffsVulnerable(0.5, Parried)),
),
buildup_duration: 0.05,
swing_duration: 0.05,
@ -18,10 +19,10 @@ ComboMelee2(
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 15,
energy_cost_per_strike: 5,
meta: (
capabilities: (
// When in buildup, attack can get cancelled into parry
// The ability will parry melee attacks in the buildup portion
bits: 0b00100000,
),
),

View File

@ -1,20 +0,0 @@
BasicBlock(
buildup_duration: 0.2,
recover_duration: 0.1,
max_angle: 45.0,
block_strength: 0.75,
parry_window: (
buildup: true,
recover: false,
),
energy_cost: 0,
can_hold: true,
blocked_attacks: (
melee: true,
projectiles: false,
beams: false,
ground_shockwaves: false,
air_shockwaves: false,
explosions: false,
),
)

View File

@ -1,11 +1,11 @@
RiposteMelee(
energy_cost: 20,
energy_cost: 5,
buildup_duration: 0.3,
swing_duration: 0.2,
recover_duration: 0.3,
swing_duration: 0.1,
recover_duration: 0.2,
melee_constructor: (
kind: Slash(
damage: 25,
damage: 18,
poise: 5,
knockback: 0,
energy_regen: 5,

View File

@ -3,13 +3,14 @@ ComboMelee2(
(
melee_constructor: (
kind: Stab(
damage: 15,
damage: 13,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 5.0,
angle: 5.0,
damage_effect: Some(BuffsVulnerable(0.5, Parried)),
),
buildup_duration: 0.15,
swing_duration: 0.1,
@ -23,10 +24,10 @@ ComboMelee2(
),
),
],
energy_cost_per_strike: 10,
energy_cost_per_strike: 5,
meta: (
capabilities: (
// When in buildup, attack can get cancelled into parry
// The ability will parry melee attacks in the buildup portion
bits: 0b00100000,
),
),

View File

@ -4,8 +4,8 @@ SelfBuff(
recover_duration: 0.25,
buff_kind: ProtectingWard,
buff_strength: 0.4,
buff_duration: Some(30.0),
energy_cost: 30,
buff_duration: Some(20.0),
energy_cost: 20,
meta: (
requirements: (stance: Some(Sword(Defensive))),
),

View File

@ -0,0 +1,25 @@
ChargedMelee(
energy_cost: 0,
energy_drain: 0,
melee_constructor: (
kind: Stab(
damage: 0,
poise: 0,
knockback: 0,
energy_regen: 0,
),
scaled: Some(Stab(
damage: 10,
poise: 5,
knockback: 0,
energy_regen: 15,
)),
range: 4.5,
angle: 10.0,
damage_effect: Some(BuffsVulnerable(0.5, Parried)),
),
charge_duration: 0.3,
swing_duration: 0.1,
hit_timing: 0.2,
recover_duration: 0.1,
)

View File

@ -3,7 +3,7 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 26,
damage: 30,
poise: 15,
knockback: 0,
energy_regen: 0,
@ -13,11 +13,11 @@ ComboMelee2(
damage_effect: Some(StunnedVulnerable(0.5)),
),
buildup_duration: 0.5,
swing_duration: 0.1,
swing_duration: 0.15,
hit_timing: 0.5,
recover_duration: 0.3,
recover_duration: 0.25,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
energy_cost_per_strike: 5,
)

View File

@ -3,7 +3,7 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 19,
damage: 20,
poise: 15,
knockback: 0,
energy_regen: 0,
@ -12,12 +12,12 @@ ComboMelee2(
angle: 60.0,
damage_effect: Some(StunnedVulnerable(0.5)),
),
buildup_duration: 0.3,
swing_duration: 0.1,
buildup_duration: 0.25,
swing_duration: 0.15,
hit_timing: 0.5,
recover_duration: 0.2,
recover_duration: 0.25,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
energy_cost_per_strike: 5,
)

View File

@ -3,40 +3,40 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 11,
poise: 3,
damage: 12,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 50.0,
angle: 90.0,
damage_effect: Some(StunnedVulnerable(0.5)),
),
buildup_duration: 0.2,
swing_duration: 0.1,
swing_duration: 0.15,
hit_timing: 0.5,
recover_duration: 0.2,
recover_duration: 0.25,
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Slash(
damage: 11,
poise: 3,
damage: 18,
poise: 5,
knockback: 0,
energy_regen: 0,
),
range: 3.5,
angle: 50.0,
angle: 90.0,
damage_effect: Some(StunnedVulnerable(0.5)),
),
buildup_duration: 0.2,
swing_duration: 0.1,
swing_duration: 0.15,
hit_timing: 0.5,
recover_duration: 0.2,
recover_duration: 0.15,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 7.5,
energy_cost_per_strike: 2.5,
auto_progress: true,
)

View File

@ -3,19 +3,18 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 6,
damage: 5,
poise: 10,
knockback: 0,
energy_regen: 10,
energy_regen: 5,
),
range: 3.0,
angle: 45.0,
damage_effect: Some(StunnedVulnerable(0.5)),
),
buildup_duration: 0.3,
swing_duration: 0.05,
buildup_duration: 0.2,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.1,
recover_duration: 0.15,
ori_modifier: 0.6,
),
(
@ -24,16 +23,15 @@ ComboMelee2(
damage: 9,
poise: 15,
knockback: 0,
energy_regen: 15,
energy_regen: 10,
),
range: 3.0,
angle: 45.0,
damage_effect: Some(StunnedVulnerable(0.5)),
),
buildup_duration: 0.2,
swing_duration: 0.1,
buildup_duration: 0.15,
swing_duration: 0.15,
hit_timing: 0.5,
recover_duration: 0.2,
recover_duration: 0.25,
ori_modifier: 0.6,
),
],

View File

@ -3,7 +3,7 @@ ComboMelee2(
(
melee_constructor: (
kind: Slash(
damage: 28,
damage: 25,
poise: 15,
knockback: 0,
energy_regen: 0,
@ -12,12 +12,12 @@ ComboMelee2(
angle: 20.0,
damage_effect: Some(StunnedVulnerable(0.5)),
),
buildup_duration: 0.15,
buildup_duration: 0.1,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.9,
recover_duration: 0.8,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 15,
energy_cost_per_strike: 5,
)

View File

@ -4,8 +4,8 @@ SelfBuff(
recover_duration: 0.6,
buff_kind: Fortitude,
buff_strength: 1.0,
buff_duration: Some(30.0),
energy_cost: 25,
buff_duration: Some(20.0),
energy_cost: 15,
meta: (
requirements: (stance: Some(Sword(Heavy))),
),

View File

@ -1,5 +1,5 @@
FinisherMelee(
energy_cost: 30,
energy_cost: 20,
buildup_duration: 0.4,
swing_duration: 0.1,
recover_duration: 0.6,

View File

@ -1,5 +1,5 @@
DiveMelee(
energy_cost: 25,
energy_cost: 15,
vertical_speed: 5,
buildup_duration: Some(0.1),
movement_duration: 5,
@ -7,13 +7,13 @@ DiveMelee(
recover_duration: 0.3,
melee_constructor: (
kind: Slash(
damage: 20,
damage: 30,
poise: 40,
knockback: 0,
energy_regen: 0,
),
scaled: Some(Slash(
damage: 5,
damage: 10,
poise: 10,
knockback: 0,
energy_regen: 0,
@ -23,7 +23,7 @@ DiveMelee(
multi_target: Some(Normal),
damage_effect: Some(StunnedVulnerable(0.5)),
),
max_scaling: 6,
max_scaling: 3,
meta: (
requirements: (stance: Some(Sword(Heavy))),
),

View File

@ -4,7 +4,7 @@ ComboMelee2(
melee_constructor: (
kind: Bash(
damage: 12,
poise: 60,
poise: 50,
knockback: 0,
energy_regen: 0,
),
@ -19,7 +19,7 @@ ComboMelee2(
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 15,
energy_cost_per_strike: 5,
meta: (
init_event: Some(EnterStance(Sword(Heavy))),
),

View File

@ -3,26 +3,25 @@ ComboMelee2(
(
melee_constructor: (
kind: Stab(
damage: 21,
damage: 23,
poise: 15,
knockback: 0,
energy_regen: 0,
),
range: 5.0,
angle: 5.0,
damage_effect: Some(StunnedVulnerable(0.5)),
),
buildup_duration: 0.3,
swing_duration: 0.1,
buildup_duration: 0.2,
swing_duration: 0.15,
hit_timing: 0.5,
recover_duration: 0.5,
ori_modifier: 0.6,
movement: (
buildup: Some(Forward(2.0)),
swing: Some(Forward(2.0)),
buildup: Some(Forward(1.5)),
swing: Some(Forward(1.5)),
recover: None,
),
),
],
energy_cost_per_strike: 10,
energy_cost_per_strike: 5,
)

View File

@ -18,8 +18,8 @@ ChargedMelee(
angle: 10.0,
damage_effect: Some(StunnedVulnerable(0.5)),
),
charge_duration: 0.8,
charge_duration: 1.0,
swing_duration: 0.1,
hit_timing: 0.2,
recover_duration: 0.4,
recover_duration: 0.5,
)

View File

@ -0,0 +1,26 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 27,
poise: 30,
knockback: 0,
energy_regen: 0,
),
range: 4.0,
angle: 90.0,
damage_effect: Some(StunnedVulnerable(0.5)),
),
buildup_duration: 0.2,
swing_duration: 0.2,
hit_timing: 0.5,
recover_duration: 0.3,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 5,
meta: (
init_event: Some(EnterStance(Sword(Heavy))),
),
)

View File

@ -1,45 +0,0 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 11,
poise: 15,
knockback: 0,
energy_regen: 0,
),
range: 4.0,
angle: 30.0,
damage_effect: Some(StunnedVulnerable(0.5)),
),
buildup_duration: 0.3,
swing_duration: 0.15,
hit_timing: 0.5,
recover_duration: 0.1,
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Slash(
damage: 17,
poise: 30,
knockback: 0,
energy_regen: 0,
),
range: 4.0,
angle: 30.0,
damage_effect: Some(StunnedVulnerable(0.5)),
),
buildup_duration: 0.25,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.25,
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 10,
auto_progress: true,
meta: (
init_event: Some(EnterStance(Sword(Heavy))),
),
)

View File

@ -8,7 +8,7 @@ ItemDef(
equip_time_secs: 0.25,
power: 1.2,
effect_power: 1.5,
speed: 0.9,
speed: 0.8,
crit_chance: 0.1,
range: 1.0,
energy_efficiency: 0.7,

View File

@ -8,11 +8,11 @@ ItemDef(
equip_time_secs: 0.25,
power: 0.8,
effect_power: 0.8,
speed: 1.125,
crit_chance: 0.075,
speed: 1.4,
crit_chance: 0.1,
range: 1.0,
energy_efficiency: 0.8,
buff_strength: 0.8,
energy_efficiency: 1.3,
buff_strength: 0.9,
),
hand_restriction: None,
weapon_name: HandednessDependent(

View File

@ -8,7 +8,7 @@ ItemDef(
equip_time_secs: 0.25,
power: 0.9,
effect_power: 0.8,
speed: 1.05,
speed: 1.1,
crit_chance: 0.12,
range: 1.0,
energy_efficiency: 1.5,

View File

@ -8,7 +8,7 @@ ItemDef(
equip_time_secs: 0.25,
power: 1.4,
effect_power: 0.8,
speed: 0.95,
speed: 0.9,
crit_chance: 0.14,
range: 1.0,
energy_efficiency: 1.1,

View File

@ -7,11 +7,11 @@ ItemDef(
stats: (
equip_time_secs: 0.25,
power: 1.2,
effect_power: 0.8,
speed: 0.95,
crit_chance: 0.12,
effect_power: 1.0,
speed: 0.8,
crit_chance: 0.14,
range: 1.3,
energy_efficiency: 1.1,
energy_efficiency: 0.9,
buff_strength: 0.8,
),
hand_restriction: Some(Two),

View File

@ -8,7 +8,7 @@ ItemDef(
equip_time_secs: 1.1,
power: 1.1,
effect_power: 1.1,
speed: 0.95,
speed: 0.9,
crit_chance: 0.9,
range: 1.1,
energy_efficiency: 0.9,

View File

@ -8,7 +8,7 @@ ItemDef(
equip_time_secs: 0.9,
power: 0.9,
effect_power: 0.9,
speed: 1.05,
speed: 1.1,
crit_chance: 1.1,
range: 0.9,
energy_efficiency: 1.1,

View File

@ -5,14 +5,14 @@ ItemDef(
kind: Sword,
hands: Two,
stats: (
equip_time_secs: 1.0,
equip_time_secs: 0.5,
power: 3.0,
effect_power: 1.2,
speed: 0.7,
crit_chance: 0.2,
range: 1.0,
energy_efficiency: 0.7,
buff_strength: 0.8,
energy_efficiency: 0.8,
buff_strength: 1.2,
),
)),
quality: Legendary,

View File

@ -1,7 +1,7 @@
({
Sword(HeavyWindmillSlash): Any({Sword(CrescentSlash): 1, Sword(Cascade): 1}),
Sword(HeavySweep): Any({Sword(CrescentSlash): 1, Sword(Cascade): 1}),
Sword(HeavyPommelStrike): Any({Sword(CrescentSlash): 1, Sword(Cascade): 1}),
Sword(HeavyFortitude): All({Sword(HeavyWindmillSlash): 1}),
Sword(HeavyFortitude): All({Sword(HeavySweep): 1}),
Sword(HeavyPillarThrust): All({Sword(HeavyPommelStrike): 1}),
Sword(AgileQuickDraw): Any({Sword(CrossCut): 1, Sword(Skewer): 1}),
Sword(AgileFeint): Any({Sword(CrossCut): 1, Sword(Skewer): 1}),

View File

@ -22,7 +22,7 @@
Sword(Cascade),
Sword(CrossCut),
Sword(Finisher),
Sword(HeavyWindmillSlash),
Sword(HeavySweep),
Sword(HeavyPommelStrike),
Sword(HeavyFortitude),
Sword(HeavyPillarThrust),

View File

@ -6,7 +6,7 @@
Skill((Sword(Skewer), 1)),
Skill((Sword(FellStrike), 1)),
Skill((Sword(Finisher), 1)),
Skill((Sword(HeavyWindmillSlash), 1)),
Skill((Sword(HeavySweep), 1)),
Skill((Sword(HeavyPommelStrike), 1)),
Skill((Sword(CleavingEarthSplitter), 1)),
Skill((Sword(CleavingWhirlwindSlice), 1)),

View File

@ -6,7 +6,7 @@
Skill((Sword(Skewer), 1)),
Skill((Sword(FellStrike), 1)),
Skill((Sword(Finisher), 1)),
Skill((Sword(HeavyWindmillSlash), 1)),
Skill((Sword(HeavySweep), 1)),
Skill((Sword(HeavyPommelStrike), 1)),
Skill((Sword(HeavyFortitude), 1)),
Skill((Sword(HeavyPillarThrust), 1)),

View File

@ -6,7 +6,7 @@
Skill((Sword(Skewer), 1)),
Skill((Sword(FellStrike), 1)),
Skill((Sword(Finisher), 1)),
Skill((Sword(HeavyWindmillSlash), 1)),
Skill((Sword(HeavySweep), 1)),
Skill((Sword(HeavyPommelStrike), 1)),
Skill((Sword(HeavyFortitude), 1)),
Skill((Sword(HeavyPillarThrust), 1)),

View File

@ -20,7 +20,7 @@
(Sword(Skewer), 1),
(Sword(FellStrike), 1),
(Sword(Finisher), 1),
(Sword(HeavyWindmillSlash), 1),
(Sword(HeavySweep), 1),
(Sword(HeavyPommelStrike), 1),
(Sword(HeavyFortitude), 1),
(Sword(HeavyPillarThrust), 1),

Binary file not shown.

BIN
assets/voxygen/element/skills/sword/defensive_vital_jab.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -44,8 +44,8 @@ common-abilities-sword-heavy_slam = Heavy Slam
.desc = A strong overhead slash that can be charged to be more staggering
common-abilities-sword-agile_perforate = Perforate
.desc = A rapid flurry of light attacks
common-abilities-sword-defensive_parry = Parry
.desc = If timed properly, can deflect melee strikes
common-abilities-sword-defensive_vital_jab = Defensive Vital Jab
.desc = A quickly charged jab that does more damage against parried foes
common-abilities-sword-crippling_deep_rend = Deep Rend
.desc = A strike aimed at an already open wound, deals more damage to bleeding enemies
common-abilities-sword-cleaving_spiral_slash = Spiral Slash
@ -158,9 +158,9 @@ common-abilities-sword-cleaving_bladestorm = Bladestorm
.desc =
Decimate your enemies with multiple cyclic swings of your sword
Requires a moderate amount of combo to use
common-abilities-sword-heavy_windmill_slash = Windmill Slash
common-abilities-sword-heavy_sweep = Heavy Sweep
.desc =
Double overhead swings that can heavily stagger
A heavy, wide, sweeping strike that deals more damage to a staggered enemy
Enters heavy stance
common-abilities-sword-heavy_pommel_strike = Pommel Strike
.desc =

View File

@ -909,13 +909,11 @@ impl CharacterAbility {
CharacterAbility::DiveMelee {
buildup_duration,
energy_cost,
vertical_speed,
..
} => {
// If either falling fast enough or is on ground and able to be activated from
// If either in the air or is on ground and able to be activated from
// ground
(data.vel.0.z < -*vertical_speed
|| (data.physics.on_ground.is_some() && buildup_duration.is_some()))
(data.physics.on_ground.is_none() || buildup_duration.is_some())
&& update.energy.try_change_by(-*energy_cost).is_ok()
},
CharacterAbility::ComboMelee { .. }
@ -2904,7 +2902,7 @@ bitflags::bitflags! {
const POISE_RESISTANT = 0b00001000;
// WHen in the ability, an entity only receives half as much knockback
const KNOCKBACK_RESISTANT = 0b00010000;
// The ability will interrupt itself into a parry if hit with melee
// The ability will parry melee attacks in the buildup portion
const BUILDUP_PARRIES = 0b00100000;
}
}

View File

@ -88,19 +88,27 @@ impl PoiseState {
let (charstate_parameters, impulse) = match self {
PoiseState::Normal => (None, None),
PoiseState::Interrupted => (
Some((Duration::from_millis(200), Duration::from_millis(200), 0.8)),
Some((Duration::from_millis(250), Duration::from_millis(250), 0.8)),
None,
),
PoiseState::Stunned => (
Some((Duration::from_millis(400), Duration::from_millis(400), 0.5)),
Some((Duration::from_millis(750), Duration::from_millis(750), 0.5)),
None,
),
PoiseState::Dazed => (
Some((Duration::from_millis(750), Duration::from_millis(450), 0.2)),
Some((
Duration::from_millis(1000),
Duration::from_millis(1000),
0.2,
)),
None,
),
PoiseState::KnockedDown => (
Some((Duration::from_millis(1000), Duration::from_millis(600), 0.0)),
Some((
Duration::from_millis(2000),
Duration::from_millis(2000),
0.0,
)),
Some(10.0),
),
};

View File

@ -33,7 +33,7 @@ pub enum SwordSkill {
Cascade,
CrossCut,
Finisher,
HeavyWindmillSlash,
HeavySweep,
HeavyPommelStrike,
HeavyFortitude,
HeavyPillarThrust,

View File

@ -40,7 +40,6 @@ impl CharacterBehavior for Data {
fn behavior(&self, data: &JoinData, output_events: &mut OutputEvents) -> StateUpdate {
let mut update = StateUpdate::from(data);
leave_stance(data, output_events);
handle_orientation(data, &mut update, 1.0, None);
handle_move(data, &mut update, 1.0);
handle_jump(data, output_events, &mut update, 1.0);

View File

@ -21,7 +21,7 @@ impl CharacterBehavior for Data {
fn behavior(&self, data: &JoinData, output_events: &mut OutputEvents) -> StateUpdate {
let mut update = StateUpdate::from(data);
const LEAVE_STANCE_DELAY: f64 = 5.0;
const LEAVE_STANCE_DELAY: f64 = 30.0;
if (self.time_entered.0 + LEAVE_STANCE_DELAY) < data.time.0 {
leave_stance(data, output_events);
}

View File

@ -36,7 +36,6 @@ impl CharacterBehavior for Data {
fn behavior(&self, data: &JoinData, output_events: &mut OutputEvents) -> StateUpdate {
let mut update = StateUpdate::from(data);
leave_stance(data, output_events);
handle_orientation(data, &mut update, self.static_data.ori_modifier, None);
handle_move(data, &mut update, 0.7);
handle_jump(data, output_events, &mut update, 1.0);

View File

@ -67,14 +67,6 @@ impl CharacterBehavior for Data {
c.timer = Duration::default();
c.stage_section = StageSection::Action;
}
// Consume combo if any was required
if self.static_data.minimum_combo > 0 {
output_events.emit_server(ServerEvent::ComboChange {
entity: data.entity,
change: -data.combo.map_or(0, |c| c.counter() as i32),
});
}
}
},
StageSection::Action => {
@ -118,6 +110,14 @@ impl CharacterBehavior for Data {
c.stage_section = StageSection::Recover;
}
}
// Consume combo if any was required
if self.static_data.minimum_combo > 0 {
output_events.emit_server(ServerEvent::ComboChange {
entity: data.entity,
change: -data.combo.map_or(0, |c| c.counter() as i32),
});
}
},
StageSection::Recover => {
if self.timer < self.static_data.recover_duration {

View File

@ -35,7 +35,6 @@ impl CharacterBehavior for Data {
fn behavior(&self, data: &JoinData, output_events: &mut OutputEvents) -> StateUpdate {
let mut update = StateUpdate::from(data);
leave_stance(data, output_events);
handle_wield(data, &mut update);
handle_jump(data, output_events, &mut update, 1.0);

View File

@ -56,8 +56,6 @@ impl CharacterBehavior for Data {
fn behavior(&self, data: &JoinData, output_events: &mut OutputEvents) -> StateUpdate {
let mut update = StateUpdate::from(data);
leave_stance(data, output_events);
let ori_dir = Dir::from_unnormalized(Vec3::from(
(self.static_data.sprite_pos.map(|x| x as f32 + 0.5) - data.pos.0).xy(),
));

View File

@ -37,7 +37,7 @@ impl CharacterBehavior for Data {
if matches!(
self.static_data.poise_state,
PoiseState::Stunned | PoiseState::Dazed | PoiseState::KnockedDown
PoiseState::Dazed | PoiseState::KnockedDown
) {
leave_stance(data, output_events);
}

View File

@ -14,10 +14,9 @@ const TURN_RATE: f32 = 40.0;
pub struct Data;
impl CharacterBehavior for Data {
fn behavior(&self, data: &JoinData, output_events: &mut OutputEvents) -> StateUpdate {
fn behavior(&self, data: &JoinData, _output_events: &mut OutputEvents) -> StateUpdate {
let mut update = StateUpdate::from(data);
leave_stance(data, output_events);
handle_wield(data, &mut update);
handle_orientation(data, &mut update, TURN_RATE, None);

Some files were not shown because too many files have changed in this diff Show More