/// <summary> /// Application de l'effet, deux sorte : buff, direct /// </summary> /// <param name="CastInfos"></param> /// <returns></returns> public override int ApplyEffect(EffectCast CastInfos) { // Si > 0 alors c'est un buff if (CastInfos.Duration > 0) { // L'effet est un poison CastInfos.IsPoison = true; // Ajout du buff foreach (var Target in CastInfos.Targets) { Target.Buffs.AddBuff(new BuffHeal(CastInfos, Target)); } } else // Heal direct { foreach (var Target in CastInfos.Targets) { if (EffectHeal.ApplyHeal(CastInfos, Target, CastInfos.GenerateJet(Target)) == -3) { return(-3); } } } return(-1); }
public override int ApplyEffect(EffectCast CastInfos) { // Si > 0 alors c'est un buff if (CastInfos.Duration > 0) { // L'effet est un poison CastInfos.IsPoison = true; // Ajout du buff foreach (var Target in CastInfos.Targets) { Target.Buffs.AddBuff(new BuffDamage(CastInfos, CastInfos.Caster)); } } else // Dommage direct { foreach (var Target in CastInfos.Targets) { var DamageValue = CastInfos.GenerateJet(Target); if (EffectDamage.ApplyDamages(CastInfos, CastInfos.Caster, ref DamageValue) == -3) { return(-3); } } } return(-1); }
public override int ApplyEffect(EffectCast CastInfos) { // Si > 0 alors c'est un buff if (CastInfos.Duration > 0) { // L'effet est un poison CastInfos.IsPoison = true; // Ajout du buff foreach (var Target in CastInfos.Targets) { Target.Buffs.AddBuff(new BuffDamageDropLife(CastInfos, Target)); } } else // Dommage direct { int effectBase = CastInfos.GenerateJet(CastInfos.Caster); var DamageValue = (CastInfos.Caster.CurrentLife / 100) * effectBase; if (EffectDamage.ApplyDamages(CastInfos, CastInfos.Caster, ref DamageValue) == -3) { foreach (var Target in CastInfos.Targets) { if (EffectHeal.ApplyHeal(CastInfos, Target, DamageValue) == -3) { return(-3); } } return(-3); } else { foreach (var Target in CastInfos.Targets) { if (EffectHeal.ApplyHeal(CastInfos, Target, DamageValue) == -3) { return(-3); } } } //DamageValue = (-DamageValue); } return(-1); }
public override int ApplyEffect(EffectCast CastInfos) { foreach (var Target in CastInfos.Targets) { var DamageJet = CastInfos.GenerateJet(Target); if (EffectDamage.ApplyDamages(CastInfos, Target, ref DamageJet) == -3) { return(-3); } var HealJet = DamageJet / 2; if (EffectHeal.ApplyHeal(CastInfos, CastInfos.Caster, HealJet) == -3) { return(-3); } } return(-1); }
public override int ApplyEffect(EffectCast CastInfos) { foreach (var Target in CastInfos.Targets) { var SubInfos = new EffectCast(CastInfos.EffectType, CastInfos.SpellId, CastInfos.CellId, CastInfos.GenerateJet(Target), CastInfos.Value2, CastInfos.Value3, CastInfos.Chance, CastInfos.Duration, CastInfos.Caster, CastInfos.Targets); var BuffStats = new BuffStats(SubInfos, Target); var DamageValue = 0; if (BuffStats.ApplyEffect(ref DamageValue) == -3) { return(-3); } Target.Buffs.AddBuff(BuffStats); } return(-1); }