예제 #1
0
 public override void Initialize(ComboProvider combo)
 {
     _brandQ = combo.GetSkill<BrandQ>();
     Orbwalker.OnUnkillableMinion += OnMinionUnkillable;
     Orbwalker.OnPreAttack += Orbwalking_BeforeAttack;
     base.Initialize(combo);
 }
예제 #2
0
파일: EkkoR.cs 프로젝트: jayblah/TheNinow
 public override void Initialize(IMainContext context, ComboProvider combo)
 {
     _ultMin = context.GetRootMenu().SubMenu("Combo").Item("Combo.MinUltEnemies");
     _ultMinHealth = context.GetRootMenu().SubMenu("Combo").Item("Combo.MinUltHealth%");
     _ultSave = context.GetRootMenu().SubMenu("Combo").Item("Combo.UltforSave");
     base.Initialize(context, combo);
 }
예제 #3
0
 public override void Initialize(ComboProvider combo)
 {
     _brandE         = combo.GetSkill <BrandE>();
     _brandQ         = combo.GetSkill <BrandQ>();
     Drawing.OnDraw += Draw;
     base.Initialize(combo);
 }
예제 #4
0
 public override void LaneClear(ComboProvider combo, AIHeroClient target)
 {
     var locationM =
         GetCircularFarmLocation(MinionManager.GetMinions(900 + 120, MinionTypes.All, MinionTeam.NotAlly));
     if (locationM.MinionsHit >= Program.getLaneMenuSL("MinWtargets"))
         Cast(locationM.Position);
 }
예제 #5
0
        public void Attach(Menu menu, ComboProvider provider)
        {
            _provider = provider;
            _items    = new Dictionary <IActivateableItem, bool>();
            var items = new IActivateableItem[] { new BilgewaterCutlass(), new Botrk(), new YoumusBlade() };

            foreach (var activateableItem in items)
            {
                IActivateableItem item = activateableItem;
                if (item.GetRange() != int.MaxValue && item.GetRange() != 0 && item.GetRange() + 100 < ObjectManager.Player.AttackRange)
                {
                    continue;
                }

                var itemMenu = new Menu(item.GetDisplayName(), item.GetDisplayName());
                item.Initialize(itemMenu, this);
                _items.Add(item, true);
                itemMenu.AddMItem("Enabled", true, (sender, agrs) => _items[item] = agrs.GetNewValue <bool>()).ProcStoredValueChanged <bool>();
                menu.AddSubMenu(itemMenu);
            }
            menu.AddMItem("Only in combo", true, (sender, args) => _combo = args.GetNewValue <bool>());
            menu.AddMItem("Enabled", true, (sender, args) => Enabled      = args.GetNewValue <bool>());
            menu.ProcStoredValueChanged <bool>();
            Game.OnUpdate += _ => Update();
        }
예제 #6
0
 public override void Initialize(ComboProvider combo)
 {
     _brandQ = combo.GetSkill<BrandQ>();
     PortAIO.OrbwalkerManager.LSOrbwalker.OnNonKillableMinion += OnMinionUnkillable;
     LSEvents.BeforeAttack += Orbwalking_BeforeAttack;
     base.Initialize(combo);
 }
예제 #7
0
파일: CassQ.cs 프로젝트: jayblah/TheNinow
        public override void Initialize(ComboProvider combo)
        {
            _e = combo.GetSkill<CassE>();
            base.Initialize(combo);

            float tickLimiter = 0;
            //float mana = 0;
            Game.OnUpdate += (args) =>
            {
                if (tickLimiter > Game.Time) return;
                tickLimiter = Game.Time + 0.25f;

                if (ObjectManager.Player.Spellbook.Spells.Any(spell => spell.Name == "ItemSeraphsEmbrace")) return;
                //if (mana == ObjectManager.Player.MaxMana)
                //{
                //    StackTear.SetValue(new KeyBind(StackTear.GetValue<KeyBind>().Key, KeyBindType.Toggle));
                //    mana = 0f;
                //}

                if (combo.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.None && CanBeCast() && ObjectManager.Player.CountEnemiesInRange(2000) == 0 && MinTearStackMana < ObjectManager.Player.ManaPercent && !ObjectManager.Player.IsRecalling() && StackTear.IsActive())
                {
                    if (ObjectManager.Get<Obj_AI_Turret>().Any(turret => turret.IsAlly && turret.Distance(ObjectManager.Player) < 1000) || ObjectManager.Player.NearFountain(3500))
                    {
                        var tear = ObjectManager.Player.Spellbook.Spells.FirstOrDefault(spell => spell.Name == "TearsDummySpell" || spell.Name == "ArchAngelsDummySpell");

                        if (tear != null && tear.CooldownExpires < Game.Time)
                            Cast(ObjectManager.Player.Position.Extend(Game.CursorPos, 500));
                        //mana = ObjectManager.Player.MaxMana;
                    }
                }

            };
        }
