Merge branch 'anims-change' of ssh://mnml.gg:40022/~/mnml into anims-change

This commit is contained in:
Mashy 2019-07-02 23:14:34 +10:00
commit 0938187f7b
7 changed files with 50 additions and 50 deletions

View File

@ -42,7 +42,7 @@ New skill `Scatter `
Links targets together so dmg taken is split
Recharge 140% source blue damage as blue life to target
New skill `Impurity`
New skill `Hybrid`
Combines - Buff + GB
New buff that does the following -
Increase target green damage by 50%

View File

@ -92,8 +92,8 @@ const SKILLS = [
'HexI',
'HatredI',
'HostilityI',
'ImpureBlast',
'ImpurityI',
'HybridBlast',
'HybridI',
'InvertI',
'ParryI',
'PurgeI',

View File

@ -751,7 +751,7 @@ function testInstance(uuid) {
"cd": null
},
{
"skill": "Impurity",
"skill": "Hybrid",
"self_targeting": false,
"cd": 3
},

View File

@ -351,7 +351,7 @@ const removeTier = skill => {
if (skill.includes('Triage')) return 'Triage';
if (skill.includes('Scatter')) return 'Scatter';
if (skill.includes('Haste')) return 'Haste';
if (skill.includes('Impurity')) return 'Impurity';
if (skill.includes('Hybrid')) return 'Hybrid';
if (skill.includes('Amplify')) return 'Amplify';
if (skill.includes('Parry')) return 'Parry';

View File

@ -14,7 +14,7 @@ pub enum Effect {
Curse,
Haste,
Hex,
Impurity,
Hybrid,
Invert,
Parry,
Purge,
@ -119,7 +119,7 @@ impl Effect {
Effect::Amplify => vec![Stat::RedPower, Stat::BluePower],
Effect::Curse => vec![Stat::BlueDamageTaken],
Effect::Impurity => vec![Stat::GreenPower],
Effect::Hybrid => vec![Stat::GreenPower],
Effect::Wither => vec![Stat::GreenDamageTaken],
Effect::Haste => vec![Stat::Speed],
@ -140,7 +140,7 @@ impl Effect {
Effect::Curse |
Effect::Haste |
Effect::Slow |
Effect::Impurity |
Effect::Hybrid |
Effect::Wither => value.pct(match meta {
Some(EffectMeta::Multiplier(d)) => d,
_ => 100,
@ -193,7 +193,7 @@ impl Effect {
Effect::Hostility => Some(Colour::Green),
// magic
Effect::Impurity => Some(Colour::Green),
Effect::Hybrid => Some(Colour::Green),
Effect::Scatter => Some(Colour::Green),
Effect::Invert => Some(Colour::Green),

View File

@ -124,9 +124,9 @@ pub enum Item {
HexI,
HexII,
HexIII,
ImpurityI,
ImpurityII,
ImpurityIII,
HybridI,
HybridII,
HybridIII,
InvertI,
InvertII,
InvertIII,
@ -329,9 +329,9 @@ impl Item {
Item::HostilityI => Some(Skill::HostilityI),
Item::HostilityII => Some(Skill::HostilityII),
Item::HostilityIII=> Some(Skill::HostilityIII),
Item::ImpurityI => Some(Skill::ImpurityI),
Item::ImpurityII => Some(Skill::ImpurityII),
Item::ImpurityIII => Some(Skill::ImpurityIII),
Item::HybridI => Some(Skill::HybridI),
Item::HybridII => Some(Skill::HybridII),
Item::HybridIII => Some(Skill::HybridIII),
Item::InvertI => Some(Skill::InvertI),
Item::InvertII => Some(Skill::InvertII),
Item::InvertIII => Some(Skill::InvertIII),
@ -653,12 +653,12 @@ impl Item {
Hexed targets cannot cast any skills.",
self.into_skill().unwrap().effect()[0].get_duration()),
Item::ImpurityI |
Item::ImpurityII |
Item::ImpurityIII => format!(
"Impurity increases Green Power by {:?}%, Blue based Attack skills will blast again dealing {:?}{}. Lasts {:?}T",
Item::HybridI |
Item::HybridII |
Item::HybridIII => format!(
"Hybrid increases Green Power by {:?}%, Blue based Attack skills will blast again dealing {:?}{}. Lasts {:?}T",
self.into_skill().unwrap().effect()[0].get_multiplier() - 100,
Skill::ImpureBlast.multiplier(),
Skill::HybridBlast.multiplier(),
"% GreenPower as BluePower",
self.into_skill().unwrap().effect()[0].get_duration()),
@ -799,9 +799,9 @@ impl Item {
Item::HasteI => vec![Item::Buff, Item::Red, Item::Green],
Item::HasteII => vec![Item::HasteI, Item::HasteI, Item::HasteI],
Item::HasteIII => vec![Item::HasteII, Item::HasteII, Item::HasteII],
Item::ImpurityI => vec![Item::Buff, Item::Green, Item::Blue],
Item::ImpurityII => vec![Item::ImpurityI, Item::ImpurityI, Item::ImpurityI],
Item::ImpurityIII => vec![Item::ImpurityII, Item::ImpurityII, Item::ImpurityII],
Item::HybridI => vec![Item::Buff, Item::Green, Item::Blue],
Item::HybridII => vec![Item::HybridI, Item::HybridI, Item::HybridI],
Item::HybridIII => vec![Item::HybridII, Item::HybridII, Item::HybridII],
Item::AmplifyI => vec![Item::Buff, Item::Red, Item::Blue],
Item::AmplifyII => vec![Item::AmplifyI, Item::AmplifyI, Item::AmplifyI],
Item::AmplifyIII => vec![Item::AmplifyII, Item::AmplifyII, Item::AmplifyII],
@ -991,9 +991,9 @@ impl From<Skill> for Item {
Skill::HexI => Item::HexI,
Skill::HexII => Item::HexII,
Skill::HexIII => Item::HexIII,
Skill::ImpurityI => Item::ImpurityI,
Skill::ImpurityII => Item::ImpurityII,
Skill::ImpurityIII => Item::ImpurityIII,
Skill::HybridI => Item::HybridI,
Skill::HybridII => Item::HybridII,
Skill::HybridIII => Item::HybridIII,
Skill::InvertI => Item::InvertI,
Skill::InvertII => Item::InvertII,
Skill::InvertIII => Item::InvertIII,
@ -1064,7 +1064,7 @@ impl From<Skill> for Item {
Skill::HatredII => Item::HostilityII,
Skill::HatredIII => Item::HostilityIII,
Skill::HasteStrike => Item::HasteI,
Skill::ImpureBlast => Item::ImpurityI,
Skill::HybridBlast => Item::HybridI,
Skill::RiposteI => Item::ParryI,
Skill::RiposteII => Item::ParryII,
Skill::RiposteIII => Item::ParryIII,
@ -1175,9 +1175,9 @@ pub fn get_combos() -> Vec<Combo> {
Combo { components: Item::HostilityI.combo(), item: Item::HostilityI },
Combo { components: Item::HostilityII.combo(), item: Item::HostilityII },
Combo { components: Item::HostilityIII.combo(), item: Item::HostilityIII },
Combo { components: Item::ImpurityI.combo(), item: Item::ImpurityI },
Combo { components: Item::ImpurityII.combo(), item: Item::ImpurityII },
Combo { components: Item::ImpurityIII.combo(), item: Item::ImpurityIII },
Combo { components: Item::HybridI.combo(), item: Item::HybridI },
Combo { components: Item::HybridII.combo(), item: Item::HybridII },
Combo { components: Item::HybridIII.combo(), item: Item::HybridIII },
Combo { components: Item::AmplifyI.combo(), item: Item::AmplifyI },
Combo { components: Item::AmplifyII.combo(), item: Item::AmplifyII },

View File

@ -97,13 +97,13 @@ pub fn resolve(skill: Skill, source: &mut Construct, target: &mut Construct, mut
}
}
if source.affected(Effect::Impurity) {
if source.affected(Effect::Hybrid) {
match skill {
Skill::BlastI |
Skill::ChaosI |
Skill::SiphonI => {
let amount = source.green_power().pct(Skill::ImpureBlast.multiplier());
target.deal_blue_damage(Skill::ImpureBlast, amount)
let amount = source.green_power().pct(Skill::HybridBlast.multiplier());
target.deal_blue_damage(Skill::HybridBlast, amount)
.into_iter()
.for_each(|e| resolutions.push(Resolution::new(source, target).event(e)));
},
@ -180,9 +180,9 @@ pub fn resolve(skill: Skill, source: &mut Construct, target: &mut Construct, mut
Skill::HostilityII |
Skill::HostilityIII => hostility(source, target, resolutions, skill),
Skill::ImpurityI |
Skill::ImpurityII |
Skill::ImpurityIII => impurity(source, target, resolutions, skill),
Skill::HybridI |
Skill::HybridII |
Skill::HybridIII => hybrid(source, target, resolutions, skill),
Skill::InvertI |
Skill::InvertII |
@ -274,7 +274,7 @@ pub fn resolve(skill: Skill, source: &mut Construct, target: &mut Construct, mut
Skill::HatredI |
Skill::HatredII |
Skill::HatredIII => panic!("should only trigger from hatred"),
Skill::ImpureBlast => panic!("should only trigger from impurity"),
Skill::HybridBlast => panic!("should only trigger from hybrid"),
Skill::RiposteI |
Skill::RiposteII |
Skill::RiposteIII => panic!("should only trigger from parry"),
@ -550,11 +550,11 @@ pub enum Skill {
HostilityI,
HostilityII,
HostilityIII,
ImpureBlast,
HybridBlast,
ImpurityI,
ImpurityII,
ImpurityIII,
HybridI,
HybridII,
HybridIII,
InvertI,
InvertII,
@ -709,7 +709,7 @@ impl Skill {
Skill::SnareIII => 100,
// Buff base
Skill::ImpureBlast => 25,
Skill::HybridBlast => 25,
Skill::HasteStrike => 30,
Skill::ScatterI => 140,
Skill::ScatterII => 200,
@ -801,11 +801,11 @@ impl Skill {
Skill::HatredII => vec![ConstructEffect {effect: Effect::Hatred, duration: 7, meta: None, tick: None}],
Skill::HatredIII => vec![ConstructEffect {effect: Effect::Hatred, duration: 9, meta: None, tick: None}],
Skill::ImpurityI => vec![ConstructEffect {effect: Effect::Impurity, duration: 2,
Skill::HybridI => vec![ConstructEffect {effect: Effect::Hybrid, duration: 2,
meta: Some(EffectMeta::Multiplier(150)), tick: None }],
Skill::ImpurityII => vec![ConstructEffect {effect: Effect::Impurity, duration: 3,
Skill::HybridII => vec![ConstructEffect {effect: Effect::Hybrid, duration: 3,
meta: Some(EffectMeta::Multiplier(175)), tick: None }],
Skill::ImpurityIII => vec![ConstructEffect {effect: Effect::Impurity, duration: 4,
Skill::HybridIII => vec![ConstructEffect {effect: Effect::Hybrid, duration: 4,
meta: Some(EffectMeta::Multiplier(225)), tick: None }],
Skill::InvertI => vec![ConstructEffect {effect: Effect::Invert, duration: 2, meta: None, tick: None}],
@ -931,9 +931,9 @@ impl Skill {
Skill::AmplifyI => Some(1),
Skill::AmplifyII => Some(1),
Skill::AmplifyIII => Some(1),
Skill::ImpurityI |
Skill::ImpurityII |
Skill::ImpurityIII => Some(3),
Skill::HybridI |
Skill::HybridII |
Skill::HybridIII => Some(3),
Skill::InvertI => Some(2),
Skill::InvertII => Some(2),
@ -1018,7 +1018,7 @@ impl Skill {
// Never cast directly
//---------
// Trigger
Skill::ImpureBlast |
Skill::HybridBlast |
Skill::HasteStrike |
Skill::RiposteI |
Skill::RiposteII |
@ -1532,7 +1532,7 @@ fn curse(source: &mut Construct, target: &mut Construct, mut results: Resolution
return results;;
}
fn impurity(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
fn hybrid(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])));
return results;;
}