simplify debuffs and buffs
This commit is contained in:
parent
a581f9ad3f
commit
a025900639
@ -374,56 +374,56 @@ impl Effect {
|
||||
pub fn category(&self) -> Category {
|
||||
match self {
|
||||
// physical
|
||||
Effect::Stun => Category::RedDebuff,
|
||||
Effect::Block => Category::RedBuff,
|
||||
Effect::Parry => Category::RedBuff,
|
||||
Effect::Bleed => Category::RedDebuff,
|
||||
Effect::Leech => Category::RedDebuff,
|
||||
Effect::Airborne => Category::RedDebuff,
|
||||
Effect::Untouchable => Category::RedBuff,
|
||||
Effect::Deadly => Category::RedBuff,
|
||||
Effect::Vulnerable => Category::RedDebuff,
|
||||
Effect::Fury => Category::RedBuff,
|
||||
Effect::Blind => Category::RedDebuff,
|
||||
Effect::Snare => Category::RedDebuff,
|
||||
Effect::Clutch => Category::RedBuff,
|
||||
Effect::Taunt => Category::RedBuff,
|
||||
Effect::Empower => Category::RedBuff,
|
||||
Effect::Injured => Category::RedDebuff,
|
||||
Effect::Strangle => Category::RedDebuff,
|
||||
Effect::Strangling => Category::RedBuff,
|
||||
Effect::Stun => Category::Debuff,
|
||||
Effect::Block => Category::Buff,
|
||||
Effect::Parry => Category::Buff,
|
||||
Effect::Bleed => Category::Debuff,
|
||||
Effect::Leech => Category::Debuff,
|
||||
Effect::Airborne => Category::Debuff,
|
||||
Effect::Untouchable => Category::Buff,
|
||||
Effect::Deadly => Category::Buff,
|
||||
Effect::Vulnerable => Category::Debuff,
|
||||
Effect::Fury => Category::Buff,
|
||||
Effect::Blind => Category::Debuff,
|
||||
Effect::Snare => Category::Debuff,
|
||||
Effect::Clutch => Category::Buff,
|
||||
Effect::Taunt => Category::Buff,
|
||||
Effect::Empower => Category::Buff,
|
||||
Effect::Injured => Category::Debuff,
|
||||
Effect::Strangle => Category::Debuff,
|
||||
Effect::Strangling => Category::Buff,
|
||||
|
||||
// magic
|
||||
Effect::Hex => Category::BlueDebuff,
|
||||
Effect::Ruin => Category::BlueDebuff,
|
||||
Effect::Curse => Category::BlueDebuff,
|
||||
Effect::Banish => Category::BlueDebuff, // todo randomise
|
||||
Effect::Slow => Category::BlueDebuff,
|
||||
Effect::Haste => Category::BlueBuff,
|
||||
Effect::Hatred => Category::BlueBuff,
|
||||
Effect::Reflect => Category::BlueBuff,
|
||||
Effect::Enslave => Category::BlueDebuff,
|
||||
Effect::Mesmerise => Category::BlueDebuff,
|
||||
Effect::Amplify => Category::BlueBuff,
|
||||
Effect::Silence => Category::BlueDebuff,
|
||||
Effect::Hex => Category::Debuff,
|
||||
Effect::Ruin => Category::Debuff,
|
||||
Effect::Curse => Category::Debuff,
|
||||
Effect::Banish => Category::Debuff, // todo randomise
|
||||
Effect::Slow => Category::Debuff,
|
||||
Effect::Haste => Category::Buff,
|
||||
Effect::Hatred => Category::Buff,
|
||||
Effect::Reflect => Category::Buff,
|
||||
Effect::Enslave => Category::Debuff,
|
||||
Effect::Mesmerise => Category::Debuff,
|
||||
Effect::Amplify => Category::Buff,
|
||||
Effect::Silence => Category::Debuff,
|
||||
|
||||
Effect::Corrupt => Category::BlueBuff,
|
||||
Effect::Corruption => Category::BlueDebuff,
|
||||
Effect::Corrupt => Category::Buff,
|
||||
Effect::Corruption => Category::Debuff,
|
||||
|
||||
Effect::Hostility => Category::BlueBuff,
|
||||
Effect::Hostility => Category::Buff,
|
||||
|
||||
// magic immunity
|
||||
Effect::Shield => Category::BlueBuff,
|
||||
Effect::Invert => Category::GreenBuff,
|
||||
Effect::Shield => Category::Buff,
|
||||
Effect::Invert => Category::Buff,
|
||||
|
||||
// effects over time
|
||||
Effect::Triage => Category::BlueBuff,
|
||||
Effect::Decay => Category::BlueDebuff,
|
||||
Effect::Regen => Category::BlueBuff,
|
||||
Effect::Siphon => Category::BlueDebuff,
|
||||
Effect::Triage => Category::Buff,
|
||||
Effect::Decay => Category::Debuff,
|
||||
Effect::Regen => Category::Buff,
|
||||
Effect::Siphon => Category::Debuff,
|
||||
|
||||
Effect::SpeedSiphon => Category::BlueDebuff,
|
||||
Effect::SpeedIncrease => Category::BlueBuff,
|
||||
Effect::SpeedSiphon => Category::Debuff,
|
||||
Effect::SpeedIncrease => Category::Buff,
|
||||
|
||||
Effect::Ko => Category::Ko,
|
||||
}
|
||||
@ -485,19 +485,20 @@ impl Effect {
|
||||
#[derive(Debug,Clone,Copy,PartialEq,Serialize,Deserialize)]
|
||||
pub enum Category {
|
||||
Red,
|
||||
RedDamage,
|
||||
RedDebuff,
|
||||
RedBuff,
|
||||
RedTick,
|
||||
Blue,
|
||||
BlueDamage,
|
||||
BlueDebuff,
|
||||
BlueBuff,
|
||||
BlueTick,
|
||||
Green,
|
||||
GreenTick,
|
||||
|
||||
RedDamage,
|
||||
BlueDamage,
|
||||
GreenDamage,
|
||||
GreenBuff,
|
||||
|
||||
RedTick,
|
||||
BlueTick,
|
||||
GreenTick,
|
||||
|
||||
Buff,
|
||||
Debuff,
|
||||
|
||||
Ko,
|
||||
}
|
||||
|
||||
@ -1088,7 +1089,7 @@ fn silence(source: &mut Cryp, target: &mut Cryp, mut results: Resolutions) -> Re
|
||||
fn purge(source: &mut Cryp, target: &mut Cryp, mut results: Resolutions) -> Resolutions {
|
||||
while let Some(i) = target.effects
|
||||
.iter()
|
||||
.position(|ce| [Category::BlueBuff, Category::RedBuff].contains(&ce.effect.category())) {
|
||||
.position(|ce| [Category::Buff, Category::Buff].contains(&ce.effect.category())) {
|
||||
let ce = target.effects.remove(i);
|
||||
results.push(Resolution::new(source, target).event(Event::Removal { effect: ce.effect }));
|
||||
}
|
||||
@ -1099,7 +1100,7 @@ fn purge(source: &mut Cryp, target: &mut Cryp, mut results: Resolutions) -> Reso
|
||||
fn purify(source: &mut Cryp, target: &mut Cryp, mut results: Resolutions) -> Resolutions {
|
||||
while let Some(i) = target.effects
|
||||
.iter()
|
||||
.position(|ce| [Category::BlueDebuff, Category::RedDebuff].contains(&ce.effect.category())) {
|
||||
.position(|ce| [Category::Debuff, Category::Debuff].contains(&ce.effect.category())) {
|
||||
let ce = target.effects.remove(i);
|
||||
results.push(Resolution::new(source, target).event(Event::Removal { effect: ce.effect }));
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user