mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Merge branch 'juliancoffee/ban-rolls' into 'master'
Rolls don't skip recovery anymore See merge request veloren/veloren!4387
This commit is contained in:
commit
32989ffe99
@ -1240,9 +1240,9 @@ impl CharacterAbility {
|
||||
0.0
|
||||
};
|
||||
CharacterAbility::Roll {
|
||||
// Energy cost increased by
|
||||
energy_cost: 12.0 + remaining_recover * 100.0,
|
||||
buildup_duration: 0.05,
|
||||
energy_cost: 12.0,
|
||||
// Remaining recover flows into buildup
|
||||
buildup_duration: 0.05 + remaining_recover,
|
||||
movement_duration: 0.33,
|
||||
recover_duration: 0.125,
|
||||
roll_strength: 3.0,
|
||||
|
@ -405,7 +405,13 @@ impl CharacterState {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn is_dodge(&self) -> bool { matches!(self, CharacterState::Roll(_)) }
|
||||
pub fn is_dodge(&self) -> bool {
|
||||
if let CharacterState::Roll(c) = self {
|
||||
c.stage_section == StageSection::Movement
|
||||
} else {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
pub fn is_glide(&self) -> bool { matches!(self, CharacterState::Glide(_)) }
|
||||
|
||||
@ -415,7 +421,7 @@ impl CharacterState {
|
||||
|
||||
pub fn attack_immunities(&self) -> Option<AttackFilters> {
|
||||
if let CharacterState::Roll(c) = self {
|
||||
Some(c.static_data.attack_immunities)
|
||||
(c.stage_section == StageSection::Movement).then_some(c.static_data.attack_immunities)
|
||||
} else {
|
||||
None
|
||||
}
|
||||
|
@ -60,7 +60,7 @@ impl CharacterBehavior for Data {
|
||||
|
||||
match self.stage_section {
|
||||
StageSection::Buildup => {
|
||||
handle_move(data, &mut update, 1.0);
|
||||
handle_move(data, &mut update, 0.3);
|
||||
if self.timer < self.static_data.buildup_duration {
|
||||
// Build up
|
||||
update.character = CharacterState::Roll(Data {
|
||||
|
Loading…
Reference in New Issue
Block a user