Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }