add "Purified" effect to Purify
This commit is contained in:
parent
8eaa3dc1c0
commit
1a2d2995cc
@ -282,6 +282,7 @@ function effectInfo(i) {
|
|||||||
case 'Restrict': return 'Disable construct from casting any red skills';
|
case 'Restrict': return 'Disable construct from casting any red skills';
|
||||||
case 'Stun': return 'Stunned construct cannot use skills';
|
case 'Stun': return 'Stunned construct cannot use skills';
|
||||||
case 'Intercept': return 'Redirect any skills on team to this target construct';
|
case 'Intercept': return 'Redirect any skills on team to this target construct';
|
||||||
|
case 'Purified': return `Construct will take ${i.meta[1] - 100}% increased healing`;
|
||||||
case 'Vulnerable': return `Construct will take ${i.meta[1] - 100}% increased red damage`;
|
case 'Vulnerable': return `Construct will take ${i.meta[1] - 100}% increased red damage`;
|
||||||
case 'Silence': return 'Disable construct from casting any blue skills';
|
case 'Silence': return 'Disable construct from casting any blue skills';
|
||||||
case 'Wither': return `Construct will take ${100 - i.meta[1]}% reduced healing`; //
|
case 'Wither': return `Construct will take ${100 - i.meta[1]}% reduced healing`; //
|
||||||
|
|||||||
@ -10,20 +10,21 @@ pub enum Effect {
|
|||||||
Banish,
|
Banish,
|
||||||
Block,
|
Block,
|
||||||
Buff,
|
Buff,
|
||||||
Sustain,
|
Counter,
|
||||||
Curse,
|
Curse,
|
||||||
Haste,
|
Haste,
|
||||||
Hybrid,
|
Hybrid,
|
||||||
|
Intercept,
|
||||||
Invert,
|
Invert,
|
||||||
Counter,
|
Purified,
|
||||||
Purge,
|
Purge,
|
||||||
Reflect,
|
Reflect,
|
||||||
Slow,
|
|
||||||
Restrict,
|
Restrict,
|
||||||
Stun,
|
|
||||||
Intercept,
|
|
||||||
Vulnerable,
|
|
||||||
Silence,
|
Silence,
|
||||||
|
Slow,
|
||||||
|
Stun,
|
||||||
|
Sustain,
|
||||||
|
Vulnerable,
|
||||||
Wither, // Reduce green dmg (healing) taken
|
Wither, // Reduce green dmg (healing) taken
|
||||||
|
|
||||||
// electric is the buff that applies
|
// electric is the buff that applies
|
||||||
@ -99,21 +100,25 @@ impl Effect {
|
|||||||
|
|
||||||
pub fn modifications(&self) -> Vec<Stat> {
|
pub fn modifications(&self) -> Vec<Stat> {
|
||||||
match self {
|
match self {
|
||||||
Effect::Vulnerable => vec![Stat::RedDamageTaken],
|
// Bases
|
||||||
Effect::Block => vec![Stat::RedDamageTaken, Stat::BlueDamageTaken],
|
Effect::Block => vec![Stat::RedDamageTaken, Stat::BlueDamageTaken],
|
||||||
Effect::Buff => vec![Stat::BluePower, Stat::RedPower, Stat::Speed],
|
Effect::Buff => vec![Stat::BluePower, Stat::RedPower, Stat::Speed],
|
||||||
|
|
||||||
Effect::Absorption => vec![Stat::RedPower, Stat::BluePower],
|
|
||||||
|
|
||||||
Effect::Amplify => vec![Stat::RedPower, Stat::BluePower],
|
|
||||||
Effect::Curse => vec![Stat::RedDamageTaken, Stat::BlueDamageTaken],
|
|
||||||
|
|
||||||
Effect::Hybrid => vec![Stat::GreenPower],
|
|
||||||
Effect::Wither => vec![Stat::GreenDamageTaken],
|
|
||||||
|
|
||||||
Effect::Haste => vec![Stat::Speed],
|
|
||||||
Effect::Slow => vec![Stat::Speed],
|
Effect::Slow => vec![Stat::Speed],
|
||||||
|
|
||||||
|
// Power changes
|
||||||
|
Effect::Absorption => vec![Stat::RedPower, Stat::BluePower],
|
||||||
|
Effect::Amplify => vec![Stat::RedPower, Stat::BluePower],
|
||||||
|
Effect::Hybrid => vec![Stat::GreenPower],
|
||||||
|
|
||||||
|
// Damage taken changes
|
||||||
|
Effect::Curse => vec![Stat::RedDamageTaken, Stat::BlueDamageTaken],
|
||||||
|
Effect::Purified => vec![Stat::GreenDamageTaken], // increased green taken
|
||||||
|
Effect::Vulnerable => vec![Stat::RedDamageTaken],
|
||||||
|
Effect::Wither => vec![Stat::GreenDamageTaken], // reduced green taken
|
||||||
|
|
||||||
|
// Speed
|
||||||
|
Effect::Haste => vec![Stat::Speed],
|
||||||
|
|
||||||
_ => vec![],
|
_ => vec![],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -128,6 +133,7 @@ impl Effect {
|
|||||||
Effect::Haste |
|
Effect::Haste |
|
||||||
Effect::Slow |
|
Effect::Slow |
|
||||||
Effect::Hybrid |
|
Effect::Hybrid |
|
||||||
|
Effect::Purified |
|
||||||
Effect::Wither => value.pct(match meta {
|
Effect::Wither => value.pct(match meta {
|
||||||
Some(EffectMeta::Multiplier(d)) => d,
|
Some(EffectMeta::Multiplier(d)) => d,
|
||||||
_ => 100,
|
_ => 100,
|
||||||
@ -135,7 +141,10 @@ impl Effect {
|
|||||||
|
|
||||||
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"),
|
_ => {
|
||||||
|
warn!("absorb meta not damage");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_ => {
|
_ => {
|
||||||
@ -185,6 +194,7 @@ impl Effect {
|
|||||||
Effect::Decay => Some(Colour::Blue),
|
Effect::Decay => Some(Colour::Blue),
|
||||||
Effect::Regen => Some(Colour::Green),
|
Effect::Regen => Some(Colour::Green),
|
||||||
Effect::Siphon => Some(Colour::Blue),
|
Effect::Siphon => Some(Colour::Blue),
|
||||||
|
Effect::Purified => Some(Colour::Green),
|
||||||
|
|
||||||
Effect::Ko => None,
|
Effect::Ko => None,
|
||||||
}
|
}
|
||||||
|
|||||||
@ -824,15 +824,17 @@ impl Item {
|
|||||||
Item::Purge|
|
Item::Purge|
|
||||||
Item::PurgePlus |
|
Item::PurgePlus |
|
||||||
Item::PurgePlusPlus => format!(
|
Item::PurgePlusPlus => format!(
|
||||||
"Remove buffs from target construct.
|
"Remove all effects from target construct.
|
||||||
Applies purge disabling target green skills for {:?}T.",
|
Applies purge disabling target green skills for {:?}T.",
|
||||||
self.into_skill().unwrap().effect()[0].get_duration()),
|
self.into_skill().unwrap().effect()[0].get_duration()),
|
||||||
|
|
||||||
Item::Purify|
|
Item::Purify|
|
||||||
Item::PurifyPlus |
|
Item::PurifyPlus |
|
||||||
Item::PurifyPlusPlus => format!(
|
Item::PurifyPlusPlus => format!(
|
||||||
"Remove debuffs and heals for {:?}% GreenPower per debuff removed.",
|
"Remove all effects and heals for {:?}% GreenPower per effect removed.
|
||||||
self.into_skill().unwrap().multiplier()),
|
Applies Purified increasing healing taken by {:?}%.",
|
||||||
|
self.into_skill().unwrap().multiplier(),
|
||||||
|
self.into_skill().unwrap().effect()[0].get_multiplier() - 100),
|
||||||
|
|
||||||
Item::Reflect|
|
Item::Reflect|
|
||||||
Item::ReflectPlus |
|
Item::ReflectPlus |
|
||||||
|
|||||||
@ -1022,6 +1022,14 @@ impl Skill {
|
|||||||
meta: Some(EffectMeta::Skill(Skill::TriageTickPlus)), tick: None}],
|
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}],
|
meta: Some(EffectMeta::Skill(Skill::TriageTickPlusPlus)), tick: None}],
|
||||||
|
|
||||||
|
Skill::Purify => vec![ConstructEffect { effect: Effect::Purified, duration: 2,
|
||||||
|
meta: Some(EffectMeta::Multiplier(150)), tick: None}],
|
||||||
|
Skill::PurifyPlus => vec![ConstructEffect { effect: Effect::Purified, duration: 2,
|
||||||
|
meta: Some(EffectMeta::Multiplier(175)), tick: None}],
|
||||||
|
Skill::PurifyPlusPlus => vec![ConstructEffect { effect: Effect::Purified, duration: 2,
|
||||||
|
meta: Some(EffectMeta::Multiplier(200)), tick: None}],
|
||||||
|
|
||||||
_ => {
|
_ => {
|
||||||
panic!("{:?} no skill effect", self);
|
panic!("{:?} no skill effect", self);
|
||||||
},
|
},
|
||||||
@ -1841,6 +1849,8 @@ fn purify(source: &mut Construct, target: &mut Construct, mut results: Resolutio
|
|||||||
.into_iter()
|
.into_iter()
|
||||||
.for_each(|e| results.push(Resolution::new(source, target).event(e).stages(EventStages::PostOnly)));
|
.for_each(|e| results.push(Resolution::new(source, target).event(e).stages(EventStages::PostOnly)));
|
||||||
}
|
}
|
||||||
|
let effect = skill.effect()[0];
|
||||||
|
results.push(Resolution::new(source, target).event(target.add_effect(skill, effect)).stages(EventStages::PostOnly));
|
||||||
|
|
||||||
return results;
|
return results;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user