예제 #1
0
        /// <summary>
        ///     Called when an enemy gapcloser is casted on the player.
        /// </summary>
        /// <param name="gapcloser">The gapcloser.</param>
        private void OnEnemyGapcloser(AIHeroClient sender, Gapcloser.GapcloserEventArgs gapcloser)
        {
            var antigapcloserEnabled =
                MenuGenerator.MiscMenu["TDVaynemiscmiscellaneousantigapcloser"].Cast <CheckBox>().CurrentValue;
            var endPosition = gapcloser.End;

            if (!antigapcloserEnabled || !Variables.E.IsReady() || !gapcloser.Sender.IsValidTarget() ||
                ObjectManager.Player.Distance(endPosition) > 400)
            {
                return;
            }

            //Smart
            var ShouldBeRepelled = CustomAntiGapcloser.SpellShouldBeRepelledOnSmartMode(gapcloser.SpellName);

            if (ShouldBeRepelled)
            {
                Core.DelayAction(() => { Variables.E.Cast(gapcloser.Sender); },
                                 MenuGenerator.MiscMenu["TDVaynemiscmiscellaneousdelay"].Cast <Slider>().CurrentValue);
            }
            else
            {
                //Use Q
                var extendedPosition = ObjectManager.Player.ServerPosition.Extend(endPosition, -300f);
                if (!extendedPosition.IsUnderTurret() &&
                    !(extendedPosition.CountEnemiesInRange(400f) >= 2 && extendedPosition.CountAlliesInRange(400f) < 3))
                {
                    Core.DelayAction(() => { Player.CastSpell(SpellSlot.Q, extendedPosition.To3D()); },
                                     MenuGenerator.MiscMenu["TDVaynemiscmiscellaneousdelay"].Cast <Slider>().CurrentValue);
                }
            }
        }
예제 #2
0
        public static void GapcloseE(AIHeroClient sender, Gapcloser.GapcloserEventArgs e)
        {
            if (sender == null || sender.IsAlly || !MenuManager.MiscMenu["GapcloseE"].Cast <CheckBox>().CurrentValue)
            {
                return;
            }

            if ((sender.IsAttackingPlayer || e.End.Distance(Variables._Player) <= 70))
            {
                Program.E.Cast(sender);
            }
        }
예제 #3
0
 private static void AntiGapcloser_OnEnemyGapcloser(AIHeroClient sender, Gapcloser.GapcloserEventArgs e)
 {
     try
     {
     }
     catch (Exception)
     {
         if (FreshCommon.NowTime() > ErrorTime)
         {
             Chat.Print(ChampName + " in FreshBooster isn't Load. Error Code 07");
             ErrorTime = FreshCommon.TickCount(10000);
         }
     }
 }
예제 #4
0
 private static void Gapcloser_OnGapcloser(AIHeroClient sender, Gapcloser.GapcloserEventArgs e)
 {
     if (sender == myHero)
     {
         return;
     }
     if (myHero.IsDead || !antiQ || !Q.IsReady())
     {
         return;
     }
     if (GapMenu[sender.ChampionName + "_" + e.Slot].Cast <CheckBox>().CurrentValue)
     {
         Q2.Cast(sender);
     }
 }
예제 #5
0
 public static void Gapcloser_OnGapCloser(AIHeroClient sender, Gapcloser.GapcloserEventArgs e)
 {
     _Gapclose.GapcloseE(sender, e);
 }