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; }
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; }
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; }