Beispiel #1
0
        public override void ApplyEffects(AttackableUnit target, IShape projectile)
        {
            var ap     = OwnerAPTotal * 0.85f;
            var damage = 25 + (Spell.Level * 45) + ap;

            target.InflictDamages(new Damages(Owner, target, damage, false, DamageType.DAMAGE_TYPE_MAGICAL, false));
        }
Beispiel #2
0
        public override void ApplyEffects(AttackableUnit target, IMissile projectile)
        {
            var targetAI = (AIUnit)target;

            FX[] fxs = new FX[]
            {
                new FX(target.Game.NetIdProvider.Pop(), "blindMonk_Q_tar.troy", "", 1f, Owner, targetAI),
                new FX(target.Game.NetIdProvider.Pop(), "blindMonk_Q_tar_indicator.troy", "", 1f, Owner, targetAI),
            };

            CreateFXs(fxs, targetAI, true);

            CurrentTarget = targetAI;

            target.InflictDamages(new World.Spells.Damages(Owner, target, 200, false, DamageType.DAMAGE_TYPE_PHYSICAL, false));

            CreateAction(() =>
            {
                if (CurrentTarget.ObjectAvailable)
                {
                    CurrentTarget.FXManager.DestroyFX("blindMonk_Q_tar.troy");
                    CurrentTarget.FXManager.DestroyFX("blindMonk_Q_tar_indicator.troy");
                }
                CurrentTarget = null;
            }, 3f);
        }
Beispiel #3
0
        public override void ApplyEffects(AttackableUnit target, IMissile projectile)
        {
            var ap     = OwnerAPTotal * 1f;
            var damage = 15 + (Spell.Level * 20) + ap;

            target.InflictDamages(new Damages(Owner, target, damage, false, DamageType.DAMAGE_TYPE_MAGICAL, true));
        }
Beispiel #4
0
        public override void OnFinishCasting(Vector2 position, Vector2 endPosition, AttackableUnit target)
        {
            CreateFX("blind_monk_ult_impact.troy", "", 1f, (AIUnit)target, false);
            var direction = Vector2.Normalize(target.Position - Owner.Position);

            (target as AIUnit).Dash(target.Position + (direction * 800f), 1000f, true);

            target.InflictDamages(new World.Spells.Damages(Owner, target, 400, false, Protocol.GameClient.Enum.DamageType.DAMAGE_TYPE_PHYSICAL, false));
        }
Beispiel #5
0
        public override void ApplyEffects(AttackableUnit target, IShape projectile)
        {
            var ad     = OwnerADTotal * 1.1f;
            var ap     = OwnerAPTotal * 0.4f;
            var damage = 15 + (Spell.Level * 20) + ad + ap;

            target.InflictDamages(new Damages(Owner, target, damage, false, DamageType.DAMAGE_TYPE_PHYSICAL, true));

            Owner.SpellManager.LowerCooldowns(1f);
        }
 public override void ApplyEffects(AttackableUnit target, IMissile projectile)
 {
     if (target != null && target.Alive)
     {
         // 250/475/700
         var damage = 250 + Owner.Stats.AttackDamage.Total * 2;
         CreateFX("caitlyn_ace_tar.troy", "", 1f, (AIUnit)target, false);
         ((AIUnit)target).FXManager.DestroyFX("caitlyn_ace_target_indicator.troy");
         target.InflictDamages(new Damages(Owner, target, damage, false, DamageType.DAMAGE_TYPE_PHYSICAL, false));
     }
 }
Beispiel #7
0
 public override void ApplyEffects(AttackableUnit target, IMissile projectile)
 {
     if (target.IsFriendly(Owner))
     {
         // add as buff
     }
     else
     {
         var ap     = OwnerAPTotal * 1.25f;
         var damage = 25 + (Spell.Level * 45) + ap;
         target.InflictDamages(new Damages(Owner, target, damage, false, DamageType.DAMAGE_TYPE_MAGICAL, false));
     }
 }
