impure -> hybrid

This commit is contained in:
ntr 2019-07-02 23:13:59 +10:00
parent c1d56899c2
commit 2d669ac5da
7 changed files with 50 additions and 50 deletions

View File

@ -42,7 +42,7 @@ New skill `Scatter `
Links targets together so dmg taken is split Links targets together so dmg taken is split
Recharge 140% source blue damage as blue life to target Recharge 140% source blue damage as blue life to target
New skill `Impurity` New skill `Hybrid`
Combines - Buff + GB Combines - Buff + GB
New buff that does the following - New buff that does the following -
Increase target green damage by 50% Increase target green damage by 50%

View File

@ -92,8 +92,8 @@ const SKILLS = [
'HexI', 'HexI',
'HatredI', 'HatredI',
'HostilityI', 'HostilityI',
'ImpureBlast', 'HybridBlast',
'ImpurityI', 'HybridI',
'InvertI', 'InvertI',
'ParryI', 'ParryI',
'PurgeI', 'PurgeI',

View File

@ -751,7 +751,7 @@ function testInstance(uuid) {
"cd": null "cd": null
}, },
{ {
"skill": "Impurity", "skill": "Hybrid",
"self_targeting": false, "self_targeting": false,
"cd": 3 "cd": 3
}, },

View File

@ -351,7 +351,7 @@ const removeTier = skill => {
if (skill.includes('Triage')) return 'Triage'; if (skill.includes('Triage')) return 'Triage';
if (skill.includes('Scatter')) return 'Scatter'; if (skill.includes('Scatter')) return 'Scatter';
if (skill.includes('Haste')) return 'Haste'; 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('Amplify')) return 'Amplify';
if (skill.includes('Parry')) return 'Parry'; if (skill.includes('Parry')) return 'Parry';

View File

