/// <summary> /// Put in here what you want to do when the mode is running /// </summary> public static void Execute() { var target = TargetSelector.GetTarget(1500, DamageType.Physical); Orbwalker.OrbwalkTo(Game.CursorPos); if (target == null) { return; } UseItems(target); if (target.HasQBuff()) { if (castQAgain || target.HasBuffOfType(BuffType.Knockback) && !myHero.IsValidTarget(300) && !R.IsReady() || !target.IsValidTarget(myHero.GetAutoAttackRange()) && !R.IsReady()) { Q.Cast(target); } } if (target.Distance(myHero) > R.Range && target.Distance(myHero) < R.Range + 580 && target.HasQBuff()) { WardJumper.WardJump(target.Position, false); } if (E.IsReady() && EState && target.IsValidTarget(E.Range)) { E.Cast(); } if (R.IsReady() && Q.IsReady() && target.HasQBuff()) { R.Cast(target); } if (Q.IsReady() && QState) { Core.DelayAction(delegate { CastQ(target); }, 200); } }
/// <summary> /// Put in here what you want to do when the mode is running /// </summary> public static void Execute() { var target = TargetSelector.GetTarget(Q.Range, DamageType.Physical); if (target == null) { return; } if (!target.IsZombie && R.IsReady() && ComboMenu.GetCheckBoxValue("rUse") && ComboMenu.GetCheckBoxValue("qUse") && target.IsValidTarget(R.Range) && (myHero.GetSpellDamage(target, SpellSlot.R) >= target.Health || target.HasQBuff() && target.Health < myHero.GetSpellDamage(target, SpellSlot.R) + Q2Damage(target, myHero.GetSpellDamage(target, SpellSlot.R)))) { R.Cast(target); } if (ComboMenu.GetCheckBoxValue("q2Use") && Q.IsReady() && Q.Name.Equals("blindmonkqtwo", StringComparison.InvariantCultureIgnoreCase) && target.HasQBuff() && (castQAgain)) { CastQ(target, MiscMenu.GetCheckBoxValue("smiteq")); return; } if (target.HasQBuff() && ComboMenu.GetCheckBoxValue("q2Use")) { if (!target.IsZombie && target.HasQBuff() && target.Health < myHero.GetSpellDamage(target, SpellSlot.R) + Q2Damage(target, myHero.GetSpellDamage(target, SpellSlot.R))) { if (ComboMenu.GetCheckBoxValue("rUseks")) { R.Cast(target); } } } if (target.IsValidTarget(385f)) { UseItems(target); } if (ComboMenu.GetCheckBoxValue("q2Use") && Q.IsReady() && Q.Name.Equals("blindmonkqtwo", StringComparison.InvariantCultureIgnoreCase) && target.HasQBuff() && (castQAgain || myHero.GetSpellDamage(target, SpellSlot.Q, DamageLibrary.SpellStages.SecondCast) > target.Health) || ReturnQBuff()?.Distance(target) < myHero.Distance(target) && !target.IsValidTarget(myHero.GetAutoAttackRange())) { Q.Cast(target); } if (!target.IsZombie && myHero.GetSpellDamage(target, SpellSlot.R) >= target.Health && ComboMenu.GetCheckBoxValue("rUseks") && target.IsValidTarget(R.Range)) { R.Cast(target); } if (Q.IsReady() && QState && ComboMenu.GetCheckBoxValue("qUse")) { CastQ(target, MiscMenu.GetCheckBoxValue("smiteq")); } if (ComboMenu.GetCheckBoxValue("Cpassive") && PassiveStacks > ComboMenu.GetSliderValue("passivestacks") && myHero.GetAutoAttackRange() > myHero.Distance(target)) { return; } if (ComboMenu.GetCheckBoxValue("q2Use") && Q.IsReady() && Q.Name.Equals("blindmonkqtwo", StringComparison.InvariantCultureIgnoreCase) && target.HasQBuff() && (castQAgain || myHero.Distance(target) > myHero.GetAutoAttackRange() || myHero.GetSpellDamage(target, SpellSlot.Q, DamageLibrary.SpellStages.SecondCast) > target.Health + target.AttackShield)) { CastQ(target, MiscMenu.GetCheckBoxValue("smiteq")); return; } if (ComboMenu.GetCheckBoxValue("wardjumpC")) { if (ComboMenu.GetCheckBoxValue("wardjumpCAA") && target.Distance(myHero) > myHero.GetAutoAttackRange()) { WardJumper.WardJump(target.Position, false, true); } if (!ComboMenu.GetCheckBoxValue("wardjumpCAA") && target.Distance(myHero) > Q.Range) { WardJumper.WardJump(target.Position, false, true); } } if (E.IsReady() && ComboMenu.GetCheckBoxValue("eUse") && target.Distance(myHero) < 400 && !myHero.IsDashing()) { if (Environment.TickCount - LastW <= 150) { return; } if (EState) { if (GetEHits().Item1 > 0 || (PassiveStacks == 0 && myHero.Mana >= 70) || target.Distance(myHero) > myHero.GetAutoAttackRange() + 70) { E.Cast(); } } else { if (LastE + 1800 < Environment.TickCount) { if (GetEHits().Item1 > 0 || target.Distance(myHero) > myHero.GetAutoAttackRange() + 50) { E.Cast(); } } } } if (W.IsReady() && ComboMenu.GetCheckBoxValue("wUse")) { if (Environment.TickCount - LastE <= 250) { return; } if (WState && target.IsValidTarget(myHero.GetAutoAttackRange())) { W.Cast(myHero); LastW = Environment.TickCount; } if (!WState && LastW + 1800 < Environment.TickCount) { W.Cast(myHero); } } }
/// <summary> /// Put in here what you want to do when the mode is running /// </summary> public static void InsecCombo(AIHeroClient target) { if (target != null && target.IsVisible) { if (myHero.Distance(GetInsecPos(target)) < 200) { insecComboStep = InsecComboStepSelect.Pressr; } else if (insecComboStep == InsecComboStepSelect.None && GetInsecPos(target).Distance(myHero.Position) < 600) { insecComboStep = InsecComboStepSelect.Wgapclose; } else if (insecComboStep == InsecComboStepSelect.None && target.Distance(myHero) < Q.Range) { insecComboStep = InsecComboStepSelect.Qgapclose; } switch (insecComboStep) { case InsecComboStepSelect.Qgapclose: var prediction = Q.GetPrediction(target); if (prediction.CollisionObjects.Count(h => h.IsEnemy && !h.IsDead && h is Obj_AI_Minion) >= 1 && InsecMenu.GetCheckBoxValue("inseccheck") && Q.IsReady()) { foreach (var unit in ObjectManager.Get <Obj_AI_Base>().Where(obj => (((obj is Obj_AI_Minion) && myHero.GetSpellDamage(target, SpellSlot.Q) < obj.Health + 10) || (obj is AIHeroClient)) && obj.IsValidTarget(Q.Range) && obj.Distance(GetInsecPos(target)) < 500)) { var pred = Q.GetPrediction(unit); if (pred.HitChance >= HitChance.High) { Q.Cast(pred.CastPosition); } break; } } if (!(target.HasQBuff()) && QState) { CastQ(target, MiscMenu.GetCheckBoxValue("smiteq")); } else if (target.HasQBuff()) { Q2.Cast(); insecComboStep = InsecComboStepSelect.Wgapclose; } else { if (Q.Name == "blindmonkqtwo" && ReturnQBuff().Distance(target) <= 600 && target.HasQBuff()) { Q2.Cast(); } } break; case InsecComboStepSelect.Wgapclose: if (myHero.Distance(target) < WardRange) { WardJumper.WardJump(GetInsecPos(target), false, true, true); if (FindBestWardItem() == null && R.IsReady() && InsecMenu.GetCheckBoxValue("insecnoward") && Flash.IsReady()) { if ((GetInsecPos(target).Distance(myHero.Position) < FlashRange && LastWard + 1000 < Environment.TickCount) || !W.IsReady()) { Flash.Cast(GetInsecPos(target)); } } } else if (myHero.Distance(target) < WardFlashRange) { WardJumper.WardJump(target.Position); if (R.IsReady() && InsecMenu.GetCheckBoxValue("insecnoward") && Flash.IsReady()) { if (myHero.Distance(target) < FlashRange - 25) { if (FindBestWardItem() == null || LastWard + 1000 < Environment.TickCount) { Flash.Cast(GetInsecPos(target)); } } } } break; case InsecComboStepSelect.Pressr: R.Cast(target); break; } } }