示例#1
0
文件: Nidalee.cs 项目: Zypppy/AimTec
        private void OnCombo()
        {
            bool useQ = Menu["combo"]["useq"].Enabled;

            if (useQ)
            {
                var QHuman  = GetBestEnemyHeroTargetInRange(QH.Range);
                var QCougar = GetBestEnemyHeroTargetInRange(QC.Range);
                switch (Menu["combo"]["qo"].As <MenuList>().Value)
                {
                case 0:
                    if (QH.Ready && Player.SpellBook.GetSpell(SpellSlot.Q).Name == "JavelinToss" && QHuman.IsValidTarget(QH.Range))
                    {
                        QH.Cast(QHuman);
                    }
                    else if (QC.Ready && Player.SpellBook.GetSpell(SpellSlot.Q).Name == "Takedown" && QCougar.IsValidTarget(QC.Range))
                    {
                        QC.Cast();
                    }
                    break;

                case 1:
                    if (QH.Ready && Player.SpellBook.GetSpell(SpellSlot.Q).Name == "JavelinToss" && QHuman.IsValidTarget(QH.Range))
                    {
                        QH.Cast(QHuman);
                    }
                    break;

                case 2:
                    if (QC.Ready && Player.SpellBook.GetSpell(SpellSlot.Q).Name == "Takedown" && QCougar.IsValidTarget(QC.Range))
                    {
                        QC.Cast();
                    }
                    break;
                }
            }
            bool useW = Menu["combo"]["usew"].Enabled;

            if (useW)
            {
                var WHuman  = GetBestEnemyHeroTargetInRange(WH.Range);
                var WCougar = GetBestEnemyHeroTargetInRange(WC.Range);
                switch (Menu["combo"]["wo"].As <MenuList>().Value)
                {
                case 0:
                    if (WH.Ready && Player.SpellBook.GetSpell(SpellSlot.W).Name == "Bushwhack" && WHuman.IsValidTarget(WH.Range))
                    {
                        WH.Cast(WHuman);
                    }
                    else if (WC.Ready && Player.SpellBook.GetSpell(SpellSlot.W).Name == "Pounce" && WCougar.IsValidTarget(WC.Range))
                    {
                        WC.Cast(WCougar);
                    }
                    break;

                case 1:
                    if (WH.Ready && Player.SpellBook.GetSpell(SpellSlot.W).Name == "Bushwhack" && WHuman.IsValidTarget(WH.Range))
                    {
                        WH.Cast(WHuman);
                    }
                    break;

                case 2:
                    if (WC.Ready && Player.SpellBook.GetSpell(SpellSlot.W).Name == "Pounce" && WCougar.IsValidTarget(WC.Range))
                    {
                        WC.Cast(WCougar);
                    }
                    else if (WCL.Ready && Player.SpellBook.GetSpell(SpellSlot.W).Name == "Pounce" && WCougar.IsValidTarget(WCL.Range) && WCougar.HasBuff("NidaleePassiveHunted"))
                    {
                        WCL.Cast(WCougar);
                    }
                    break;
                }
            }

            bool  useE  = Menu["combo"]["usee"].Enabled;
            float hpe   = Menu["combo"]["useeh"].As <MenuSlider>().Value;
            float manae = Menu["combo"]["useehm"].As <MenuSlider>().Value;

            if (useE)
            {
                var ECougar = GetBestEnemyHeroTargetInRange(EC.Range);
                switch (Menu["combo"]["eo"].As <MenuList>().Value)
                {
                case 0:
                    if (EH.Ready && Player.SpellBook.GetSpell(SpellSlot.E).Name == "PrimalSurge" && Player.ManaPercent() >= manae && Player.HealthPercent() <= hpe)
                    {
                        EH.Cast(Player);
                    }
                    else if (EC.Ready && Player.SpellBook.GetSpell(SpellSlot.E).Name == "Swipe" && ECougar.IsValidTarget(EC.Range))
                    {
                        EC.Cast(ECougar);
                    }
                    break;

                case 1:
                    if (EH.Ready && Player.SpellBook.GetSpell(SpellSlot.E).Name == "PrimalSurge" && Player.ManaPercent() >= manae && Player.HealthPercent() <= hpe)
                    {
                        EH.Cast(Player);
                    }
                    break;

                case 2:
                    if (EC.Ready && Player.SpellBook.GetSpell(SpellSlot.E).Name == "Swipe" && ECougar.IsValidTarget(EC.Range))
                    {
                        EC.Cast(ECougar);
                    }
                    break;
                }
            }
            bool  useR   = Menu["combo"]["user"].Enabled;
            float rangeR = Menu["combo"]["userr"].As <MenuSlider>().Value;

            if (useR)
            {
                var RTarget = GetBestEnemyHeroTargetInRange(rangeR);
                switch (Menu["combo"]["ro"].As <MenuList>().Value)
                {
                case 0:
                    if (R.Ready && !QH.Ready && Player.SpellBook.GetSpell(SpellSlot.Q).Name == "JavelinToss" && RTarget.IsValidTarget(WC.Range))
                    {
                        R.Cast();
                    }
                    else if (R.Ready && !QC.Ready && Player.SpellBook.GetSpell(SpellSlot.Q).Name == "Takedown" && RTarget.IsValidTarget(QH.Range))
                    {
                        R.Cast();
                    }
                    else if (R.Ready && !RTarget.IsValidTarget(WCL.Range) && Player.SpellBook.GetSpell(SpellSlot.Q).Name != "JavelinToss")
                    {
                        R.Cast();
                    }
                    break;
                }
            }
        }
示例#2
0
文件: Nidalee.cs 项目: Zypppy/AimTec
        private void Jungle()
        {
            foreach (var jungle in GameObjects.Jungle.Where(m => m.IsValidTarget(QH.Range)).ToList())
            {
                if (!jungle.IsValidTarget() || !jungle.IsValidSpellTarget())
                {
                    return;
                }

                float manapercent = Menu["jungleclear"]["manaj"].As <MenuSlider>().Value;
                if (Player.ManaPercent() >= manapercent)
                {
                    bool useQ = Menu["jungleclear"]["usejq"].Enabled;
                    if (useQ)
                    {
                        switch (Menu["jungleclear"]["qo"].As <MenuList>().Value)
                        {
                        case 0:
                            if (QH.Ready && Player.SpellBook.GetSpell(SpellSlot.Q).Name == "JavelinToss" && jungle.IsValidTarget(QH.Range))
                            {
                                QH.Cast(jungle);
                            }
                            else if (QC.Ready && Player.SpellBook.GetSpell(SpellSlot.Q).Name == "Takedown" && jungle.IsValidTarget(QC.Range))
                            {
                                QC.Cast();
                            }
                            break;

                        case 1:
                            if (QH.Ready && Player.SpellBook.GetSpell(SpellSlot.Q).Name == "JavelinToss" && jungle.IsValidTarget(QH.Range))
                            {
                                QH.Cast(jungle);
                            }
                            break;

                        case 2:
                            if (QC.Ready && Player.SpellBook.GetSpell(SpellSlot.Q).Name == "Takedown" && jungle.IsValidTarget(QC.Range))
                            {
                                QC.Cast();
                            }
                            break;
                        }
                    }
                    bool useW = Menu["jungleclear"]["usejw"].Enabled;
                    if (useW)
                    {
                        switch (Menu["jungleclear"]["wo"].As <MenuList>().Value)
                        {
                        case 0:
                            if (WH.Ready && Player.SpellBook.GetSpell(SpellSlot.W).Name == "Bushwhack" && jungle.IsValidTarget(WH.Range))
                            {
                                WH.Cast(jungle);
                            }
                            else if (WC.Ready && Player.SpellBook.GetSpell(SpellSlot.W).Name == "Pounce" && jungle.IsValidTarget(WC.Range))
                            {
                                WC.Cast(jungle);
                            }
                            break;

                        case 1:
                            if (WH.Ready && Player.SpellBook.GetSpell(SpellSlot.W).Name == "Bushwhack" && jungle.IsValidTarget(WH.Range))
                            {
                                WH.Cast(jungle);
                            }
                            break;

                        case 2:
                            if (WC.Ready && Player.SpellBook.GetSpell(SpellSlot.W).Name == "Pounce" && jungle.IsValidTarget(WC.Range))
                            {
                                WC.Cast(jungle);
                            }
                            else if (WCL.Ready && Player.SpellBook.GetSpell(SpellSlot.W).Name == "Pounce" && jungle.IsValidTarget(WCL.Range) && jungle.HasBuff("NidaleePassiveHunted"))
                            {
                                WCL.Cast(jungle);
                            }
                            break;
                        }
                    }
                    bool useE = Menu["jungleclear"]["usejce"].Enabled;
                    if (useE && Player.SpellBook.GetSpell(SpellSlot.E).Name == "Swipe" && EC.Ready && jungle.IsValidTarget(EC.Range))
                    {
                        EC.Cast(jungle);
                    }
                    bool useR = Menu["jungleclear"]["usejr"].Enabled;
                    if (useR)
                    {
                        switch (Menu["combo"]["ro"].As <MenuList>().Value)
                        {
                        case 0:
                            if (R.Ready && !QH.Ready && Player.SpellBook.GetSpell(SpellSlot.Q).Name == "JavelinToss" && jungle.IsValidTarget(QC.Range))
                            {
                                R.Cast();
                            }
                            else if (R.Ready && !QC.Ready && Player.SpellBook.GetSpell(SpellSlot.Q).Name == "Takedown" && jungle.IsValidTarget(QH.Range))
                            {
                                R.Cast();
                            }
                            else if (R.Ready && !jungle.IsValidTarget(WCL.Range) && Player.SpellBook.GetSpell(SpellSlot.Q).Name != "JavelinToss" || jungle == null)
                            {
                                R.Cast();
                            }
                            break;
                        }
                    }
                }
            }
        }
示例#3
0
        /// <summary>
        /// Executes the algorithms on the data
        /// Results are written to a log
        /// </summary>
        /// <param name="Set">DataSet containing the RSS data</param>
        /// <param name="numberAnchors">The number of anchors that the dataset should contain</param>
        private void ExecuteAlgorithms(DataSet Set, int numberAnchors)
        {
            Console.WriteLine("Executing each algorithm on the data");

            foreach (DataRow row in Set.Tables[0].Rows)
            {
                currentID = row["node"].ToString();
                Node CurrentNode;

                //Positioning.Point pos = new Positioning.Point(0, 0);
                Point pos = new Point(0, 0);

                if (currentID == "11")
                {
                    CurrentNode = BlindNodes.Find(BN => BN.WsnIdProperty == currentID);
                    CurrentNode.UpdateAnchors(row["ANode"].ToString(), Convert.ToDouble(row["RSSI"].ToString()), 1, DateTime.Now);

                    if (CurrentNode.Anchors.Count == numberAnchors)
                    {
                        logger.Write(row["idlocalization"].ToString() + ",");
                        logger.Write(row["time"].ToString() + ",");
                        logger.Write(currentID + ",");
                        logger.Write(CurrentNode.Anchors.Count + ",");

                        //centroid localization
                        //logger.Write("CL,");
                        pos = CentroidLocalization.CalculatePosition(CurrentNode);
                        LogPosition(pos, CurrentNode, logger);

                        //wcl
                        //logger.Write("WCL - NoFilter,");
                        pos = WCL.CalculatePosition(CurrentNode, RangeBasedPositioning.NoFilter);
                        LogPosition(pos, CurrentNode, logger);

                        //min-max
                        //logger.Write("Min-Max - NoFilter - Ranging,");
                        pos = MinMaxExtended.CalculatePosition(CurrentNode, RangeBasedPositioning.NoFilter, RangeBasedPositioning.Ranging, false);
                        LogPosition(pos, CurrentNode, logger);

                        //logger.Write("Min-Max - NoFilter - DefaultRanging,");
                        pos = MinMaxExtended.CalculatePosition(CurrentNode, RangeBasedPositioning.NoFilter, RangeBasedPositioning.DefaultRanging, false);
                        LogPosition(pos, CurrentNode, logger);

                        //trilateration
                        //logger.Write("TriLat - NoFilter - Ranging,");
                        pos = ExtendedTrilateration.CalculatePosition(CurrentNode, RangeBasedPositioning.NoFilter,
                                                                      RangeBasedPositioning.Ranging, false);
                        LogPosition(pos, CurrentNode, logger);

                        //logger.Write("TriLat - NoFilter - DefaultRanging,");
                        pos = ExtendedTrilateration.CalculatePosition(CurrentNode, RangeBasedPositioning.NoFilter,
                                                                      RangeBasedPositioning.DefaultRanging, false);
                        LogPosition(pos, CurrentNode, logger);

                        //lstrilateration
                        //logger.Write("LSTriLat - NoFilter - Ranging,");
                        pos = LSTrilateration.CalculatePosition(CurrentNode, RangeBasedPositioning.NoFilter,
                                                                RangeBasedPositioning.Ranging, false);
                        LogPosition(pos, CurrentNode, logger);

                        //logger.Write("LSTriLat - NoFilter - DefaultRanging,");
                        pos = LSTrilateration.CalculatePosition(CurrentNode, RangeBasedPositioning.NoFilter,
                                                                RangeBasedPositioning.DefaultRanging, false);
                        LogPosition(pos, CurrentNode, logger);
                    }
                    else if (CurrentNode.Anchors.Count > numberAnchors)
                    {
                        logger.WriteLine("Too many nodes for idlocalization:" + row["idlocalization"].ToString());
                    }

                    logger.WriteLine("");
                    logger.Flush();
                }
                //Performs calibratino
                else
                {
                    if (!AnchorNodes.Exists(AN => AN.WsnIdProperty == currentID))
                    {
                        AnchorNodes.Add(new Node(row["node"].ToString(), MyDb));
                    }

                    CurrentNode = AnchorNodes.Find(AN => AN.WsnIdProperty == currentID);
                    CurrentNode.UpdateAnchors(row["ANode"].ToString(), Convert.ToDouble(row["RSSI"].ToString()), 1, DateTime.Now);
                    //CurrentNode = AnchorNodes.Find(AN => AN.WsnIdProperty == currentID);

                    RangeBasedPositioning.CalibratePathlossLS(AnchorNodes, RangeBasedPositioning.NoFilter);
                }
            }
        }