BattleNet.AlphaBot.DoPindle C# (CSharp) Метод

DoPindle() публичный Метод

public DoPindle ( ) : void
Результат void
        public void DoPindle()
        {
            UInt32 curLife = 0;

            if (Pindle)
            {
                MoveTo(5089, 5019);
                MoveTo(5090, 5030);
                MoveTo(5082, 5033);
                MoveTo(5074, 5033);

                if (!VisitMalah())
                    return;

                MoveTo(5073, 5032);
                MoveTo(5073, 5044);
                MoveTo(5078, 5055);
                MoveTo(5081, 5065);
                MoveTo(5081, 5076);

                if (!ReviveMerc())
                    return;

                MoveTo(5082, 5087);
                MoveTo(5085, 5098);
                MoveTo(5088, 5110);
                MoveTo(5093, 5121);
                MoveTo(5103, 5124);
                MoveTo(5111, 5121);

                EnterRedPortal();

                Status = ClientStatus.STATUS_KILLING_PINDLESKIN;
                Console.WriteLine("{0}: [D2GS] Killing Pindleskin", Account);

                Precast();

                SwitchSkill(0x36);
                Thread.Sleep(300);

                CastOnCoord(10064, 13286);
                Thread.Sleep(300);
                CastOnCoord(10061, 13260);
                Thread.Sleep(300);
                CastOnCoord(10058, 13236);
                Thread.Sleep(300);
                if (ClientlessBot.debugging)
                    Console.WriteLine("Current Position: ({0},{1})", Me.Location.X, Me.Location.Y);

                NpcEntity pindle = GetNpc("Pindleskin");
                if (pindle == default(NpcEntity))
                {
                    Thread.Sleep(500);
                    pindle = GetNpc("Pindleskin");
                    if (pindle == default(NpcEntity))
                    {
                        Console.WriteLine("{0}: [D2GS] Unable to find Pindleskin, probably got stuck.", Account);
                        LeaveGame();
                        return;
                    }
                }
                curLife = BotGameData.Npcs[pindle.Id].Life;
                if (BotGameData.Npcs[pindle.Id].IsLightning && BotGameData.CharacterSkillSetup == GameData.CharacterSkillSetupType.SORCERESS_LIGHTNING && Difficulty == GameDifficulty.HELL)
                {
                    LeaveGame();
                    return;
                }
                while (BotGameData.Npcs[pindle.Id].Life > 0 && m_gs.m_socket.Connected)
                {
                    if (!Attack(pindle.Id))
                    {
                        LeaveGame();
                        return;
                    }
                    if (curLife > BotGameData.Npcs[pindle.Id].Life)
                    {
                        curLife = BotGameData.Npcs[pindle.Id].Life;
                        //Console.WriteLine("{0}: [D2GS] Pindleskins Life: {1}", Account, curLife);
                    }
                }
                Console.WriteLine("{0}: [D2GS] {1} is dead. Killing minions", Account, pindle.Name);

                NpcEntity monster;
                while (GetAliveNpc("Defiled Warrior", 20, out monster) && m_gs.m_socket.Connected)
                {
                    curLife = BotGameData.Npcs[monster.Id].Life;
                    Console.WriteLine("{0}: [D2GS] Killing Defiled Warrior", Account);
                    while (BotGameData.Npcs[monster.Id].Life > 0 && m_gs.m_socket.Connected)
                    {
                        if (!Attack(monster.Id))
                        {
                            LeaveGame();
                            return;
                        }
                        if (curLife > BotGameData.Npcs[monster.Id].Life)
                        {
                            curLife = BotGameData.Npcs[monster.Id].Life;
                            //Console.WriteLine("{0}: [D2GS] Defiled Warriors Life: {1}", Account, curLife);
                        }
                    }
                }
                Console.WriteLine("{0}: [D2GS] Minions are dead, looting...", Account);
                PickItems();

                //if (!TownPortal())
                //{
                    //LeaveGame();
                    //return;
                //}
            }
        }