예제 #8
0
        public override void LaneClear(ComboProvider combo, AIHeroClient target)
        {
            var minions =
                MinionManager.GetMinions(650, MinionTypes.All, MinionTeam.NotAlly)
                .Where(minion => minion.HasBuff("brandablaze"))
                .ToArray();

            if (!minions.Any())
            {
                return;
            }
            Obj_AI_Base bestMinion = null;
            var         neighbours = -1;

            foreach (var minion in minions)
            {
                var currentNeighbours = minions.Count(neighbour => neighbour.Distance(minion) < 300);
                if (currentNeighbours <= neighbours)
                {
                    continue;
                }
                bestMinion = minion;
                neighbours = currentNeighbours;
            }
            Cast(bestMinion);
        }
예제 #9
0
파일: BrandE.cs 프로젝트: wade1990/PortAIO
 public override void Interruptable(ComboProvider combo, AIHeroClient sender, ComboProvider.InterruptableSpell interruptableSpell, float endTime)
 {
     if (InterruptE && _brandQ.CouldHit(sender) && sender.Distance(ObjectManager.Player) < 650)
     {
         Execute(sender);
     }
 }
예제 #10
0
파일: BrandE.cs 프로젝트: wade1990/PortAIO
 public override void Initialize(ComboProvider combo)
 {
     _brandQ = combo.GetSkill <BrandQ>();
     Orbwalking.OnNonKillableMinion += OnMinionUnkillable;
     Orbwalking.BeforeAttack        += Orbwalking_BeforeAttack;
     base.Initialize(combo);
 }
예제 #11
0
 public override void Initialize(ComboProvider combo)
 {
     _q = combo.GetSkill <CassQ>();
     _r = combo.GetSkill <CassR>();
     _e = combo.GetSkill <CassE>();
     base.Initialize(combo);
 }
예제 #12
0
 public override void Initialize(ComboProvider combo)
 {
     _brandE = combo.GetSkill<BrandE>();
     _brandQ = combo.GetSkill<BrandQ>();
     Drawing.OnDraw += Draw;
     base.Initialize(combo);
 }
예제 #13
0
파일: EkkoR.cs 프로젝트: wade1990/PortAIO
 public override void Initialize(IMainContext context, ComboProvider combo)
 {
     _ultMin       = context.GetRootMenu().SubMenu("Combo").Item("Combo.MinUltEnemies");
     _ultMinHealth = context.GetRootMenu().SubMenu("Combo").Item("Combo.MinUltHealth%");
     _ultSave      = context.GetRootMenu().SubMenu("Combo").Item("Combo.UltforSave");
     base.Initialize(context, combo);
 }
예제 #14
0
파일: CassW.cs 프로젝트: jayblah/TheNinow
 public override void Gapcloser(ComboProvider combo, ActiveGapcloser gapcloser)
 {
     if (UseOnGapcloser && (!_r.CanBeCast() || _r.GapcloserUltHp < ObjectManager.Player.HealthPercent))
     {
         Cast(gapcloser.Sender);
     }
 }
예제 #15
0
 public override void Gapcloser(ComboProvider combo, ActiveGapcloser gapcloser)
 {
     if (UseOnGapcloser && (!_r.CanBeCast() || _r.GapcloserUltHp < ObjectManager.Player.HealthPercent))
     {
         Cast(gapcloser.Sender);
     }
 }
예제 #16
0
 public override void LaneClear(ComboProvider combo, Obj_AI_Hero target)
 {
     if (_recentAutoattack)
     {
         SafeCast();
         Orbwalking.ResetAutoAttackTimer();
     }
 }
예제 #17
0
파일: BrandW.cs 프로젝트: jayblah/TheNinow
        public override void Interruptable(ComboProvider combo, Obj_AI_Hero sender, ComboProvider.InterruptableSpell interruptableSpell, float endTime)
        {
            var distance = sender.Distance(ObjectManager.Player);
            if (sender.HasBuff("brandablaze") || Provider.IsMarked(sender) || !_brandQ.CouldHit(sender) || !InterruptW) return;

            if (Cast(sender) == CastStates.SuccessfullyCasted)
                Provider.SetMarked(sender); //Todo: risky, keep an eye on this. If the W misses u r f****d
        }