Beispiel #8
0
        public override void ApplyEffects(AttackableUnit target, IMissile projectile)
        {
            var ap     = OwnerAPTotal * 0.8f;
            var damage = 45 + (Spell.Level * 35) + ap;

            target.InflictDamages(new Damages(Owner, target, damage, false, DamageType.DAMAGE_TYPE_MAGICAL, false));

            if (!target.Alive)
            {
                Spell.LowerCooldown(Spell.GetTotalCooldown() / 2f);
            }
            // add mana
        }
        public override void ApplyProjectileEffects(AttackableUnit target, Projectile projectile)
        {
            SkillShot skillShot = projectile as SkillShot;

            float finalDamagePercent = 1 - ((skillShot.GetHittenCount() - 1) * 0.1f);

            finalDamagePercent = Math.Max(finalDamagePercent, 0.3f);

            var ad         = OwnerBonusAD * 1.0f;
            var ap         = OwnerAPTotal * 0.9f;
            var baseDamage = 200 + (Spell.Level * 150);
            var total      = baseDamage + ap + ad;

            total *= finalDamagePercent;
            target.InflictDamages(new Damages(Owner, target, total, false, DamageType.DAMAGE_TYPE_MAGICAL, false));
        }
Beispiel #10
0
        public override void ApplyEffects(AttackableUnit target, IShape projectile)
        {
            var targetAI = (AIUnit)target;

            FX[] fxs = new FX[]
            {
                new FX(target.Game.NetIdProvider.Pop(), "blindMonk_Q_tar.troy", "", 1f, Owner, targetAI),
                new FX(target.Game.NetIdProvider.Pop(), "blindMonk_Q_tar_indicator.troy", "", 1f, Owner, targetAI),
            };

            CreateFXs(fxs, targetAI, true);

            CurrentTarget = targetAI;

            target.InflictDamages(new World.Spells.Damages(Owner, target, 200, false, DamageType.DAMAGE_TYPE_PHYSICAL, false));

            if (target.Alive)
            {
                SwapSpell("BlindMonkQTwo", 0);
            }

            CreateAction(() =>
            {
                if (CurrentTarget != null && CurrentTarget.ObjectAvailable)
                {
                    var blindMonkQTwo = Owner.SpellManager.GetSpell("BlindMonkQTwo");

                    if (blindMonkQTwo != null && !blindMonkQTwo.GetScript <BlindMonkQTwo>().Casted)
                    {
                        SwapSpell("BlindMonkQOne", 0);
                        CurrentTarget.FXManager.DestroyFX("blindMonk_Q_tar.troy");
                        CurrentTarget.FXManager.DestroyFX("blindMonk_Q_tar_indicator.troy");
                    }
                }
                CurrentTarget = null;
            }, 3f);
        }
Beispiel #11
0
        public override void OnStartCasting(Vector2 position, Vector2 endPosition, AttackableUnit target)
        {
            CreateFX("Yasuo_Base_E_Dash.troy", "", 1f, (AIUnit)Owner, false);

            CreateFX("Yasuo_base_E_timer1.troy", "", 1f, (AIUnit)target, false);

            var current    = Owner.Position;
            var to         = Vector2.Normalize(target.Position - current);
            var range      = to * 425;
            var trueCoords = current + range;

            SetAnimation("RUN", "Spell3");


            Action onDashEnded = () =>
            {
                SetAnimation("RUN", "RUN");
            };



            target.InflictDamages(new World.Spells.Damages(Owner, target, 200, false, DamageType.DAMAGE_TYPE_MAGICAL, false));
            Owner.Dash(trueCoords, 1000f, false, onDashEnded);
        }
 public override void ApplyEffects(AttackableUnit target, IMissile projectile)
 {
     target.InflictDamages(new World.Spells.Damages(Owner, target, 500, false, Protocol.GameClient.Enum.DamageType.DAMAGE_TYPE_MAGICAL, false));
 }
Beispiel #13
0
 public override void ApplyEffects(AttackableUnit target, IShape projectile)
 {
     target.InflictDamages(new Damages(Owner, target, 200f, false, DamageType.DAMAGE_TYPE_PHYSICAL, true));
 }
Beispiel #14
0
 public override void ApplyEffects(AttackableUnit target, IShape projectile)
 {
     CreateFX("Veigar_Base_R_tar.troy", "", 2f, target as AIUnit, false);
     target.InflictDamages(new World.Spells.Damages(Owner, target, 500, false, Protocol.GameClient.Enum.DamageType.DAMAGE_TYPE_MAGICAL, false));
 }
Beispiel #15
0
 public override void ApplyEffects(AttackableUnit target, IShape projectile)
 {
     CreateFX("Zed_Q_tar.troy", "", 1f, (AIUnit)target, false);
     target.InflictDamages(new Damages(Owner, target, 200, false, DamageType.DAMAGE_TYPE_PHYSICAL, false));
 }