示例#1
0
        private double GetBonusDmg(Obj_AI_Base target)
        {
            double DmgItem = 0;

            if (Items.HasItem(Sheen) && (Items.CanUseItem(Sheen) || Player.HasBuff("sheen", true)) && Player.BaseAttackDamage > DmgItem)
            {
                DmgItem = Player.BaseAttackDamage;
            }
            if (Items.HasItem(Iceborn) && (Items.CanUseItem(Iceborn) || Player.HasBuff("itemfrozenfist", true)) && Player.BaseAttackDamage * 1.25 > DmgItem)
            {
                DmgItem = Player.BaseAttackDamage * 1.25;
            }
            return((SkillQ.IsReady() || Player.HasBuff("NasusQ", true)) ? SkillQ.GetDamage(target) : 0 + Player.GetAutoAttackDamage(target) + ((DmgItem > 0) ? Player.CalcDamage(target, Damage.DamageType.Physical, DmgItem) : 0));
        }
示例#2
0
        private double GetBonusDmg(Obj_AI_Base target)
        {
            double DmgItem = 0;

            if (Items.HasItem(Sheen) && (Items.CanUseItem(Sheen) || Player.HasBuff("sheen", true)) && Player.BaseAttackDamage > DmgItem)
            {
                DmgItem = Player.BaseAttackDamage;
            }
            if (Items.HasItem(Iceborn) && (Items.CanUseItem(Iceborn) || Player.HasBuff("itemfrozenfist", true)) && Player.BaseAttackDamage * 1.25 > DmgItem)
            {
                DmgItem = Player.BaseAttackDamage * 1.25;
            }
            return(SkillQ.GetDamage(target) + Player.CalcDamage(target, Damage.DamageType.Physical, Player.BaseAttackDamage + Player.FlatPhysicalDamageMod + DmgItem));
        }
示例#3
0
        private double GetBonusDmg(Obj_AI_Base Target)
        {
            double DmgItem = 0;

            if (Items.HasItem(Sheen) && ((Items.CanUseItem(Sheen) && SkillQ.IsReady()) || Player.HasBuff("Sheen")) && Player.BaseAttackDamage > DmgItem)
            {
                DmgItem = Player.BaseAttackDamage;
            }
            if (Items.HasItem(Iceborn) && ((Items.CanUseItem(Iceborn) && SkillQ.IsReady()) || Player.HasBuff("ItemFrozenFist")) && Player.BaseAttackDamage * 1.25 > DmgItem)
            {
                DmgItem = Player.BaseAttackDamage * 1.25;
            }
            if (Items.HasItem(Trinity) && ((Items.CanUseItem(Trinity) && SkillQ.IsReady()) || Player.HasBuff("Sheen")) && Player.BaseAttackDamage * 2 > DmgItem)
            {
                DmgItem = Player.BaseAttackDamage * 2;
            }
            return((SkillQ.IsReady() ? SkillQ.GetDamage(Target) : 0) + Player.GetAutoAttackDamage(Target, SkillQ.IsReady() ? false : true) + Player.CalcDamage(Target, Damage.DamageType.Physical, DmgItem));
        }