예제 #18
0
 public override void Gapcloser(IMainContext context, ComboProvider combo, ActiveGapcloser gapcloser)
 {
     if (AntiGapcloser)
     {
         SafeCast(() => Spell.Cast(ObjectManager.Player.Position));
     }
     base.Gapcloser(context, combo, gapcloser);
 }
예제 #19
0
 public override void Interruptable(ComboProvider combo, Obj_AI_Hero sender, ComboProvider.InterruptableSpell interruptableSpell, float endTime)
 {
     if (endTime - Game.Time > Math.Max(sender.Distance(ObjectManager.Player) - Orbwalking.GetRealAutoAttackRange(sender), 0)/ObjectManager.Player.MoveSpeed + 0.5f)
     {
         SafeCast();
         Orbwalking.Orbwalk(sender, sender.Position);
     }
 }
예제 #20
0
파일: BrandQ.cs 프로젝트: jayblah/TheNinow
 public override void Initialize(ComboProvider combo)
 {
     var skills = combo.GetSkills().ToList();
     skills.Remove(skills.First(skill => skill is BrandQ));
     _brandQWE = skills.ToArray();
     _w = combo.GetSkill<BrandW>();
     base.Initialize(combo);
 }
예제 #21
0
 public override void LaneClear(ComboProvider combo, Obj_AI_Hero target)
 {
     if (_recentAutoattack)
     {
         SafeCast();
         Orbwalking.ResetAutoAttackTimer();
     }
 }
예제 #22
0
 public override void Update(Orbwalking.OrbwalkingMode mode, ComboProvider combo, AIHeroClient target)
 {
     base.Update(mode, combo, target);
     if (_afterAttack)
     {
         _afterAttack = false;
     }
 }
예제 #23
0
 public override void Update(Orbwalking.OrbwalkingMode mode, ComboProvider combo, Obj_AI_Hero target)
 {
     if (Killsteal && HeroManager.Enemies.Any(enemy => enemy.IsValidTarget(1100) && CanKill(enemy)))
     {
         Cast();
     }
     base.Update(mode, combo, target);
 }
예제 #24
0
파일: GarenQ.cs 프로젝트: wade1990/PortAIO
 public override void Interruptable(ComboProvider combo, AIHeroClient sender, ComboProvider.InterruptableSpell interruptableSpell, float endTime)
 {
     if (endTime - Game.Time > Math.Max(sender.Distance(ObjectManager.Player) - Orbwalking.GetRealAutoAttackRange(sender), 0) / ObjectManager.Player.MoveSpeed + 0.5f)
     {
         Cast();
         Orbwalking.Orbwalk(sender, sender.Position);
     }
 }
예제 #25
0
        public override void Update(Orbwalking.OrbwalkingMode mode, ComboProvider combo, Obj_AI_Hero target)
        {
            if (AutoHarass && ObjectManager.Player.ManaPercent > AutoHarassMana && target.IsValidTarget(Range))
            {
                Cast(target);
            }

            base.Update(mode, combo, target);
        }
예제 #26
0
        public override void Update(Orbwalking.OrbwalkingMode mode, ComboProvider combo, Obj_AI_Hero target)
        {
            if (mode != Orbwalking.OrbwalkingMode.None && StealJungle && MinionManager.GetMinions(Range, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.None).Any(min => min.HasBuff("Kalistaexpungemarker") && IsKillable(min) && !min.Name.Contains("Mini") && !min.Name.Contains("Dragon") && !min.Name.Contains("Baron")))
            {
                Cast();
            }

            base.Update(mode, combo, target);
        }
예제 #27
0
파일: BrandW.cs 프로젝트: wade1990/PortAIO
        public override void LaneClear(ComboProvider combo, AIHeroClient target)
        {
            var locationM = GetCircularFarmLocation(MinionManager.GetMinions(900 + 120, MinionTypes.All, MinionTeam.NotAlly));

            if (locationM.MinionsHit >= WaveclearTargets)
            {
                Cast(locationM.Position);
            }
        }
예제 #28
0
파일: BrandQ.cs 프로젝트: riwalry1/AIO
        public override void Initialize(ComboProvider combo)
        {
            var skills = combo.GetSkills().ToList();

            skills.Remove(skills.First(skill => skill is BrandQ));
            _brandQWE = skills.ToArray();
            _w        = combo.GetSkill <BrandW>();
            base.Initialize(combo);
        }
