link description & cleanup

This commit is contained in:
Mashy 2019-09-16 15:25:21 +10:00
parent de17035ff7
commit 6045a77bb6
2 changed files with 179 additions and 188 deletions

View File

@ -38,7 +38,6 @@ pub enum Effect {
Absorption, Absorption,
// magic immunity // magic immunity
Link,
// effects over time // effects over time
Triage, Triage,
@ -125,8 +124,6 @@ impl Effect {
Effect::Haste => vec![Stat::Speed], Effect::Haste => vec![Stat::Speed],
Effect::Slow => vec![Stat::Speed], Effect::Slow => vec![Stat::Speed],
Effect::Link => vec![Stat::BlueDamageTaken, Stat::GreenDamageTaken, Stat::RedDamageTaken],
_ => vec![], _ => vec![],
} }
} }
@ -146,8 +143,6 @@ impl Effect {
_ => 100, _ => 100,
}), }),
Effect::Link => value >> 1,
Effect::Absorption => value + match meta { Effect::Absorption => value + match meta {
Some(EffectMeta::AddedDamage(d)) => d, Some(EffectMeta::AddedDamage(d)) => d,
_ => panic!("absorb meta not damage"), _ => panic!("absorb meta not damage"),
@ -194,7 +189,6 @@ impl Effect {
// magic // magic
Effect::Hybrid => Some(Colour::Green), Effect::Hybrid => Some(Colour::Green),
Effect::Link => Some(Colour::Green),
Effect::Invert => Some(Colour::Green), Effect::Invert => Some(Colour::Green),
// effects over time // effects over time

View File

@ -785,9 +785,11 @@ impl Item {
Item::Link| Item::Link|
Item::LinkPlus | Item::LinkPlus |
Item::LinkPlusPlus => format!( Item::LinkPlusPlus => format!(
"Caster links with target. Linked constructs split incoming Damage evenly. "Form a link with target swapping relative life values.
Recharges target BlueLife based on {:?}% of BluePower", If the target construct has more green life than caster, {:?}% of green life difference as blue damage to the target and heal to the caster.
self.into_skill().unwrap().multiplier()), Stuns caster for {:?}T in the process.",
self.into_skill().unwrap().multiplier(),
self.into_skill().unwrap().effect()[0].get_duration()),
Item::Silence| Item::Silence|
Item::SilencePlus | Item::SilencePlus |
@ -813,10 +815,9 @@ impl Item {
Item::Restrict| Item::Restrict|
Item::RestrictPlus | Item::RestrictPlus |
Item::RestrictPlusPlus => format!( Item::RestrictPlusPlus => format!(
"Block the target from using red skills for {:?}T and deals {:?}% RedPower as red damage. {}", "Block the target from using red skills for {:?}T and deals {:?}% RedPower as red damage. Deals 35% more damage per red skill on target",
self.into_skill().unwrap().effect()[0].get_duration(), self.into_skill().unwrap().effect()[0].get_duration(),
self.into_skill().unwrap().multiplier(), self.into_skill().unwrap().multiplier()),
"Deals 35% more damage per red skill on target"),
Item::Bash| Item::Bash|
Item::BashPlus | Item::BashPlus |
@ -960,66 +961,62 @@ impl Item {
Item::ChaosPlus => vec![Item::Chaos, Item::Chaos, Item::Chaos], Item::ChaosPlus => vec![Item::Chaos, Item::Chaos, Item::Chaos],
Item::ChaosPlusPlus => vec![Item::ChaosPlus, Item::ChaosPlus, Item::ChaosPlus], Item::ChaosPlusPlus => vec![Item::ChaosPlus, Item::ChaosPlus, Item::ChaosPlus],
Item::PowerRR => vec![Item::Power, Item::Red, Item::Red], Item::PowerRR => vec![Item::Power, Item::Red, Item::Red],
Item::PowerGG => vec![Item::Power, Item::Green, Item::Green], Item::PowerGG => vec![Item::Power, Item::Green, Item::Green],
Item::PowerBB => vec![Item::Power, Item::Blue, Item::Blue], Item::PowerBB => vec![Item::Power, Item::Blue, Item::Blue],
Item::PowerRG => vec![Item::Power, Item::Red, Item::Green], Item::PowerRG => vec![Item::Power, Item::Red, Item::Green],
Item::PowerGB => vec![Item::Power, Item::Green, Item::Blue], Item::PowerGB => vec![Item::Power, Item::Green, Item::Blue],
Item::PowerRB => vec![Item::Power, Item::Red, Item::Blue], Item::PowerRB => vec![Item::Power, Item::Red, Item::Blue],
Item::PowerRRPlus => vec![Item::PowerRR, Item::PowerRR, Item::PowerRR], Item::PowerRRPlus => vec![Item::PowerRR, Item::PowerRR, Item::PowerRR],
Item::PowerGGPlus => vec![Item::PowerGG, Item::PowerGG, Item::PowerGG], Item::PowerGGPlus => vec![Item::PowerGG, Item::PowerGG, Item::PowerGG],
Item::PowerBBPlus => vec![Item::PowerBB, Item::PowerBB, Item::PowerBB], Item::PowerBBPlus => vec![Item::PowerBB, Item::PowerBB, Item::PowerBB],
Item::PowerRGPlus => vec![Item::PowerRG, Item::PowerRG, Item::PowerRG], Item::PowerRGPlus => vec![Item::PowerRG, Item::PowerRG, Item::PowerRG],
Item::PowerGBPlus => vec![Item::PowerGB, Item::PowerGB, Item::PowerGB], Item::PowerGBPlus => vec![Item::PowerGB, Item::PowerGB, Item::PowerGB],
Item::PowerRBPlus => vec![Item::PowerRB, Item::PowerRB, Item::PowerRB], Item::PowerRBPlus => vec![Item::PowerRB, Item::PowerRB, Item::PowerRB],
Item::PowerRRPlusPlus => vec![Item::PowerRRPlus, Item::PowerRRPlus, Item::PowerRRPlus], Item::PowerRRPlusPlus => vec![Item::PowerRRPlus, Item::PowerRRPlus, Item::PowerRRPlus],
Item::PowerGGPlusPlus => vec![Item::PowerGGPlus, Item::PowerGGPlus, Item::PowerGGPlus], Item::PowerGGPlusPlus => vec![Item::PowerGGPlus, Item::PowerGGPlus, Item::PowerGGPlus],
Item::PowerBBPlusPlus => vec![Item::PowerBBPlus, Item::PowerBBPlus, Item::PowerBBPlus], Item::PowerBBPlusPlus => vec![Item::PowerBBPlus, Item::PowerBBPlus, Item::PowerBBPlus],
Item::PowerRGPlusPlus => vec![Item::PowerRGPlus, Item::PowerRGPlus, Item::PowerRGPlus], Item::PowerRGPlusPlus => vec![Item::PowerRGPlus, Item::PowerRGPlus, Item::PowerRGPlus],
Item::PowerGBPlusPlus => vec![Item::PowerGBPlus, Item::PowerGBPlus, Item::PowerGBPlus], Item::PowerGBPlusPlus => vec![Item::PowerGBPlus, Item::PowerGBPlus, Item::PowerGBPlus],
Item::PowerRBPlusPlus => vec![Item::PowerRBPlus, Item::PowerRBPlus, Item::PowerRBPlus], Item::PowerRBPlusPlus => vec![Item::PowerRBPlus, Item::PowerRBPlus, Item::PowerRBPlus],
Item::LifeRR => vec![Item::Life, Item::Red, Item::Red], Item::LifeRR => vec![Item::Life, Item::Red, Item::Red],
Item::LifeGG => vec![Item::Life, Item::Green, Item::Green], Item::LifeGG => vec![Item::Life, Item::Green, Item::Green],
Item::LifeBB => vec![Item::Life, Item::Blue, Item::Blue], Item::LifeBB => vec![Item::Life, Item::Blue, Item::Blue],
Item::LifeRG => vec![Item::Life, Item::Red, Item::Green], Item::LifeRG => vec![Item::Life, Item::Red, Item::Green],
Item::LifeGB => vec![Item::Life, Item::Green, Item::Blue], Item::LifeGB => vec![Item::Life, Item::Green, Item::Blue],
Item::LifeRB => vec![Item::Life, Item::Red, Item::Blue], Item::LifeRB => vec![Item::Life, Item::Red, Item::Blue],
Item::LifeRRPlus => vec![Item::LifeRR, Item::LifeRR, Item::LifeRR], Item::LifeRRPlus => vec![Item::LifeRR, Item::LifeRR, Item::LifeRR],
Item::LifeGGPlus => vec![Item::LifeGG, Item::LifeGG, Item::LifeGG], Item::LifeGGPlus => vec![Item::LifeGG, Item::LifeGG, Item::LifeGG],
Item::LifeBBPlus => vec![Item::LifeBB, Item::LifeBB, Item::LifeBB], Item::LifeBBPlus => vec![Item::LifeBB, Item::LifeBB, Item::LifeBB],
Item::LifeRGPlus => vec![Item::LifeRG, Item::LifeRG, Item::LifeRG], Item::LifeRGPlus => vec![Item::LifeRG, Item::LifeRG, Item::LifeRG],
Item::LifeGBPlus => vec![Item::LifeGB, Item::LifeGB, Item::LifeGB], Item::LifeGBPlus => vec![Item::LifeGB, Item::LifeGB, Item::LifeGB],
Item::LifeRBPlus => vec![Item::LifeRB, Item::LifeRB, Item::LifeRB], Item::LifeRBPlus => vec![Item::LifeRB, Item::LifeRB, Item::LifeRB],
Item::LifeRRPlusPlus => vec![Item::LifeRRPlus, Item::LifeRRPlus, Item::LifeRRPlus], Item::LifeRRPlusPlus => vec![Item::LifeRRPlus, Item::LifeRRPlus, Item::LifeRRPlus],
Item::LifeGGPlusPlus => vec![Item::LifeGGPlus, Item::LifeGGPlus, Item::LifeGGPlus], Item::LifeGGPlusPlus => vec![Item::LifeGGPlus, Item::LifeGGPlus, Item::LifeGGPlus],
Item::LifeBBPlusPlus => vec![Item::LifeBBPlus, Item::LifeBBPlus, Item::LifeBBPlus], Item::LifeBBPlusPlus => vec![Item::LifeBBPlus, Item::LifeBBPlus, Item::LifeBBPlus],
Item::LifeRGPlusPlus => vec![Item::LifeRGPlus, Item::LifeRGPlus, Item::LifeRGPlus], Item::LifeRGPlusPlus => vec![Item::LifeRGPlus, Item::LifeRGPlus, Item::LifeRGPlus],
Item::LifeGBPlusPlus => vec![Item::LifeGBPlus, Item::LifeGBPlus, Item::LifeGBPlus], Item::LifeGBPlusPlus => vec![Item::LifeGBPlus, Item::LifeGBPlus, Item::LifeGBPlus],
Item::LifeRBPlusPlus => vec![Item::LifeRBPlus, Item::LifeRBPlus, Item::LifeRBPlus], Item::LifeRBPlusPlus => vec![Item::LifeRBPlus, Item::LifeRBPlus, Item::LifeRBPlus],
Item::SpeedRR => vec![Item::Speed, Item::Red, Item::Red],
Item::SpeedGG => vec![Item::Speed, Item::Green, Item::Green],
Item::SpeedRR => vec![Item::Speed, Item::Red, Item::Red], Item::SpeedBB => vec![Item::Speed, Item::Blue, Item::Blue],
Item::SpeedGG => vec![Item::Speed, Item::Green, Item::Green], Item::SpeedRG => vec![Item::Speed, Item::Red, Item::Green],
Item::SpeedBB => vec![Item::Speed, Item::Blue, Item::Blue], Item::SpeedGB => vec![Item::Speed, Item::Green, Item::Blue],
Item::SpeedRG => vec![Item::Speed, Item::Red, Item::Green], Item::SpeedRB => vec![Item::Speed, Item::Red, Item::Blue],
Item::SpeedGB => vec![Item::Speed, Item::Green, Item::Blue], Item::SpeedRRPlus => vec![Item::SpeedRR, Item::SpeedRR, Item::SpeedRR],
Item::SpeedRB => vec![Item::Speed, Item::Red, Item::Blue], Item::SpeedGGPlus => vec![Item::SpeedGG, Item::SpeedGG, Item::SpeedGG],
Item::SpeedBBPlus => vec![Item::SpeedBB, Item::SpeedBB, Item::SpeedBB],
Item::SpeedRRPlus => vec![Item::SpeedRR, Item::SpeedRR, Item::SpeedRR], Item::SpeedRGPlus => vec![Item::SpeedRG, Item::SpeedRG, Item::SpeedRG],
Item::SpeedGGPlus => vec![Item::SpeedGG, Item::SpeedGG, Item::SpeedGG], Item::SpeedGBPlus => vec![Item::SpeedGB, Item::SpeedGB, Item::SpeedGB],
Item::SpeedBBPlus => vec![Item::SpeedBB, Item::SpeedBB, Item::SpeedBB], Item::SpeedRBPlus => vec![Item::SpeedRB, Item::SpeedRB, Item::SpeedRB],
Item::SpeedRGPlus => vec![Item::SpeedRG, Item::SpeedRG, Item::SpeedRG], Item::SpeedRRPlusPlus => vec![Item::SpeedRRPlus, Item::SpeedRRPlus, Item::SpeedRRPlus],
Item::SpeedGBPlus => vec![Item::SpeedGB, Item::SpeedGB, Item::SpeedGB], Item::SpeedGGPlusPlus => vec![Item::SpeedGGPlus, Item::SpeedGGPlus, Item::SpeedGGPlus],
Item::SpeedRBPlus => vec![Item::SpeedRB, Item::SpeedRB, Item::SpeedRB], Item::SpeedBBPlusPlus => vec![Item::SpeedBBPlus, Item::SpeedBBPlus, Item::SpeedBBPlus],
Item::SpeedRGPlusPlus => vec![Item::SpeedRGPlus, Item::SpeedRGPlus, Item::SpeedRGPlus],
Item::SpeedRRPlusPlus => vec![Item::SpeedRRPlus, Item::SpeedRRPlus, Item::SpeedRRPlus], Item::SpeedGBPlusPlus => vec![Item::SpeedGBPlus, Item::SpeedGBPlus, Item::SpeedGBPlus],
Item::SpeedGGPlusPlus => vec![Item::SpeedGGPlus, Item::SpeedGGPlus, Item::SpeedGGPlus], Item::SpeedRBPlusPlus => vec![Item::SpeedRBPlus, Item::SpeedRBPlus, Item::SpeedRBPlus],
Item::SpeedBBPlusPlus => vec![Item::SpeedBBPlus, Item::SpeedBBPlus, Item::SpeedBBPlus],
Item::SpeedRGPlusPlus => vec![Item::SpeedRGPlus, Item::SpeedRGPlus, Item::SpeedRGPlus],
Item::SpeedGBPlusPlus => vec![Item::SpeedGBPlus, Item::SpeedGBPlus, Item::SpeedGBPlus],
Item::SpeedRBPlusPlus => vec![Item::SpeedRBPlus, Item::SpeedRBPlus, Item::SpeedRBPlus],
_ => vec![*self], _ => vec![*self],
} }
@ -1029,129 +1026,129 @@ impl Item {
impl From<Skill> for Item { impl From<Skill> for Item {
fn from(skill: Skill) -> Item { fn from(skill: Skill) -> Item {
match skill { match skill {
Skill::Absorb => Item::Absorb, Skill::Absorb => Item::Absorb,
Skill::AbsorbPlus => Item::AbsorbPlus, Skill::AbsorbPlus => Item::AbsorbPlus,
Skill::AbsorbPlusPlus => Item::AbsorbPlusPlus, Skill::AbsorbPlusPlus => Item::AbsorbPlusPlus,
Skill::Amplify => Item::Amplify, Skill::Amplify => Item::Amplify,
Skill::AmplifyPlus => Item::AmplifyPlus, Skill::AmplifyPlus => Item::AmplifyPlus,
Skill::AmplifyPlusPlus => Item::AmplifyPlusPlus, Skill::AmplifyPlusPlus => Item::AmplifyPlusPlus,
Skill::Attack => Item::Attack, Skill::Attack => Item::Attack,
Skill::Banish => Item::Banish, Skill::Banish => Item::Banish,
Skill::BanishPlus => Item::BanishPlus, Skill::BanishPlus => Item::BanishPlus,
Skill::BanishPlusPlus => Item::BanishPlusPlus, Skill::BanishPlusPlus => Item::BanishPlusPlus,
Skill::Bash => Item::Bash, Skill::Bash => Item::Bash,
Skill::BashPlus => Item::BashPlus, Skill::BashPlus => Item::BashPlus,
Skill::BashPlusPlus => Item::BashPlusPlus, Skill::BashPlusPlus => Item::BashPlusPlus,
Skill::Blast => Item::Blast, Skill::Blast => Item::Blast,
Skill::BlastPlus => Item::BlastPlus, Skill::BlastPlus => Item::BlastPlus,
Skill::BlastPlusPlus => Item::BlastPlusPlus, Skill::BlastPlusPlus => Item::BlastPlusPlus,
Skill::Block => Item::Block, Skill::Block => Item::Block,
Skill::Buff => Item::Buff, Skill::Buff => Item::Buff,
Skill::Chaos => Item::Chaos, Skill::Chaos => Item::Chaos,
Skill::ChaosPlus => Item::ChaosPlus, Skill::ChaosPlus => Item::ChaosPlus,
Skill::ChaosPlusPlus => Item::ChaosPlusPlus, Skill::ChaosPlusPlus => Item::ChaosPlusPlus,
Skill::Counter => Item::Counter, Skill::Counter => Item::Counter,
Skill::CounterPlus => Item::CounterPlus, Skill::CounterPlus => Item::CounterPlus,
Skill::CounterPlusPlus => Item::CounterPlusPlus, Skill::CounterPlusPlus => Item::CounterPlusPlus,
Skill::Curse => Item::Curse, Skill::Curse => Item::Curse,
Skill::CursePlus => Item::CursePlus, Skill::CursePlus => Item::CursePlus,
Skill::CursePlusPlus => Item::CursePlusPlus, Skill::CursePlusPlus => Item::CursePlusPlus,
Skill::Debuff => Item::Debuff, Skill::Debuff => Item::Debuff,
Skill::Decay => Item::Decay, Skill::Decay => Item::Decay,
Skill::DecayPlus => Item::DecayPlus, Skill::DecayPlus => Item::DecayPlus,
Skill::DecayPlusPlus => Item::DecayPlusPlus, Skill::DecayPlusPlus => Item::DecayPlusPlus,
Skill::Electrify => Item::Electrify, Skill::Electrify => Item::Electrify,
Skill::ElectrifyPlus => Item::ElectrifyPlus, Skill::ElectrifyPlus => Item::ElectrifyPlus,
Skill::ElectrifyPlusPlus => Item::ElectrifyPlusPlus, Skill::ElectrifyPlusPlus=> Item::ElectrifyPlusPlus,
Skill::Haste => Item::Haste, Skill::Haste => Item::Haste,
Skill::HastePlus => Item::HastePlus, Skill::HastePlus => Item::HastePlus,
Skill::HastePlusPlus => Item::HastePlusPlus, Skill::HastePlusPlus => Item::HastePlusPlus,
Skill::Heal => Item::Heal, Skill::Heal => Item::Heal,
Skill::HealPlus => Item::HealPlus, Skill::HealPlus => Item::HealPlus,
Skill::HealPlusPlus => Item::HealPlusPlus, Skill::HealPlusPlus => Item::HealPlusPlus,
Skill::Hex => Item::Hex, Skill::Hex => Item::Hex,
Skill::HexPlus => Item::HexPlus, Skill::HexPlus => Item::HexPlus,
Skill::HexPlusPlus => Item::HexPlusPlus, Skill::HexPlusPlus => Item::HexPlusPlus,
Skill::Hybrid => Item::Hybrid, Skill::Hybrid => Item::Hybrid,
Skill::HybridPlus => Item::HybridPlus, Skill::HybridPlus => Item::HybridPlus,
Skill::HybridPlusPlus => Item::HybridPlusPlus, Skill::HybridPlusPlus => Item::HybridPlusPlus,
Skill::Intercept => Item::Intercept, Skill::Intercept => Item::Intercept,
Skill::InterceptPlus => Item::InterceptPlus, Skill::InterceptPlus => Item::InterceptPlus,
Skill::InterceptPlusPlus => Item::InterceptPlusPlus, Skill::InterceptPlusPlus=> Item::InterceptPlusPlus,
Skill::Invert => Item::Invert, Skill::Invert => Item::Invert,
Skill::InvertPlus => Item::InvertPlus, Skill::InvertPlus => Item::InvertPlus,
Skill::InvertPlusPlus => Item::InvertPlusPlus, Skill::InvertPlusPlus => Item::InvertPlusPlus,
Skill::Purge => Item::Purge, Skill::Purge => Item::Purge,
Skill::PurgePlus => Item::PurgePlus, Skill::PurgePlus => Item::PurgePlus,
Skill::PurgePlusPlus => Item::PurgePlusPlus, Skill::PurgePlusPlus => Item::PurgePlusPlus,
Skill::Purify => Item::Purify, Skill::Purify => Item::Purify,
Skill::PurifyPlus => Item::PurifyPlus, Skill::PurifyPlus => Item::PurifyPlus,
Skill::PurifyPlusPlus => Item::PurifyPlusPlus, Skill::PurifyPlusPlus => Item::PurifyPlusPlus,
Skill::Recharge => Item::Recharge, Skill::Recharge => Item::Recharge,
Skill::RechargePlus => Item::RechargePlus, Skill::RechargePlus => Item::RechargePlus,
Skill::RechargePlusPlus => Item::RechargePlusPlus, Skill::RechargePlusPlus => Item::RechargePlusPlus,
Skill::Reflect => Item::Reflect, Skill::Reflect => Item::Reflect,
Skill::ReflectPlus => Item::ReflectPlus, Skill::ReflectPlus => Item::ReflectPlus,
Skill::ReflectPlusPlus => Item::ReflectPlusPlus, Skill::ReflectPlusPlus => Item::ReflectPlusPlus,
Skill::Restrict => Item::Restrict, Skill::Restrict => Item::Restrict,
Skill::RestrictPlus => Item::RestrictPlus, Skill::RestrictPlus => Item::RestrictPlus,
Skill::RestrictPlusPlus => Item::RestrictPlusPlus, Skill::RestrictPlusPlus => Item::RestrictPlusPlus,
Skill::Ruin => Item::Ruin, Skill::Ruin => Item::Ruin,
Skill::RuinPlus => Item::RuinPlus, Skill::RuinPlus => Item::RuinPlus,
Skill::RuinPlusPlus => Item::RuinPlusPlus, Skill::RuinPlusPlus => Item::RuinPlusPlus,
Skill::Link => Item::Link, Skill::Link => Item::Link,
Skill::LinkPlus => Item::LinkPlus, Skill::LinkPlus => Item::LinkPlus,
Skill::LinkPlusPlus => Item::LinkPlusPlus, Skill::LinkPlusPlus => Item::LinkPlusPlus,
Skill::Silence => Item::Silence, Skill::Silence => Item::Silence,
Skill::SilencePlus => Item::SilencePlus, Skill::SilencePlus => Item::SilencePlus,
Skill::SilencePlusPlus => Item::SilencePlusPlus, Skill::SilencePlusPlus => Item::SilencePlusPlus,
Skill::Siphon => Item::Siphon, Skill::Siphon => Item::Siphon,
Skill::SiphonPlus => Item::SiphonPlus, Skill::SiphonPlus => Item::SiphonPlus,
Skill::SiphonPlusPlus => Item::SiphonPlusPlus, Skill::SiphonPlusPlus => Item::SiphonPlusPlus,
Skill::Slay => Item::Slay, Skill::Slay => Item::Slay,
Skill::SlayPlus => Item::SlayPlus, Skill::SlayPlus => Item::SlayPlus,
Skill::SlayPlusPlus => Item::SlayPlusPlus, Skill::SlayPlusPlus => Item::SlayPlusPlus,
Skill::Sleep => Item::Sleep, Skill::Sleep => Item::Sleep,
Skill::SleepPlus => Item::SleepPlus, Skill::SleepPlus => Item::SleepPlus,
Skill::SleepPlusPlus => Item::SleepPlusPlus, Skill::SleepPlusPlus => Item::SleepPlusPlus,
Skill::Strike => Item::Strike, Skill::Strike => Item::Strike,
Skill::StrikePlus => Item::StrikePlus, Skill::StrikePlus => Item::StrikePlus,
Skill::StrikePlusPlus => Item::StrikePlusPlus, Skill::StrikePlusPlus => Item::StrikePlusPlus,
Skill::Stun => Item::Stun, Skill::Stun => Item::Stun,
Skill::Sustain => Item::Sustain, Skill::Sustain => Item::Sustain,
Skill::SustainPlus => Item::SustainPlus, Skill::SustainPlus => Item::SustainPlus,
Skill::SustainPlusPlus => Item::SustainPlusPlus, Skill::SustainPlusPlus => Item::SustainPlusPlus,
Skill::Break => Item::Break, Skill::Break => Item::Break,
Skill::BreakPlus => Item::BreakPlus, Skill::BreakPlus => Item::BreakPlus,
Skill::BreakPlusPlus => Item::BreakPlusPlus, Skill::BreakPlusPlus => Item::BreakPlusPlus,
Skill::Triage => Item::Triage, Skill::Triage => Item::Triage,
Skill::TriagePlus => Item::TriagePlus, Skill::TriagePlus => Item::TriagePlus,
Skill::TriagePlusPlus => Item::TriagePlusPlus, Skill::TriagePlusPlus => Item::TriagePlusPlus,
// Convert subskills into parent skills // Convert subskills into parent skills
Skill::Electrocute => Item::Electrify, Skill::Electrocute => Item::Electrify,
Skill::ElectrocutePlus => Item::ElectrifyPlus, Skill::ElectrocutePlus => Item::ElectrifyPlus,
Skill::ElectrocutePlusPlus => Item::ElectrifyPlusPlus, Skill::ElectrocutePlusPlus => Item::ElectrifyPlusPlus,
Skill::ElectrocuteTick => Item::Electrify, Skill::ElectrocuteTick => Item::Electrify,
Skill::ElectrocuteTickPlus => Item::ElectrifyPlus, Skill::ElectrocuteTickPlus => Item::ElectrifyPlus,
Skill::ElectrocuteTickPlusPlus => Item::ElectrifyPlus, Skill::ElectrocuteTickPlusPlus => Item::ElectrifyPlus,
Skill::DecayTick => Item::Decay, Skill::DecayTick => Item::Decay,
Skill::DecayTickPlus => Item::DecayPlus, Skill::DecayTickPlus => Item::DecayPlus,
Skill::DecayTickPlusPlus => Item::DecayPlusPlus, Skill::DecayTickPlusPlus => Item::DecayPlusPlus,
Skill::Absorption => Item::Absorb, Skill::Absorption => Item::Absorb,
Skill::AbsorptionPlus => Item::AbsorbPlus, Skill::AbsorptionPlus => Item::AbsorbPlus,
Skill::AbsorptionPlusPlus => Item::AbsorbPlusPlus, Skill::AbsorptionPlusPlus => Item::AbsorbPlusPlus,
Skill::HasteStrike => Item::Haste, Skill::HasteStrike => Item::Haste,
Skill::HybridBlast => Item::Hybrid, Skill::HybridBlast => Item::Hybrid,
Skill::CounterAttack => Item::Counter, Skill::CounterAttack => Item::Counter,
Skill::CounterAttackPlus => Item::CounterPlus, Skill::CounterAttackPlus => Item::CounterPlus,
Skill::CounterAttackPlusPlus => Item::CounterPlusPlus, Skill::CounterAttackPlusPlus => Item::CounterPlusPlus,
Skill::SiphonTick => Item::Siphon, Skill::SiphonTick => Item::Siphon,
Skill::SiphonTickPlus => Item::SiphonPlus, Skill::SiphonTickPlus => Item::SiphonPlus,
Skill::SiphonTickPlusPlus => Item::SiphonPlusPlus, Skill::SiphonTickPlusPlus => Item::SiphonPlusPlus,
Skill::TriageTick => Item::Triage, Skill::TriageTick => Item::Triage,
Skill::TriageTickPlus => Item::TriagePlus, Skill::TriageTickPlus => Item::TriagePlus,
Skill::TriageTickPlusPlus => Item::TriagePlusPlus, Skill::TriageTickPlusPlus => Item::TriagePlusPlus,
} }
} }
} }
@ -1159,7 +1156,7 @@ impl From<Skill> for Item {
impl From<Spec> for Item { impl From<Spec> for Item {
fn from(spec: Spec) -> Item { fn from(spec: Spec) -> Item {
match spec { match spec {
Spec::Speed => Item::Speed, Spec::Speed => Item::Speed,
Spec::SpeedRR => Item::SpeedRR, Spec::SpeedRR => Item::SpeedRR,
Spec::SpeedBB => Item::SpeedBB, Spec::SpeedBB => Item::SpeedBB,
Spec::SpeedGG => Item::SpeedGG, Spec::SpeedGG => Item::SpeedGG,
@ -1181,7 +1178,7 @@ impl From<Spec> for Item {
Spec::SpeedGBPlusPlus => Item::SpeedGBPlusPlus, Spec::SpeedGBPlusPlus => Item::SpeedGBPlusPlus,
Spec::SpeedRBPlusPlus => Item::SpeedRBPlusPlus, Spec::SpeedRBPlusPlus => Item::SpeedRBPlusPlus,
Spec::Power => Item::Power, Spec::Power => Item::Power,
Spec::PowerRR => Item::PowerRR, Spec::PowerRR => Item::PowerRR,
Spec::PowerBB => Item::PowerBB, Spec::PowerBB => Item::PowerBB,
Spec::PowerGG => Item::PowerGG, Spec::PowerGG => Item::PowerGG,