示例#1
0
 public static void gapWithQ(Obj_AI_Base target)
 {
     if ((E.IsReady() || !Q.IsReady() || Player.IsAutoAttacking || !LXOrbwalker.CanAttack() || target.Distance(Player.ServerPosition) < Player.AttackRange) && !rushDown)
     {
         return;
     }
     reachWithQ(target);
 }
示例#2
0
 public static void useRSmart(Obj_AI_Base target)
 {
     if (!R.IsReady())
     {
         return;
     }
     if (!ultIsOn() && !E.IsReady() && target.Distance(Player.ServerPosition) < (Q.Range + target.BoundingRadius))
     {
         R.Cast();
     }
     else if (canUseWindSlash() && LXOrbwalker.CanAttack() && target is Obj_AI_Hero && (!(E.IsReady() && Player.IsDashing()) || Player.Distance(target) > 150))
     {
         var targ            = target as Obj_AI_Hero;
         PredictionOutput po = R.GetPrediction(targ, true);
         if (getTrueRDmgOn(targ) > ((targ.Health)) || rushDown)
         {
             if (po.Hitchance > HitChance.Medium && Player.Distance(po.UnitPosition) > 30)
             {
                 R.Cast(Player.Distance(po.UnitPosition) < 150 ? target.Position : po.UnitPosition);
             }
         }
     }
 }
示例#3
0
        private static void onDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args)
        {
            if (args.SourceNetworkId != Riven.Player.NetworkId || !isComboing() || LXOrbwalker.CanAttack() || !Riven.Q.IsReady())
            {
                return;
            }


            Obj_AI_Base targ = ObjectManager.GetUnitByNetworkId <Obj_AI_Base>(args.TargetNetworkId);

            if (targ == null)
            {
                return;
            }
            //Game.PrintChat("dmg: " + args.Damage + " type " + args.Type + " dmg type: " + args.HitType + " pred dmg: "+ Riven.Player.GetAutoAttackDamage(targ));

            if (args.Type == DamageType.Physcial && (args.HitType == DamageHitType.Normal || args.HitType == DamageHitType.Dodge))
            {
                Riven.Player.IssueOrder(GameObjectOrder.MoveTo, targ.Position);
                //if (targ is Obj_AI_Hero)
                Riven.Q.Cast(targ.Position);
            }
        }
示例#4
0
 private void NormalCombo()
 {
     if (targetObj == null)
     {
         return;
     }
     if (Config.Item(Name + "pusage").GetValue <bool>() && Player.HasBuff("blindmonkpassive_cosmetic", true) && LXOrbwalker.InAutoAttackRange(targetObj) && LXOrbwalker.CanAttack())
     {
         return;
     }
     if (Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && SkillE.Instance.Name == "BlindMonkEOne" && SkillE.InRange(targetObj.Position))
     {
         SkillE.Cast(PacketCast);
     }
     if (Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.IsReady())
     {
         if (SkillQ.Instance.Name == "BlindMonkQOne" && SkillQ.InRange(targetObj.Position))
         {
             if (Config.Item(Name + "smite").GetValue <bool>() && SkillQ.GetPrediction(targetObj).Hitchance == HitChance.Collision)
             {
                 if (!SmiteCollision(targetObj, SkillQ))
                 {
                     SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast);
                 }
             }
             else
             {
                 SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast);
             }
         }
         else if (targetObj.IsValidTarget(1300) && (targetObj.HasBuff("BlindMonkQOne", true) || targetObj.HasBuff("blindmonkqonechaos", true)))
         {
             if (Player.Distance(targetObj) > 500 || CanKill(targetObj, SkillQ, 1) || (targetObj.HasBuff("BlindMonkEOne", true) && SkillE.InRange(targetObj.Position)) || !QCasted)
             {
                 SkillQ.Cast(PacketCast);
             }
         }
     }
     if (Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && targetObj.IsValidTarget(575) && targetObj.HasBuff("BlindMonkEOne", true) && (Player.Distance(targetObj) > 450 || !ECasted))
     {
         SkillE.Cast(PacketCast);
     }
     if (Config.Item(Name + "rusage").GetValue <bool>() && Config.Item(Name + "ult" + targetObj.ChampionName).GetValue <bool>() && SkillR.IsReady() && SkillR.InRange(targetObj.Position))
     {
         if (CanKill(targetObj, SkillR) || (targetObj.Health - SkillR.GetDamage(targetObj) < GetQ2Dmg(targetObj, SkillR.GetDamage(targetObj)) && SkillQ.IsReady() && (targetObj.HasBuff("BlindMonkQOne", true) || targetObj.HasBuff("blindmonkqonechaos", true)) && Player.Mana >= 50))
         {
             SkillR.CastOnUnit(targetObj, PacketCast);
         }
     }
     if (Config.Item(Name + "wusage").GetValue <bool>() && SkillW.IsReady() && SkillE.InRange(targetObj.Position) && Player.Health * 100 / Player.MaxHealth <= Config.Item(Name + "autowusage").GetValue <Slider>().Value)
     {
         if (SkillW.Instance.Name == "BlindMonkWOne" && !WCasted)
         {
             SkillW.Cast(PacketCast);
             WCasted = true;
             Utility.DelayAction.Add(1000, () => WCasted = false);
         }
         else if (!Player.HasBuff("blindmonkwoneshield", true) && !WCasted)
         {
             SkillW.Cast(PacketCast);
         }
     }
     if (Config.Item(Name + "iusage").GetValue <bool>())
     {
         UseItem(targetObj);
     }
     if (Config.Item(Name + "ignite").GetValue <bool>())
     {
         CastIgnite(targetObj);
     }
 }
