Example #1
0
        public static void Obj_AI_Base_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
        {
            if (Player.LSIsRecalling())
            {
                return;
            }

            if ((sender.IsValid <AIHeroClient>() || sender.IsValid <Obj_AI_Turret>()) && sender.IsEnemy)
            {
                var PacketCast = getCheckBoxItem(SkyLv_Taric.Misc, "Taric.UsePacketCast");


                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) && getCheckBoxItem(SkyLv_Taric.Combo, "Taric.UseWIncomingDamageCombo") && W.IsReady() && W.ManaCost <= Player.Mana)
                {
                    if (Player.LSDistance(args.End) <= Player.BoundingRadius && sender.LSGetSpellDamage(Player, args.SData.Name.ToString()) > 0)
                    {
                        W.CastOnUnit(Player, PacketCast);
                    }
                }

                if (getCheckBoxItem(SkyLv_Taric.Combo, "Taric.UseWAlly"))
                {
                    switch (getBoxItem(SkyLv_Taric.Combo, "Taric.UseWAllyMode"))
                    {
                    case 0:
                    {
                        if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
                        {
                            if (W.IsReady() && Player.Mana >= W.ManaCost)
                            {
                                foreach (var ally in HeroManager.Allies.Where(x => x.IsValidTarget(W.Range, false) && !x.IsMe && Player.LSDistance(x) <= W.Range && getCheckBoxItem(SkyLv_Taric.Combo, x.NetworkId + "IncomingDamageWAlly") && x.HealthPercent <= getSliderItem(SkyLv_Taric.Combo, x.NetworkId + "MinimumHpWAlly")))
                                {
                                    foreach (var SendingUnit in HeroManager.Enemies.Where(x => x.NetworkId == sender.NetworkId))
                                    {
                                        if (ally.LSDistance(args.End) <= ally.BoundingRadius && SendingUnit.LSGetSpellDamage(ally, args.SData.Name.ToString()) > 0)
                                        {
                                            W.CastOnUnit(ally, PacketCast);
                                        }
                                    }
                                }
                            }
                        }
                        break;
                    }

                    case 1:
                    {
                        if (W.IsReady() && Player.Mana >= W.ManaCost)
                        {
                            foreach (var ally in HeroManager.Allies.Where(x => x.IsValidTarget(W.Range, false) && !x.IsMe && Player.LSDistance(x) <= W.Range && getCheckBoxItem(SkyLv_Taric.Combo, x.NetworkId + "IncomingDamageWAlly") && x.HealthPercent <= getSliderItem(SkyLv_Taric.Combo, x.NetworkId + "MinimumHpWAlly")))
                            {
                                foreach (var SendingUnit in HeroManager.Enemies.Where(x => x.NetworkId == sender.NetworkId))
                                {
                                    if (ally.LSDistance(args.End) <= ally.BoundingRadius)
                                    {
                                        W.CastOnUnit(ally, PacketCast);
                                    }
                                }
                            }
                        }
                        break;
                    }
                    }
                }
            }
        }
Example #2
0
        public static void Obj_AI_Base_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
        {
            if (Player.IsRecalling())
            {
                return;
            }

            if ((sender.IsValid <AIHeroClient>() || sender.IsValid <Obj_AI_Turret>()) && sender.IsEnemy)
            {
                var PacketCast = SkyLv_Taric.Menu.Item("Taric.UsePacketCast").GetValue <bool>();


                if (SkyLv_Taric.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo && SkyLv_Taric.Menu.Item("Taric.UseWIncomingDamageCombo").GetValue <bool>() && W.IsReady() && W.ManaCost <= Player.Mana)
                {
                    if (Player.Distance(args.End) <= Player.BoundingRadius && sender.GetSpellDamage(Player, args.SData.Name.ToString()) > 0)
                    {
                        W.CastOnUnit(Player, PacketCast);
                    }
                }

                if (SkyLv_Taric.Menu.Item("Taric.UseWAlly").GetValue <bool>())
                {
                    switch (SkyLv_Taric.Menu.Item("Taric.UseWAllyMode").GetValue <StringList>().SelectedIndex)
                    {
                    case 0:
                    {
                        if (SkyLv_Taric.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
                        {
                            if (W.IsReady() && Player.Mana >= W.ManaCost)
                            {
                                foreach (var ally in HeroManager.Allies.Where(x => x.IsValidTarget(W.Range, false) && !x.IsMe && Player.Distance(x) <= W.Range && SkyLv_Taric.Menu.Item(x.ChampionName + "IncomingDamageWAlly", true).GetValue <bool>() && x.HealthPercent <= SkyLv_Taric.Menu.Item(x.ChampionName + "MinimumHpWAlly").GetValue <Slider>().Value))
                                {
                                    foreach (var SendingUnit in HeroManager.Enemies.Where(x => x.NetworkId == sender.NetworkId))
                                    {
                                        if (ally.Distance(args.End) <= ally.BoundingRadius && SendingUnit.GetSpellDamage(ally, args.SData.Name.ToString()) > 0)
                                        {
                                            W.CastOnUnit(ally, PacketCast);
                                        }
                                    }
                                }
                            }
                        }
                        break;
                    }

                    case 1:
                    {
                        if (W.IsReady() && Player.Mana >= W.ManaCost)
                        {
                            foreach (var ally in HeroManager.Allies.Where(x => x.IsValidTarget(W.Range, false) && !x.IsMe && Player.Distance(x) <= W.Range && SkyLv_Taric.Menu.Item(x.ChampionName + "IncomingDamageWAlly", true).GetValue <bool>() && x.HealthPercent <= SkyLv_Taric.Menu.Item(x.ChampionName + "MinimumHpWAlly").GetValue <Slider>().Value))
                            {
                                foreach (var SendingUnit in HeroManager.Enemies.Where(x => x.NetworkId == sender.NetworkId))
                                {
                                    if (ally.Distance(args.End) <= ally.BoundingRadius)
                                    {
                                        W.CastOnUnit(ally, PacketCast);
                                    }
                                }
                            }
                        }
                        break;
                    }
                    }
                }
            }
        }