Ejemplo n.º 1
0
        private bool attackJob(Parafia parafia, ref int result)
        {
            bool flag = false;

            do
            {
                if (parafia.attributes.Cash.Actual != parafia.attributes.Cash.Max)
                {
                    List<Account> accounts = getListOfCheckedAttack();

                    if (accounts != null && accounts.Count != 0)
                    {
                        Account account = accounts[new Random().Next(0, accounts.Count - 1)];
                        printLog(account.UserName + ": Atakowanie w trakcie...");
                        int value = 0;
                        if (parafia.attack(ref account))
                        {
                            //account.IsChecked = false;
                            if (account.Cash != -1)
                            {
                                if (account.Cash != 0)
                                {
                                    if (account.Cash != -2)
                                    {
                                        parafia.putIntoSafe();
                                        value = account.Cash;
                                        printLog(account.UserName + ": Wygrałeś... Pakuje do sejfu... " + value);
                                    }
                                    else
                                    {
                                        printLog(account.UserName + ": Przeciwnik wyczerpany... ");
                                        account.Cash = 0;
                                    }
                                }
                                else
                                {
                                    account.IsChecked = false;
                                    printLog(account.UserName + ": Przegrałeś... ");
                                }
                            }
                            else
                            {
                                printLog(account.UserName + ": Poza zasięgiem...");
                                //account.IsChecked = false;
                                account.Cash = -1;
                            }
                        }
                        writeAccountToFile(account);
                        updateAttackList(account);
                        result += value;
                    }
                    else
                    {
                        printLog("Lista jest pusta!!!");
                        break;
                    }
                }
                else
                {
                    flag = true;
                    break;
                }

                if (clientSemafor)
                {
                    bool riseSafeFlag = false;

                    String relicCost = String.Empty;
                    if (parafia.riseSafeCost != 0 && (parafia.riseSafeCost <= parafia.attributes.Cash.Max) && (parafia.attributes.Safe.Max < parafia.attributes.Cash.Max))
                    {
                        if (parafia.riseSafeCost <= (parafia.attributes.Cash.Actual + parafia.attributes.Safe.Actual))
                        {
                            riseSafeFlag = parafia.riseSafe();
                        }
                    }

                    if (!riseSafeFlag)
                    {
                        if (parafia.attributes.Safe.Actual == parafia.attributes.Safe.Max)
                        {
                            int value = parafia.attributes.Safe.Actual;

                            if (parafia.attributes.Safe.Actual > parafia.attributes.Cash.Max)
                            {
                                value = parafia.attributes.Cash.Max;
                            }

                            value -= 1000;

                            TcpClient client = SocketUtils.ConnectToSrv();

                            printLog("[TRANSFER] Wysyłanie wiadomości do serwera o wartaści paczki.");
                            relicCost = SocketUtils.RequestRelicID(value, client);
                            printLog("[TRANSFER] Wiadomość przyjęta, paczka została wystawiona przez serwer i jest gotowa do zakupienia.");
                            if (!String.IsNullOrEmpty(relicCost))
                            {
                                int cost = int.Parse(relicCost);
                                if (cost != 0)
                                {
                                    parafia.getFromSafe(value); printLog("[TRANSFER] Kasa na pake pobrana z sejfu: " + value);

                                    int id = 0;

                                    if (parafia.countGreatChangeInMarket(cost, ref id) == 1)
                                    {
                                        printLog("[TRANSFER] Warunki konieczne do zakupu paczki spełnione. Przechodze do procesu zakupu.");
                                        if (parafia.BuyGreatChangeById(id) == 1)
                                        {
                                            transferResult += cost;
                                            transferNo++;
                                            printLog("[TRANSFER] Transfer wykonany!");
                                            parafia.hideGreatChange();
                                            printLog("[TRANSFER] Relikwia schowana do sejfu.");
                                            printLog("[TRANSFER] Rozpoczynam proces zwrotu paczki do serwera.");
                                            string returnedRelicCost = parafia.ReturnGreatChange();
                                            printLog("[TRANSFER] Wysyłam koszt paczki do serwera: " + returnedRelicCost);
                                            SocketUtils.SendGreatChangeReturningCost(returnedRelicCost, client);
                                            printLog("[TRANSFER] Komunikat został wysłany.");
                                            parafia.putIntoSafe();
                                        }
                                        else
                                        {
                                            parafia.putIntoSafe();
                                            printLog("[TRANSFER] Błąd podczas transferu! Nie wykonany!!!");
                                        }
                                    }
                                    else
                                    {
                                        parafia.putIntoSafe();
                                        printLog("[TRANSFER] Znaleziono więcej niż jedno relikwie/bądź wcale na rynku!!!");
                                    }
                                }
                                else
                                {
                                    printLog("[TRANSFER] Wystąpił błąd po stronie serwera!!!");
                                }
                            }
                            SocketUtils.CloseConnectToSrv(client);
                        }
                    }
                }

            }
            while (parafia.attributes.Energy.Actual > 10 && parafia.attributes.Health.Actual > 10);
            printLog("Zakończona atakowanie... resultat: " + result);

            return flag;
        }
Ejemplo n.º 2
0
        private bool buyRelic(Parafia parafia, int cashValue)
        {
            int id = 0;
            int count = parafia.countGreatChangeInMarket(cashValue, ref id);

            if (count == 1)
            {

            }
            else
            {
                throw new MoreThenOneGreatChange(count);
            }

            return false;
        }
Ejemplo n.º 3
0
        public Parafia getInstance()
        {
            object obj = Settings.Default["properties"];
            object obj1 = Settings.Default["quests"];

            if (obj != null)
            {
                ApplicationConfig config = (ApplicationConfig)obj;
                if (config != null)
                {
                    sendMail = config.SentMail;
                    sendPilgrimage = config.SendPilgrimage;
                    armyType = config.ArmyType;
                    Parafia parafia = new Parafia(this);
                    parafia.initConnection(config);
                    if (obj1 != null)
                    {
                        parafia.questContainer = (QuestContainer)obj1;
                    }
                    return parafia;
                }
            }
            return null;
        }