Esempio n. 1
0
 protected override void Harass()
 {
     if (Target != null)
     {
         if (IsHarass2)
         {
             if (ShouldWaitMana)
             {
                 return;
             }
             if (HarassMenu.CheckBox("WE") && W.IsReady && IsW1 && E.IsReady && !MyHero.IsInRange(Target, WRange + E.Radius))
             {
                 return;
             }
             CastW(Target);
             CastE(Target);
             CastQ(Target);
         }
         else
         {
             if (MyHero.ManaPercent >= HarassMenu.Slider("ManaPercent"))
             {
                 CastE(Target);
                 CastQ(Target);
             }
         }
     }
     base.Harass();
 }
Esempio n. 2
0
 protected override void Harass()
 {
     if (MyHero.ManaPercent >= HarassMenu.Slider("ManaPercent"))
     {
         if (E.IsReady && HarassMenu.CheckBox("E.Shield"))
         {
             if (MissileManager.MissileWillHitMyHero)
             {
                 CastE(MyHero);
             }
         }
         if (Target != null)
         {
             if (HarassMenu.CheckBox("Q"))
             {
                 CastQ(Target);
             }
             if (HarassMenu.CheckBox("W"))
             {
                 CastW(Target);
             }
             if (HarassMenu.Slider("E.HealthPercent") >= MyHero.HealthPercent)
             {
                 var enemy =
                     UnitManager.ValidEnemyHeroesInRange.FirstOrDefault(h => h.InAutoAttackRange(MyHero));
                 if (enemy != null)
                 {
                     CastE(MyHero);
                 }
             }
         }
     }
     base.Harass();
 }
Esempio n. 3
0
 protected override void PermaActive()
 {
     _hitR      = R.IsReady ? R.ObjectsInRange(R.EnemyHeroes).Count : 0;
     _hitW      = W.IsReady ? W.ObjectsInRange(W.EnemyHeroes).Count : 0;
     Range      = Q.Range + Q.Width;
     _canShield = AutomaticMenu.CheckBox("E.Shield") || (ModeManager.Combo && ComboMenu.CheckBox("E.Shield")) ||
                  (ModeManager.Harass && HarassMenu.CheckBox("E.Shield"));
     _ballIsMissile = _ballObject != null && _ballObject.IsValid &&
                      _ballObject.Type == GameObjectType.MissileClient;
     Target = TargetSelector.GetTarget(UnitManager.ValidEnemyHeroesInRange, DamageType.Magical);
     if (_hitR >= AutomaticMenu.Slider("R.Hit"))
     {
         R.Cast();
     }
     if (_hitW >= AutomaticMenu.Slider("W.Hit"))
     {
         W.Cast();
     }
     if (E.IsReady && AutomaticMenu.CheckBox("E.Shield"))
     {
         if (MissileManager.MissileWillHitMyHero)
         {
             CastE(MyHero);
         }
     }
     base.PermaActive();
 }
Esempio n. 4
0
        protected override void Harass()
        {
            if (MyHero.ManaPercent >= HarassMenu.Slider("ManaPercent"))
            {
                if (Target != null)
                {
                    if (HarassMenu.CheckBox("Q"))
                    {
                        CastQ(Target);
                    }
                    if (HarassMenu.CheckBox("W"))
                    {
                        CastW(Target);
                    }
                    if (HarassMenu.Slider("E") > 0)
                    {
                        switch (HarassMenu.Slider("E"))
                        {
                        case 1:
                            CastE(Target);
                            break;

                        case 2:
                            E.Cast(Target);
                            break;
                        }
                    }
                }
            }
            base.Harass();
        }
Esempio n. 5
0
        protected override void PermaActive()
        {
            Range = Q.Range;
            if (WShadow != null && RShadow != null)
            {
                Range = (int)(Q.Range + Math.Max(MyHero.GetDistance(RShadow), MyHero.GetDistance(WShadow)));
            }
            else if (IsW1 && W.IsReady && RShadow != null)
            {
                Range = (int)(Q.Range + Math.Max(MyHero.GetDistance(RShadow), WRange));
            }
            else if (WShadow != null)
            {
                Range = (int)(Q.Range + MyHero.GetDistance(WShadow));
            }
            else if (IsW1 && W.IsReady)
            {
                Range = Q.Range + WRange;
            }
            var currentList = UnitManager.ValidEnemyHeroesInRange.ToList();

            UnitManager.ValidEnemyHeroesInRange.Clear();
            UnitManager.ValidEnemyHeroesInRange.AddRange(currentList.Where(h => !IsDead(h)));
            Target = TargetSelector.GetTarget(UnitManager.ValidEnemyHeroesInRange, DamageType.Physical);
            var target = UnitManager.ValidEnemyHeroes.FirstOrDefault(h => TargetHaveR(h) && !IsDead(h));

            if (target != null)
            {
                Target = target;
            }
            if (IsDeadObject != null && (!IsDeadObject.IsValid || IsDeadObject.IsDead))
            {
                IsDeadObject = null;
            }
            if (WShadow != null && !WShadowIsValid)
            {
                WShadow = null;
            }
            if (RShadow != null && !RShadowIsValid)
            {
                RShadow = null;
            }
            if (ModeManager.Harass && HarassMenu.CheckBox("Collision"))
            {
                Q.AllowedCollisionCount = 0;
                W.AllowedCollisionCount = 0;
            }
            else
            {
                Q.AllowedCollisionCount = int.MaxValue;
                W.AllowedCollisionCount = int.MaxValue;
            }
            if (AutomaticMenu.CheckBox("E"))
            {
                UnitManager.ValidEnemyHeroesInRange.ForEach(CastE);
            }
            Swap();
            base.PermaActive();
        }
