diff --git a/CHANGELOG.md b/CHANGELOG.md index df8ad514..af961aa0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -42,7 +42,7 @@ New skill `Scatter ` Links targets together so dmg taken is split Recharge 140% source blue damage as blue life to target -New skill `Impurity` +New skill `Hybrid` Combines - Buff + GB New buff that does the following - Increase target green damage by 50% diff --git a/client/src/animations.test.jsx b/client/src/animations.test.jsx index 0bf86348..702f06a4 100644 --- a/client/src/animations.test.jsx +++ b/client/src/animations.test.jsx @@ -92,8 +92,8 @@ const SKILLS = [ 'HexI', 'HatredI', 'HostilityI', - 'ImpureBlast', - 'ImpurityI', + 'HybridBlast', + 'HybridI', 'InvertI', 'ParryI', 'PurgeI', diff --git a/client/src/test.instance.js b/client/src/test.instance.js index 6562ea17..88694d19 100644 --- a/client/src/test.instance.js +++ b/client/src/test.instance.js @@ -751,7 +751,7 @@ function testInstance(uuid) { "cd": null }, { - "skill": "Impurity", + "skill": "Hybrid", "self_targeting": false, "cd": 3 }, diff --git a/client/src/utils.jsx b/client/src/utils.jsx index e85c901c..1357c5b6 100644 --- a/client/src/utils.jsx +++ b/client/src/utils.jsx @@ -351,7 +351,7 @@ const removeTier = skill => { if (skill.includes('Triage')) return 'Triage'; if (skill.includes('Scatter')) return 'Scatter'; if (skill.includes('Haste')) return 'Haste'; - if (skill.includes('Impurity')) return 'Impurity'; + if (skill.includes('Hybrid')) return 'Hybrid'; if (skill.includes('Amplify')) return 'Amplify'; if (skill.includes('Parry')) return 'Parry'; diff --git a/server/src/effect.rs b/server/src/effect.rs index 25636d7a..a12d91ec 100644 --- a/server/src/effect.rs +++ b/server/src/effect.rs @@ -14,7 +14,7 @@ pub enum Effect { Curse, Haste, Hex, - Impurity, + Hybrid, Invert, Parry, Purge, @@ -119,7 +119,7 @@ impl Effect { Effect::Amplify => vec![Stat::RedPower, Stat::BluePower], Effect::Curse => vec![Stat::BlueDamageTaken], - Effect::Impurity => vec![Stat::GreenPower], + Effect::Hybrid => vec![Stat::GreenPower], Effect::Wither => vec![Stat::GreenDamageTaken], Effect::Haste => vec![Stat::Speed], @@ -140,7 +140,7 @@ impl Effect { Effect::Curse | Effect::Haste | Effect::Slow | - Effect::Impurity | + Effect::Hybrid | Effect::Wither => value.pct(match meta { Some(EffectMeta::Multiplier(d)) => d, _ => 100, @@ -193,7 +193,7 @@ impl Effect { Effect::Hostility => Some(Colour::Green), // magic - Effect::Impurity => Some(Colour::Green), + Effect::Hybrid => Some(Colour::Green), Effect::Scatter => Some(Colour::Green), Effect::Invert => Some(Colour::Green), diff --git a/server/src/item.rs b/server/src/item.rs index a25b785a..c8570494 100644 --- a/server/src/item.rs +++ b/server/src/item.rs @@ -124,9 +124,9 @@ pub enum Item { HexI, HexII, HexIII, - ImpurityI, - ImpurityII, - ImpurityIII, + HybridI, + HybridII, + HybridIII, InvertI, InvertII, InvertIII, @@ -329,9 +329,9 @@ impl Item { Item::HostilityI => Some(Skill::HostilityI), Item::HostilityII => Some(Skill::HostilityII), Item::HostilityIII=> Some(Skill::HostilityIII), - Item::ImpurityI => Some(Skill::ImpurityI), - Item::ImpurityII => Some(Skill::ImpurityII), - Item::ImpurityIII => Some(Skill::ImpurityIII), + Item::HybridI => Some(Skill::HybridI), + Item::HybridII => Some(Skill::HybridII), + Item::HybridIII => Some(Skill::HybridIII), Item::InvertI => Some(Skill::InvertI), Item::InvertII => Some(Skill::InvertII), Item::InvertIII => Some(Skill::InvertIII), @@ -653,12 +653,12 @@ impl Item { Hexed targets cannot cast any skills.", self.into_skill().unwrap().effect()[0].get_duration()), - Item::ImpurityI | - Item::ImpurityII | - Item::ImpurityIII => format!( - "Impurity increases Green Power by {:?}%, Blue based Attack skills will blast again dealing {:?}{}. Lasts {:?}T", + Item::HybridI | + Item::HybridII | + Item::HybridIII => format!( + "Hybrid increases Green Power by {:?}%, Blue based Attack skills will blast again dealing {:?}{}. Lasts {:?}T", self.into_skill().unwrap().effect()[0].get_multiplier() - 100, - Skill::ImpureBlast.multiplier(), + Skill::HybridBlast.multiplier(), "% GreenPower as BluePower", self.into_skill().unwrap().effect()[0].get_duration()), @@ -799,9 +799,9 @@ impl Item { Item::HasteI => vec![Item::Buff, Item::Red, Item::Green], Item::HasteII => vec![Item::HasteI, Item::HasteI, Item::HasteI], Item::HasteIII => vec![Item::HasteII, Item::HasteII, Item::HasteII], - Item::ImpurityI => vec![Item::Buff, Item::Green, Item::Blue], - Item::ImpurityII => vec![Item::ImpurityI, Item::ImpurityI, Item::ImpurityI], - Item::ImpurityIII => vec![Item::ImpurityII, Item::ImpurityII, Item::ImpurityII], + Item::HybridI => vec![Item::Buff, Item::Green, Item::Blue], + Item::HybridII => vec![Item::HybridI, Item::HybridI, Item::HybridI], + Item::HybridIII => vec![Item::HybridII, Item::HybridII, Item::HybridII], Item::AmplifyI => vec![Item::Buff, Item::Red, Item::Blue], Item::AmplifyII => vec![Item::AmplifyI, Item::AmplifyI, Item::AmplifyI], Item::AmplifyIII => vec![Item::AmplifyII, Item::AmplifyII, Item::AmplifyII], @@ -991,9 +991,9 @@ impl From for Item { Skill::HexI => Item::HexI, Skill::HexII => Item::HexII, Skill::HexIII => Item::HexIII, - Skill::ImpurityI => Item::ImpurityI, - Skill::ImpurityII => Item::ImpurityII, - Skill::ImpurityIII => Item::ImpurityIII, + Skill::HybridI => Item::HybridI, + Skill::HybridII => Item::HybridII, + Skill::HybridIII => Item::HybridIII, Skill::InvertI => Item::InvertI, Skill::InvertII => Item::InvertII, Skill::InvertIII => Item::InvertIII, @@ -1064,7 +1064,7 @@ impl From for Item { Skill::HatredII => Item::HostilityII, Skill::HatredIII => Item::HostilityIII, Skill::HasteStrike => Item::HasteI, - Skill::ImpureBlast => Item::ImpurityI, + Skill::HybridBlast => Item::HybridI, Skill::RiposteI => Item::ParryI, Skill::RiposteII => Item::ParryII, Skill::RiposteIII => Item::ParryIII, @@ -1175,9 +1175,9 @@ pub fn get_combos() -> Vec { Combo { components: Item::HostilityI.combo(), item: Item::HostilityI }, Combo { components: Item::HostilityII.combo(), item: Item::HostilityII }, Combo { components: Item::HostilityIII.combo(), item: Item::HostilityIII }, - Combo { components: Item::ImpurityI.combo(), item: Item::ImpurityI }, - Combo { components: Item::ImpurityII.combo(), item: Item::ImpurityII }, - Combo { components: Item::ImpurityIII.combo(), item: Item::ImpurityIII }, + Combo { components: Item::HybridI.combo(), item: Item::HybridI }, + Combo { components: Item::HybridII.combo(), item: Item::HybridII }, + Combo { components: Item::HybridIII.combo(), item: Item::HybridIII }, Combo { components: Item::AmplifyI.combo(), item: Item::AmplifyI }, Combo { components: Item::AmplifyII.combo(), item: Item::AmplifyII }, diff --git a/server/src/skill.rs b/server/src/skill.rs index eaf4138c..36b6ebde 100644 --- a/server/src/skill.rs +++ b/server/src/skill.rs @@ -97,13 +97,13 @@ pub fn resolve(skill: Skill, source: &mut Construct, target: &mut Construct, mut } } - if source.affected(Effect::Impurity) { + if source.affected(Effect::Hybrid) { match skill { Skill::BlastI | Skill::ChaosI | Skill::SiphonI => { - let amount = source.green_power().pct(Skill::ImpureBlast.multiplier()); - target.deal_blue_damage(Skill::ImpureBlast, amount) + let amount = source.green_power().pct(Skill::HybridBlast.multiplier()); + target.deal_blue_damage(Skill::HybridBlast, amount) .into_iter() .for_each(|e| resolutions.push(Resolution::new(source, target).event(e))); }, @@ -180,9 +180,9 @@ pub fn resolve(skill: Skill, source: &mut Construct, target: &mut Construct, mut Skill::HostilityII | Skill::HostilityIII => hostility(source, target, resolutions, skill), - Skill::ImpurityI | - Skill::ImpurityII | - Skill::ImpurityIII => impurity(source, target, resolutions, skill), + Skill::HybridI | + Skill::HybridII | + Skill::HybridIII => hybrid(source, target, resolutions, skill), Skill::InvertI | Skill::InvertII | @@ -274,7 +274,7 @@ pub fn resolve(skill: Skill, source: &mut Construct, target: &mut Construct, mut Skill::HatredI | Skill::HatredII | Skill::HatredIII => panic!("should only trigger from hatred"), - Skill::ImpureBlast => panic!("should only trigger from impurity"), + Skill::HybridBlast => panic!("should only trigger from hybrid"), Skill::RiposteI | Skill::RiposteII | Skill::RiposteIII => panic!("should only trigger from parry"), @@ -550,11 +550,11 @@ pub enum Skill { HostilityI, HostilityII, HostilityIII, - ImpureBlast, + HybridBlast, - ImpurityI, - ImpurityII, - ImpurityIII, + HybridI, + HybridII, + HybridIII, InvertI, InvertII, @@ -709,7 +709,7 @@ impl Skill { Skill::SnareIII => 100, // Buff base - Skill::ImpureBlast => 25, + Skill::HybridBlast => 25, Skill::HasteStrike => 30, Skill::ScatterI => 140, Skill::ScatterII => 200, @@ -801,11 +801,11 @@ impl Skill { Skill::HatredII => vec![ConstructEffect {effect: Effect::Hatred, duration: 7, meta: None, tick: None}], Skill::HatredIII => vec![ConstructEffect {effect: Effect::Hatred, duration: 9, meta: None, tick: None}], - Skill::ImpurityI => vec![ConstructEffect {effect: Effect::Impurity, duration: 2, + Skill::HybridI => vec![ConstructEffect {effect: Effect::Hybrid, duration: 2, meta: Some(EffectMeta::Multiplier(150)), tick: None }], - Skill::ImpurityII => vec![ConstructEffect {effect: Effect::Impurity, duration: 3, + Skill::HybridII => vec![ConstructEffect {effect: Effect::Hybrid, duration: 3, meta: Some(EffectMeta::Multiplier(175)), tick: None }], - Skill::ImpurityIII => vec![ConstructEffect {effect: Effect::Impurity, duration: 4, + Skill::HybridIII => vec![ConstructEffect {effect: Effect::Hybrid, duration: 4, meta: Some(EffectMeta::Multiplier(225)), tick: None }], Skill::InvertI => vec![ConstructEffect {effect: Effect::Invert, duration: 2, meta: None, tick: None}], @@ -931,9 +931,9 @@ impl Skill { Skill::AmplifyI => Some(1), Skill::AmplifyII => Some(1), Skill::AmplifyIII => Some(1), - Skill::ImpurityI | - Skill::ImpurityII | - Skill::ImpurityIII => Some(3), + Skill::HybridI | + Skill::HybridII | + Skill::HybridIII => Some(3), Skill::InvertI => Some(2), Skill::InvertII => Some(2), @@ -1018,7 +1018,7 @@ impl Skill { // Never cast directly //--------- // Trigger - Skill::ImpureBlast | + Skill::HybridBlast | Skill::HasteStrike | Skill::RiposteI | Skill::RiposteII | @@ -1532,7 +1532,7 @@ fn curse(source: &mut Construct, target: &mut Construct, mut results: Resolution return results;; } -fn impurity(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions { +fn hybrid(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions { results.push(Resolution::new(source, target).event(target.add_effect(skill, skill.effect()[0]))); return results;; }