예제 #29
0
 public override void LaneClear(ComboProvider combo, Obj_AI_Hero target)
 {
     if (MinionManager.GetMinions(325, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.None).Count >= MinFarmMinions)
     {
         if (!ObjectManager.Player.HasBuff("GarenQ") && Spell.Instance.Name == "GarenE")
             SafeCast();
         if (UseHydra) ItemManager.GetItem<RavenousHydra>().Use(null);
     }
 }
예제 #30
0
파일: CassR.cs 프로젝트: jayblah/TheNinow
        public override void Gapcloser(ComboProvider combo, ActiveGapcloser gapcloser)
        {
            if (ObjectManager.Player.HealthPercent < GapcloserUltHp && gapcloser.Sender.IsValidTarget(Range))
            {
                var pred = GetPrediction(gapcloser.Sender);
                if (pred.Hitchance < Commons.Prediction.HitChance.Low) return;

                Cast(pred.CastPosition);
            }
        }
예제 #31
0
        public static void Update(ComboProvider combo)
        {
            if (combo.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo && _onlyCombo) return;

            var healthPrediction = HealthPrediction.GetHealthPrediction(ObjectManager.Player, 1);
            if (healthPrediction <= 0 && 75 + ObjectManager.Player.Level * 15 + healthPrediction > 0 && !ObjectManager.Player.IsDead) //Todo: grievious wounds and anti heal buff
            {
                UseHeal();
            } //todo continue
        }
예제 #32
0
        } //TODO: check if TotalMagicDamage is really AP

        public override void Initialize(ComboProvider combo)
        {
            var skills = combo.GetSkills().ToList();

            skills.Remove(this);
            _otherSkills = skills.ToArray();
            _brandE      = combo.GetSkill <BrandE>();
            _brandQ      = combo.GetSkill <BrandQ>();
            base.Initialize(combo);
        }
예제 #33
0
 public override void Update(Orbwalking.OrbwalkingMode mode, ComboProvider combo, Obj_AI_Hero target)
 {
     if (StealthRecall.GetValue <KeyBind>().Active&& _stealthRecallTime + 5 < Game.Time && !ObjectManager.Player.InFountain())
     {
         _stealthRecallTime = Game.Time;
         Cast();
         ObjectManager.Player.Spellbook.CastSpell(ObjectManager.Player.Spellbook.Spells.First(spell => spell.Name == "recall").Slot);
     }
     base.Update(mode, combo, target);
 }
예제 #34
0
파일: GarenE.cs 프로젝트: wade1990/PortAIO
 public override void Update(Orbwalking.OrbwalkingMode mode, ComboProvider combo, AIHeroClient target)
 {
     base.Update(mode, combo, target);
     _recentAutoattack = false;
     if (_resetOrbwalker && !ObjectManager.Player.HasBuff("GarenE"))
     {
         _resetOrbwalker = false;
         Provider.Orbwalker.SetAttack(true);
     }
 }
예제 #35
0
파일: TwitchQ.cs 프로젝트: jayblah/TheNinow
 public override void Update(Orbwalking.OrbwalkingMode mode, ComboProvider combo, Obj_AI_Hero target)
 {
     if (StealthRecall.GetValue<KeyBind>().Active && _stealthRecallTime + 5 < Game.Time && !ObjectManager.Player.InFountain())
     {
         _stealthRecallTime = Game.Time;
         Cast();
         ObjectManager.Player.Spellbook.CastSpell(ObjectManager.Player.Spellbook.Spells.First(spell => spell.Name == "recall").Slot);
     }
     base.Update(mode, combo, target);
 }
예제 #36
0
 public override void Update(Orbwalking.OrbwalkingMode mode, ComboProvider combo, Obj_AI_Hero target)
 {
     base.Update(mode, combo, target);
     _recentAutoattack = false;
     if (_resetOrbwalker && !ObjectManager.Player.HasBuff("GarenE"))
     {
         _resetOrbwalker = false;
         Provider.Orbwalker.SetAttack(true);
     }
 }
예제 #37
0
파일: BrandE.cs 프로젝트: riwalry1/AIO
 public override void Update(Orbwalker.ActiveModes mode, ComboProvider combo, AIHeroClient target)
 {
     if (Program.getMiscMenuCB("eKS") &&
         (mode == Orbwalker.ActiveModes.Combo || !Program.getMiscMenuCB("KSCombo")))
         foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.LSIsValidTarget(650)))
         {
             if (!IsKillable(enemy)) continue;
             Cast(enemy);
         }
     base.Update(mode, combo, target);
 }