@ -14,7 +14,7 @@ pub enum Effect {
Curse, Curse,
Haste, Haste,
Hex, Hex,
Impurity, Hybrid,
Invert, Invert,
Parry, Parry,
Purge, Purge,
@ -119,7 +119,7 @@ impl Effect {
Effect::Amplify => vec![Stat::RedPower, Stat::BluePower], Effect::Amplify => vec![Stat::RedPower, Stat::BluePower],
Effect::Curse => vec![Stat::BlueDamageTaken], Effect::Curse => vec![Stat::BlueDamageTaken],
Effect::Impurity => vec![Stat::GreenPower], Effect::Hybrid => vec![Stat::GreenPower],
Effect::Wither => vec![Stat::GreenDamageTaken], Effect::Wither => vec![Stat::GreenDamageTaken],
Effect::Haste => vec![Stat::Speed], Effect::Haste => vec![Stat::Speed],
@ -140,7 +140,7 @@ impl Effect {
Effect::Curse | Effect::Curse |
Effect::Haste | Effect::Haste |
Effect::Slow | Effect::Slow |
Effect::Impurity | Effect::Hybrid |
Effect::Wither => value.pct(match meta { Effect::Wither => value.pct(match meta {
Some(EffectMeta::Multiplier(d)) => d, Some(EffectMeta::Multiplier(d)) => d,
_ => 100, _ => 100,
@ -193,7 +193,7 @@ impl Effect {
Effect::Hostility => Some(Colour::Green), Effect::Hostility => Some(Colour::Green),
// magic // magic
Effect::Impurity => Some(Colour::Green), Effect::Hybrid => Some(Colour::Green),
Effect::Scatter => Some(Colour::Green), Effect::Scatter => Some(Colour::Green),
Effect::Invert => Some(Colour::Green), Effect::Invert => Some(Colour::Green),

View File

@ -124,9 +124,9 @@ pub enum Item {
HexI, HexI,
HexII, HexII,
HexIII, HexIII,
ImpurityI, HybridI,
ImpurityII, HybridII,
ImpurityIII, HybridIII,
InvertI, InvertI,
InvertII, InvertII,
InvertIII, InvertIII,
@ -329,9 +329,9 @@ impl Item {
Item::HostilityI => Some(Skill::HostilityI), Item::HostilityI => Some(Skill::HostilityI),
Item::HostilityII => Some(Skill::HostilityII), Item::HostilityII => Some(Skill::HostilityII),
Item::HostilityIII=> Some(Skill::HostilityIII), Item::HostilityIII=> Some(Skill::HostilityIII),
Item::ImpurityI => Some(Skill::ImpurityI), Item::HybridI => Some(Skill::HybridI),
Item::ImpurityII => Some(Skill::ImpurityII), Item::HybridII => Some(Skill::HybridII),
Item::ImpurityIII => Some(Skill::ImpurityIII), Item::HybridIII => Some(Skill::HybridIII),
Item::InvertI => Some(Skill::InvertI), Item::InvertI => Some(Skill::InvertI),
Item::InvertII => Some(Skill::InvertII), Item::InvertII => Some(Skill::InvertII),
Item::InvertIII => Some(Skill::InvertIII), Item::InvertIII => Some(Skill::InvertIII),
@ -653,12 +653,12 @@ impl Item {
Hexed targets cannot cast any skills.", Hexed targets cannot cast any skills.",
self.into_skill().unwrap().effect()[0].get_duration()), self.into_skill().unwrap().effect()[0].get_duration()),
Item::ImpurityI | Item::HybridI |
Item::ImpurityII | Item::HybridII |
Item::ImpurityIII => format!( Item::HybridIII => format!(
"Impurity increases Green Power by {:?}%, Blue based Attack skills will blast again dealing {:?}{}. Lasts {:?}T", "Hybrid increases Green Power by {:?}%, Blue based Attack skills will blast again dealing {:?}{}. Lasts {:?}T",
self.into_skill().unwrap().effect()[0].get_multiplier() - 100, self.into_skill().unwrap().effect()[0].get_multiplier() - 100,
Skill::ImpureBlast.multiplier(), Skill::HybridBlast.multiplier(),
"% GreenPower as BluePower", "% GreenPower as BluePower",
self.into_skill().unwrap().effect()[0].get_duration()), self.into_skill().unwrap().effect()[0].get_duration()),
@ -799,9 +799,9 @@ impl Item {
Item::HasteI => vec![Item::Buff, Item::Red, Item::Green], Item::HasteI => vec![Item::Buff, Item::Red, Item::Green],
Item::HasteII => vec![Item::HasteI, Item::HasteI, Item::HasteI], Item::HasteII => vec![Item::HasteI, Item::HasteI, Item::HasteI],
Item::HasteIII => vec![Item::HasteII, Item::HasteII, Item::HasteII], Item::HasteIII => vec![Item::HasteII, Item::HasteII, Item::HasteII],
Item::ImpurityI => vec![Item::Buff, Item::Green, Item::Blue], Item::HybridI => vec![Item::Buff, Item::Green, Item::Blue],
Item::ImpurityII => vec![Item::ImpurityI, Item::ImpurityI, Item::ImpurityI], Item::HybridII => vec![Item::HybridI, Item::HybridI, Item::HybridI],
Item::ImpurityIII => vec![Item::ImpurityII, Item::ImpurityII, Item::ImpurityII], Item::HybridIII => vec![Item::HybridII, Item::HybridII, Item::HybridII],
Item::AmplifyI => vec![Item::Buff, Item::Red, Item::Blue], Item::AmplifyI => vec![Item::Buff, Item::Red, Item::Blue],
Item::AmplifyII => vec![Item::AmplifyI, Item::AmplifyI, Item::AmplifyI], Item::AmplifyII => vec![Item::AmplifyI, Item::AmplifyI, Item::AmplifyI],
Item::AmplifyIII => vec![Item::AmplifyII, Item::AmplifyII, Item::AmplifyII], Item::AmplifyIII => vec![Item::AmplifyII, Item::AmplifyII, Item::AmplifyII],
@ -991,9 +991,9 @@ impl From<Skill> for Item {
Skill::HexI => Item::HexI, Skill::HexI => Item::HexI,
Skill::HexII => Item::HexII, Skill::HexII => Item::HexII,
Skill::HexIII => Item::HexIII, Skill::HexIII => Item::HexIII,
Skill::ImpurityI => Item::ImpurityI, Skill::HybridI => Item::HybridI,
Skill::ImpurityII => Item::ImpurityII, Skill::HybridII => Item::HybridII,
Skill::ImpurityIII => Item::ImpurityIII, Skill::HybridIII => Item::HybridIII,
Skill::InvertI => Item::InvertI, Skill::InvertI => Item::InvertI,
Skill::InvertII => Item::InvertII, Skill::InvertII => Item::InvertII,
Skill::InvertIII => Item::InvertIII, Skill::InvertIII => Item::InvertIII,
@ -1064,7 +1064,7 @@ impl From<Skill> for Item {
Skill::HatredII => Item::HostilityII, Skill::HatredII => Item::HostilityII,
Skill::HatredIII => Item::HostilityIII, Skill::HatredIII => Item::HostilityIII,
Skill::HasteStrike => Item::HasteI, Skill::HasteStrike => Item::HasteI,
Skill::ImpureBlast => Item::ImpurityI, Skill::HybridBlast => Item::HybridI,
Skill::RiposteI => Item::ParryI, Skill::RiposteI => Item::ParryI,
Skill::RiposteII => Item::ParryII, Skill::RiposteII => Item::ParryII,
Skill::RiposteIII => Item::ParryIII, Skill::RiposteIII => Item::ParryIII,
@ -1175,9 +1175,9 @@ pub fn get_combos() -> Vec<Combo> {
Combo { components: Item::HostilityI.combo(), item: Item::HostilityI }, Combo { components: Item::HostilityI.combo(), item: Item::HostilityI },
Combo { components: Item::HostilityII.combo(), item: Item::HostilityII }, Combo { components: Item::HostilityII.combo(), item: Item::HostilityII },
Combo { components: Item::HostilityIII.combo(), item: Item::HostilityIII }, Combo { components: Item::HostilityIII.combo(), item: Item::HostilityIII },
Combo { components: Item::ImpurityI.combo(), item: Item::ImpurityI }, Combo { components: Item::HybridI.combo(), item: Item::HybridI },
Combo { components: Item::ImpurityII.combo(), item: Item::ImpurityII }, Combo { components: Item::HybridII.combo(), item: Item::HybridII },
Combo { components: Item::ImpurityIII.combo(), item: Item::ImpurityIII }, Combo { components: Item::HybridIII.combo(), item: Item::HybridIII },
Combo { components: Item::AmplifyI.combo(), item: Item::AmplifyI }, Combo { components: Item::AmplifyI.combo(), item: Item::AmplifyI },
Combo { components: Item::AmplifyII.combo(), item: Item::AmplifyII }, Combo { components: Item::AmplifyII.combo(), item: Item::AmplifyII },

View File

@ -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 { match skill {
Skill::BlastI | Skill::BlastI |
Skill::ChaosI | Skill::ChaosI |
Skill::SiphonI => { Skill::SiphonI => {
let amount = source.green_power().pct(Skill::ImpureBlast.multiplier()); let amount = source.green_power().pct(Skill::HybridBlast.multiplier());
target.deal_blue_damage(Skill::ImpureBlast, amount) target.deal_blue_damage(Skill::HybridBlast, amount)
.into_iter() .into_iter()
.for_each(|e| resolutions.push(Resolution::new(source, target).event(e))); .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::HostilityII |
Skill::HostilityIII => hostility(source, target, resolutions, skill), Skill::HostilityIII => hostility(source, target, resolutions, skill),
Skill::ImpurityI | Skill::HybridI |
Skill::ImpurityII | Skill::HybridII |
Skill::ImpurityIII => impurity(source, target, resolutions, skill), Skill::HybridIII => hybrid(source, target, resolutions, skill),
Skill::InvertI | Skill::InvertI |
Skill::InvertII | Skill::InvertII |
@ -274,7 +274,7 @@ pub fn resolve(skill: Skill, source: &mut Construct, target: &mut Construct, mut
Skill::HatredI | Skill::HatredI |
Skill::HatredII | Skill::HatredII |
Skill::HatredIII => panic!("should only trigger from hatred"), 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::RiposteI |
Skill::RiposteII | Skill::RiposteII |
Skill::RiposteIII => panic!("should only trigger from parry"), Skill::RiposteIII => panic!("should only trigger from parry"),
@ -550,11 +550,11 @@ pub enum Skill {
HostilityI, HostilityI,
HostilityII, HostilityII,
HostilityIII, HostilityIII,
ImpureBlast, HybridBlast,
ImpurityI, HybridI,
ImpurityII, HybridII,
ImpurityIII, HybridIII,
InvertI, InvertI,
InvertII, InvertII,
@ -709,7 +709,7 @@ impl Skill {
Skill::SnareIII => 100, Skill::SnareIII => 100,
// Buff base // Buff base
Skill::ImpureBlast => 25, Skill::HybridBlast => 25,
Skill::HasteStrike => 30, Skill::HasteStrike => 30,
Skill::ScatterI => 140, Skill::ScatterI => 140,
Skill::ScatterII => 200, Skill::ScatterII => 200,
@ -801,11 +801,11 @@ impl Skill {
Skill::HatredII => vec![ConstructEffect {effect: Effect::Hatred, duration: 7, meta: None, tick: None}], 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::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 }], 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 }], 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 }], meta: Some(EffectMeta::Multiplier(225)), tick: None }],
Skill::InvertI => vec![ConstructEffect {effect: Effect::Invert, duration: 2, meta: None, 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::AmplifyI => Some(1),
Skill::AmplifyII => Some(1), Skill::AmplifyII => Some(1),
Skill::AmplifyIII => Some(1), Skill::AmplifyIII => Some(1),
Skill::ImpurityI | Skill::HybridI |
Skill::ImpurityII | Skill::HybridII |
Skill::ImpurityIII => Some(3), Skill::HybridIII => Some(3),
Skill::InvertI => Some(2), Skill::InvertI => Some(2),
Skill::InvertII => Some(2), Skill::InvertII => Some(2),
@ -1018,7 +1018,7 @@ impl Skill {
// Never cast directly // Never cast directly
//--------- //---------
// Trigger // Trigger
Skill::ImpureBlast | Skill::HybridBlast |
Skill::HasteStrike | Skill::HasteStrike |
Skill::RiposteI | Skill::RiposteI |
Skill::RiposteII | Skill::RiposteII |
@ -1532,7 +1532,7 @@ fn curse(source: &mut Construct, target: &mut Construct, mut results: Resolution
return results;; 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]))); results.push(Resolution::new(source, target).event(target.add_effect(skill, skill.effect()[0])));
return results;; return results;;
} }