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 'Stun': return 'Stunned construct cannot use skills';
|
||||
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 'Silence': return 'Disable construct from casting any blue skills';
|
||||
case 'Wither': return `Construct will take ${100 - i.meta[1]}% reduced healing`; //
|
||||
|
||||
@ -10,20 +10,21 @@ pub enum Effect {
|
||||
Banish,
|
||||
Block,
|
||||
Buff,
|
||||
Sustain,
|
||||
Counter,
|
||||
Curse,
|
||||
Haste,
|
||||
Hybrid,
|
||||
Intercept,
|
||||
Invert,
|
||||
Counter,
|
||||
Purified,
|
||||
Purge,
|
||||
Reflect,
|
||||
Slow,
|
||||
Restrict,
|
||||
Stun,
|
||||
Intercept,
|
||||
Vulnerable,
|
||||
Silence,
|
||||
Slow,
|
||||
Stun,
|
||||
Sustain,
|
||||
Vulnerable,
|
||||
Wither, // Reduce green dmg (healing) taken
|
||||
|
||||
// electric is the buff that applies
|
||||
@ -99,21 +100,25 @@ impl Effect {
|
||||
|
||||
pub fn modifications(&self) -> Vec<Stat> {
|
||||
match self {
|
||||
Effect::Vulnerable => vec![Stat::RedDamageTaken],
|
||||
// Bases
|
||||
Effect::Block => vec![Stat::RedDamageTaken, Stat::BlueDamageTaken],
|
||||
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],
|
||||
|
||||
// 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![],
|
||||
}
|
||||
}
|
||||
@ -128,6 +133,7 @@ impl Effect {
|
||||
Effect::Haste |
|
||||
Effect::Slow |
|
||||
Effect::Hybrid |
|
||||
Effect::Purified |
|
||||
Effect::Wither => value.pct(match meta {
|
||||
Some(EffectMeta::Multiplier(d)) => d,
|
||||
_ => 100,
|
||||
@ -135,7 +141,10 @@ impl Effect {
|
||||
|
||||
Effect::Absorption => value + match meta {
|
||||
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::Regen => Some(Colour::Green),
|
||||
Effect::Siphon => Some(Colour::Blue),
|
||||
Effect::Purified => Some(Colour::Green),
|
||||
|
||||
Effect::Ko => None,
|
||||
}
|
||||
|
||||
@ -824,15 +824,17 @@ impl Item {
|
||||
Item::Purge|
|
||||
Item::PurgePlus |
|
||||
Item::PurgePlusPlus => format!(
|
||||
"Remove buffs from target construct.
|
||||
"Remove all effects from target construct.
|
||||
Applies purge disabling target green skills for {:?}T.",
|
||||
self.into_skill().unwrap().effect()[0].get_duration()),
|
||||
|
||||
Item::Purify|
|
||||
Item::PurifyPlus |
|
||||
Item::PurifyPlusPlus => format!(
|
||||
"Remove debuffs and heals for {:?}% GreenPower per debuff removed.",
|
||||
self.into_skill().unwrap().multiplier()),
|
||||
"Remove all effects and heals for {:?}% GreenPower per effect removed.
|
||||
Applies Purified increasing healing taken by {:?}%.",
|
||||
self.into_skill().unwrap().multiplier(),
|
||||
self.into_skill().unwrap().effect()[0].get_multiplier() - 100),
|
||||
|
||||
Item::Reflect|
|
||||
Item::ReflectPlus |
|
||||
|
||||
@ -1022,6 +1022,14 @@ impl Skill {
|
||||
meta: Some(EffectMeta::Skill(Skill::TriageTickPlus)), tick: None}],
|
||||
Skill::TriagePlusPlus => vec![ConstructEffect {effect: Effect::Triage, duration: 4,
|
||||
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);
|
||||
},
|
||||
@ -1841,6 +1849,8 @@ fn purify(source: &mut Construct, target: &mut Construct, mut results: Resolutio
|
||||
.into_iter()
|
||||
.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;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user