added impurity / haste, all t2/t3s in

This commit is contained in:
Mashy 2019-05-27 18:28:49 +10:00
parent 7d0b66ca3d
commit d2f2c2bb67
2 changed files with 73 additions and 25 deletions

View File

@ -73,14 +73,18 @@ pub enum Item {
HostilityI,
HostilityII,
HostilityIII,
Haste,
HasteI,
HasteII,
HasteIII,
HealI,
HealII,
HealIII,
HexI,
HexII,
HexIII,
Impurity,
ImpurityI,
ImpurityII,
ImpurityIII,
InvertI,
InvertII,
InvertIII,
@ -260,7 +264,9 @@ impl Item {
Item::DecayI => Some(Skill::DecayI),
Item::DecayII => Some(Skill::DecayII),
Item::DecayIII => Some(Skill::DecayIII),
Item::Haste => Some(Skill::Haste),
Item::HasteI => Some(Skill::HasteI),
Item::HasteII => Some(Skill::HasteII),
Item::HasteIII => Some(Skill::HasteIII),
Item::HealI => Some(Skill::HealI),
Item::HealII => Some(Skill::HealII),
Item::HealIII => Some(Skill::HealIII),
@ -270,7 +276,9 @@ impl Item {
Item::HostilityI => Some(Skill::HostilityI),
Item::HostilityII => Some(Skill::HostilityII),
Item::HostilityIII=> Some(Skill::HostilityIII),
Item::Impurity => Some(Skill::Impurity),
Item::ImpurityI => Some(Skill::ImpurityI),
Item::ImpurityII => Some(Skill::ImpurityII),
Item::ImpurityIII => Some(Skill::ImpurityIII),
Item::InvertI => Some(Skill::InvertI),
Item::InvertII => Some(Skill::InvertII),
Item::InvertIII => Some(Skill::InvertIII),
@ -489,7 +497,9 @@ impl Item {
"When attacked by Hostility you gain Hatred which increased red and blue power based on Damage taken.",
self.into_skill().unwrap().effect().last().unwrap().get_duration()),
Item::Haste => format!(
Item::HasteI |
Item::HasteII |
Item::HasteIII => format!(
"Haste increases Speed by {:?}%, Red based Attack skills will strike again dealing {:?}{}. Lasts {:?}T",
self.into_skill().unwrap().effect().first().unwrap().get_multiplier() - 100,
Skill::HasteStrike.multiplier(),
@ -506,7 +516,9 @@ impl Item {
Hexed targets cannot cast any skills.",
self.into_skill().unwrap().effect().first().unwrap().get_duration()),
Item::Impurity => format!(
Item::ImpurityI |
Item::ImpurityII |
Item::ImpurityIII => format!(
"Impurity increases Green Power by {:?}%, Blue based Attack skills will blast again dealing {:?}{}. Lasts {:?}T",
self.into_skill().unwrap().effect().first().unwrap().get_multiplier() - 100,
Skill::ImpureBlast.multiplier(),
@ -651,9 +663,12 @@ impl Item {
Item::ScatterII => vec![Item::ScatterI, Item::ScatterI, Item::ScatterI],
Item::ScatterIII => vec![Item::ScatterIII, Item::ScatterIII, Item::ScatterIII],
Item::Haste => vec![Item::Buff, Item::Red, Item::Green],
Item::Impurity => vec![Item::Buff, Item::Green, Item::Blue],
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::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],
@ -788,7 +803,9 @@ impl From<Skill> for Item {
Skill::DecayII => Item::DecayII,
Skill::DecayIII => Item::DecayIII,
Skill::Debuff => Item::Debuff,
Skill::Haste => Item::Haste,
Skill::HasteI => Item::HasteI,
Skill::HasteII => Item::HasteII,
Skill::HasteIII => Item::HasteIII,
Skill::HostilityI => Item::HostilityI,
Skill::HostilityII => Item::HostilityII,
Skill::HostilityIII => Item::HostilityIII,
@ -798,7 +815,9 @@ impl From<Skill> for Item {
Skill::HexI => Item::HexI,
Skill::HexII => Item::HexII,
Skill::HexIII => Item::HexIII,
Skill::Impurity => Item::Impurity,
Skill::ImpurityI => Item::ImpurityI,
Skill::ImpurityII => Item::ImpurityII,
Skill::ImpurityIII => Item::ImpurityIII,
Skill::InvertI => Item::InvertI,
Skill::InvertII => Item::InvertII,
Skill::InvertIII => Item::InvertIII,
@ -920,11 +939,15 @@ pub fn get_combos() -> Vec<Combo> {
Combo { components: Item::ScatterII.combo(), item: Item::ScatterII },
Combo { components: Item::ScatterIII.combo(), item: Item::ScatterIII },
Combo { components: Item::Haste.combo(), item: Item::Haste },
Combo { components: Item::HasteI.combo(), item: Item::HasteI },
Combo { components: Item::HasteII.combo(), item: Item::HasteII },
Combo { components: Item::HasteIII.combo(), item: Item::HasteIII },
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::Impurity.combo(), item: Item::Impurity },
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::AmplifyI.combo(), item: Item::AmplifyI },
Combo { components: Item::AmplifyII.combo(), item: Item::AmplifyII },

View File

@ -151,7 +151,9 @@ pub fn resolve(skill: Skill, source: &mut Construct, target: &mut Construct, mut
Skill::DecayTickII |
Skill::DecayTickIII => decay_tick(source, target, resolutions, skill), // dot
Skill::Haste => haste(source, target, resolutions, skill), // speed slow
Skill::HasteI |
Skill::HasteII |
Skill::HasteIII => haste(source, target, resolutions, skill), // speed slow
Skill::HealI |
Skill::HealII |
@ -164,7 +166,10 @@ pub fn resolve(skill: Skill, source: &mut Construct, target: &mut Construct, mut
Skill::HostilityI |
Skill::HostilityII |
Skill::HostilityIII => hostility(source, target, resolutions, skill),
Skill::Impurity => impurity(source, target, resolutions, skill),
Skill::ImpurityI |
Skill::ImpurityII |
Skill::ImpurityIII => impurity(source, target, resolutions, skill),
Skill::InvertI |
Skill::InvertII |
@ -728,7 +733,9 @@ pub enum Skill {
DecayTickII,
DecayTickIII,
Haste,
HasteI,
HasteII,
HasteIII,
HasteStrike,
HealI,
@ -746,7 +753,10 @@ pub enum Skill {
HostilityII,
HostilityIII,
ImpureBlast,
Impurity,
ImpurityI,
ImpurityII,
ImpurityIII,
Injure,
InvertI,
@ -988,8 +998,12 @@ impl Skill {
ConstructEffect {effect: Effect::Decay, duration: 4,
meta: Some(EffectMeta::Skill(Skill::DecayTickIII)), tick: None}],
Skill::Haste => vec![ConstructEffect {effect: Effect::Haste, duration: 2,
Skill::HasteI => vec![ConstructEffect {effect: Effect::Haste, duration: 2,
meta: Some(EffectMeta::Multiplier(150)), tick: None }],
Skill::HasteII => vec![ConstructEffect {effect: Effect::Haste, duration: 3,
meta: Some(EffectMeta::Multiplier(175)), tick: None }],
Skill::HasteIII => vec![ConstructEffect {effect: Effect::Haste, duration: 4,
meta: Some(EffectMeta::Multiplier(225)), tick: None }],
Skill::HexI => vec![ConstructEffect {effect: Effect::Hex, duration: 2, meta: None, tick: None}],
Skill::HexII => vec![ConstructEffect {effect: Effect::Hex, duration: 3, meta: None, tick: None}],
Skill::HexIII => vec![ConstructEffect {effect: Effect::Hex, duration: 4, meta: None, tick: None}],
@ -1005,8 +1019,12 @@ 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::Impurity => vec![ConstructEffect {effect: Effect::Impurity, duration: 3,
Skill::ImpurityI => vec![ConstructEffect {effect: Effect::Impurity, duration: 2,
meta: Some(EffectMeta::Multiplier(150)), tick: None }],
Skill::ImpurityII => vec![ConstructEffect {effect: Effect::Impurity, duration: 3,
meta: Some(EffectMeta::Multiplier(175)), tick: None }],
Skill::ImpurityIII => vec![ConstructEffect {effect: Effect::Impurity, duration: 4,
meta: Some(EffectMeta::Multiplier(225)), tick: None }],
Skill::InvertI => vec![ConstructEffect {effect: Effect::Invert, duration: 2, meta: None, tick: None}],
Skill::InvertII => vec![ConstructEffect {effect: Effect::Invert, duration: 3, meta: None, tick: None}],
@ -1126,7 +1144,9 @@ impl Skill {
Skill::AmplifyI => Some(1),
Skill::AmplifyII => Some(1),
Skill::AmplifyIII => Some(1),
Skill::Impurity => Some(3),
Skill::ImpurityI |
Skill::ImpurityII |
Skill::ImpurityIII => Some(3),
Skill::InvertI => Some(2),
Skill::InvertII => Some(2),
@ -1165,7 +1185,10 @@ impl Skill {
Skill::HexI => Some(1),
Skill::HexII => Some(2),
Skill::HexIII => Some(2),
Skill::Haste => Some(2),
Skill::HasteI => Some(2),
Skill::HasteII => Some(2),
Skill::HasteIII => Some(2),
Skill::ReflectI => Some(2),
Skill::ReflectII => Some(2),
@ -1375,7 +1398,9 @@ impl Skill {
Skill::CorruptI |
Skill::CorruptII |
Skill::CorruptIII |
Skill::Haste |
Skill::HasteI |
Skill::HasteII |
Skill::HasteIII |
Skill::HealI |
Skill::HealII |
Skill::HealIII |