Parry recharges red life

This commit is contained in:
Mashy 2019-05-07 16:50:30 +10:00
parent ae8a384b39
commit bb59af2685
4 changed files with 23 additions and 11 deletions

View File

@ -39,7 +39,7 @@ New skill `Impurity`
### Fixed
- Ruin sends a skill event so ruin only casts once, followed by debuffs
-
- Client side skip for source strangling effect straight to POST_SKILL
### Changed
@ -82,6 +82,12 @@ New skill `Impurity`
- Heal
Changed multiplier 120% -> 130%
- Parry
Changed duration 1T -> 2T
Changed cooldown 0T -> 2T
Now recharges 110% red damage as red life
Riposte multiplier reduced 100% -> 70%
- Siphon
Multiplier changed 30% -> 40%

View File

@ -239,7 +239,8 @@ function getCombatSequence(event) {
&& ((event[1].skill === 'Decay' && event[1].effect === 'Wither')
|| event[1].skill === 'Ruin'
|| event[1].skill === 'Taunt'
|| event[1].skill === 'Strangling')) return ['POST_SKILL'];
|| event[1].skill === 'Strangling'
|| event[1].skill === 'Parry')) return ['POST_SKILL'];
if (['Damage'].includes(event[0])
&& ((event[1].skill === 'Chaos' && event[1].colour === 'RedDamage')

View File

@ -600,6 +600,8 @@ impl Skill {
Skill::Purify => 45, //Green dmg (heal)
Skill::Recharge => 85, //restore red and blue life (heal)
Skill::Reflect => 45, //restore blue life (heal)
Skill::Parry => 110,
Skill::Riposte => 70,
// Stun Base
@ -625,7 +627,7 @@ impl Skill {
pub fn duration(&self) -> u8 {
match self {
Skill::Block => 1,
Skill::Parry => 1,
Skill::Parry => 2,
Skill::Clutch => 1,
Skill::Debuff => 3,
Skill::Reflect => 1,
@ -693,7 +695,7 @@ impl Skill {
Skill::StrikeII => None,
Skill::StrikeIII => None,
Skill::Block => None, // reduce damage
Skill::Parry => None, // avoid all damage
Skill::Parry => Some(2), // avoid all damage
Skill::Riposte => None, // used on parry
Skill::Snare => Some(2),
Skill::Stun => Some(1),
@ -1013,6 +1015,9 @@ fn block(source: &mut Cryp, target: &mut Cryp, mut results: Resolutions, skill:
}
fn parry(source: &mut Cryp, target: &mut Cryp, mut results: Resolutions, skill: Skill) -> Resolutions {
let red_amount = source.red_damage().pct(skill.multiplier());
results.push(Resolution::new(source, target).event(target.recharge(skill, red_amount, 0)));
let effect = CrypEffect::new(Effect::Parry, skill.duration());
results.push(Resolution::new(source, target).event(target.add_effect(skill, effect)));
return results;

View File

@ -350,15 +350,15 @@ pub struct Combo {
fn get_combos() -> Vec<Combo> {
let mut combinations = vec![
Combo { units: vec![Var::Buff, Var::Red, Var::Red], var: Var::Taunt }, // Add red recharge
Combo { units: vec![Var::Buff, Var::Red, Var::Red], var: Var::Taunt },
Combo { units: vec![Var::Buff, Var::Green, Var::Green], var: Var::Triage },
Combo { units: vec![Var::Buff, Var::Blue, Var::Blue], var: Var::Scatter }, // To be impl - link targets + recharge blue shield
Combo { units: vec![Var::Buff, Var::Red, Var::Green], var: Var::Haste }, // To be reworked
Combo { units: vec![Var::Buff, Var::Green, Var::Blue], var: Var::Impurity }, // To be added
Combo { units: vec![Var::Buff, Var::Red, Var::Blue], var: Var::Amplify }, // Red and blue damage buff
Combo { units: vec![Var::Buff, Var::Blue, Var::Blue], var: Var::Scatter }, //To be impl
Combo { units: vec![Var::Buff, Var::Red, Var::Green], var: Var::Haste },
Combo { units: vec![Var::Buff, Var::Green, Var::Blue], var: Var::Impurity },
Combo { units: vec![Var::Buff, Var::Red, Var::Blue], var: Var::Amplify }, // Some flavour
Combo { units: vec![Var::Debuff, Var::Red, Var::Red], var: Var::Snare },
Combo { units: vec![Var::Debuff, Var::Green, Var::Green], var: Var::Purge }, // make it disable green
Combo { units: vec![Var::Debuff, Var::Green, Var::Green], var: Var::Purge }, // Needs flavour
Combo { units: vec![Var::Debuff, Var::Blue, Var::Blue], var: Var::Silence },
Combo { units: vec![Var::Debuff, Var::Red, Var::Green], var: Var::Curse }, // To be reworked
Combo { units: vec![Var::Debuff, Var::Green, Var::Blue], var: Var::Decay },