mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Parrying no longer requires releasing the block button, and instead can parry if block happened in buildup.
This commit is contained in:
parent
73cb6d19ff
commit
b9d6bd2fd2
@ -1,5 +1,5 @@
|
||||
SpinMelee(
|
||||
buildup_duration: 0.6,
|
||||
buildup_duration: 0.35,
|
||||
swing_duration: 0.4,
|
||||
recover_duration: 0.5,
|
||||
base_damage: 160,
|
||||
|
@ -131,11 +131,12 @@ impl Attack {
|
||||
{
|
||||
if ori.look_vec().angle_between(-*dir) < data.static_data.max_angle.to_radians()
|
||||
{
|
||||
let parry = matches!(data.stage_section, StageSection::Buildup);
|
||||
emit_outcome(Outcome::Block {
|
||||
parry: data.parry,
|
||||
parry,
|
||||
pos: target.pos,
|
||||
});
|
||||
if data.parry && matches!(data.stage_section, StageSection::Buildup) {
|
||||
if parry {
|
||||
1.0
|
||||
} else {
|
||||
data.static_data.block_strength
|
||||
|
@ -1277,7 +1277,6 @@ impl From<(&CharacterAbility, AbilityInfo)> for CharacterState {
|
||||
},
|
||||
timer: Duration::default(),
|
||||
stage_section: StageSection::Buildup,
|
||||
parry: false,
|
||||
}),
|
||||
CharacterAbility::Roll {
|
||||
energy_cost: _,
|
||||
|
@ -30,8 +30,6 @@ pub struct Data {
|
||||
pub timer: Duration,
|
||||
/// What section the character stage is in
|
||||
pub stage_section: StageSection,
|
||||
/// Whether the block was cancelled early enough to become a parry
|
||||
pub parry: bool,
|
||||
}
|
||||
|
||||
impl CharacterBehavior for Data {
|
||||
@ -49,18 +47,13 @@ impl CharacterBehavior for Data {
|
||||
.timer
|
||||
.checked_add(Duration::from_secs_f32(data.dt.0))
|
||||
.unwrap_or_default(),
|
||||
parry: self.parry || !input_is_pressed(data, InputKind::Block),
|
||||
..*self
|
||||
});
|
||||
} else {
|
||||
// Transitions to swing section of stage
|
||||
update.character = CharacterState::BasicBlock(Data {
|
||||
timer: Duration::default(),
|
||||
stage_section: if self.parry {
|
||||
StageSection::Recover
|
||||
} else {
|
||||
StageSection::Swing
|
||||
},
|
||||
stage_section: StageSection::Swing,
|
||||
..*self
|
||||
});
|
||||
}
|
||||
|
@ -429,8 +429,7 @@ impl SfxMgr {
|
||||
][rand::thread_rng().gen_range(1..2)];
|
||||
if *parry {
|
||||
audio.play_sfx(file_ref_parry, *pos, Some(2.0));
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
audio.play_sfx(file_ref_block, *pos, Some(2.0));
|
||||
}
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user