public bool Action() { new EnterCityEventService(this.user, this.logger).Execute(); int countI = 0; while (true) { CityEventResponse cityEvent = this.ExecuteSerialize<CityEventResponse>(); if (cityEvent == null) { break; } this.logger.Add("Current energy: " + (cityEvent.success ? cityEvent.playerInfo.curAP.ToString() : "NaN"), LogType.Information); int count = 0; if (!int.TryParse(cityEvent.exp, out count)) { if (!int.TryParse(cityEvent.gold, out count)) { count = 20; } } if (cityEvent.playerInfo.curAP < count) { Func<string> sourceFunc = delegate { new Exception("Please update source value"); return string.Empty; }; UseItemResponse result = new UseItemService(this.user, this.logger, ItemEnum.Stamina, sourceFunc()).ExecuteSerialize<UseItemResponse>(); if (!result.success) { goto Block_7; } countI++; this.logger.Add(string.Concat(new object[] { "Potion is used: ", countI, " level: ", result.playerInfo.level }), LogType.Information); } } this.logger.Add("City event stopped", LogType.Information); return false; Block_7: this.logger.Add("Cannot use stamina potion. City event stopped", LogType.Information); return false; }
public bool Action() { GetGuildBossResponse getGuildBossResponse = this.ExecuteSerialize<GetGuildBossResponse>(); GuildBoss boss = getGuildBossResponse.bosses.FirstOrDefault((GuildBoss x) => x.status > 0); bool result; if (boss == null) { this.logger.Add("Can't find active battle with boss", LogType.Information); result = false; } else { int battleId = boss.bossId; int errorCount = 0; int count = 0; ViewGuildBossResponse viewGuildBossResponse = new ViewGuildBossService(this.user, this.logger, (long)battleId).ExecuteSerialize<ViewGuildBossResponse>(); int childId = 1; do { try { UpdateSeedResponse updateSeed = new UpdateSeedService(this.user, this.logger).ExecuteSerialize<UpdateSeedResponse>(); if (updateSeed != null && updateSeed.success) { this.logger.Add("Current count of mana: " + updateSeed.playerInfo.curBP, LogType.Information); } if (updateSeed.playerInfo.totalCost > updateSeed.playerInfo.curBP) { UseItemResponse useItemResponse = new UseItemService(this.user, this.logger, ItemEnum.ManaPotion, "module_guild_boss").ExecuteSerialize<UseItemResponse>(); if (!useItemResponse.success) { } } List<BattleGuildBossResponse> battleGuildBossResponses = new BattleGuildBossService(this.user, this.logger, (long)battleId, (long)childId).ExecuteSerialize<BattleGuildBossResponse>(10); if (childId < 4) { childId++; } errorCount = 0; count += battleGuildBossResponses.Count((BattleGuildBossResponse x) => x.success); if (battleGuildBossResponses.Any((BattleGuildBossResponse x) => x.success && x.HP <= 0L)) { this.logger.Add("Boss defeated.", LogType.Information); break; } ILogger arg_2B7_0 = this.logger; string arg_2B1_0 = "Current HP: {0}, success: {1}, failed: {2}. Count of battle: {3}."; object[] array = new object[4]; array[0] = (from x in battleGuildBossResponses where x.success select x).Min((BattleGuildBossResponse x) => x.HP); array[1] = battleGuildBossResponses.Count((BattleGuildBossResponse x) => x.success); array[2] = battleGuildBossResponses.Count((BattleGuildBossResponse x) => !x.success); array[3] = count; arg_2B7_0.Add(string.Format(arg_2B1_0, array), LogType.Information); } catch (Exception e) { errorCount++; this.logger.Add(e.Message, LogType.Information); } } while (errorCount <= 10); result = false; } return result; }