diff --git a/CHANGELOG.md b/CHANGELOG.md index e3824508..22381456 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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% diff --git a/client/src/utils.jsx b/client/src/utils.jsx index b87e0c4c..cdf0ef03 100644 --- a/client/src/utils.jsx +++ b/client/src/utils.jsx @@ -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') diff --git a/server/src/skill.rs b/server/src/skill.rs index 8bd810a4..2d56f922 100644 --- a/server/src/skill.rs +++ b/server/src/skill.rs @@ -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; diff --git a/server/src/vbox.rs b/server/src/vbox.rs index 036c1bfd..bc8a6b07 100644 --- a/server/src/vbox.rs +++ b/server/src/vbox.rs @@ -350,17 +350,17 @@ pub struct Combo { fn get_combos() -> Vec { 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::Red, Var::Green], var: Var::Curse }, // To be reworked Combo { units: vec![Var::Debuff, Var::Green, Var::Blue], var: Var::Decay }, Combo { units: vec![Var::Debuff, Var::Red, Var::Blue], var: Var::Invert },