示例#4
0
        private void KillStealBrDr()
        {
            var minionObj = MinionManager.GetMinions(Player.Position, 1300, MinionTypes.All, MinionTeam.NotAlly).FirstOrDefault(i => i.Name == "Worm12.1.1" || i.Name == "Dragon6.1.1");

            Orbwalk(minionObj);
            if (minionObj == null)
            {
                return;
            }
            if (SkillQ.IsReady() && !SmiteReady() && minionObj.Health - SkillQ.GetDamage(minionObj) < GetQ2Dmg(minionObj, SkillQ.GetDamage(minionObj)))
            {
                if (SkillQ.Instance.Name == "BlindMonkQOne" && SkillQ.InRange(minionObj.Position))
                {
                    SkillQ.CastIfHitchanceEquals(minionObj, HitChance.VeryHigh, PacketCast);
                }
                else if ((minionObj.HasBuff("BlindMonkQOne", true) || minionObj.HasBuff("blindmonkqonechaos", true)) && minionObj.IsValidTarget(1300))
                {
                    SkillQ.Cast(PacketCast);
                    return;
                }
            }
            if (SkillQ.IsReady() && SmiteReady() && minionObj.Health - (SkillQ.GetDamage(minionObj) + Player.GetSummonerSpellDamage(minionObj, Damage.SummonerSpell.Smite)) < GetQ2Dmg(minionObj, SkillQ.GetDamage(minionObj) + Player.GetSummonerSpellDamage(minionObj, Damage.SummonerSpell.Smite)))
            {
                if (SkillQ.Instance.Name == "BlindMonkQOne" && SkillQ.InRange(minionObj.Position))
                {
                    SkillQ.CastIfHitchanceEquals(minionObj, HitChance.VeryHigh, PacketCast);
                }
                else if ((minionObj.HasBuff("BlindMonkQOne", true) || minionObj.HasBuff("blindmonkqonechaos", true)) && minionObj.IsValidTarget(1300))
                {
                    SkillQ.Cast(PacketCast);
                    Utility.DelayAction.Add(400, () => CastSmite(minionObj));
                    return;
                }
            }
            CastSmite(minionObj);
        }
示例#5
0
 private void OnDraw(EventArgs args)
 {
     if (Player.IsDead)
     {
         return;
     }
     if (Config.Item(Name + "DrawQ").GetValue <bool>() && SkillQ.Level > 0)
     {
         Utility.DrawCircle(Player.Position, (SkillQ.Instance.Name == "BlindMonkQOne") ? SkillQ.Range : 1300, SkillQ.IsReady() ? Color.Green : Color.Red);
     }
     if (Config.Item(Name + "DrawW").GetValue <bool>() && SkillW.Level > 0)
     {
         Utility.DrawCircle(Player.Position, SkillW.Range, SkillW.IsReady() ? Color.Green : Color.Red);
     }
     if (Config.Item(Name + "DrawE").GetValue <bool>() && SkillE.Level > 0)
     {
         Utility.DrawCircle(Player.Position, (SkillE.Instance.Name == "BlindMonkEOne") ? SkillE.Range : 575, SkillE.IsReady() ? Color.Green : Color.Red);
     }
     if (Config.Item(Name + "DrawR").GetValue <bool>() && SkillR.Level > 0)
     {
         Utility.DrawCircle(Player.Position, SkillR.Range, SkillR.IsReady() ? Color.Green : Color.Red);
     }
     if (Config.Item(Name + "drawInsec").GetValue <bool>() && SkillR.IsReady())
     {
         Byte validTargets = 0;
         if (targetObj != null)
         {
             Utility.DrawCircle(targetObj.Position, 70, Color.FromArgb(0, 204, 0));
             validTargets += 1;
         }
         if (Config.Item(Name + "insecMode").GetValue <StringList>().SelectedIndex == 2 || (Config.Item(Name + "insecMode").GetValue <StringList>().SelectedIndex != 2 && allyObj != null))
         {
             Utility.DrawCircle((Config.Item(Name + "insecMode").GetValue <StringList>().SelectedIndex != 2) ? allyObj.Position : Game.CursorPos, 70, Color.FromArgb(0, 204, 0));
             if (Config.Item(Name + "insecMode").GetValue <StringList>().SelectedIndex != 2)
             {
                 validTargets += 1;
             }
         }
         if ((Config.Item(Name + "insecMode").GetValue <StringList>().SelectedIndex == 2 && validTargets == 1) || (Config.Item(Name + "insecMode").GetValue <StringList>().SelectedIndex != 2 && validTargets == 2))
         {
             var posDraw = targetObj.Position + Vector3.Normalize(((Config.Item(Name + "insecMode").GetValue <StringList>().SelectedIndex != 2) ? allyObj.Position : Game.CursorPos) - targetObj.Position) * 600;
             Drawing.DrawLine(Drawing.WorldToScreen(targetObj.Position), Drawing.WorldToScreen(posDraw), 2, Color.White);
         }
     }
     if (Config.Item(Name + "insecMode").GetValue <StringList>().SelectedIndex == 0 && SkillR.IsReady() && Config.Item(Name + "drawInsecTower").GetValue <bool>())
     {
         Utility.DrawCircle(Player.Position, Config.Item(Name + "insecTowerR").GetValue <Slider>().Value, Color.White);
     }
     if (Config.Item(Name + "drawKillable").GetValue <bool>())
     {
         foreach (var killableObj in ObjectManager.Get <Obj_AI_Hero>().Where(i => i.IsValidTarget()))
         {
             var dmgTotal = Player.GetAutoAttackDamage(killableObj);
             if (SkillQ.IsReady() && SkillQ.Instance.Name == "BlindMonkQOne")
             {
                 dmgTotal += SkillQ.GetDamage(killableObj);
             }
             if (SkillR.IsReady() && Config.Item(Name + "ult" + killableObj.ChampionName).GetValue <bool>())
             {
                 dmgTotal += SkillR.GetDamage(killableObj);
             }
             if (SkillE.IsReady() && SkillQ.Instance.Name == "BlindMonkEOne")
             {
                 dmgTotal += SkillE.GetDamage(killableObj);
             }
             if (SkillQ.IsReady() && (killableObj.HasBuff("BlindMonkQOne", true) || killableObj.HasBuff("blindmonkqonechaos", true)))
             {
                 dmgTotal += GetQ2Dmg(killableObj, dmgTotal);
             }
             if (killableObj.Health < dmgTotal)
             {
                 var posText = Drawing.WorldToScreen(killableObj.Position);
                 Drawing.DrawText(posText.X - 30, posText.Y - 5, Color.White, "Killable");
             }
         }
     }
 }
