示例#1
0
        public override void farm()
        {
            Obj_AI_Base target = (Obj_AI_Base)DeathWalker.getBestTarget();

            if (target is Obj_AI_Minion && W.IsKillable(target))
            {
                useWSmart(target);
            }
        }
示例#2
0
        public static void UseSummoners()
        {
            if (ObjectManager.Player.IsDead)
            {
                return;
            }

            const int xDangerousRange = 1100;

            if (Config.Item("SUMHEALENABLE").GetValue <bool>())
            {
                var xSlot   = ObjectManager.Player.GetSpellSlot("summonerheal");
                var xCanUse = ObjectManager.Player.Health <=
                              ObjectManager.Player.MaxHealth / 100 * Config.Item("SUMHEALSLIDER").GetValue <Slider>().Value;

                if (xCanUse && !ObjectManager.Player.InShop() &&
                    (xSlot != SpellSlot.Unknown || ObjectManager.Player.Spellbook.CanUseSpell(xSlot) == SpellState.Ready) &&
                    ObjectManager.Player.CountEnemiesInRange(xDangerousRange) > 0)
                {
                    ObjectManager.Player.Spellbook.CastSpell(xSlot);
                }
            }

            if (Config.Item("SUMBARRIERENABLE").GetValue <bool>())
            {
                var xSlot   = ObjectManager.Player.GetSpellSlot("summonerbarrier");
                var xCanUse = ObjectManager.Player.Health <=
                              ObjectManager.Player.MaxHealth / 100 *
                              Config.Item("SUMBARRIERSLIDER").GetValue <Slider>().Value;

                if (xCanUse && !ObjectManager.Player.InShop() &&
                    (xSlot != SpellSlot.Unknown || ObjectManager.Player.Spellbook.CanUseSpell(xSlot) == SpellState.Ready) &&
                    ObjectManager.Player.CountEnemiesInRange(xDangerousRange) > 0)
                {
                    ObjectManager.Player.Spellbook.CastSpell(xSlot);
                }
            }

            if (Config.Item("SUMIGNITEENABLE").GetValue <bool>())
            {
                var xSlot = ObjectManager.Player.GetSpellSlot("summonerdot");
                var t     = DeathWalker.getBestTarget() as Obj_AI_Hero;

                if (t != null && xSlot != SpellSlot.Unknown &&
                    ObjectManager.Player.Spellbook.CanUseSpell(xSlot) == SpellState.Ready)
                {
                    if (ObjectManager.Player.Distance(t) < 650 &&
                        ObjectManager.Player.GetSummonerSpellDamage(t, Damage.SummonerSpell.Ignite) >=
                        t.Health)
                    {
                        ObjectManager.Player.Spellbook.CastSpell(xSlot, t);
                    }
                }
            }
        }
示例#3
0
文件: Olaf.cs 项目: spofa/GoodGuyJodu
 public void gatherAze()
 {
     DeathWalker.CustomOrbwalkMode = false;
     if (olafAxe == null)
     {
         return;
     }
     if (!safeGap(olafAxe.Position.To2D()))
     {
         return;
     }
     DeathWalker.CustomOrbwalkMode = true;
     DeathWalker.deathWalkTarget(olafAxe.Position, DeathWalker.getBestTarget());
 }
示例#4
0
        private void OnPlayAnimation(GameObject sender, GameObjectPlayAnimationEventArgs args)
        {
            if (sender.IsMe && args.Animation != "Run")
            {
                if (args.Animation.Contains("pell"))
                {
                    Utility.DelayAction.Add(Game.Ping, delegate { cancelAnim(args.Animation.Contains("Spell1")); });
                }

                var targ = (Obj_AI_Base)DeathWalker.getBestTarget();
                if (targ != null && targ is Obj_AI_Base)
                {
                    if (args.Animation == "Spell3" && R.IsReady())
                    {
                        useRSmart(targ, true);
                        //Utility.DelayAction.Add(10,
                        //    delegate { Riven.useRSmart(targ,true); });
                    }

                    if (sender.IsMe && args.Animation == "Spell3" &&
                        Q.IsReady())
                    {
                        Console.WriteLine("force W");
                        Utility.DelayAction.Add(30, delegate { useWSmart(targ, false, true); });
                        //Riven.Q.Cast(targ.Position);
                        //Riven.forceQ = true;
                        // Riven.timer = new System.Threading.Timer(obj => { Riven.Player.IssueOrder(GameObjectOrder.MoveTo, Riven.difPos()); }, null, (long)100, System.Threading.Timeout.Infinite);
                    }

                    if (sender.IsMe && args.Animation == "Spell2" &&
                        Q.IsReady())
                    {
                        Utility.DelayAction.Add(30, delegate { Q.Cast(targ.Position); });
                        Aggresivity.addAgresiveMove(new AgresiveMove(30, 3000));
                        //Console.WriteLine("force q");

                        // Riven.forceQ = true;
                        // Riven.timer = new System.Threading.Timer(obj => { Riven.Player.IssueOrder(GameObjectOrder.MoveTo, Riven.difPos()); }, null, (long)100, System.Threading.Timeout.Infinite);
                    }


                    // useHydra(Obj_AI_Base target)
                }
            }
        }
