Beispiel #1
0
        private static void OnKillableSpell(Obj_AI_Hero sender, Obj_AI_Hero target, SpellData sdata)
        {
            if (sender.IsAlly)
            {
            }

            //TODO: blockable targeded spells :S
        }
Beispiel #2
0
 private void DamagePrediction_OnSpellWillKill(Obj_AI_Hero sender, Obj_AI_Hero target, SpellData sData)
 {
     if (target.IsMe && sender.IsEnemy)
     {
         if (ShouldRun() && MenuExtensions.GetItemValue<bool>("iseriesr.activator.spells.heal.ls"))
         {
             CastSpell();
         }
     }
 }
Beispiel #3
0
        private void ProtectorOnTargetedProtection(Obj_AI_Base caster, Obj_AI_Hero target, SpellData spell)
        {
            try
            {
                if (!ConfigValue<bool>("Misc.Shield.Target"))
                {
                    return;
                }

                if (Orbwalking.IsAutoAttack(spell.Name) &&
                    target.HealthPercentage() > ConfigValue<Slider>("Misc.Shield.Health").Value)
                {
                    return;
                }

                if (spell.MissileSpeed > 2000 || spell.MissileSpeed == 0)
                {
                    return;
                }

                // TODO: blacklist FiddleQ, FioraQ/R, LeonaE, VladQ, ZileanQ

                if (target.IsMe && E.IsReady())
                {
                    CastShield(caster.Position);
                }

                if (!target.IsMe && W.IsReady() && W.IsInRange(target) && (IsShieldActive || E.IsReady()))
                {
                    var jumpTime = (Player.Distance(target) * 1000 / W.Instance.SData.MissileSpeed) +
                                   (W.Instance.SData.SpellCastTime * 1000);
                    var missileTime = caster.Distance(target) * 1000 / spell.MissileSpeed;

                    if (jumpTime > missileTime)
                    {
                        Console.WriteLine("Abort Jump - Missile too Fast: {0} {1}", jumpTime, missileTime);
                        return;
                    }

                    W.CastOnUnit(target);
                    Utility.DelayAction.Add((int) jumpTime, () => CastShield(caster.Position));
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Beispiel #4
0
        private static void Protector_OnTargetedProtection(Obj_AI_Base caster, Obj_AI_Hero target, SpellData spell)
        {
            try
            {
                var text = string.Format(
                    "{0,-15} -> {1,-15} - {3} {2}", caster.BaseSkinName, target.BaseSkinName, spell.Name,
                    Math.Round(caster.GetSpellDamage(target, spell.Name)));

                Console.WriteLine(text);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Beispiel #5
0
 private static void ProtectorOnOnTargetedProtection(Obj_AI_Base caster, Obj_AI_Hero target, SpellData spell)
 {
     ProtectionIntegration(caster, target, spell.Name);
 }
Beispiel #6
0
        private void ProtectorOnTargetedProtection(Obj_AI_Base caster, Obj_AI_Hero target, SpellData spell)
        {
            try
            {
                if (!ConfigValue <bool>("Misc.Shield.Target"))
                {
                    return;
                }

                if (Orbwalking.IsAutoAttack(spell.Name) &&
                    target.HealthPercent() > ConfigValue <Slider>("Misc.Shield.Health").Value)
                {
                    return;
                }

                if (spell.MissileSpeed > 2000 || spell.MissileSpeed == 0)
                {
                    return;
                }

                // TODO: blacklist FiddleQ, FioraQ/R, LeonaE, VladQ, ZileanQ

                if (target.IsMe && E.IsReady())
                {
                    CastShield(caster.Position);
                }

                if (!target.IsMe && W.IsReady() && W.IsInRange(target) && (IsShieldActive || E.IsReady()))
                {
                    var jumpTime = (Player.Distance(target) * 1000 / W.Instance.SData.MissileSpeed) +
                                   (W.Instance.SData.SpellCastTime * 1000);
                    var missileTime = caster.Distance(target) * 1000 / spell.MissileSpeed;

                    if (jumpTime > missileTime)
                    {
                        Console.WriteLine("Abort Jump - Missile too Fast: {0} {1}", jumpTime, missileTime);
                        return;
                    }

                    W.CastOnUnit(target, UsePackets);
                    Utility.DelayAction.Add((int)jumpTime, () => CastShield(caster.Position));
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Beispiel #7
0
 private void DamagePrediction_OnSpellWillKill(Obj_AI_Hero sender, Obj_AI_Hero target, SpellData sData)
 {
     if (target.IsMe && sender.IsEnemy)
     {
         if (ShouldRun() && MenuExtensions.GetItemValue <bool>("iseriesr.activator.spells.barrier.ls"))
         {
             CastSpell();
         }
     }
 }
Beispiel #8
0
        private static void Protector_OnTargetedProtection(Obj_AI_Base caster, Obj_AI_Hero target, SpellData spell)
        {
            try
            {
                var text = string.Format(
                    "{0,-15} -> {1,-15} - {3} {2}", caster.BaseSkinName, target.BaseSkinName, spell.Name,
                    Math.Round(caster.GetSpellDamage(target, spell.Name)));

                Console.WriteLine(text);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Beispiel #9
0
 private static void ProtectorOnOnTargetedProtection(Obj_AI_Base caster, Obj_AI_Hero target, SpellData spell)
 {
     ProtectionIntegration(caster, target, spell.Name);
 }
Beispiel #10
0
        private static void OnKillableSpell(Obj_AI_Hero sender, Obj_AI_Hero target, SpellData sdata)
        {
            if (sender.IsAlly) {}

            //TODO: blockable targeded spells :S
        }