예제 #38
0
        public override void Initialize(ComboProvider combo)
        {
            Obj_AI_Base recentTarget = null;
            var         dead         = false;

            Orbwalking.AfterAttack += (sender, target) =>
            {
                if (sender.IsMe)
                {
                    var targetObj = target as Obj_AI_Base;
                    if (targetObj == null)
                    {
                        return;
                    }
                    recentTarget = targetObj;
                    dead         = HealthPrediction.GetHealthPrediction(targetObj, 500) - ObjectManager.Player.GetAutoAttackDamage(targetObj) <= 0;
                }
            };
            Console.WriteLine(Delay + " ");
            Orbwalking.OnNonKillableMinion += minion =>
            {
                if (minion.NetworkId == recentTarget.NetworkId && dead)
                {
                    return;
                }
                if (FarmAssist && IsKillable(minion as Obj_AI_Base) && (Provider.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo && Provider.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.None))
                {
                    if (ObjectManager.Player.ManaPercent > FarmAssistMana)
                    {
                        Cast();
                    }
                    else if (MinionManager.GetMinions(Range, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.None).Any(min => min.HasBuff("Kalistaexpungemarker") && IsKillable(min) && min.NetworkId != minion.NetworkId))
                    {
                        Cast();
                    }
                }
            };

            GameObject.OnCreate += (obj, args) =>
            {
                if (obj.Type != GameObjectType.MissileClient)
                {
                    return;
                }
                var mc = (MissileClient)obj;
                if (!mc.SpellCaster.IsMe || mc.Target.Type != GameObjectType.obj_AI_Hero || (mc.SData.MissileSpeed != 2000 && mc.SData.MissileSpeed != 2600))
                {
                    return;
                }
                _flyingAttacks[(Obj_AI_Hero)mc.Target] = mc;
            };

            base.Initialize(combo);
        }
예제 #39
0
파일: BrandE.cs 프로젝트: wade1990/PortAIO
 public override void Gapcloser(ComboProvider combo, ActiveGapcloser gapcloser)
 {
     if (!gapcloser.Sender.IsValidTarget())
     {
         return;
     }
     if (_brandQ.CanBeCast() && CanBeCast() && !gapcloser.Sender.HasBuff("brandablaze"))
     {
         Execute(gapcloser.Sender);
     }
 }
예제 #40
0
        public static void Initialize(Menu healMenu, ComboProvider combo, bool autoUpdate = true)
        {
            if (!HasHeal()) return;
            _heal = GetHeal();

            healMenu.AddMItem("Only in combo", true, (sender, args) => _onlyCombo = args.GetNewValue<bool>());
            healMenu.AddMItem("Enabled", false, (sender, args) => _enabled = args.GetNewValue<bool>());
            healMenu.AddMItem("(WIP - I highly recommend using an Activator!)");
            if (autoUpdate)
                Game.OnUpdate += _ => Update(combo);
        }
예제 #41
0
        /// <summary>
        /// Does it's checks and ignites if all conditions are met. Uses Menu settings
        /// </summary>
        /// <param name="combo">The combo provider</param>
        /// <param name="otherDamage">Damage that will hit for sure in the near future, e.g. brand passive</param>
        /// <param name="otherDamageTime">How much time will pass till the otherDamage applies (checks on healthreg ...)</param>
        public static void Update(ComboProvider combo, float otherDamage = 0f, float otherDamageTime = 3f)
        {
            if (_ignite == null || _igniteUsage == null || !_igniteUsage.GetValue<bool>()) return;
            if (combo.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo && _igniteOnlyCombo.GetValue<bool>()) return;

            if (_igniteKillsteal.GetValue<bool>())
            {
                foreach (var enemy in HeroManager.Enemies)
                    UpdateOnHero(enemy, otherDamage, otherDamageTime, _igniteKillsteal.GetValue<bool>());
            }
            else if (combo.Target != null)
                UpdateOnHero(combo.Target, otherDamage, otherDamageTime, _igniteKillsteal.GetValue<bool>());
        }