示例#5
0
        public void cancelAnim(bool aaToo = false)
        {
            if (aaToo)
            {
                resetAaonNewPath = true;
            }
            Game.Say("/d");
            player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos);
            if (DeathWalker.getBestTarget() != null)
            {
                if (W.IsReady())
                {
                    useWSmart((Obj_AI_Base)DeathWalker.getBestTarget());
                }
            }


            //  Packet.C2S.Cast.Encoded(new Packet.C2S.Cast.Struct(fill iterator up)).Send();
        }
示例#6
0
 public void Catch(bool shouldUseWForIt, PossibleReticle Axe)
 {
     if (shouldUseWForIt && W.IsReady() && !Axe.isCatchingNow())
     {
         W.Cast();
     }
     DeathWalker.CustomOrbwalkMode = true;
     DeathWalker.deathWalkTarget(Axe.Position.Extend(player.Position, player.BoundingRadius - 100), DeathWalker.getBestTarget());
 }
示例#7
0
        private static void Game_OnGameUpdate(EventArgs args)
        {
            if (Items.HasItem(3139) || Items.HasItem(3140))
            {
                CheckChampionBuff();
            }
            //Update the combo and harass values.
            CClass.ComboActive = DeathWalker.CurrentMode == DeathWalker.Mode.Combo;

            var vHarassManaPer = Config.Item("HarassMana").GetValue <Slider>().Value;

            CClass.HarassActive = DeathWalker.CurrentMode == DeathWalker.Mode.Harass &&
                                  ObjectManager.Player.ManaPercent >= vHarassManaPer;

            CClass.ToggleActive = ObjectManager.Player.ManaPercent >= vHarassManaPer;

            var vLaneClearManaPer = Config.Item("LaneClearMana").GetValue <Slider>().Value;

            CClass.LaneClearActive = DeathWalker.CurrentMode == DeathWalker.Mode.LaneClear &&
                                     ObjectManager.Player.ManaPercent >= vLaneClearManaPer;

            CClass.Game_OnGameUpdate(args);

            UseSummoners();
            var useItemModes = Config.Item("UseItemsMode").GetValue <StringList>().SelectedIndex;

            //Items
            if (
                !((DeathWalker.Mode.Combo == DeathWalker.CurrentMode &&
                   (useItemModes == 2 || useItemModes == 3))
                  ||
                  (DeathWalker.Mode.LaneClear == DeathWalker.CurrentMode &&
                   (useItemModes == 1 || useItemModes == 3))))
            {
                return;
            }

            var botrk      = Config.Item("BOTRK").GetValue <bool>();
            var ghostblade = Config.Item("GHOSTBLADE").GetValue <bool>();
            var sword      = Config.Item("SWORD").GetValue <bool>();
            var muramana   = Config.Item("MURAMANA").GetValue <bool>();
            var target     = DeathWalker.getBestTarget() as Obj_AI_Base;

            var smiteReady = (SmiteSlot != SpellSlot.Unknown &&
                              ObjectManager.Player.Spellbook.CanUseSpell(SmiteSlot) == SpellState.Ready);

            if (target != null && smiteReady && DeathWalker.CurrentMode == DeathWalker.Mode.Combo)
            {
                Smiteontarget(target as Obj_AI_Hero);
            }

            if (botrk)
            {
                if (target != null && target.Type == ObjectManager.Player.Type &&
                    target.ServerPosition.Distance(ObjectManager.Player.ServerPosition) < 550)
                {
                    var hasCutGlass = Items.HasItem(3144);
                    var hasBotrk    = Items.HasItem(3153);

                    if (hasBotrk || hasCutGlass)
                    {
                        var itemId = hasCutGlass ? 3144 : 3153;
                        var damage = ObjectManager.Player.GetItemDamage(target, Damage.DamageItems.Botrk);
                        if (hasCutGlass || ObjectManager.Player.Health + damage < ObjectManager.Player.MaxHealth)
                        {
                            Items.UseItem(itemId, target);
                        }
                    }
                }
            }

            if (ghostblade && target != null && target.Type == ObjectManager.Player.Type &&
                !ObjectManager.Player.HasBuff("ItemSoTD", true) && /*if Sword of the divine is not active */
                DeathWalker.inAutoAttackRange(target))
            {
                Items.UseItem(3142);
            }

            if (sword && target != null && target.Type == ObjectManager.Player.Type &&
                !ObjectManager.Player.HasBuff("spectralfury", true) && /*if ghostblade is not active*/
                DeathWalker.inAutoAttackRange(target))
            {
                Items.UseItem(3131);
            }

            if (muramana && Items.HasItem(3042))
            {
                if (target != null && CClass.ComboActive &&
                    target.Position.Distance(ObjectManager.Player.Position) < 1200)
                {
                    if (!ObjectManager.Player.HasBuff("Muramana", true))
                    {
                        Items.UseItem(3042);
                    }
                }
                else
                {
                    if (ObjectManager.Player.HasBuff("Muramana", true))
                    {
                        Items.UseItem(3042);
                    }
                }
            }
        }