public override void FighterHit(int damages) { if (CurrentAdded >= Value) { return; } int amount = +damages; if (CurrentAdded + amount >= Value) { amount = 0; } amount = -amount; var effect = new Engines.Spells.SpellEffect(this.Spell.Engine, this.Spell.Data); switch ((Enums.SpellsEffects)Element) { case Enums.SpellsEffects.AddAgilite: BuffedFighter.AddBuff(BuffedFighter.Character.ID, new AddAgilityBuff(amount, 4, BuffedFighter), 0, amount, true, effect); break; case Enums.SpellsEffects.AddForce: BuffedFighter.AddBuff(BuffedFighter.Character.ID, new AddStrenghtBuff(amount, 4, BuffedFighter), 0, amount, true, effect); break; case Enums.SpellsEffects.AddIntelligence: BuffedFighter.AddBuff(BuffedFighter.Character.ID, new AddFireBuff(amount, 4, BuffedFighter), 0, amount, true, effect); break; case Enums.SpellsEffects.AddChance: BuffedFighter.AddBuff(BuffedFighter.Character.ID, new AddWaterBuff(amount, 4, BuffedFighter), 0, amount, true, effect); break; } CurrentAdded += amount; base.FighterHit(damages); }
public override void BuffRemoved() { BuffedFighter.UnInvisible(); }