コード例 #1
0
        public static void SalvageItems()
        {
            UIElement salvgUI = null;

            while (salvgUI == null || !salvgUI.Visible)
            {
                salvgUI =
                    Sherpa.GetData(
                        () =>
                        UIElement.Get().Where(
                            x => x.Name.Contains("Root.NormalLayer.vendor_dialog_mainPage.salvage_dialog")).
                        FirstOrDefault());
            }


            var items = Sherpa.GetData(() => Me.GetContainerItems(Container.Inventory).Where(CheckItemSalvage).ToArray());

            Snowshoes.Print(string.Format("Salvaging {0} items", items.Count()));
            foreach (var i in items)
            {
                Unit i1 = i;
                Sherpa.GetBool(i1.SalvageItem);
                Thread.Sleep(Game.Ping);
            }
        }
コード例 #2
0
        protected override void Loop()
        {
            StartGame();


            ticks = Environment.TickCount;

            var goldStart = GetData(() => Me.Gold);


            switch (Me.SNOId)
            {
            case SNOActorId.Barbarian_Male:
            case SNOActorId.Barbarian_Female:
                if (!BarbarianCellarRun())
                {
                    return;
                }
                break;

            case SNOActorId.WitchDoctor_Male:
            case SNOActorId.WitchDoctor_Female:
                throw new NotImplementedException();

            //break;
            case SNOActorId.Wizard_Male:
            case SNOActorId.Wizard_Female:
                throw new NotImplementedException();

            //break;
            case SNOActorId.Demonhunter_Male:
            case SNOActorId.Demonhunter_Female:
                if (!DemonHunterCellarRun())
                {
                    return;
                }
                break;

            case SNOActorId.Monk_Male:
            case SNOActorId.Monk_Female:
                throw new NotImplementedException();
                //break;
            }


            SnagIt.SnagItems();


            Snowshoes.Print(string.Format("Collected {0}k!", Math.Round((GetData(() => Me.Gold) - goldStart) / 1000m, 1)));
            var srunTime = Math.Round((Environment.TickCount - ticks) / 1000m, 0);

            _successes.Add(srunTime);
            Snowshoes.Print(String.Format("{0} secs success run ({1} avg); {2}% rate ({3}/{4})", srunTime,
                                          Math.Round(_successes.Average()),
                                          Math.Round((_successes.Count / (_failures.Count + (decimal)_successes.Count)) *
                                                     100m),
                                          _successes.Count, _successes.Count + _failures.Count));
        }
コード例 #3
0
ファイル: Watchdog.cs プロジェクト: nuzayets/Snowshoes
 protected override void Loop()
 {
     if (_dependent.TickRunTime() <= TimeoutSeconds * 1000)
     {
         return;
     }
     Snowshoes.Print("Watchdog kill!");
     _dependent.HardRestart();
 }
コード例 #4
0
        public static void SellItems()
        {
            var items = Sherpa.GetData(() => Me.GetContainerItems(Container.Inventory).Where(CheckItemSell).ToArray());

            Snowshoes.Print(string.Format("Selling {0} items", items.Count()));
            foreach (var i in items)
            {
                Unit i1 = i;
                Sherpa.PerformAction(i1.SellItem);
                Thread.Sleep(Game.Ping);
            }
        }
コード例 #5
0
ファイル: DeathMonitor.cs プロジェクト: nuzayets/Snowshoes
        protected override void Loop()
        {
            if (GetBool(() => Game.Ingame && Me.Life > 0) || !Game.Ingame)
            {
                return;
            }
            Thread.Sleep(500);
            if (GetBool(() => Game.Ingame && Me.Life > 0) || !Game.Ingame)
            {
                return;
            }

            Snowshoes.Print(string.Format("Death {0}!", ++_deaths));
            _dependent.HardRestart();
        }
コード例 #6
0
        private Unit CheckForCellar()
        {
            var cellar = GetData(() => Unit.Get().FirstOrDefault(u => u.Name.Contains("Dank Cellar")));

            if (cellar == default(Unit))
            {
                var runTime = Math.Round((Environment.TickCount - ticks) / 1000m, 0);
                _failures.Add(runTime);
                Snowshoes.Print(String.Format("{0} secs failure run ({1} avg); {2}% success rate", runTime,
                                              Math.Round(_failures.Average()),
                                              Math.Round((_successes.Count /
                                                          (_failures.Count + (decimal)_successes.Count)) *
                                                         100m)));
                ExitGame();
                return(null);
            }
            return(cellar);
        }
コード例 #7
0
        protected override void Loop()
        {
            var gold = GetData(() => Game.Ingame ? Me.Gold : 0);

            if (gold == 0)
            {
                return;
            }

            if (_goldStart == 0)
            {
                _goldStart  = gold;
                _ticksStart = Environment.TickCount;
                return;
            }

            var hoursElapsed = (Environment.TickCount - _ticksStart) / (1000.0m * 3600.0m);
            var goldEarned   = gold - _goldStart;
            var goldPerHour  = goldEarned / hoursElapsed;

            Snowshoes.GoldCount(FriendlyNumber(gold), FriendlyNumber(goldEarned), FriendlyNumber(goldPerHour));
        }
コード例 #8
0
 private void StopClick(object sender, EventArgs e)
 {
     Snowshoes.Stop();
 }
コード例 #9
0
 private void PauseClick(object sender, EventArgs e)
 {
     Snowshoes.Pause();
 }