예제 #42
0
파일: GarenW.cs 프로젝트: jayblah/TheNinow
        public override void Update(Orbwalking.OrbwalkingMode mode, ComboProvider combo, Obj_AI_Hero target)
        {
            if (Game.Time - _healthTime > 1)
            {
                _healthTime = Game.Time;
                _healthValue = ObjectManager.Player.Health;
            }

            base.Update(mode, combo, target);
            if (UseAlways && ShouldUse())
                Cast();
            _shouldUse = false;
        }
예제 #43
0
파일: CassR.cs 프로젝트: wx8829110/WUYANZZZ
        public override void Gapcloser(ComboProvider combo, ActiveGapcloser gapcloser)
        {
            if (ObjectManager.Player.HealthPercent < GapcloserUltHp && gapcloser.Sender.IsValidTarget(Range))
            {
                var pred = GetPrediction(gapcloser.Sender);
                if (pred.Hitchance < HitChance.Low)
                {
                    return;
                }

                Cast(pred.CastPosition);
            }
        }
예제 #44
0
        public static void Update(ComboProvider combo)
        {
            if (combo.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo && _onlyCombo)
            {
                return;
            }

            var healthPrediction = HealthPrediction.GetHealthPrediction(ObjectManager.Player, 1);

            if (healthPrediction <= 0 && 75 + ObjectManager.Player.Level * 15 + healthPrediction > 0 && !ObjectManager.Player.IsDead) //Todo: grievious wounds and anti heal buff
            {
                UseHeal();
            } //todo continue
        }
예제 #45
0
 private void Update(ComboProvider provider)
 {
     if (provider.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo && _combo || !Enabled)
     {
         return;
     }
     foreach (var summ in _summs)
     {
         if (summ.Value)
         {
             summ.Key.Update();
         }
     }
 }
예제 #46
0
파일: BrandW.cs 프로젝트: wade1990/PortAIO
        public override void Interruptable(ComboProvider combo, AIHeroClient sender, ComboProvider.InterruptableSpell interruptableSpell, float endTime)
        {
            var distance = sender.Distance(ObjectManager.Player);

            if (sender.HasBuff("brandablaze") || Provider.IsMarked(sender) || !_brandQ.CouldHit(sender) || !InterruptW)
            {
                return;
            }

            if (Cast(sender) == CastStates.SuccessfullyCasted)
            {
                Provider.SetMarked(sender); //Todo: risky, keep an eye on this. If the W misses u r f****d
            }
        }
예제 #47
0
 private void Update(ComboProvider provider)
 {
     if (provider.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo && _combo)
     {
         return;
     }
     foreach (var item in _items)
     {
         if (item.Value && provider.Target.IsValidTarget())
         {
             item.Key.Update(provider.Target);
         }
     }
 }
예제 #48
0
 public override void LaneClear(ComboProvider combo, Obj_AI_Hero target)
 {
     if (MinionManager.GetMinions(325, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.None).Count >= MinFarmMinions)
     {
         if (!ObjectManager.Player.HasBuff("GarenQ") && Spell.Instance.Name == "GarenE")
         {
             SafeCast();
         }
         if (UseHydra)
         {
             ItemManager.GetItem <RavenousHydra>().Use(null);
         }
     }
 }
예제 #49
0
파일: BrandE.cs 프로젝트: jayblah/TheNinow
 public override void LaneClear(ComboProvider combo, Obj_AI_Hero target)
 {
     var minions = MinionManager.GetMinions(650, MinionTypes.All, MinionTeam.NotAlly).Where(minion => minion.HasBuff("brandablaze")).ToArray();
     if (!minions.Any()) return;
     Obj_AI_Base bestMinion = null;
     var neighbours = -1;
     foreach (var minion in minions)
     {
         var currentNeighbours = minions.Count(neighbour => neighbour.Distance(minion) < 300);
         if (currentNeighbours <= neighbours) continue;
         bestMinion = minion;
         neighbours = currentNeighbours;
     }
     Cast(bestMinion);
 }
예제 #50
0
        public override void Update(Orbwalking.OrbwalkingMode mode, ComboProvider combo, Obj_AI_Hero target)
        {
            if (Game.Time - _healthTime > 1)
            {
                _healthTime  = Game.Time;
                _healthValue = ObjectManager.Player.Health;
            }

            base.Update(mode, combo, target);
            if (UseAlways && ShouldUse())
            {
                Cast();
            }
            _shouldUse = false;
        }