示例#6
0
        private void KillSteal()
        {
            var target = ObjectManager.Get <Obj_AI_Hero>().FirstOrDefault(i => i.IsValidTarget(SkillQ.Range) && i.Health <= SkillQ.GetDamage(i) + GetBonusDmg(i) && i != targetObj);

            if (target != null && Player.Mana >= SkillQ.Instance.ManaCost)
            {
                if (SkillW.IsReady())
                {
                    SkillW.Cast(PacketCast);
                }
                if (SkillQ.IsReady() && Player.HasBuff("JaxEmpowerTwo", true))
                {
                    SkillQ.CastOnUnit(target, PacketCast);
                }
            }
        }
示例#7
0
 private void NormalCombo()
 {
     if (targetObj == null)
     {
         return;
     }
     if (Config.Item(Name + "rusage").GetValue <bool>() && Config.Item(Name + "ult" + targetObj.ChampionName).GetValue <bool>() && SkillR.IsReady() && SkillR.InRange(targetObj.Position))
     {
         if (CanKill(targetObj, SkillR))
         {
             SkillR.Cast(PacketCast);
         }
         else if (targetObj.Health - SkillR.GetDamage(targetObj) <= SkillE.GetDamage(targetObj) + Player.GetAutoAttackDamage(targetObj) + SkillQ.GetDamage(targetObj) * 3 && Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.IsReady())
         {
             SkillR.Cast(PacketCast);
         }
     }
     if (Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && SkillE.InRange(targetObj.Position) && (!LXOrbwalker.InAutoAttackRange(targetObj) || CanKill(targetObj, SkillE)))
     {
         SkillE.CastOnUnit(targetObj, PacketCast);
     }
     if (Config.Item(Name + "wusage").GetValue <bool>() && SkillW.IsReady() && LXOrbwalker.InAutoAttackRange(targetObj))
     {
         SkillW.Cast(PacketCast);
     }
     if (Config.Item(Name + "iusage").GetValue <bool>())
     {
         UseItem(targetObj);
     }
     if (Config.Item(Name + "ignite").GetValue <bool>())
     {
         CastIgnite(targetObj);
     }
 }
