From 9ae7317f3740d4e5f3ee6b5a9860ec50ff1e1f15 Mon Sep 17 00:00:00 2001 From: Mashy Date: Mon, 16 Sep 2019 15:56:21 +1000 Subject: [PATCH 1/3] block skills ->> 1T duration / no cooldown --- server/src/skill.rs | 92 ++++++++++++++++++++++----------------------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/server/src/skill.rs b/server/src/skill.rs index 5ae0bd11..d7542577 100644 --- a/server/src/skill.rs +++ b/server/src/skill.rs @@ -816,37 +816,37 @@ impl Skill { pub fn effect(&self) -> Vec { match self { // Modifiers - Skill::Amplify => vec![ConstructEffect {effect: Effect::Amplify, duration: 2, + Skill::Amplify => vec![ConstructEffect {effect: Effect::Amplify, duration: 2, meta: Some(EffectMeta::Multiplier(150)), tick: None}], - Skill::AmplifyPlus => vec![ConstructEffect {effect: Effect::Amplify, duration: 3, + Skill::AmplifyPlus => vec![ConstructEffect {effect: Effect::Amplify, duration: 3, meta: Some(EffectMeta::Multiplier(175)), tick: None}], - Skill::AmplifyPlusPlus => vec![ConstructEffect {effect: Effect::Amplify, duration: 4, + Skill::AmplifyPlusPlus => vec![ConstructEffect {effect: Effect::Amplify, duration: 4, 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}], - Skill::Buff => vec![ConstructEffect {effect: Effect::Buff, duration: 2, - meta: Some(EffectMeta::Multiplier(125)), 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}], + Skill::Buff => vec![ConstructEffect {effect: Effect::Buff, duration: 2, + meta: Some(EffectMeta::Multiplier(125)), tick: None }], - Skill::Electrify => vec![ConstructEffect {effect: Effect::Electric, duration: 2, - meta: Some(EffectMeta::Skill(Skill::Electrocute)), tick: None}], - Skill::ElectrifyPlus => vec![ConstructEffect {effect: Effect::Electric, duration: 3, - meta: Some(EffectMeta::Skill(Skill::ElectrocutePlus)), tick: None}], - Skill::ElectrifyPlusPlus => vec![ConstructEffect {effect: Effect::Electric, duration: 4, - meta: Some(EffectMeta::Skill(Skill::ElectrocutePlusPlus)), tick: None}], - Skill::Electrocute => vec![ConstructEffect {effect: Effect::Electrocute, duration: 3, - meta: Some(EffectMeta::Skill(Skill::ElectrocuteTick)), tick: None}], - Skill::ElectrocutePlus => vec![ConstructEffect {effect: Effect::Electrocute, duration: 4, - meta: Some(EffectMeta::Skill(Skill::ElectrocuteTickPlus)), tick: None}], - Skill::ElectrocutePlusPlus => vec![ConstructEffect {effect: Effect::Electrocute, duration: 5, - meta: Some(EffectMeta::Skill(Skill::ElectrocuteTickPlusPlus)), tick: None}], + Skill::Electrify => vec![ConstructEffect {effect: Effect::Electric, duration: 1, + 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}], + Skill::ElectrifyPlusPlus => vec![ConstructEffect {effect: Effect::Electric, duration: 1, + 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}], + Skill::ElectrocutePlus => vec![ConstructEffect {effect: Effect::Electrocute, duration: 3, + 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}], - Skill::Sustain => vec![ConstructEffect {effect: Effect::Sustain, duration: 1, meta: None, tick: None }], - Skill::SustainPlus => vec![ConstructEffect {effect: Effect::Sustain, duration: 2, meta: None, tick: None }], - Skill::SustainPlusPlus => vec![ConstructEffect {effect: Effect::Sustain, duration: 3, meta: None, 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}], @@ -900,16 +900,16 @@ impl Skill { 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: 2, + 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: 2, + 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: 2, + 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: 2, meta: None, tick: None }], - Skill::ReflectPlusPlus => vec![ConstructEffect {effect: Effect::Reflect, duration: 3, meta: None, 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}], @@ -985,7 +985,7 @@ impl Skill { Skill::Block => None, // reduce damage Skill::Counter| Skill::CounterPlus | - Skill::CounterPlusPlus => Some(2), // avoid all damage + Skill::CounterPlusPlus => None, // avoid all damage Skill::Restrict=> Some(2), Skill::RestrictPlus => Some(2), @@ -1045,8 +1045,8 @@ impl Skill { Skill::SilencePlus => Some(2), Skill::SilencePlusPlus => Some(2), - Skill::Purify=> None, - Skill::PurifyPlus => None, + Skill::Purify | + Skill::PurifyPlus | Skill::PurifyPlusPlus => None, Skill::Purge=> None, @@ -1065,13 +1065,13 @@ impl Skill { Skill::HastePlus => Some(2), Skill::HastePlusPlus => Some(2), - Skill::Reflect=> Some(2), - Skill::ReflectPlus => Some(2), - Skill::ReflectPlusPlus => Some(2), + Skill::Reflect | + Skill::ReflectPlus | + Skill::ReflectPlusPlus => None, - Skill::Recharge=> Some(2), - Skill::RechargePlus => Some(2), - Skill::RechargePlusPlus => Some(2), + Skill::Recharge=> None, + Skill::RechargePlus => None, + Skill::RechargePlusPlus => None, Skill::Ruin=> Some(3), Skill::RuinPlus => Some(2), @@ -1085,17 +1085,17 @@ impl Skill { Skill::SleepPlus => Some(3), Skill::SleepPlusPlus => Some(3), - Skill::Sustain=> Some(1), - Skill::SustainPlus => Some(2), - Skill::SustainPlusPlus => Some(3), + Skill::Sustain | + Skill::SustainPlus | + Skill::SustainPlusPlus => None, Skill::Intercept=> Some(2), Skill::InterceptPlus => Some(2), Skill::InterceptPlusPlus => Some(2), - Skill::Electrify=>Some(1), - Skill::ElectrifyPlus =>Some(1), - Skill::ElectrifyPlusPlus =>Some(1), + Skill::Electrify | + Skill::ElectrifyPlus | + Skill::ElectrifyPlusPlus => None, Skill::Absorb| From a512bcb76cca1139789aaa92fe2e0adb5f055b37 Mon Sep 17 00:00:00 2001 From: Mashy Date: Mon, 16 Sep 2019 16:47:57 +1000 Subject: [PATCH 2/3] nerf purge -> flat (2 / 3 / 4)T no lockout scaling --- server/src/item.rs | 192 ++++++++++++++++++++++---------------------- server/src/skill.rs | 188 ++++++++++++++++++++++--------------------- 2 files changed, 194 insertions(+), 186 deletions(-) diff --git a/server/src/item.rs b/server/src/item.rs index 6ba76bf1..3d6e2d2f 100644 --- a/server/src/item.rs +++ b/server/src/item.rs @@ -385,102 +385,102 @@ impl Item { pub fn into_skill(&self) -> Option { 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, } } diff --git a/server/src/skill.rs b/server/src/skill.rs index d7542577..da57c70f 100644 --- a/server/src/skill.rs +++ b/server/src/skill.rs @@ -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; } From b52b6a5334fb8cf0631261a355a1a044a6f3d0fd Mon Sep 17 00:00:00 2001 From: Mashy Date: Mon, 16 Sep 2019 17:04:41 +1000 Subject: [PATCH 3/3] delete hex (wasn't actually in game) --- server/src/effect.rs | 6 ------ server/src/item.rs | 15 --------------- 2 files changed, 21 deletions(-) diff --git a/server/src/effect.rs b/server/src/effect.rs index b9489a2a..5b3d6bba 100644 --- a/server/src/effect.rs +++ b/server/src/effect.rs @@ -13,7 +13,6 @@ pub enum Effect { Sustain, Curse, Haste, - Hex, Hybrid, Invert, Counter, @@ -73,9 +72,6 @@ impl Effect { Effect::Banish => true, Effect::Sustain => [ Skill::Stun, - Skill::Hex, - Skill::HexPlus, - Skill::HexPlusPlus, Skill::Silence, Skill::SilencePlus, Skill::SilencePlusPlus, @@ -97,7 +93,6 @@ impl Effect { match self { Effect::Stun => true, - Effect::Hex => true, Effect::Banish => true, Effect::Silence => skill.colours().contains(&Colour::Blue), Effect::Restrict => skill.colours().contains(&Colour::Red), @@ -168,7 +163,6 @@ impl Effect { Effect::Intercept => Some(Colour::Green), // magic - Effect::Hex => Some(Colour::Blue), Effect::Curse => Some(Colour::Blue), Effect::Banish => None, // Effect::Banish => rng.gen_bool(0.5), diff --git a/server/src/item.rs b/server/src/item.rs index 3d6e2d2f..928a2850 100644 --- a/server/src/item.rs +++ b/server/src/item.rs @@ -143,12 +143,6 @@ pub enum Item { #[serde(rename = "Decay++")] DecayPlusPlus, - Hex, - #[serde(rename = "Hex+")] - HexPlus, - #[serde(rename = "Hex++")] - HexPlusPlus, - Haste, #[serde(rename = "Haste+")] HastePlus, @@ -726,12 +720,6 @@ impl Item { Item::HealPlus | Item::HealPlusPlus => format!("Heals target for {:?}% GreenPower.", self.into_skill().unwrap().multiplier()), - Item::Hex| - Item::HexPlus | - Item::HexPlusPlus => format!("Blue based skill that applies Hex for {:?}T. \ - Hexed targets cannot cast any skills.", - self.into_skill().unwrap().effect()[0].get_duration()), - Item::Hybrid| Item::HybridPlus | Item::HybridPlusPlus => format!( @@ -1066,9 +1054,6 @@ impl From for Item { Skill::Heal => Item::Heal, Skill::HealPlus => Item::HealPlus, Skill::HealPlusPlus => Item::HealPlusPlus, - Skill::Hex => Item::Hex, - Skill::HexPlus => Item::HexPlus, - Skill::HexPlusPlus => Item::HexPlusPlus, Skill::Hybrid => Item::Hybrid, Skill::HybridPlus => Item::HybridPlus, Skill::HybridPlusPlus => Item::HybridPlusPlus,