Пример #1
0
        public void OnStartCasting(IChampion owner, ISpell spell, IAttackableUnit target)
        {
            _owningSpell = spell;

            spell.AddProjectileTarget("KatarinaQ", target);

            if (!_listenerAdded)
            {
                ApiEventManager.OnHitUnit.AddListener(this, _owningChampion, OnProc);
                _listenerAdded = true;
            }

            foreach (var enemyTarget in GetUnitsInRange(target, 625, true))
            {
                if (enemyTarget != null && enemyTarget.Team == CustomConvert.GetEnemyTeam(owner.Team) && enemyTarget != target && enemyTarget != owner && target.GetDistanceTo(enemyTarget) < 100 && !UnitIsTurret((AttackableUnit)enemyTarget))
                {
                    CreateTimer(3.0f, () => {
                        if (!(enemyTarget.IsDead))
                        {
                            AddParticle(owner, "katarina_bouncingBlades_mis.troy", enemyTarget.X, enemyTarget.Y);
                        }
                        spell.AddProjectileTarget("KatarinaQMark", enemyTarget);
                    });
                }
            }

            //WE NEED A TIMER ON THE Q TO BE FIXED
        }
Пример #2
0
        public void OnFinishCasting(IObjAiBase owner, ISpell spell, IAttackableUnit target)
        {
            var current    = new Vector2(owner.X, owner.Y);
            var to         = Vector2.Normalize(new Vector2(target.X, target.Y) - current);
            var range      = to * 1150;
            var trueCoords = current + range;

            spell.AddProjectileTarget("AkaliMota", target);
            //spell.AddProjectile("AkaliMota", owner.X, owner.Y, trueCoords.X, trueCoords.Y, gudumlu: true);
        }
Пример #3
0
 public void OnFinishCasting(IChampion owner, ISpell spell, IAttackableUnit target)
 {
     //ApiFunctionManager.AddParticleTarget(owner, "globalhit_blue_tar.troy", target);
     //var current = new Vector2(owner.X, owner.Y);
     //var to = Vector2.Normalize(new Vector2(target.X, target.Y) - current);
     //var range = to * 1150;
     //var trueCoords = current + range;
     spell.AddProjectileTarget("TwoShivPoison", target);
     //ApiFunctionManager.PrintChat("TwoShivPoison Cast Finished!");
 }
 public void OnFinishCasting(IObjAiBase owner, ISpell spell, IAttackableUnit target)
 {
     if (owner.GetDistanceTo(target) > 625)
     {
         return;
     }
     else
     {
         spell.AddProjectileTarget("Dazzle", target, true);
     }
 }
Пример #5
0
        public void OnStartCasting(IChampion owner, ISpell spell, IAttackableUnit target)
        {
            spell.AddProjectileTarget("DeathfireGraspSpell", target);
            var p1 = AddParticleTarget(owner, "deathFireGrasp_tar.troy", target);
            var p2 = AddParticleTarget(owner, "obj_DeathfireGrasp_debuff.troy", target);

            AddBuffHudVisual("DeathfireGraspSpell", 4.0f, 1, BuffType.COMBAT_DEHANCER, (ObjAiBase)target, 4.0f);
            CreateTimer(4.0f, () =>
            {
                RemoveParticle(p1);
                RemoveParticle(p2);
            });
        }
        public void OnStartCasting(IObjAiBase owner, ISpell spell, IAttackableUnit target)
        {
            spell.AddProjectileTarget("DeathfireGraspSpell", target);
            var p1 = AddParticleTarget(owner, "deathFireGrasp_tar.troy", target);
            var p2 = AddParticleTarget(owner, "obj_DeathfireGrasp_debuff.troy", target);

            AddBuff("DeathfireGraspSpell", 4.0f, 1, spell, (IObjAiBase)target, owner);
            CreateTimer(4.0f, () =>
            {
                RemoveParticle(p1);
                RemoveParticle(p2);
            });
        }
Пример #7
0
        public void OnFinishCasting(IChampion owner, ISpell spell, IAttackableUnit target)
        {
            var     current = new Vector2(owner.X, owner.Y);
            var     to      = new Vector2(spell.X, spell.Y) - current;
            Vector2 trueCoords;

            if (to.Length() > 475)
            {
                to = Vector2.Normalize(to);
                var range = to * 475;
                trueCoords = current + range;
            }
            else
            {
                trueCoords = new Vector2(spell.X, spell.Y);
            }

            AddParticle(owner, "Ezreal_arcaneshift_cas.troy", owner.X, owner.Y);
            TeleportTo(owner, trueCoords.X, trueCoords.Y);
            AddParticleTarget(owner, "Ezreal_arcaneshift_flash.troy", owner);
            IAttackableUnit target2  = null;
            var             units    = GetUnitsInRange(owner, 700, true);
            float           distance = 700;

            foreach (var value in units)
            {
                if (owner.Team != value.Team && value is ObjAiBase)
                {
                    if (Vector2.Distance(new Vector2(trueCoords.X, trueCoords.Y), new Vector2(value.X, value.Y)) <=
                        distance)
                    {
                        target2  = value;
                        distance = Vector2.Distance(new Vector2(trueCoords.X, trueCoords.Y),
                                                    new Vector2(value.X, value.Y));
                    }
                }
            }

            if (target2 != null)
            {
                if (!(target2 is IBaseTurret))
                {
                    spell.AddProjectileTarget("EzrealArcaneShiftMissile", target2);
                }
            }
        }
        public void OnFinishCasting(IObjAiBase owner, ISpell spell, IAttackableUnit target)
        {
            var IChampion = (IChampion)target;

            if (IChampion.Team != owner.Team)
            {
                spell.AddProjectileTarget("LuluWTwo", target);
            }
            else
            {
                var p1   = AddParticleTarget(owner, "Lulu_W_buf_02.troy", target, 1);
                var p2   = AddParticleTarget(owner, "Lulu_W_buf_01.troy", target, 1);
                var time = 2.5f + 0.5f * spell.Level;
                AddBuff("LuluWBuff", time, 1, spell, (IObjAiBase)target, owner);
                CreateTimer(time, () =>
                {
                    RemoveParticle(p1);
                    RemoveParticle(p2);
                });
            }
        }
Пример #9
0
        public void OnFinishCasting(IObjAiBase owner, ISpell spell, IAttackableUnit target)
        {
            spell.AddProjectileTarget("pirate_parley_mis", target);

            ApiFunctionManager.AddParticleTarget(owner, "pirate_parley_tar.troy", owner);
        }
Пример #10
0
 public void OnFinishCasting(IObjAiBase owner, ISpell spell, IAttackableUnit target)
 {
     spell.AddProjectileTarget("pirate_parley_mis", target);
 }
Пример #11
0
 public void OnFinishCasting(IChampion owner, ISpell spell, IAttackableUnit target)
 {
     spell.AddProjectileTarget("CaitlynAceintheHoleMissile", target);
 }
 public void OnFinishCasting(IObjAiBase owner, ISpell spell, IAttackableUnit target)
 {
     spell.AddProjectileTarget("NullLance", target, true);
 }
Пример #13
0
 public void OnFinishCasting(IObjAiBase owner, ISpell spell, IAttackableUnit target)
 {
     spell.AddProjectileTarget("Disintegrate", target, false);
 }
Пример #14
0
 public void OnFinishCasting(IObjAiBase owner, ISpell spell, IAttackableUnit target)
 {
     spell.AddProjectileTarget("ToxicShot", target);
 }