Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
 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;
 }