예제 #51
0
 /// <summary>
 /// Adds to the menu and stuffs
 /// </summary>
 public static void Initialize(Menu igniteMenu, ComboProvider combo, bool autoUpdate = false)
 {
     _ignite = ObjectManager.Player.Spellbook.Spells.FirstOrDefault(spell => spell.Name == "summonerdot");
     if (_ignite == null) return;
     _igniteSpell = new Spell(_ignite.Slot);
     _igniteUsage = igniteMenu.AddMItem("Use Ignite", true);
     _igniteKillsteal = igniteMenu.AddMItem("Killsteal", false);
     _igniteOnlyCombo = igniteMenu.AddMItem("Only in combo", false);
     _igniteSituation = igniteMenu.AddMItem("Situation analysis", false);
     igniteMenu.AddMItem("Don't use if killable by");
     _igniteMaxAutoattacks = igniteMenu.AddMItem("X Autoattacks", new Slider(1, 0, 5));
     _igniteSpellsCooldown = igniteMenu.AddMItem("Don't use if skills up", false);
     _igniteCloseFight = igniteMenu.AddMItem("Ignore above in close fight", true);
     _igniteCloseFightHealth = igniteMenu.AddMItem("Close fight health diff %", new Slider(20));
     if (autoUpdate)
         Game.OnUpdate += _ => Update(combo);
 }
예제 #52
0
파일: TwitchW.cs 프로젝트: jayblah/TheNinow
 public override void Update(Orbwalking.OrbwalkingMode mode, ComboProvider combo, Obj_AI_Hero target)
 {
     base.Update(mode, combo, target);
     if (_afterAttack) _afterAttack = false;
 }
예제 #53
0
파일: CassW.cs 프로젝트: jayblah/TheNinow
 public override void Initialize(ComboProvider combo)
 {
     _q = combo.GetSkill<CassQ>();
     _r = combo.GetSkill<CassR>();
     base.Initialize(combo);
 }
예제 #54
0
 public override void Initialize(ComboProvider combo)
 {
     //OnlyUpdateIfTargetValid = false;
     SetSkillshot(0.50f, 1500f, float.MaxValue, false, SkillshotType.SkillshotCircle);
     base.Initialize(combo);
 }
예제 #55
0
파일: TwitchW.cs 프로젝트: jayblah/TheNinow
 public override void Gapcloser(ComboProvider combo, ActiveGapcloser gapcloser)
 {
     Cast(gapcloser.Sender, true);
 }
예제 #56
0
 public override void Update(Orbwalker.ActiveModes mode, ComboProvider combo, AIHeroClient target)
 {
     if (Program.getMiscMenuCB("eKS") &&
         (mode == Orbwalker.ActiveModes.Combo || !Program.getMiscMenuCB("KSCombo")))
         foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.LSIsValidTarget(650)))
         {
             if (!IsKillable(enemy)) continue;
             Cast(enemy);
         }
     base.Update(mode, combo, target);
 }
예제 #57
0
파일: EkkoW.cs 프로젝트: jayblah/TheNinow
 public override void Gapcloser(IMainContext context, ComboProvider combo, ActiveGapcloser gapcloser)
 {
     if (AntiGapcloser)
         SafeCast(() => Spell.Cast(ObjectManager.Player.Position));
     base.Gapcloser(context, combo, gapcloser);
 }
예제 #58
0
파일: TwitchE.cs 프로젝트: jayblah/TheNinow
 public override void Update(Orbwalking.OrbwalkingMode mode, ComboProvider combo, Obj_AI_Hero target)
 {
     if (Killsteal && HeroManager.Enemies.Any(enemy => enemy.IsValidTarget(1100) && CanKill(enemy)))
         Cast();
     base.Update(mode, combo, target);
 }
예제 #59
0
        public void Load()
        {
            if (ObjectManager.Player.ChampionName != "Garen")
                return;
            Notifications.AddNotification("The Garen v2 loaded!", 3);

            var mainMenu = new Menu("The Garen", "The Garen", true);
            var orbwalkerMenu = mainMenu.CreateSubmenu("Orbwalker");
            var targetSelectorMenu = mainMenu.CreateSubmenu("Target Selector");
            var comboMenu = mainMenu.CreateSubmenu("Combo");
            var laneClearMenu = mainMenu.CreateSubmenu("Laneclear");
            var miscMenu = mainMenu.CreateSubmenu("Misc");
            var items = mainMenu.CreateSubmenu("Items");
            var gapcloserMenu = mainMenu.CreateSubmenu("Gapcloser");
            var interrupterMenu = mainMenu.CreateSubmenu("Interrupter");
            var drawingMenu = mainMenu.CreateSubmenu("Drawing");

            var orbwalker = new Orbwalking.Orbwalker(orbwalkerMenu);
            TargetSelector.AddToMenu(targetSelectorMenu);

            _comboProvider = new ComboProvider(500, new Skill[] { new GarenQ(new Spell(SpellSlot.Q)), new GarenW(new Spell(SpellSlot.W)), new GarenE(new Spell(SpellSlot.E)), new GarenR(new Spell(SpellSlot.R)) }.ToList(), orbwalker);
            _r = _comboProvider.GetSkill<GarenR>();
            _flash = ObjectManager.Player.Spellbook.Spells.FirstOrDefault(spell => spell.Name == "summonerflash");
            _comboProvider.CreateBasicMenu(comboMenu, null, null, gapcloserMenu, interrupterMenu, null, mainMenu.CreateSubmenu("Ignite"), items, false);
            _comboProvider.CreateLaneclearMenu(laneClearMenu, false, SpellSlot.W);

            comboMenu.AddMItem("Q After Auto Attack", true, (sender, args) => _comboProvider.GetSkill<GarenQ>().OnlyAfterAuto = args.GetNewValue<bool>());
            comboMenu.AddMItem("E After Auto Attack", true, (sender, args) => _comboProvider.GetSkill<GarenE>().OnlyAfterAuto = args.GetNewValue<bool>());
            comboMenu.AddMItem("R Killsteal", false, (sender, args) => _comboProvider.GetSkill<GarenR>().Killsteal = args.GetNewValue<bool>());
            comboMenu.AddMItem("Q if not in range", true, (sender, args) => _comboProvider.GetSkill<GarenQ>().UseWhenOutOfRange = args.GetNewValue<bool>());
            comboMenu.ProcStoredValueChanged<bool>();

            miscMenu.AddMItem("Also W out of combo", true, (sender, args) => _comboProvider.GetSkill<GarenW>().UseAlways = args.GetNewValue<bool>());
            miscMenu.AddMItem("Min incomming DPS for W in health %", new Slider(2, 1, 15), (sender, args) => _comboProvider.GetSkill<GarenW>().MinDamagePercent = args.GetNewValue<Slider>().Value).ProcStoredValueChanged<Slider>();
            miscMenu.AddMItem("Always W enemy ults", true, (sender, args) => _comboProvider.GetSkill<GarenW>().UseOnUltimates = args.GetNewValue<bool>());
            miscMenu.ProcStoredValueChanged<bool>();

            gapcloserMenu.AddMItem("(Using W if enabled)");

            laneClearMenu.AddMItem("E min. minions", new Slider(1, 1, 8), (sender, args) => _comboProvider.GetSkill<GarenE>().MinFarmMinions = args.GetNewValue<Slider>().Value).ProcStoredValueChanged<Slider>();
            laneClearMenu.AddMItem("Use Hydra", true, (sender, args) => _comboProvider.GetSkill<GarenE>().UseHydra = args.GetNewValue<bool>()).ProcStoredValueChanged<bool>();

            drawingMenu.AddMItem("Damage Indicator", new Circle(true, Color.FromArgb(100, Color.Goldenrod)), (sender, args) =>
            {
                DamageIndicator.DamageToUnit = _comboProvider.GetComboDamage;
                DamageIndicator.Enabled = args.GetNewValue<Circle>().Active;
                DamageIndicator.FillColor = args.GetNewValue<Circle>().Color;
                DamageIndicator.Fill = true;
                DamageIndicator.Color = Color.FromArgb(255, DamageIndicator.FillColor);
            });
            drawingMenu.AddMItem("R Range", new Circle(true, Color.Goldenrod), (sender, args) => _drawR = args.GetNewValue<Circle>());
            drawingMenu.AddMItem("Draw possible flash-ult", new Circle(true, Color.Red), (sender, args) => _drawFlashUlt = args.GetNewValue<Circle>());
            drawingMenu.AddMItem("Damage Indicator by xSalice!");
            drawingMenu.ProcStoredValueChanged<Circle>();

            mainMenu.AddMItem("Max order: R > E > Q > W! Have fun!");
            mainMenu.AddToMainMenu();
            _comboProvider.Initialize();

            Game.OnUpdate += Tick;
            Drawing.OnDraw += Draw;
        }
예제 #60
0
        public override void Initialize(ComboProvider combo)
        {
            SetSkillshot(0.25f, 40f, 1200f, true, SkillshotType.SkillshotLine); // orig width : 40

            base.Initialize(combo);
        }