nerf purge -> flat (2 / 3 / 4)T no lockout scaling

This commit is contained in:
Mashy 2019-09-16 16:47:57 +10:00
parent 660607dc60
commit a512bcb76c
2 changed files with 194 additions and 186 deletions

View File

@ -385,102 +385,102 @@ impl Item {
pub fn into_skill(&self) -> Option<Skill> {
match self {
Item::Absorb => Some(Skill::Absorb),
Item::AbsorbPlus => Some(Skill::AbsorbPlus),
Item::AbsorbPlusPlus => Some(Skill::AbsorbPlusPlus),
Item::Amplify => Some(Skill::Amplify),
Item::AmplifyPlus => Some(Skill::AmplifyPlus),
Item::AmplifyPlusPlus => Some(Skill::AmplifyPlusPlus),
Item::Attack => Some(Skill::Attack),
Item::Banish => Some(Skill::Banish),
Item::BanishPlus => Some(Skill::BanishPlus),
Item::BanishPlusPlus => Some(Skill::BanishPlusPlus),
Item::Bash => Some(Skill::Bash),
Item::BashPlus => Some(Skill::BashPlus),
Item::BashPlusPlus => Some(Skill::BashPlusPlus),
Item::Blast => Some(Skill::Blast),
Item::BlastPlus => Some(Skill::BlastPlus),
Item::BlastPlusPlus => Some(Skill::BlastPlusPlus),
Item::Block => Some(Skill::Block),
Item::Buff => Some(Skill::Buff),
Item::Chaos => Some(Skill::Chaos),
Item::ChaosPlus => Some(Skill::ChaosPlus),
Item::ChaosPlusPlus => Some(Skill::ChaosPlusPlus),
Item::Counter => Some(Skill::Counter),
Item::CounterPlus => Some(Skill::CounterPlus),
Item::CounterPlusPlus => Some(Skill::CounterPlusPlus),
Item::Curse => Some(Skill::Curse),
Item::CursePlus => Some(Skill::CursePlus),
Item::CursePlusPlus => Some(Skill::CursePlusPlus),
Item::Debuff => Some(Skill::Debuff),
Item::Decay => Some(Skill::Decay),
Item::DecayPlus => Some(Skill::DecayPlus),
Item::DecayPlusPlus => Some(Skill::DecayPlusPlus),
Item::Electrify => Some(Skill::Electrify),
Item::ElectrifyPlus => Some(Skill::ElectrifyPlus),
Item::ElectrifyPlusPlus => Some(Skill::ElectrifyPlusPlus),
Item::Haste => Some(Skill::Haste),
Item::HastePlus => Some(Skill::HastePlus),
Item::HastePlusPlus => Some(Skill::HastePlusPlus),
Item::Heal => Some(Skill::Heal),
Item::HealPlus => Some(Skill::HealPlus),
Item::HealPlusPlus => Some(Skill::HealPlusPlus),
Item::Hybrid => Some(Skill::Hybrid),
Item::HybridPlus => Some(Skill::HybridPlus),
Item::HybridPlusPlus => Some(Skill::HybridPlusPlus),
Item::Intercept => Some(Skill::Intercept),
Item::InterceptPlus => Some(Skill::InterceptPlus),
Item::InterceptPlusPlus => Some(Skill::InterceptPlusPlus),
Item::Invert => Some(Skill::Invert),
Item::InvertPlus => Some(Skill::InvertPlus),
Item::InvertPlusPlus => Some(Skill::InvertPlusPlus),
Item::Purge => Some(Skill::Purge),
Item::PurgePlus => Some(Skill::PurgePlus),
Item::PurgePlusPlus => Some(Skill::PurgePlusPlus),
Item::Purify => Some(Skill::Purify),
Item::PurifyPlus => Some(Skill::PurifyPlus),
Item::PurifyPlusPlus => Some(Skill::PurifyPlusPlus),
Item::Recharge => Some(Skill::Recharge),
Item::RechargePlus => Some(Skill::RechargePlus),
Item::RechargePlusPlus => Some(Skill::RechargePlusPlus),
Item::Reflect => Some(Skill::Reflect),
Item::ReflectPlus => Some(Skill::ReflectPlus),
Item::ReflectPlusPlus => Some(Skill::ReflectPlusPlus),
Item::Restrict => Some(Skill::Restrict),
Item::RestrictPlus => Some(Skill::RestrictPlus),
Item::RestrictPlusPlus => Some(Skill::RestrictPlusPlus),
Item::Ruin => Some(Skill::Ruin),
Item::RuinPlus => Some(Skill::RuinPlus),
Item::RuinPlusPlus => Some(Skill::RuinPlusPlus),
Item::Link => Some(Skill::Link),
Item::LinkPlus => Some(Skill::LinkPlus),
Item::LinkPlusPlus => Some(Skill::LinkPlusPlus),
Item::Silence => Some(Skill::Silence),
Item::SilencePlus => Some(Skill::SilencePlus),
Item::SilencePlusPlus => Some(Skill::SilencePlusPlus),
Item::Siphon => Some(Skill::Siphon),
Item::SiphonPlus => Some(Skill::SiphonPlus),
Item::SiphonPlusPlus => Some(Skill::SiphonPlusPlus),
Item::Slay => Some(Skill::Slay),
Item::SlayPlus => Some(Skill::SlayPlus),
Item::SlayPlusPlus => Some(Skill::SlayPlusPlus),
Item::Sleep => Some(Skill::Sleep),
Item::SleepPlus => Some(Skill::SleepPlus),
Item::SleepPlusPlus => Some(Skill::SleepPlusPlus),
Item::Strike => Some(Skill::Strike),
Item::StrikePlus => Some(Skill::StrikePlus),
Item::StrikePlusPlus => Some(Skill::StrikePlusPlus),
Item::Stun => Some(Skill::Stun),
Item::Sustain => Some(Skill::Sustain),
Item::SustainPlus => Some(Skill::SustainPlus),
Item::SustainPlusPlus => Some(Skill::SustainPlusPlus),
Item::Break => Some(Skill::Break),
Item::BreakPlus => Some(Skill::BreakPlus),
Item::BreakPlusPlus => Some(Skill::BreakPlusPlus),
Item::Triage => Some(Skill::Triage),
Item::TriagePlus => Some(Skill::TriagePlus),
Item::TriagePlusPlus => Some(Skill::TriagePlusPlus),
_ => None,
Item::Absorb => Some(Skill::Absorb),
Item::AbsorbPlus => Some(Skill::AbsorbPlus),
Item::AbsorbPlusPlus => Some(Skill::AbsorbPlusPlus),
Item::Amplify => Some(Skill::Amplify),
Item::AmplifyPlus => Some(Skill::AmplifyPlus),
Item::AmplifyPlusPlus => Some(Skill::AmplifyPlusPlus),
Item::Attack => Some(Skill::Attack),
Item::Banish => Some(Skill::Banish),
Item::BanishPlus => Some(Skill::BanishPlus),
Item::BanishPlusPlus => Some(Skill::BanishPlusPlus),
Item::Bash => Some(Skill::Bash),
Item::BashPlus => Some(Skill::BashPlus),
Item::BashPlusPlus => Some(Skill::BashPlusPlus),
Item::Blast => Some(Skill::Blast),
Item::BlastPlus => Some(Skill::BlastPlus),
Item::BlastPlusPlus => Some(Skill::BlastPlusPlus),
Item::Block => Some(Skill::Block),
Item::Buff => Some(Skill::Buff),
Item::Chaos => Some(Skill::Chaos),
Item::ChaosPlus => Some(Skill::ChaosPlus),
Item::ChaosPlusPlus => Some(Skill::ChaosPlusPlus),
Item::Counter => Some(Skill::Counter),
Item::CounterPlus => Some(Skill::CounterPlus),
Item::CounterPlusPlus => Some(Skill::CounterPlusPlus),
Item::Curse => Some(Skill::Curse),
Item::CursePlus => Some(Skill::CursePlus),
Item::CursePlusPlus => Some(Skill::CursePlusPlus),
Item::Debuff => Some(Skill::Debuff),
Item::Decay => Some(Skill::Decay),
Item::DecayPlus => Some(Skill::DecayPlus),
Item::DecayPlusPlus => Some(Skill::DecayPlusPlus),
Item::Electrify => Some(Skill::Electrify),
Item::ElectrifyPlus => Some(Skill::ElectrifyPlus),
Item::ElectrifyPlusPlus => Some(Skill::ElectrifyPlusPlus),
Item::Haste => Some(Skill::Haste),
Item::HastePlus => Some(Skill::HastePlus),
Item::HastePlusPlus => Some(Skill::HastePlusPlus),
Item::Heal => Some(Skill::Heal),
Item::HealPlus => Some(Skill::HealPlus),
Item::HealPlusPlus => Some(Skill::HealPlusPlus),
Item::Hybrid => Some(Skill::Hybrid),
Item::HybridPlus => Some(Skill::HybridPlus),
Item::HybridPlusPlus => Some(Skill::HybridPlusPlus),
Item::Intercept => Some(Skill::Intercept),
Item::InterceptPlus => Some(Skill::InterceptPlus),
Item::InterceptPlusPlus => Some(Skill::InterceptPlusPlus),
Item::Invert => Some(Skill::Invert),
Item::InvertPlus => Some(Skill::InvertPlus),
Item::InvertPlusPlus => Some(Skill::InvertPlusPlus),
Item::Purge => Some(Skill::Purge),
Item::PurgePlus => Some(Skill::PurgePlus),
Item::PurgePlusPlus => Some(Skill::PurgePlusPlus),
Item::Purify => Some(Skill::Purify),
Item::PurifyPlus => Some(Skill::PurifyPlus),
Item::PurifyPlusPlus => Some(Skill::PurifyPlusPlus),
Item::Recharge => Some(Skill::Recharge),
Item::RechargePlus => Some(Skill::RechargePlus),
Item::RechargePlusPlus => Some(Skill::RechargePlusPlus),
Item::Reflect => Some(Skill::Reflect),
Item::ReflectPlus => Some(Skill::ReflectPlus),
Item::ReflectPlusPlus => Some(Skill::ReflectPlusPlus),
Item::Restrict => Some(Skill::Restrict),
Item::RestrictPlus => Some(Skill::RestrictPlus),
Item::RestrictPlusPlus => Some(Skill::RestrictPlusPlus),
Item::Ruin => Some(Skill::Ruin),
Item::RuinPlus => Some(Skill::RuinPlus),
Item::RuinPlusPlus => Some(Skill::RuinPlusPlus),
Item::Link => Some(Skill::Link),
Item::LinkPlus => Some(Skill::LinkPlus),
Item::LinkPlusPlus => Some(Skill::LinkPlusPlus),
Item::Silence => Some(Skill::Silence),
Item::SilencePlus => Some(Skill::SilencePlus),
Item::SilencePlusPlus => Some(Skill::SilencePlusPlus),
Item::Siphon => Some(Skill::Siphon),
Item::SiphonPlus => Some(Skill::SiphonPlus),
Item::SiphonPlusPlus => Some(Skill::SiphonPlusPlus),
Item::Slay => Some(Skill::Slay),
Item::SlayPlus => Some(Skill::SlayPlus),
Item::SlayPlusPlus => Some(Skill::SlayPlusPlus),
Item::Sleep => Some(Skill::Sleep),
Item::SleepPlus => Some(Skill::SleepPlus),
Item::SleepPlusPlus => Some(Skill::SleepPlusPlus),
Item::Strike => Some(Skill::Strike),
Item::StrikePlus => Some(Skill::StrikePlus),
Item::StrikePlusPlus => Some(Skill::StrikePlusPlus),
Item::Stun => Some(Skill::Stun),
Item::Sustain => Some(Skill::Sustain),
Item::SustainPlus => Some(Skill::SustainPlus),
Item::SustainPlusPlus => Some(Skill::SustainPlusPlus),
Item::Break => Some(Skill::Break),
Item::BreakPlus => Some(Skill::BreakPlus),
Item::BreakPlusPlus => Some(Skill::BreakPlusPlus),
Item::Triage => Some(Skill::Triage),
Item::TriagePlus => Some(Skill::TriagePlus),
Item::TriagePlusPlus => Some(Skill::TriagePlusPlus),
_ => None,
}
}

View File

@ -817,66 +817,70 @@ impl Skill {
match self {
// Modifiers
Skill::Amplify => vec![ConstructEffect {effect: Effect::Amplify, duration: 2,
meta: Some(EffectMeta::Multiplier(150)), tick: None}],
meta: Some(EffectMeta::Multiplier(150)), tick: None}],
Skill::AmplifyPlus => vec![ConstructEffect {effect: Effect::Amplify, duration: 3,
meta: Some(EffectMeta::Multiplier(175)), tick: None}],
meta: Some(EffectMeta::Multiplier(175)), tick: None}],
Skill::AmplifyPlusPlus => vec![ConstructEffect {effect: Effect::Amplify, duration: 4,
meta: Some(EffectMeta::Multiplier(200)), tick: None}],
meta: Some(EffectMeta::Multiplier(200)), tick: None}],
Skill::Banish => vec![ConstructEffect {effect: Effect::Banish, duration: 1,meta: None, tick: None}],
Skill::BanishPlus => vec![ConstructEffect {effect: Effect::Banish, duration: 2,meta: None, tick: None}],
Skill::BanishPlusPlus => vec![ConstructEffect {effect: Effect::Banish, duration: 3,meta: None, tick: None}],
Skill::Block => vec![ConstructEffect {effect: Effect::Block, duration: 1,
meta: Some(EffectMeta::Multiplier(50)), tick: None}],
meta: Some(EffectMeta::Multiplier(50)), tick: None}],
Skill::Buff => vec![ConstructEffect {effect: Effect::Buff, duration: 2,
meta: Some(EffectMeta::Multiplier(125)), tick: None }],
meta: Some(EffectMeta::Multiplier(125)), tick: None }],
Skill::Electrify => vec![ConstructEffect {effect: Effect::Electric, duration: 1,
meta: Some(EffectMeta::Skill(Skill::Electrocute)), tick: None}],
meta: Some(EffectMeta::Skill(Skill::Electrocute)), tick: None}],
Skill::ElectrifyPlus => vec![ConstructEffect {effect: Effect::Electric, duration: 1,
meta: Some(EffectMeta::Skill(Skill::ElectrocutePlus)), tick: None}],
meta: Some(EffectMeta::Skill(Skill::ElectrocutePlus)), tick: None}],
Skill::ElectrifyPlusPlus => vec![ConstructEffect {effect: Effect::Electric, duration: 1,
meta: Some(EffectMeta::Skill(Skill::ElectrocutePlusPlus)), tick: None}],
meta: Some(EffectMeta::Skill(Skill::ElectrocutePlusPlus)), tick: None}],
Skill::Electrocute => vec![ConstructEffect {effect: Effect::Electrocute, duration: 2,
meta: Some(EffectMeta::Skill(Skill::ElectrocuteTick)), tick: None}],
meta: Some(EffectMeta::Skill(Skill::ElectrocuteTick)), tick: None}],
Skill::ElectrocutePlus => vec![ConstructEffect {effect: Effect::Electrocute, duration: 3,
meta: Some(EffectMeta::Skill(Skill::ElectrocuteTickPlus)), tick: None}],
meta: Some(EffectMeta::Skill(Skill::ElectrocuteTickPlus)), tick: None}],
Skill::ElectrocutePlusPlus => vec![ConstructEffect {effect: Effect::Electrocute, duration: 4,
meta: Some(EffectMeta::Skill(Skill::ElectrocuteTickPlusPlus)), tick: None}],
meta: Some(EffectMeta::Skill(Skill::ElectrocuteTickPlusPlus)), tick: None}],
Skill::Sustain => vec![ConstructEffect {effect: Effect::Sustain, duration: 1, meta: None, tick: None }],
Skill::SustainPlus => vec![ConstructEffect {effect: Effect::Sustain, duration: 1, meta: None, tick: None }],
Skill::SustainPlusPlus => vec![ConstructEffect {effect: Effect::Sustain, duration: 1, meta: None, tick: None }],
Skill::Curse => vec![ConstructEffect {effect: Effect::Curse, duration: 2,
meta: Some(EffectMeta::Multiplier(150)), tick: None}],
Skill::CursePlus => vec![ConstructEffect {effect: Effect::Curse, duration: 2,
meta: Some(EffectMeta::Multiplier(200)), tick: None}],
Skill::CursePlusPlus => vec![ConstructEffect {effect: Effect::Curse, duration: 3,
meta: Some(EffectMeta::Multiplier(250)), tick: None}],
Skill::Curse => vec![ConstructEffect {effect: Effect::Curse, duration: 2,
meta: Some(EffectMeta::Multiplier(150)), tick: None}],
Skill::CursePlus => vec![ConstructEffect {effect: Effect::Curse, duration: 2,
meta: Some(EffectMeta::Multiplier(200)), tick: None}],
Skill::CursePlusPlus => vec![ConstructEffect {effect: Effect::Curse, duration: 3,
meta: Some(EffectMeta::Multiplier(250)), tick: None}],
Skill::Debuff => vec![ConstructEffect {effect: Effect::Slow, duration: 3,
meta: Some(EffectMeta::Multiplier(50)), tick: None }],
meta: Some(EffectMeta::Multiplier(50)), tick: None }],
Skill::Decay => vec![ConstructEffect {effect: Effect::Wither, duration: 3, meta: Some(EffectMeta::Multiplier(50)), tick: None },
ConstructEffect {effect: Effect::Decay, duration: 3,
Skill::Decay => vec![ConstructEffect {effect: Effect::Wither, duration: 3,
meta: Some(EffectMeta::Multiplier(50)), tick: None },
ConstructEffect {effect: Effect::Decay, duration: 3,
meta: Some(EffectMeta::Skill(Skill::DecayTick)), tick: None}],
Skill::DecayPlus => vec![ConstructEffect {effect: Effect::Wither, duration: 3, meta: Some(EffectMeta::Multiplier(35)), tick: None },
ConstructEffect {effect: Effect::Decay, duration: 3,
Skill::DecayPlus => vec![ConstructEffect {effect: Effect::Wither, duration: 3,
meta: Some(EffectMeta::Multiplier(35)), tick: None },
ConstructEffect {effect: Effect::Decay, duration: 3,
meta: Some(EffectMeta::Skill(Skill::DecayTickPlus)), tick: None}],
Skill::DecayPlusPlus => vec![ConstructEffect {effect: Effect::Wither, duration: 4, meta: Some(EffectMeta::Multiplier(20)), tick: None },
ConstructEffect {effect: Effect::Decay, duration: 4,
Skill::DecayPlusPlus => vec![ConstructEffect {effect: Effect::Wither, duration: 4,
meta: Some(EffectMeta::Multiplier(20)), tick: None },
ConstructEffect {effect: Effect::Decay, duration: 4,
meta: Some(EffectMeta::Skill(Skill::DecayTickPlusPlus)), tick: None}],
Skill::Haste => vec![ConstructEffect {effect: Effect::Haste, duration: 2,
meta: Some(EffectMeta::Multiplier(150)), tick: None }],
Skill::HastePlus => vec![ConstructEffect {effect: Effect::Haste, duration: 3,
meta: Some(EffectMeta::Multiplier(175)), tick: None }],
Skill::HastePlusPlus => vec![ConstructEffect {effect: Effect::Haste, duration: 4,
meta: Some(EffectMeta::Multiplier(225)), tick: None }],
Skill::Haste => vec![ConstructEffect {effect: Effect::Haste, duration: 2,
meta: Some(EffectMeta::Multiplier(150)), tick: None }],
Skill::HastePlus => vec![ConstructEffect {effect: Effect::Haste, duration: 3,
meta: Some(EffectMeta::Multiplier(175)), tick: None }],
Skill::HastePlusPlus => vec![ConstructEffect {effect: Effect::Haste, duration: 4,
meta: Some(EffectMeta::Multiplier(225)), tick: None }],
Skill::Hex => vec![ConstructEffect {effect: Effect::Hex, duration: 2, meta: None, tick: None}],
Skill::HexPlus => vec![ConstructEffect {effect: Effect::Hex, duration: 3, meta: None, tick: None}],
Skill::HexPlusPlus => vec![ConstructEffect {effect: Effect::Hex, duration: 4, meta: None, tick: None}],
Skill::HexPlus => vec![ConstructEffect {effect: Effect::Hex, duration: 3, meta: None, tick: None}],
Skill::HexPlusPlus => vec![ConstructEffect {effect: Effect::Hex, duration: 4, meta: None, tick: None}],
Skill::Absorb => vec![ConstructEffect {effect: Effect::Absorb, duration: 2,
meta: Some(EffectMeta::Skill(Skill::Absorption)), tick: None}],
@ -885,87 +889,90 @@ impl Skill {
Skill::AbsorbPlusPlus => vec![ConstructEffect {effect: Effect::Absorb, duration: 4,
meta: Some(EffectMeta::Skill(Skill::AbsorptionPlusPlus)), tick: None}],
Skill::Absorption => vec![ConstructEffect {effect: Effect::Absorption, duration: 5, meta: None, tick: None}],
Skill::AbsorptionPlus => vec![ConstructEffect {effect: Effect::Absorption, duration: 7, meta: None, tick: None}],
Skill::AbsorptionPlusPlus => vec![ConstructEffect {effect: Effect::Absorption, duration: 9, meta: None, tick: None}],
Skill::Absorption => vec![ConstructEffect {effect: Effect::Absorption, duration: 5, meta: None, tick: None}],
Skill::AbsorptionPlus => vec![ConstructEffect {effect: Effect::Absorption, duration: 7, meta: None, tick: None}],
Skill::AbsorptionPlusPlus => vec![ConstructEffect {effect: Effect::Absorption, duration: 9, meta: None, tick: None}],
Skill::Hybrid => vec![ConstructEffect {effect: Effect::Hybrid, duration: 2,
Skill::Hybrid => vec![ConstructEffect {effect: Effect::Hybrid, duration: 2,
meta: Some(EffectMeta::Multiplier(150)), tick: None }],
Skill::HybridPlus => vec![ConstructEffect {effect: Effect::Hybrid, duration: 3,
Skill::HybridPlus => vec![ConstructEffect {effect: Effect::Hybrid, duration: 3,
meta: Some(EffectMeta::Multiplier(175)), tick: None }],
Skill::HybridPlusPlus => vec![ConstructEffect {effect: Effect::Hybrid, duration: 4,
Skill::HybridPlusPlus => vec![ConstructEffect {effect: Effect::Hybrid, duration: 4,
meta: Some(EffectMeta::Multiplier(225)), tick: None }],
Skill::Invert => vec![ConstructEffect {effect: Effect::Invert, duration: 2, meta: None, tick: None}],
Skill::InvertPlus => vec![ConstructEffect {effect: Effect::Invert, duration: 3, meta: None, tick: None}],
Skill::InvertPlusPlus => vec![ConstructEffect {effect: Effect::Invert, duration: 4, meta: None, tick: None}],
Skill::Invert => vec![ConstructEffect {effect: Effect::Invert, duration: 2, meta: None, tick: None}],
Skill::InvertPlus => vec![ConstructEffect {effect: Effect::Invert, duration: 3, meta: None, tick: None}],
Skill::InvertPlusPlus => vec![ConstructEffect {effect: Effect::Invert, duration: 4, meta: None, tick: None}],
Skill::Counter => vec![ConstructEffect {effect: Effect::Counter, duration: 1,
Skill::Counter => vec![ConstructEffect {effect: Effect::Counter, duration: 1,
meta: Some(EffectMeta::Skill(Skill::CounterAttack)), tick: None}],
Skill::CounterPlus => vec![ConstructEffect {effect: Effect::Counter, duration: 1,
Skill::CounterPlus => vec![ConstructEffect {effect: Effect::Counter, duration: 1,
meta: Some(EffectMeta::Skill(Skill::CounterAttackPlus)), tick: None}],
Skill::CounterPlusPlus => vec![ConstructEffect {effect: Effect::Counter, duration: 1,
Skill::CounterPlusPlus => vec![ConstructEffect {effect: Effect::Counter, duration: 1,
meta: Some(EffectMeta::Skill(Skill::CounterAttackPlusPlus)), tick: None}],
Skill::Reflect => vec![ConstructEffect {effect: Effect::Reflect, duration: 1, meta: None, tick: None }],
Skill::ReflectPlus => vec![ConstructEffect {effect: Effect::Reflect, duration: 1, meta: None, tick: None }],
Skill::ReflectPlusPlus => vec![ConstructEffect {effect: Effect::Reflect, duration: 1, meta: None, tick: None }],
Skill::Break => vec![ConstructEffect {effect: Effect::Stun, duration: 1, meta: None, tick: None},
ConstructEffect {effect: Effect::Vulnerable, duration: 3, meta: Some(EffectMeta::Multiplier(150)), tick: None}],
Skill::BreakPlus => vec![ConstructEffect {effect: Effect::Stun, duration: 1, meta: None, tick: None},
ConstructEffect {effect: Effect::Vulnerable, duration: 4, meta: Some(EffectMeta::Multiplier(200)), tick: None}],
Skill::BreakPlusPlus => vec![ConstructEffect {effect: Effect::Stun, duration: 2, meta: None, tick: None},
ConstructEffect {effect: Effect::Vulnerable, duration: 4, meta: Some(EffectMeta::Multiplier(250)), tick: None}],
Skill::Break => vec![ConstructEffect {effect: Effect::Stun, duration: 1, meta: None, tick: None},
ConstructEffect {effect: Effect::Vulnerable, duration: 3,
meta: Some(EffectMeta::Multiplier(150)), tick: None}],
Skill::BreakPlus => vec![ConstructEffect {effect: Effect::Stun, duration: 1, meta: None, tick: None},
ConstructEffect {effect: Effect::Vulnerable, duration: 4,
meta: Some(EffectMeta::Multiplier(200)), tick: None}],
Skill::BreakPlusPlus => vec![ConstructEffect {effect: Effect::Stun, duration: 2, meta: None, tick: None},
ConstructEffect {effect: Effect::Vulnerable, duration: 4,
meta: Some(EffectMeta::Multiplier(250)), tick: None}],
Skill::Ruin => vec![ConstructEffect {effect: Effect::Stun, duration: 1, meta: None, tick: None}],
Skill::RuinPlus => vec![ConstructEffect {effect: Effect::Stun, duration: 1, meta: None, tick: None}],
Skill::RuinPlusPlus => vec![ConstructEffect {effect: Effect::Stun, duration: 2, meta: None, tick: None}],
Skill::Ruin => vec![ConstructEffect {effect: Effect::Stun, duration: 1, meta: None, tick: None}],
Skill::RuinPlus => vec![ConstructEffect {effect: Effect::Stun, duration: 1, meta: None, tick: None}],
Skill::RuinPlusPlus => vec![ConstructEffect {effect: Effect::Stun, duration: 2, meta: None, tick: None}],
Skill::Purge => vec![ConstructEffect {effect: Effect::Purge, duration: 1, meta: None, tick: None}],
Skill::PurgePlus => vec![ConstructEffect {effect: Effect::Purge, duration: 2, meta: None, tick: None}],
Skill::PurgePlusPlus => vec![ConstructEffect {effect: Effect::Purge, duration: 3, meta: None, tick: None}],
Skill::Purge => vec![ConstructEffect {effect: Effect::Purge, duration: 2, meta: None, tick: None}],
Skill::PurgePlus => vec![ConstructEffect {effect: Effect::Purge, duration: 3, meta: None, tick: None}],
Skill::PurgePlusPlus => vec![ConstructEffect {effect: Effect::Purge, duration: 4, meta: None, tick: None}],
Skill::Link => vec![ConstructEffect {effect: Effect::Stun, duration: 3, meta: None, tick: None}],
Skill::LinkPlus => vec![ConstructEffect {effect: Effect::Stun, duration: 2, meta: None, tick: None}],
Skill::LinkPlusPlus => vec![ConstructEffect {effect: Effect::Stun, duration: 1, meta: None, tick: None}],
Skill::Link => vec![ConstructEffect {effect: Effect::Stun, duration: 3, meta: None, tick: None}],
Skill::LinkPlus => vec![ConstructEffect {effect: Effect::Stun, duration: 2, meta: None, tick: None}],
Skill::LinkPlusPlus => vec![ConstructEffect {effect: Effect::Stun, duration: 1, meta: None, tick: None}],
Skill::Silence => vec![ConstructEffect {effect: Effect::Silence, duration: 2, meta: None, tick: None}],
Skill::SilencePlus => vec![ConstructEffect {effect: Effect::Silence, duration: 3, meta: None, tick: None}],
Skill::SilencePlusPlus => vec![ConstructEffect {effect: Effect::Silence, duration: 4, meta: None, tick: None}],
Skill::Silence => vec![ConstructEffect {effect: Effect::Silence, duration: 2, meta: None, tick: None}],
Skill::SilencePlus => vec![ConstructEffect {effect: Effect::Silence, duration: 3, meta: None, tick: None}],
Skill::SilencePlusPlus => vec![ConstructEffect {effect: Effect::Silence, duration: 4, meta: None, tick: None}],
Skill::Siphon => vec![ConstructEffect {effect: Effect::Siphon, duration: 2,
meta: Some(EffectMeta::Skill(Skill::SiphonTick)), tick: None}],
Skill::SiphonPlus => vec![ConstructEffect {effect: Effect::Siphon, duration: 3,
meta: Some(EffectMeta::Skill(Skill::SiphonTickPlus)), tick: None}],
Skill::SiphonPlusPlus => vec![ConstructEffect {effect: Effect::Siphon, duration: 4,
meta: Some(EffectMeta::Skill(Skill::SiphonTickPlusPlus)), tick: None}],
Skill::Siphon => vec![ConstructEffect {effect: Effect::Siphon, duration: 2,
meta: Some(EffectMeta::Skill(Skill::SiphonTick)), tick: None}],
Skill::SiphonPlus => vec![ConstructEffect {effect: Effect::Siphon, duration: 3,
meta: Some(EffectMeta::Skill(Skill::SiphonTickPlus)), tick: None}],
Skill::SiphonPlusPlus => vec![ConstructEffect {effect: Effect::Siphon, duration: 4,
meta: Some(EffectMeta::Skill(Skill::SiphonTickPlusPlus)), tick: None}],
Skill::Sleep => vec![ConstructEffect {effect: Effect::Stun, duration: 2, meta: None, tick: None}],
Skill::SleepPlus => vec![ConstructEffect {effect: Effect::Stun, duration: 3, meta: None, tick: None}],
Skill::SleepPlusPlus => vec![ConstructEffect {effect: Effect::Stun, duration: 4, meta: None, tick: None}],
Skill::Sleep => vec![ConstructEffect {effect: Effect::Stun, duration: 2, meta: None, tick: None}],
Skill::SleepPlus => vec![ConstructEffect {effect: Effect::Stun, duration: 3, meta: None, tick: None}],
Skill::SleepPlusPlus => vec![ConstructEffect {effect: Effect::Stun, duration: 4, meta: None, tick: None}],
Skill::Restrict => vec![ConstructEffect {effect: Effect::Restrict, duration: 2, meta: None, tick: None}],
Skill::RestrictPlus => vec![ConstructEffect {effect: Effect::Restrict, duration: 3, meta: None, tick: None}],
Skill::RestrictPlusPlus => vec![ConstructEffect {effect: Effect::Restrict, duration: 4, meta: None, tick: None}],
Skill::Restrict => vec![ConstructEffect {effect: Effect::Restrict, duration: 2, meta: None, tick: None}],
Skill::RestrictPlus => vec![ConstructEffect {effect: Effect::Restrict, duration: 3, meta: None, tick: None}],
Skill::RestrictPlusPlus => vec![ConstructEffect {effect: Effect::Restrict, duration: 4, meta: None, tick: None}],
Skill::Bash => vec![ConstructEffect {effect: Effect::Stun, duration: 2,
meta: Some(EffectMeta::Skill(Skill::Bash)), tick: None}],
Skill::BashPlus => vec![ConstructEffect {effect: Effect::Stun, duration: 2,
meta: Some(EffectMeta::Skill(Skill::BashPlus)), tick: None}],
Skill::BashPlusPlus => vec![ConstructEffect {effect: Effect::Stun, duration: 2,
meta: Some(EffectMeta::Skill(Skill::BashPlusPlus)), tick: None}],
Skill::Stun => vec![ConstructEffect {effect: Effect::Stun, duration: 2, meta: None, tick: None}],
Skill::Bash => vec![ConstructEffect {effect: Effect::Stun, duration: 2,
meta: Some(EffectMeta::Skill(Skill::Bash)), tick: None}],
Skill::BashPlus => vec![ConstructEffect {effect: Effect::Stun, duration: 2,
meta: Some(EffectMeta::Skill(Skill::BashPlus)), tick: None}],
Skill::BashPlusPlus => vec![ConstructEffect {effect: Effect::Stun, duration: 2,
meta: Some(EffectMeta::Skill(Skill::BashPlusPlus)), tick: None}],
Skill::Stun => vec![ConstructEffect {effect: Effect::Stun, duration: 2, meta: None, tick: None}],
Skill::Intercept => vec![ConstructEffect {effect: Effect::Intercept, duration: 2, meta: None, tick: None}],
Skill::InterceptPlus => vec![ConstructEffect {effect: Effect::Intercept, duration: 3, meta: None, tick: None}],
Skill::InterceptPlusPlus => vec![ConstructEffect {effect: Effect::Intercept, duration: 4, meta: None, tick: None}],
Skill::Intercept => vec![ConstructEffect {effect: Effect::Intercept, duration: 2, meta: None, tick: None}],
Skill::InterceptPlus => vec![ConstructEffect {effect: Effect::Intercept, duration: 3, meta: None, tick: None}],
Skill::InterceptPlusPlus => vec![ConstructEffect {effect: Effect::Intercept, duration: 4, meta: None, tick: None}],
Skill::Triage => vec![ConstructEffect {effect: Effect::Triage, duration: 2,
meta: Some(EffectMeta::Skill(Skill::TriageTick)), tick: None}],
Skill::Triage => vec![ConstructEffect {effect: Effect::Triage, duration: 2,
meta: Some(EffectMeta::Skill(Skill::TriageTick)), tick: None}],
Skill::TriagePlus => vec![ConstructEffect {effect: Effect::Triage, duration: 3,
meta: Some(EffectMeta::Skill(Skill::TriageTickPlus)), tick: None}],
Skill::TriagePlusPlus => vec![ConstructEffect {effect: Effect::Triage, duration: 4,
Skill::TriagePlusPlus => vec![ConstructEffect {effect: Effect::Triage, duration: 4,
meta: Some(EffectMeta::Skill(Skill::TriageTickPlusPlus)), tick: None}],
_ => {
panic!("{:?} no skill effect", self);
@ -1717,7 +1724,9 @@ fn purge(source: &mut Construct, target: &mut Construct, mut results: Resolution
.event(Event::Removal { effect: ce.effect, construct_effects: target.effects.clone() }));
}
let mut turns = 1;
results.push(Resolution::new(source, target).event(target.add_effect(skill, effect)).stages(EventStages::PostOnly));
/*let mut turns = 1;
for cs in target.skills.iter_mut() {
if Effect::Purge.disables_skill(cs.skill) {
turns += 1;
@ -1727,8 +1736,7 @@ fn purge(source: &mut Construct, target: &mut Construct, mut results: Resolution
if turns > 1 {
let mut effect = skill.effect()[0];
effect.duration = effect.duration * turns;
results.push(Resolution::new(source, target).event(target.add_effect(skill, effect)).stages(EventStages::PostOnly));
}
}*/
return results;
}