示例#8
0
        private void KillStealMob()
        {
            var Obj = ObjectManager.Get <Obj_AI_Minion>().Where(i => IsValid(i, 1300) && i.Team == GameObjectTeam.Neutral).FirstOrDefault(i => new string[] { "SRU_Baron", "SRU_Dragon", "SRU_Blue", "SRU_Red" }.Any(a => i.Name.StartsWith(a) && !i.Name.StartsWith(a + "Mini")));

            CustomOrbwalk(Obj);
            if (Obj == null || KSMobCasted)
            {
                return;
            }
            if (SkillQ.IsReady() && Obj.Health - ((SkillQ.Instance.Name == "BlindMonkQOne") ? SkillQ.GetDamage(Obj) : 0) - (SmiteReady() ? Player.GetSummonerSpellDamage(Obj, Damage.SummonerSpell.Smite) : 0) <= GetQ2Dmg(Obj, ((SkillQ.Instance.Name == "BlindMonkQOne") ? SkillQ.GetDamage(Obj) : 0) + (SmiteReady() ? Player.GetSummonerSpellDamage(Obj, Damage.SummonerSpell.Smite) : 0)))
            {
                if (SkillQ.Instance.Name == "BlindMonkQOne" && SkillQ.InRange(Obj.Position))
                {
                    SkillQ.CastIfHitchanceEquals(Obj, HitChance.VeryHigh, PacketCast());
                }
                else if (Obj.HasBuff("BlindMonkQOne", true) || Obj.HasBuff("blindmonkqonechaos", true))
                {
                    Utility.DelayAction.Add((int)((Player.Distance3D(Obj) - 760) / SkillQ.Speed * 1000 + 300), () => CastSmite(Obj, false));
                    SkillQ.Cast(PacketCast());
                    KSMobCasted = true;
                    Utility.DelayAction.Add(1000, () => KSMobCasted = false);
                    return;
                }
            }
            CastSmite(Obj);
        }