Esempio n. 6
0
 protected void Swap()
 {
     if (Target != null)
     {
         var distanceSqr = MyHero.GetDistanceSqr(Target);
         var health      = Target.TotalShieldHealth();
         var result      = GetBestCombo(Target);
         if (EnemyIsDead &&
             (AutomaticMenu.CheckBox("SwapDead") || (ComboMenu.CheckBox("SwapDead") && ModeManager.Combo)))
         {
             SwapByCountingEnemies();
         }
         if (ModeManager.Combo)
         {
             if (ComboMenu.Slider("SwapHP") >= MyHero.HealthPercent)
             {
                 if (!result.IsKillable || MyHero.HealthPercent < Target.HealthPercent)
                 {
                     SwapByCountingEnemies();
                 }
             }
             else if (ComboMenu.CheckBox("SwapGapclose") && distanceSqr >= (E.Range * 1.3f).Pow())
             {
                 var wShadowDistance = WShadowIsValid && W.IsReady && !WShadow.IsUnderEnemyturret()
                     ? Target.GetDistanceSqr(WShadow)
                     : 16000000f;
                 var rShadowDistance = RShadowIsValid && R.IsReady && !RShadow.IsUnderEnemyturret()
                     ? Target.GetDistanceSqr(RShadow)
                     : 16000000f;
                 var min = Math.Min(Math.Min(wShadowDistance, rShadowDistance), distanceSqr);
                 if (min <= 500.Pow() && min < distanceSqr)
                 {
                     if (Math.Abs(min - wShadowDistance) < float.Epsilon)
                     {
                         W.Cast();
                     }
                     else if (Math.Abs(min - rShadowDistance) < float.Epsilon)
                     {
                         R.Cast();
                     }
                 }
             }
         }
         else if (ModeManager.Harass)
         {
             if (HarassMenu.CheckBox("SwapGapclose") && W.IsReady && !IsW1 && WShadowIsValid &&
                 Target.HealthPercent <= 50f && GetPassiveDamage(Target, health) > 0f && result.IsKillable &&
                 distanceSqr > WShadow.GetDistanceSqr(Target) && WShadow.GetDistanceSqr(Target) <= E.RangeSqr &&
                 Target.HealthPercent <= MyHero.HealthPercent)
             {
                 W.Cast();
             }
         }
     }
 }
Esempio n. 7
0
 protected override void Harass()
 {
     if (MyHero.ManaPercent >= HarassMenu.Slider("ManaPercent"))
     {
         if (Target != null)
         {
             if (Core.GameTickCount - W.LastSentTime < 100)
             {
                 return;
             }
             if (Core.GameTickCount - E.LastSentTime < 100)
             {
                 return;
             }
             if (Core.GameTickCount - W.LastCastTime < W.CastDelay + 50)
             {
                 return;
             }
             if (Core.GameTickCount - E.LastCastTime < E.CastDelay + 50)
             {
                 return;
             }
             if (Spells.E.Missile != null && Spells.E.Missile.IsValidMissile() && MyHero.Distance(Spells.E.Missile, true) <= MyHero.Distance(Target, true))
             {
                 return;
             }
             if (Orbwalker.CanAutoAttack && HasPassive && MyHero.IsInAutoAttackRange(Target))
             {
                 return;
             }
             if (HarassMenu.CheckBox("E"))
             {
                 CastE(Target);
             }
             if (HarassMenu.CheckBox("W"))
             {
                 CastW(Target);
             }
             if (StartWithCc && W.IsReady && E.IsReady)
             {
                 return;
             }
             if (HarassMenu.CheckBox("Q"))
             {
                 CastQ(Target);
             }
         }
     }
     base.Harass();
 }
Esempio n. 8
0
 protected override void Harass()
 {
     if (Target != null)
     {
         if (IsHarass2)
         {
             if (HarassMenu.CheckBox("Harass2.W"))
             {
                 CastW(Target);
             }
             if (HarassMenu.CheckBox("Harass2.E"))
             {
                 CastE(Target);
             }
             if (HarassMenu.CheckBox("Harass2.Q"))
             {
                 CastQ(Target);
             }
         }
         else
         {
             if (MyHero.ManaPercent >= HarassMenu.Slider("Harass1.ManaPercent"))
             {
                 if (HarassMenu.CheckBox("Harass1.W"))
                 {
                     CastW(Target);
                 }
                 if (HarassMenu.CheckBox("Harass1.E"))
                 {
                     CastE(Target);
                 }
                 if (HarassMenu.CheckBox("Harass1.Q"))
                 {
                     CastQ(Target);
                 }
             }
         }
     }
     base.Harass();
 }
Esempio n. 9
0
 protected override void Harass()
 {
     if (MyHero.ManaPercent >= HarassMenu.Slider("ManaPercent"))
     {
         if (Target != null)
         {
             if (HarassMenu.CheckBox("Q") && !IsCastingR && MyHero.Mana >= E.Mana + R.Mana + W.Mana + E.Mana)
             {
                 CastQ(Target);
             }
             if (HarassMenu.CheckBox("W") && !IsCastingR)
             {
                 CastW(Target);
             }
             if (HarassMenu.CheckBox("E") && !IsCastingR)
             {
                 CastE(Target);
             }
         }
     }
     base.Harass();
 }
Esempio n. 10
0
 protected override void Harass()
 {
     if (MyHero.ManaPercent >= HarassMenu.Slider("ManaPercent"))
     {
         if (Target != null)
         {
             if (HarassMenu.CheckBox("Q"))
             {
                 CastQ(Target);
             }
             if (HarassMenu.CheckBox("W"))
             {
                 W.Cast(Target);
             }
             if (HarassMenu.CheckBox("E"))
             {
                 E.Cast(Target);
             }
         }
     }
     base.Harass();
 }