Merge branch 'develop' of ssh://git.mnml.gg:40022/~/mnml into develop
This commit is contained in:
commit
e1c8a1b507
@ -79,7 +79,7 @@ function registerEvents(store) {
|
|||||||
store.dispatch(actions.setAnimTarget(anims.animTarget));
|
store.dispatch(actions.setAnimTarget(anims.animTarget));
|
||||||
if (!['Banish', 'Invert'].includes(removeTier(anims.animTarget.skill))) store.dispatch(actions.setAnimCb(cb));
|
if (!['Banish', 'Invert'].includes(removeTier(anims.animTarget.skill))) store.dispatch(actions.setAnimCb(cb));
|
||||||
}
|
}
|
||||||
if (sequence.includes('POST_SKILL' && text)) {
|
if (sequence.includes('POST_SKILL') && text) {
|
||||||
// timeout to prevent text classes from being added too soon
|
// timeout to prevent text classes from being added too soon
|
||||||
setTimeout(
|
setTimeout(
|
||||||
() => store.dispatch(actions.setAnimText(text)),
|
() => store.dispatch(actions.setAnimText(text)),
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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 |
|
||||||
@ -865,161 +866,157 @@ impl Item {
|
|||||||
|
|
||||||
fn combo(&self) -> Vec<Item> {
|
fn combo(&self) -> Vec<Item> {
|
||||||
match self {
|
match self {
|
||||||
Item::Intercept => vec![Item::Buff, Item::Red, Item::Red],
|
Item::Intercept => vec![Item::Buff, Item::Red, Item::Red],
|
||||||
Item::InterceptPlus => vec![Item::Intercept, Item::Intercept, Item::Intercept],
|
Item::Triage => vec![Item::Buff, Item::Green, Item::Green],
|
||||||
Item::InterceptPlusPlus => vec![Item::InterceptPlus, Item::InterceptPlus, Item::InterceptPlus],
|
Item::Absorb => vec![Item::Buff, Item::Blue, Item::Blue],
|
||||||
Item::Triage => vec![Item::Buff, Item::Green, Item::Green],
|
Item::Amplify => vec![Item::Buff, Item::Red, Item::Blue],
|
||||||
Item::TriagePlus => vec![Item::Triage, Item::Triage, Item::Triage],
|
Item::Haste => vec![Item::Buff, Item::Red, Item::Green],
|
||||||
Item::TriagePlusPlus => vec![Item::TriagePlus, Item::TriagePlus, Item::TriagePlus],
|
Item::Hybrid => vec![Item::Buff, Item::Green, Item::Blue],
|
||||||
Item::Link => vec![Item::Buff, Item::Blue, Item::Blue],
|
Item::InterceptPlus => vec![Item::Intercept, Item::Intercept, Item::Intercept],
|
||||||
Item::LinkPlus => vec![Item::Link, Item::Link, Item::Link],
|
Item::InterceptPlusPlus => vec![Item::InterceptPlus, Item::InterceptPlus, Item::InterceptPlus],
|
||||||
Item::LinkPlusPlus => vec![Item::LinkPlusPlus, Item::LinkPlusPlus, Item::LinkPlusPlus],
|
Item::TriagePlus => vec![Item::Triage, Item::Triage, Item::Triage],
|
||||||
Item::Haste => vec![Item::Buff, Item::Red, Item::Green],
|
Item::TriagePlusPlus => vec![Item::TriagePlus, Item::TriagePlus, Item::TriagePlus],
|
||||||
Item::HastePlus => vec![Item::Haste, Item::Haste, Item::Haste],
|
Item::HastePlus => vec![Item::Haste, Item::Haste, Item::Haste],
|
||||||
Item::HastePlusPlus => vec![Item::HastePlus, Item::HastePlus, Item::HastePlus],
|
Item::HastePlusPlus => vec![Item::HastePlus, Item::HastePlus, Item::HastePlus],
|
||||||
Item::Hybrid => vec![Item::Buff, Item::Green, Item::Blue],
|
Item::HybridPlus => vec![Item::Hybrid, Item::Hybrid, Item::Hybrid],
|
||||||
Item::HybridPlus => vec![Item::Hybrid, Item::Hybrid, Item::Hybrid],
|
Item::HybridPlusPlus => vec![Item::HybridPlus, Item::HybridPlus, Item::HybridPlus],
|
||||||
Item::HybridPlusPlus => vec![Item::HybridPlus, Item::HybridPlus, Item::HybridPlus],
|
Item::AbsorbPlus => vec![Item::Absorb, Item::Absorb, Item::Absorb],
|
||||||
Item::Amplify => vec![Item::Buff, Item::Red, Item::Blue],
|
Item::AbsorbPlusPlus => vec![Item::AbsorbPlus, Item::AbsorbPlus, Item::AbsorbPlus],
|
||||||
Item::AmplifyPlus => vec![Item::Amplify, Item::Amplify, Item::Amplify],
|
Item::AmplifyPlus => vec![Item::Amplify, Item::Amplify, Item::Amplify],
|
||||||
Item::AmplifyPlusPlus => vec![Item::AmplifyPlus, Item::AmplifyPlus, Item::AmplifyPlus],
|
Item::AmplifyPlusPlus => vec![Item::AmplifyPlus, Item::AmplifyPlus, Item::AmplifyPlus],
|
||||||
|
|
||||||
Item::Restrict => vec![Item::Debuff, Item::Red, Item::Red],
|
Item::Purge => vec![Item::Debuff, Item::Green, Item::Green], // Needs flavour
|
||||||
Item::RestrictPlus => vec![Item::Restrict, Item::Restrict, Item::Restrict],
|
Item::Invert => vec![Item::Debuff, Item::Red, Item::Blue],
|
||||||
Item::RestrictPlusPlus => vec![Item::RestrictPlus, Item::RestrictPlus, Item::RestrictPlus],
|
Item::Restrict => vec![Item::Debuff, Item::Red, Item::Red],
|
||||||
Item::Purge => vec![Item::Debuff, Item::Green, Item::Green], // Needs flavour
|
Item::Silence => vec![Item::Debuff, Item::Blue, Item::Blue],
|
||||||
Item::PurgePlus => vec![Item::Purge, Item::Purge, Item::Purge], // Needs flavour
|
Item::Curse => vec![Item::Debuff, Item::Red, Item::Green],
|
||||||
Item::PurgePlusPlus => vec![Item::PurgePlus, Item::PurgePlus, Item::PurgePlus], // Needs flavour
|
Item::Decay => vec![Item::Debuff, Item::Green, Item::Blue],
|
||||||
Item::Silence => vec![Item::Debuff, Item::Blue, Item::Blue],
|
Item::RestrictPlus => vec![Item::Restrict, Item::Restrict, Item::Restrict],
|
||||||
Item::SilencePlus => vec![Item::Silence, Item::Silence, Item::Silence],
|
Item::RestrictPlusPlus => vec![Item::RestrictPlus, Item::RestrictPlus, Item::RestrictPlus],
|
||||||
Item::SilencePlusPlus => vec![Item::SilencePlus, Item::SilencePlus, Item::SilencePlus],
|
Item::PurgePlus => vec![Item::Purge, Item::Purge, Item::Purge], // Needs flavour
|
||||||
Item::Curse => vec![Item::Debuff, Item::Red, Item::Green],
|
Item::PurgePlusPlus => vec![Item::PurgePlus, Item::PurgePlus, Item::PurgePlus], // Needs flavour
|
||||||
Item::CursePlus => vec![Item::Curse, Item::Curse, Item::Curse],
|
Item::SilencePlus => vec![Item::Silence, Item::Silence, Item::Silence],
|
||||||
Item::CursePlusPlus => vec![Item::CursePlus, Item::CursePlus, Item::CursePlus],
|
Item::SilencePlusPlus => vec![Item::SilencePlus, Item::SilencePlus, Item::SilencePlus],
|
||||||
Item::Decay => vec![Item::Debuff, Item::Green, Item::Blue],
|
Item::CursePlus => vec![Item::Curse, Item::Curse, Item::Curse],
|
||||||
Item::DecayPlus => vec![Item::Decay, Item::Decay, Item::Decay],
|
Item::CursePlusPlus => vec![Item::CursePlus, Item::CursePlus, Item::CursePlus],
|
||||||
Item::DecayPlusPlus => vec![Item::DecayPlus, Item::DecayPlus, Item::DecayPlus],
|
Item::DecayPlus => vec![Item::Decay, Item::Decay, Item::Decay],
|
||||||
Item::Invert => vec![Item::Debuff, Item::Red, Item::Blue],
|
Item::DecayPlusPlus => vec![Item::DecayPlus, Item::DecayPlus, Item::DecayPlus],
|
||||||
Item::InvertPlus => vec![Item::Invert, Item::Invert, Item::Invert],
|
Item::InvertPlus => vec![Item::Invert, Item::Invert, Item::Invert],
|
||||||
Item::InvertPlusPlus => vec![Item::InvertPlus, Item::InvertPlus, Item::InvertPlus],
|
Item::InvertPlusPlus => vec![Item::InvertPlus, Item::InvertPlus, Item::InvertPlus],
|
||||||
|
|
||||||
Item::Counter => vec![Item::Block, Item::Red, Item::Red],
|
Item::Counter => vec![Item::Block, Item::Red, Item::Red],
|
||||||
|
Item::Reflect => vec![Item::Block, Item::Green, Item::Blue],
|
||||||
|
Item::Purify => vec![Item::Block, Item::Green, Item::Green],
|
||||||
|
Item::Sustain => vec![Item::Block, Item::Red, Item::Green],
|
||||||
|
Item::Electrify => vec![Item::Block, Item::Blue, Item::Blue],
|
||||||
|
Item::Recharge => vec![Item::Block, Item::Red, Item::Blue],
|
||||||
Item::CounterPlus => vec![Item::Counter, Item::Counter, Item::Counter],
|
Item::CounterPlus => vec![Item::Counter, Item::Counter, Item::Counter],
|
||||||
Item::CounterPlusPlus => vec![Item::CounterPlus, Item::CounterPlus, Item::CounterPlus], // Add red recharge
|
Item::CounterPlusPlus => vec![Item::CounterPlus, Item::CounterPlus, Item::CounterPlus], // Add red recharge
|
||||||
Item::Purify => vec![Item::Block, Item::Green, Item::Green],
|
Item::PurifyPlus => vec![Item::Purify, Item::Purify, Item::Purify],
|
||||||
Item::PurifyPlus => vec![Item::Purify, Item::Purify, Item::Purify],
|
Item::PurifyPlusPlus => vec![Item::PurifyPlus, Item::PurifyPlus, Item::PurifyPlus],
|
||||||
Item::PurifyPlusPlus => vec![Item::PurifyPlus, Item::PurifyPlus, Item::PurifyPlus],
|
|
||||||
Item::Electrify => vec![Item::Block, Item::Blue, Item::Blue],
|
|
||||||
Item::ElectrifyPlus => vec![Item::Electrify, Item::Electrify, Item::Electrify],
|
Item::ElectrifyPlus => vec![Item::Electrify, Item::Electrify, Item::Electrify],
|
||||||
Item::ElectrifyPlusPlus => vec![Item::ElectrifyPlus, Item::ElectrifyPlus, Item::ElectrifyPlus],
|
Item::ElectrifyPlusPlus => vec![Item::ElectrifyPlus, Item::ElectrifyPlus, Item::ElectrifyPlus],
|
||||||
Item::Sustain => vec![Item::Block, Item::Red, Item::Green],
|
Item::SustainPlus => vec![Item::Sustain, Item::Sustain, Item::Sustain],
|
||||||
Item::SustainPlus => vec![Item::Sustain, Item::Sustain, Item::Sustain],
|
Item::SustainPlusPlus => vec![Item::SustainPlus, Item::SustainPlus, Item::SustainPlus],
|
||||||
Item::SustainPlusPlus => vec![Item::SustainPlus, Item::SustainPlus, Item::SustainPlus],
|
Item::ReflectPlus => vec![Item::Reflect, Item::Reflect, Item::Reflect],
|
||||||
Item::Reflect => vec![Item::Block, Item::Green, Item::Blue],
|
Item::ReflectPlusPlus => vec![Item::ReflectPlus, Item::ReflectPlus, Item::ReflectPlus],
|
||||||
Item::ReflectPlus => vec![Item::Reflect, Item::Reflect, Item::Reflect],
|
Item::RechargePlus => vec![Item::Recharge, Item::Recharge, Item::Recharge],
|
||||||
Item::ReflectPlusPlus => vec![Item::ReflectPlus, Item::ReflectPlus, Item::ReflectPlus],
|
Item::RechargePlusPlus => vec![Item::RechargePlus, Item::RechargePlus, Item::RechargePlus],
|
||||||
Item::Recharge => vec![Item::Block, Item::Red, Item::Blue],
|
|
||||||
Item::RechargePlus => vec![Item::Recharge, Item::Recharge, Item::Recharge],
|
|
||||||
Item::RechargePlusPlus => vec![Item::RechargePlus, Item::RechargePlus, Item::RechargePlus],
|
|
||||||
|
|
||||||
Item::Bash => vec![Item::Stun, Item::Red, Item::Red],
|
Item::Bash => vec![Item::Stun, Item::Red, Item::Red],
|
||||||
Item::BashPlus => vec![Item::Bash, Item::Bash, Item::Bash],
|
Item::Sleep => vec![Item::Stun, Item::Green, Item::Green],
|
||||||
Item::BashPlusPlus => vec![Item::BashPlus, Item::BashPlus, Item::BashPlus],
|
Item::Ruin => vec![Item::Stun, Item::Blue, Item::Blue],
|
||||||
Item::Sleep => vec![Item::Stun, Item::Green, Item::Green],
|
Item::Link => vec![Item::Stun, Item::Blue, Item::Green],
|
||||||
Item::SleepPlus => vec![Item::Sleep, Item::Sleep, Item::Sleep],
|
Item::Banish => vec![Item::Stun, Item::Red, Item::Blue],
|
||||||
Item::SleepPlusPlus => vec![Item::SleepPlus, Item::SleepPlus, Item::SleepPlus],
|
Item::Break => vec![Item::Stun, Item::Red, Item::Green],
|
||||||
Item::Ruin => vec![Item::Stun, Item::Blue, Item::Blue],
|
Item::BashPlus => vec![Item::Bash, Item::Bash, Item::Bash],
|
||||||
Item::RuinPlus => vec![Item::Ruin, Item::Ruin, Item::Ruin],
|
Item::BashPlusPlus => vec![Item::BashPlus, Item::BashPlus, Item::BashPlus],
|
||||||
Item::RuinPlusPlus => vec![Item::RuinPlus, Item::RuinPlus, Item::RuinPlus],
|
Item::SleepPlus => vec![Item::Sleep, Item::Sleep, Item::Sleep],
|
||||||
Item::Break => vec![Item::Stun, Item::Red, Item::Green],
|
Item::SleepPlusPlus => vec![Item::SleepPlus, Item::SleepPlus, Item::SleepPlus],
|
||||||
Item::BreakPlus => vec![Item::Break, Item::Break, Item::Break],
|
Item::RuinPlus => vec![Item::Ruin, Item::Ruin, Item::Ruin],
|
||||||
Item::BreakPlusPlus => vec![Item::BreakPlus, Item::BreakPlus, Item::BreakPlus],
|
Item::RuinPlusPlus => vec![Item::RuinPlus, Item::RuinPlus, Item::RuinPlus],
|
||||||
Item::Absorb => vec![Item::Stun, Item::Green, Item::Blue],
|
Item::BreakPlus => vec![Item::Break, Item::Break, Item::Break],
|
||||||
Item::AbsorbPlus => vec![Item::Absorb, Item::Absorb, Item::Absorb],
|
Item::BreakPlusPlus => vec![Item::BreakPlus, Item::BreakPlus, Item::BreakPlus],
|
||||||
Item::AbsorbPlusPlus => vec![Item::AbsorbPlus, Item::AbsorbPlus, Item::AbsorbPlus],
|
Item::LinkPlus => vec![Item::Link, Item::Link, Item::Link],
|
||||||
Item::Banish => vec![Item::Stun, Item::Red, Item::Blue],
|
Item::LinkPlusPlus => vec![Item::LinkPlusPlus, Item::LinkPlusPlus, Item::LinkPlusPlus],
|
||||||
Item::BanishPlus => vec![Item::Banish, Item::Banish, Item::Banish],
|
Item::BanishPlus => vec![Item::Banish, Item::Banish, Item::Banish],
|
||||||
Item::BanishPlusPlus => vec![Item::BanishPlus, Item::BanishPlus, Item::BanishPlus],
|
Item::BanishPlusPlus => vec![Item::BanishPlus, Item::BanishPlus, Item::BanishPlus],
|
||||||
|
|
||||||
Item::Strike => vec![Item::Attack, Item::Red, Item::Red],
|
Item::Strike => vec![Item::Attack, Item::Red, Item::Red],
|
||||||
Item::StrikePlus => vec![Item::Strike, Item::Strike, Item::Strike],
|
Item::Chaos => vec![Item::Attack, Item::Red, Item::Blue],
|
||||||
Item::StrikePlusPlus => vec![Item::StrikePlus, Item::StrikePlus, Item::StrikePlus],
|
Item::Heal => vec![Item::Attack, Item::Green, Item::Green],
|
||||||
Item::Heal => vec![Item::Attack, Item::Green, Item::Green],
|
Item::Blast => vec![Item::Attack, Item::Blue, Item::Blue],
|
||||||
Item::HealPlus => vec![Item::Heal, Item::Heal, Item::Heal],
|
Item::Slay => vec![Item::Attack, Item::Red, Item::Green],
|
||||||
Item::HealPlusPlus => vec![Item::HealPlus, Item::HealPlus, Item::HealPlus],
|
Item::Siphon => vec![Item::Attack, Item::Green, Item::Blue],
|
||||||
Item::Blast => vec![Item::Attack, Item::Blue, Item::Blue],
|
Item::StrikePlus => vec![Item::Strike, Item::Strike, Item::Strike],
|
||||||
Item::BlastPlus => vec![Item::Blast, Item::Blast, Item::Blast],
|
Item::StrikePlusPlus => vec![Item::StrikePlus, Item::StrikePlus, Item::StrikePlus],
|
||||||
Item::BlastPlusPlus => vec![Item::BlastPlus, Item::BlastPlus, Item::BlastPlus],
|
Item::HealPlus => vec![Item::Heal, Item::Heal, Item::Heal],
|
||||||
Item::Slay => vec![Item::Attack, Item::Red, Item::Green],
|
Item::HealPlusPlus => vec![Item::HealPlus, Item::HealPlus, Item::HealPlus],
|
||||||
Item::SlayPlus => vec![Item::Slay, Item::Slay, Item::Slay],
|
Item::BlastPlus => vec![Item::Blast, Item::Blast, Item::Blast],
|
||||||
Item::SlayPlusPlus => vec![Item::SlayPlus, Item::SlayPlus, Item::SlayPlus],
|
Item::BlastPlusPlus => vec![Item::BlastPlus, Item::BlastPlus, Item::BlastPlus],
|
||||||
Item::Siphon => vec![Item::Attack, Item::Green, Item::Blue],
|
Item::SlayPlus => vec![Item::Slay, Item::Slay, Item::Slay],
|
||||||
Item::SiphonPlus => vec![Item::Siphon, Item::Siphon, Item::Siphon],
|
Item::SlayPlusPlus => vec![Item::SlayPlus, Item::SlayPlus, Item::SlayPlus],
|
||||||
Item::SiphonPlusPlus => vec![Item::SiphonPlus, Item::SiphonPlus, Item::SiphonPlus],
|
Item::SiphonPlus => vec![Item::Siphon, Item::Siphon, Item::Siphon],
|
||||||
Item::Chaos => vec![Item::Attack, Item::Red, Item::Blue],
|
Item::SiphonPlusPlus => vec![Item::SiphonPlus, Item::SiphonPlus, Item::SiphonPlus],
|
||||||
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,
|
||||||
|
|||||||
@ -319,12 +319,6 @@ fn post_resolve(_skill: Skill, game: &mut Game, mut resolutions: Resolutions) ->
|
|||||||
_ => panic!("no absorb skill"),
|
_ => panic!("no absorb skill"),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// beware that link doesn't cause any damage
|
|
||||||
// because then applying it will proc this
|
|
||||||
if target.affected(Effect::Link) {
|
|
||||||
resolutions = link_hit(&source, &target, resolutions, game, event)
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
Event::Immunity { skill: _, immunity } => match immunity.contains(&Effect::Counter) {
|
Event::Immunity { skill: _, immunity } => match immunity.contains(&Effect::Counter) {
|
||||||
@ -805,9 +799,9 @@ impl Skill {
|
|||||||
// Buff base
|
// Buff base
|
||||||
Skill::HybridBlast => 25,
|
Skill::HybridBlast => 25,
|
||||||
Skill::HasteStrike => 30,
|
Skill::HasteStrike => 30,
|
||||||
Skill::Link=> 140,
|
Skill::Link=> 75,
|
||||||
Skill::LinkPlus => 200,
|
Skill::LinkPlus => 100,
|
||||||
Skill::LinkPlusPlus => 300,
|
Skill::LinkPlusPlus => 150,
|
||||||
Skill::Intercept=> 80,
|
Skill::Intercept=> 80,
|
||||||
Skill::InterceptPlus => 110,
|
Skill::InterceptPlus => 110,
|
||||||
Skill::InterceptPlusPlus => 150,
|
Skill::InterceptPlusPlus => 150,
|
||||||
@ -932,9 +926,9 @@ impl Skill {
|
|||||||
Skill::PurgePlus => vec![ConstructEffect {effect: Effect::Purge, duration: 2, 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::PurgePlusPlus => vec![ConstructEffect {effect: Effect::Purge, duration: 3, meta: None, tick: None}],
|
||||||
|
|
||||||
Skill::Link => vec![ConstructEffect {effect: Effect::Link, duration: 2, meta: None, tick: None}],
|
Skill::Link => vec![ConstructEffect {effect: Effect::Stun, duration: 3, meta: None, tick: None}],
|
||||||
Skill::LinkPlus => vec![ConstructEffect {effect: Effect::Link, 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::Link, duration: 4, 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::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::SilencePlus => vec![ConstructEffect {effect: Effect::Silence, duration: 3, meta: None, tick: None}],
|
||||||
@ -1180,10 +1174,6 @@ impl Skill {
|
|||||||
|
|
||||||
pub fn speed(&self) -> u64 {
|
pub fn speed(&self) -> u64 {
|
||||||
match self {
|
match self {
|
||||||
Skill::Strike=> Item::from(Skill::Strike).speed().pct(150),
|
|
||||||
Skill::StrikePlus => Skill::Strike.speed(),
|
|
||||||
Skill::StrikePlusPlus => Skill::Strike.speed(),
|
|
||||||
|
|
||||||
Skill::SiphonTick|
|
Skill::SiphonTick|
|
||||||
Skill::SiphonTickPlus |
|
Skill::SiphonTickPlus |
|
||||||
Skill::SiphonTickPlusPlus => Skill::Siphon.speed(),
|
Skill::SiphonTickPlusPlus => Skill::Siphon.speed(),
|
||||||
@ -1674,42 +1664,25 @@ fn siphon_tick(source: &mut Construct, target: &mut Construct, mut results: Reso
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn link(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
fn link(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
||||||
let blue_amount = source.blue_power().pct(skill.multiplier());
|
let swap = match target.green_life().checked_sub(source.green_life()) {
|
||||||
results.push(Resolution::new(source, target).event(target.recharge(skill, 0, blue_amount)));
|
Some(s) => s.pct(skill.multiplier()),
|
||||||
|
None => 0
|
||||||
|
};
|
||||||
|
|
||||||
let link = skill.effect()[0].set_meta(EffectMeta::LinkTarget(target.id));
|
target.deal_blue_damage(skill, swap)
|
||||||
results.push(Resolution::new(source, target).event(source.add_effect(skill, link)).stages(EventStages::PostOnly));
|
.into_iter()
|
||||||
|
.for_each(|e| results.push(Resolution::new(source, target).event(e)));
|
||||||
|
|
||||||
|
source.deal_green_damage(skill, swap)
|
||||||
|
.into_iter()
|
||||||
|
.for_each(|e| results.push(Resolution::new(source, source).event(e).stages(EventStages::PostOnly)));
|
||||||
|
|
||||||
|
results.push(Resolution::new(source, source)
|
||||||
|
.event(source.add_effect(skill, skill.effect()[0])).stages(EventStages::PostOnly));
|
||||||
|
|
||||||
return results;
|
return results;
|
||||||
}
|
}
|
||||||
|
|
||||||
fn link_hit(source: &Construct, target: &Construct, mut results: Resolutions, game: &mut Game, event: Event) -> Resolutions {
|
|
||||||
match event {
|
|
||||||
Event::Damage { amount, skill, mitigation: _, colour } => {
|
|
||||||
let link = target.effects.iter().find(|e| e.effect == Effect::Link).unwrap();
|
|
||||||
|
|
||||||
if let Some(EffectMeta::LinkTarget(link_target_id)) = link.meta {
|
|
||||||
let mut link_target = game.construct_by_id(link_target_id).unwrap();
|
|
||||||
|
|
||||||
let res = match colour {
|
|
||||||
Colour::Red => link_target.deal_red_damage(skill, amount),
|
|
||||||
Colour::Blue => link_target.deal_blue_damage(skill, amount),
|
|
||||||
Colour::Green => link_target.deal_green_damage(skill, amount),
|
|
||||||
};
|
|
||||||
|
|
||||||
results.push(Resolution::new(target, link_target).event(Event::Skill { skill: Skill::Link}));
|
|
||||||
res.into_iter().for_each(|e| results.push(Resolution::new(&source, &link_target)
|
|
||||||
.event(e).stages(EventStages::EndPost)));
|
|
||||||
} else {
|
|
||||||
panic!("not a link target {:?}", link);
|
|
||||||
}
|
|
||||||
|
|
||||||
return results;
|
|
||||||
},
|
|
||||||
_ => panic!("{:?} link hit not damage event", event),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn silence(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
fn silence(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
||||||
results.push(Resolution::new(source, target).event(target.add_effect(skill, skill.effect()[0])));
|
results.push(Resolution::new(source, target).event(target.add_effect(skill, skill.effect()[0])));
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user