示例#9
0
 private void OnDraw(EventArgs args)
 {
     if (Player.IsDead)
     {
         return;
     }
     if (ItemBool("Draw", "Q") && SkillQ.Level > 0)
     {
         Utility.DrawCircle(Player.Position, (SkillQ.Instance.Name == "BlindMonkQOne") ? SkillQ.Range : 1300, SkillQ.IsReady() ? Color.Green : Color.Red);
     }
     if (ItemBool("Draw", "W") && SkillW.Level > 0)
     {
         Utility.DrawCircle(Player.Position, SkillW.Range, SkillW.IsReady() ? Color.Green : Color.Red);
     }
     if (ItemBool("Draw", "E") && SkillE.Level > 0)
     {
         Utility.DrawCircle(Player.Position, (SkillE.Instance.Name == "BlindMonkEOne") ? SkillE.Range : 575, SkillE.IsReady() ? Color.Green : Color.Red);
     }
     if (ItemBool("Draw", "R") && SkillR.Level > 0)
     {
         Utility.DrawCircle(Player.Position, SkillR.Range, SkillR.IsReady() ? Color.Green : Color.Red);
     }
     if (ItemBool("Insec", "DrawLine") && SkillR.IsReady())
     {
         Byte validTargets = 0;
         if (targetObj != null)
         {
             Utility.DrawCircle(targetObj.Position, 70, Color.FromArgb(0, 204, 0));
             validTargets += 1;
         }
         if (GetInsecPos(true) != default(Vector3))
         {
             Utility.DrawCircle(GetInsecPos(true), 70, Color.FromArgb(0, 204, 0));
             validTargets += 1;
         }
         if (validTargets == 2)
         {
             Drawing.DrawLine(Drawing.WorldToScreen(targetObj.Position), Drawing.WorldToScreen(targetObj.Position.To2D().Extend(GetInsecPos(true).To2D(), 600).To3D()), 1, Color.White);
         }
     }
     if (ItemList("Insec", "Mode") == 0 && SkillR.IsReady())
     {
         if (ItemBool("InsecNear", "ToChamp") && ItemBool("InsecNear", "DrawToChamp"))
         {
             Utility.DrawCircle(Player.Position, ItemSlider("InsecNear", "ToChampR"), Color.White);
         }
         if (ItemBool("InsecNear", "ToMinion") && ItemBool("InsecNear", "DrawToMinion"))
         {
             Utility.DrawCircle(Player.Position, ItemSlider("InsecNear", "ToMinionR"), Color.White);
         }
     }
     if (ItemBool("Draw", "Killable"))
     {
         foreach (var Obj in ObjectManager.Get <Obj_AI_Hero>().Where(i => IsValid(i)))
         {
             var dmgTotal = Player.GetAutoAttackDamage(Obj);
             if (SkillQ.IsReady())
             {
                 if (SkillQ.Instance.Name == "BlindMonkQOne")
                 {
                     dmgTotal += SkillQ.GetDamage(Obj);
                 }
                 else if (Obj.HasBuff("BlindMonkQOne", true) || Obj.HasBuff("blindmonkqonechaos", true))
                 {
                     dmgTotal += SkillQ.GetDamage(Obj, 1);
                 }
             }
             if (SkillE.IsReady() && SkillE.Instance.Name == "BlindMonkEOne")
             {
                 dmgTotal += SkillE.GetDamage(Obj);
             }
             if (SkillR.IsReady() && ItemBool("Ultimate", Obj.ChampionName))
             {
                 dmgTotal += SkillR.GetDamage(Obj);
             }
             if (Obj.Health + 35 <= dmgTotal)
             {
                 var posText = Drawing.WorldToScreen(Obj.Position);
                 Drawing.DrawText(posText.X - 30, posText.Y - 5, Color.White, "Killable");
             }
         }
     }
 }
示例#10
0
 private void KillSteal()
 {
     if (Player.Mana < SkillQ.Instance.ManaCost + SkillW.Instance.ManaCost)
     {
         return;
     }
     foreach (var Obj in ObjectManager.Get <Obj_AI_Hero>().Where(i => IsValid(i, SkillQ.Range) && i.Health + 5 <= SkillQ.GetDamage(i) + GetBonusDmg(i) && i != targetObj).OrderBy(i => i.Health).OrderByDescending(i => i.Distance3D(Player)))
     {
         if (SkillW.IsReady())
         {
             SkillW.Cast(PacketCast());
         }
         if (SkillQ.IsReady() && Player.HasBuff("JaxEmpowerTwo", true))
         {
             SkillQ.CastOnUnit(Obj, PacketCast());
         }
     }
 }
