Exemplo n.º 1
0
        public override bool Apply(Fighter[] targets)
        {
            Jet jet = FormulasProvider.Instance.EvaluateJet(Source, EffectElementType.Fire, Effect, this.SpellId);

            jet.Delta = (short)(jet.Delta * ((double)Source.Stats.MpPercentage / 100d));
            foreach (var target in targets)
            {
                target.InflictDamages(new Damage(Source, target, jet.Clone(), EffectElementType.Fire, Effect, Critical));
            }
            return(true);
        }
Exemplo n.º 2
0
        public override bool Apply(Fighter[] targets)
        {
            if (Effect.Duration > 0)
            {
                foreach (var target in targets)
                {
                    base.AddTriggerBuff(target, FightDispellableEnum.DISPELLABLE, TriggerType.TURN_BEGIN, DamageTrigger);
                }
            }
            else
            {
                Jet jet = FormulasProvider.Instance.EvaluateJet(Source, ElementType, Effect, this.SpellId);

                foreach (var target in targets)
                {
                    target.InflictDamages(new Damage(Source, target, jet.Clone(), ElementType, Effect, Critical));
                }
            }
            return(true);
        }
Exemplo n.º 3
0
        public override bool Apply(Fighter[] targets)
        {
            if (this.ElementType != EffectElementType.Neutral)
            {
                Jet jet = FormulasProvider.Instance.EvaluateJet(this.Source, this.ElementType, this.Effect, this.SpellLevel.SpellId);

                foreach (var target in targets)
                {
                    short num = (short)(target.InflictDamages(new Damage(this.Source, target, jet.Clone(), this.ElementType, this.Effect, this.Critical)) / 2);
                    this.Source.Heal(this.Source, num);
                }

                return(true);
            }
            else
            {
                foreach (var target in targets)
                {
                    short num = (short)(target.InflictDamages((short)this.Effect.DiceMin, this.Source) / 2);
                    this.Source.Heal(this.Source, num);
                }

                return(true);
            }
        }