impure -> hybrid
This commit is contained in:
parent
c1d56899c2
commit
2d669ac5da
@ -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%
|
||||
|
||||
@ -92,8 +92,8 @@ const SKILLS = [
|
||||
'HexI',
|
||||
'HatredI',
|
||||
'HostilityI',
|
||||
'ImpureBlast',
|
||||
'ImpurityI',
|
||||
'HybridBlast',
|
||||
'HybridI',
|
||||
'InvertI',
|
||||
'ParryI',
|
||||
'PurgeI',
|
||||
|
||||
@ -751,7 +751,7 @@ function testInstance(uuid) {
|
||||
"cd": null
|
||||
},
|
||||
{
|
||||
"skill": "Impurity",
|
||||
"skill": "Hybrid",
|
||||
"self_targeting": false,
|
||||
"cd": 3
|
||||
},
|
||||
|
||||
@ -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';
|
||||
|
||||
@ -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),
|
||||
|
||||
|
||||
@ -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<Skill> 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<Skill> 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> {
|
||||
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 },
|
||||
|
||||
@ -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;;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user