示例#11
0
        private void KillStealMob()
        {
            var Obj = ObjectManager.Get <Obj_AI_Minion>().Where(i => IsValid(i, SkillQ2.Range) && i.Team == GameObjectTeam.Neutral).FirstOrDefault(i => new string[] { "SRU_Baron", "SRU_Dragon", "SRU_Blue", "SRU_Red" }.Any(a => i.Name.StartsWith(a) && !i.Name.StartsWith(a + "Mini")));

            CustomOrbwalk(Obj);
            if (Obj == null)
            {
                return;
            }
            if (SkillQ.IsReady() && SkillQ.GetHealthPrediction(Obj) - (SkillQ.Instance.Name == "BlindMonkQOne" ? SkillQ.GetDamage(Obj) : 0) - (SmiteReady() ? Player.GetSummonerSpellDamage(Obj, Damage.SummonerSpell.Smite) : 0) + 5 <= GetQ2Dmg(Obj, ((SkillQ.Instance.Name == "BlindMonkQOne") ? SkillQ.GetDamage(Obj) : 0) + (SmiteReady() ? Player.GetSummonerSpellDamage(Obj, Damage.SummonerSpell.Smite) : 0)))
            {
                if (SkillQ.Instance.Name == "BlindMonkQOne" && SkillQ.InRange(Obj.Position))
                {
                    SkillQ.CastIfHitchanceEquals(Obj, HitChance.Medium, PacketCast());
                }
                else if (Obj.HasBuff("BlindMonkSonicWave"))
                {
                    SkillQ.Cast(PacketCast());
                    if (SmiteReady())
                    {
                        Utility.DelayAction.Add((int)((Player.Distance3D(Obj) - 760) / SkillQ.Speed * 1000 + 300), () => CastSmite(Obj, false));
                    }
                }
            }
            var nearObj = ObjectManager.Get <Obj_AI_Base>().FirstOrDefault(i => IsValid(i, SkillQ2.Range) && !(i is Obj_AI_Turret) && i.HasBuff("BlindMonkSonicWave") && i.Distance3D(Obj) <= 760);

            if (SkillQ.IsReady() && SkillQ.Instance.Name != "BlindMonkQOne" && SmiteReady() && SkillQ.GetHealthPrediction(Obj) + 100 <= Player.GetSummonerSpellDamage(Obj, Damage.SummonerSpell.Smite) && nearObj != null)
            {
                SkillQ.Cast(PacketCast());
                Utility.DelayAction.Add((int)((Player.Distance3D(nearObj) - 760) / SkillQ.Speed * 1000 + 300), () => CastSmite(Obj));
            }
            if (SmiteReady())
            {
                CastSmite(Obj);
            }
        }
示例#12
0
 private void NormalCombo(string Mode)
 {
     if (targetObj == null)
     {
         return;
     }
     if (ItemBool(Mode, "R") && ItemBool("Ultimate", targetObj.ChampionName) && Mode == "Combo" && SkillR.IsReady() && SkillR.InRange(targetObj.Position))
     {
         if (CanKill(targetObj, SkillR))
         {
             SkillR.Cast(PacketCast());
         }
         else if (SkillR.GetHealthPrediction(targetObj) - SkillR.GetDamage(targetObj) + 5 <= SkillE.GetDamage(targetObj) + Player.GetAutoAttackDamage(targetObj, true) + ((ItemBool(Mode, "Q") && SkillQ.IsReady()) ? SkillQ.GetDamage(targetObj) * 3 : 0) && ItemBool(Mode, "E") && SkillE.IsReady() && Player.Mana >= SkillR.Instance.ManaCost + SkillE.Instance.ManaCost + ((ItemBool(Mode, "Q") && SkillQ.IsReady()) ? SkillQ.Instance.ManaCost : 0))
         {
             SkillR.Cast(PacketCast());
         }
     }
     if (ItemBool(Mode, "E") && SkillE.IsReady() && SkillE.InRange(targetObj.Position) && (CanKill(targetObj, SkillE) || Player.Distance3D(targetObj) > Orbwalk.GetAutoAttackRange() + 50 || (Mode == "Combo" && Player.HealthPercentage() < targetObj.HealthPercentage())))
     {
         SkillE.CastOnUnit(targetObj, PacketCast());
     }
     if (ItemBool(Mode, "W") && SkillW.IsReady() && Orbwalk.InAutoAttackRange(targetObj))
     {
         SkillW.Cast(PacketCast());
     }
     if (ItemBool(Mode, "Item") && Mode == "Combo")
     {
         UseItem(targetObj);
     }
     if (ItemBool(Mode, "Ignite") && Mode == "Combo")
     {
         CastIgnite(targetObj);
     }
 }