示例#5
0
文件: Program.cs 项目: aamarket/king
 public static bool canAttack()
 {
     return(LXOrbwalker.CanAttack());
 }
示例#6
0
        public static void OnGameProcessPacket(GamePacketEventArgs args)
        {
            try
            {
                if (isComboing())
                {
                    if (args.PacketData[0] == 35 && Riven.Q.IsReady())
                    {
                        Console.WriteLine("Gott");
                        GamePacket gp = new GamePacket(args.PacketData);
                        gp.Position = 2;
                        int netId = gp.ReadInteger();
                        if (LXOrbwalker.GetPossibleTarget() == null || LXOrbwalker.GetPossibleTarget().NetworkId != netId)
                        {
                            return;
                        }
                        if (!LXOrbwalker.CanAttack())
                        {
                            Riven.Q.Cast(LXOrbwalker.GetPossibleTarget().Position);
                        }
                    }

                    if (args.PacketData[0] == 0x17)
                    {
                        Console.WriteLine("cancel");

                        GamePacket packet = new GamePacket(args.PacketData);
                        packet.Position = 2;
                        int sourceId = packet.ReadInteger();
                        if (sourceId == Riven.Player.NetworkId)
                        {
                            Console.WriteLine("cancel wawf");
                            Packet.C2S.Move.Encoded(new Packet.C2S.Move.Struct(Game.CursorPos.X, Game.CursorPos.Y)).Send();
                            if (LXOrbwalker.GetPossibleTarget() != null)
                            {
                                Riven.moveTo(LXOrbwalker.GetPossibleTarget().Position);
                                //Packet.C2S.Move.Encoded(new Packet.C2S.Move.Struct(LXOrbwalker.GetPossibleTarget().Position.X, LXOrbwalker.GetPossibleTarget().Position.Y)).Send();

                                // LXOrbwalker.ResetAutoAttackTimer();
                                Riven.cancelAnim(true);
                            }
                        }
                    }

                    if (args.PacketData[0] == 0xDF && false)
                    {
                        Console.WriteLine("cancel");

                        GamePacket packet = new GamePacket(args.PacketData);
                        packet.Position = 2;
                        int sourceId = packet.ReadInteger();
                        if (sourceId == Riven.Player.NetworkId)
                        {
                            Console.WriteLine("cancel wawf");
                            Riven.moveTo(Game.CursorPos);
                            Packet.C2S.Move.Encoded(new Packet.C2S.Move.Struct(Game.CursorPos.X, Game.CursorPos.Y)).Send();
                            LXOrbwalker.ResetAutoAttackTimer();
                            Riven.cancelAnim();
                        }
                    }

                    if (args.PacketData[0] == 0x61) //move
                    {
                        GamePacket packet = new GamePacket(args.PacketData);
                        packet.Position = 12;
                        int sourceId = packet.ReadInteger();
                        if (sourceId == Riven.Player.NetworkId)
                        {
                            if (LXOrbwalker.GetPossibleTarget() != null)
                            {
                                //    Packet.C2S.Move.Encoded(new Packet.C2S.Move.Struct(LXOrbwalker.GetPossibleTarget().Position.X, LXOrbwalker.GetPossibleTarget().Position.Y)).Send();
                                LXOrbwalker.ResetAutoAttackTimer();
                            }
                        }
                    }
                    else if (args.PacketData[0] == 0x38) //animation2
                    {
                        GamePacket packet = new GamePacket(args.PacketData);
                        packet.Position = 1;
                        int sourceId = packet.ReadInteger();
                        if (packet.Size() == 9 && sourceId == Riven.Player.NetworkId)
                        {
                            Riven.moveTo(Game.CursorPos);
                            Packet.C2S.Move.Encoded(new Packet.C2S.Move.Struct(Game.CursorPos.X, Game.CursorPos.Y)).Send();
                            LXOrbwalker.ResetAutoAttackTimer();
                            Riven.cancelAnim();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }