private void DropShip(kcsapi_combined_battle_battleresult source)
        {
            if (source.api_get_ship == null)
            {
                return;
            }

            this.DroppedShips.Add(new DroppedShip(source.api_get_ship));
        }
        public void UpdateBattleResult(kcsapi_combined_battle_battleresult data)
        {
            //try
            //{
            //    this.DropShipName = KanColleClient.Current.Translations.Lookup(TranslationType.DropShip, data) ?? data.api_get_ship?.api_ship_name;
            //}
            //catch
            //{
            this.DropShipName = data.api_get_ship?.api_ship_name;
            //}

            switch (data.api_win_rank)
            {
            case "S":
                this.BattleResult = this.FriendFleetStatus.LostGauge > 0
                            ? BattleResultRank.勝利S
                            : BattleResultRank.完全勝利S;
                break;

            case "A":
                this.BattleResult = BattleResultRank.勝利A;
                break;

            case "B":
                this.BattleResult = BattleResultRank.戦術的勝利B;
                break;

            case "C":
                this.BattleResult = BattleResultRank.戦術的敗北C;
                break;

            case "D":
                this.BattleResult = BattleResultRank.敗北D;
                break;

            case "E":
                this.BattleResult = BattleResultRank.敗北E;
                break;
            }

            if (data.api_get_exmap_useitem_id != 0)
            {
                ItemDropName = ItemDropName ?? "";
                string exname = KanColleClient.Current.Master.UseItems[data.api_get_exmap_useitem_id].Name;
                this.ItemDropName = exname + "\n";
            }
            if (data.api_get_useitem != null)
            {
                ItemDropName = ItemDropName ?? "";

                string name = KanColleClient.Current.Master.UseItems[data.api_get_useitem.api_useitem_id].Name;
                this.ItemDropName = ItemDropName + name;
            }

            this.FriendFleet.Fleets[1].UpdateMVP(data.api_mvp);
            this.FriendFleet.Fleets[2]?.UpdateMVP(data?.api_mvp_combined);
        }
Beispiel #3
0
        public Modes.BattleResult Append(KanColleClient kanColleClient, kcsapi_combined_battle_battleresult br, bool isFirstBattle)
        {
            var newItem = new Modes.BattleResult(kanColleClient, br)
            {
                IsFirstBattle = isFirstBattle
            };

            return(Append(kanColleClient, newItem));
        }
Beispiel #4
0
 private void OnCombinedBattleEnd(KanColleClient kanColleClient, kcsapi_combined_battle_battleresult br, bool isFirstBattle)
 {
     if (CombinedBattleEnd != null)
     {
         CombinedBattleEnd(this, new Modes.CombinedBattleEndEventArgs
         {
             KanColleClient = kanColleClient,
             BattleResult   = br,
             IsFirstBattle  = isFirstBattle
         });
     }
 }
Beispiel #5
0
        private void AppendCombinedBattleResult(kcsapi_combined_battle_battleresult br)
        {
            AMing.Plugins.Core.GenericMessager.Current.SendToLogs(br == null ? string.Empty : br.ToStringContentAndType());

            if (br == null)
            {
                return;
            }

            OnCombinedBattleEnd(KanColleClient.Current, br, isFirstBattle);
            isFirstBattle = false;//重置
        }
 public BattleResult(kcsapi_combined_battle_battleresult raw)
 {
     Rank        = (Ranking)Enum.Parse(typeof(Ranking), raw.api_win_rank, true);
     AdmiralExp  = raw.api_get_exp;
     BaseExp     = raw.api_get_base_exp;
     MapName     = raw.api_quest_name ?? "";
     FleetName   = raw.api_enemy_info?.api_deck_name ?? "";
     MvpId       = raw.api_mvp;
     EscortMvpId = raw.api_mvp_combined;
     if (raw.api_get_ship != null)
     {
         DropShip = new ShipNameType(raw.api_get_ship.api_ship_id);
     }
 }
Beispiel #7
0
        private void BattleResult(kcsapi_combined_battle_battleresult data)
        {
            var arg = new BattleResultEventArgs
            {
                IsFirstCombat = isFirstCombat,
                MapAreaId     = mapId,
                EnemyName     = data.api_enemy_info.api_deck_name,
                EnemyShips    = enemyShips,
                Rank          = data.api_win_rank
            };

            isFirstCombat = false;

            BattleResultEvent?.Invoke(this, arg);
        }
Beispiel #8
0
        private void BattleResult(kcsapi_combined_battle_battleresult br)
        {
            try
            {
                if (br.api_get_ship == null)
                {
                    return;
                }

                Log(br.api_get_ship.api_ship_name,
                    br.api_quest_name,
                    br.api_enemy_info.api_deck_name,
                    br.api_win_rank);
            }
            catch { }
        }
Beispiel #9
0
 private void CombinedBattleResult(kcsapi_combined_battle_battleresult br)
 {
     try
     {
         this.Log(LogType.ShipDrop,
                  br.api_get_ship == null ? "N/A" : br.api_get_ship.api_ship_name, //Result
                  br.api_quest_name,                                               //Operation
                  br.api_enemy_info.api_deck_name,                                 //Enemy Fleet
                  br.api_win_rank                                                  //Rank
                  );
     }
     catch (Exception)
     {
         // ignored
     }
 }
Beispiel #10
0
        public BattleResult(KanColleClient kanColleClient, kcsapi_combined_battle_battleresult br)
        {
            this.FleetType  = (int)Enums.BattleType.Combined;
            this.QuestName  = br.api_quest_name;
            this.QuestLevel = br.api_quest_level;
            if (br.api_enemy_info != null)
            {
                this.DeckName = br.api_enemy_info.api_deck_name;
            }
            this.WinRank    = br.api_win_rank;
            this.GetExp     = br.api_get_exp;
            this.GetBaseExp = br.api_get_base_exp;
            if (br.api_get_ship != null)
            {
                this.GetShip = new SimpleShip(br.api_get_ship);
            }

            this.AdmiralId = kanColleClient.Homeport.Admiral.MemberId;


            this.Mvp         = br.api_mvp;
            this.MvpCombined = br.api_mvp_combined;

            this.LvUpShips         = br.api_get_exp_lvup.Select(x => Math.Max(x.Length - 2, 0)).ToArray();
            this.LvUpShipsCombined = br.api_get_exp_lvup_combined.Select(x => Math.Max(x.Length - 2, 0)).ToArray();

            List <SimpleShip> fleet = new List <SimpleShip>();

            //既然是联合舰队肯定一二队都出击
            kanColleClient.Homeport.Organization.Fleets[0].Ships.ForEach(s => fleet.Add(new SimpleShip(s)));
            this.Fleet = fleet.ToArray();

            fleet.Clear();
            kanColleClient.Homeport.Organization.Fleets[1].Ships.ForEach(s => fleet.Add(new SimpleShip(s)));
            this.FleetCombined = fleet.ToArray();


            this.IsFirstBattle = false;
            this.CreateDate    = DateTime.Now;
            this.Id            = Guid.NewGuid().ToString();
        }
Beispiel #11
0
        private void BattleResult(kcsapi_combined_battle_battleresult br)
        {
            try
            {
                if (br.api_get_ship == null)
                {
                    return;
                }

                this.Log(LogType.ShipDrop,
                         KanColleClient.Current.Translations.GetTranslation(br.api_get_ship.api_ship_name, TranslationType.Ships, br),             //Result
                         KanColleClient.Current.Translations.GetTranslation(br.api_quest_name, TranslationType.OperationMaps, br),                 //Operation
                         KanColleClient.Current.Translations.GetTranslation(br.api_enemy_info.api_deck_name, TranslationType.OperationSortie, br), //Enemy Fleet
                         br.api_win_rank                                                                                                           //Rank
                         );
            }
            catch (Exception)
            {
                // ignored
            }
        }
Beispiel #12
0
        private void CombinedBattleResult(kcsapi_combined_battle_battleresult br)
        {
            if (br.api_get_ship == null)
            {
                if (HoppoPluginSettings.Current.EnableNullDropLogging)
                {
                    Log(LogType.ShipDrop, "{0},{1},{2},{3},{4}", DateTime.Now.ToString(this.LogTimestampFormat),
                        "无掉落",
                        br.api_quest_name,
                        br.api_enemy_info.api_deck_name,
                        br.api_win_rank);
                }
                else
                {
                    return;
                }
            }

            Log(LogType.ShipDrop, "{0},{1},{2},{3},{4}", DateTime.Now.ToString(this.LogTimestampFormat),
                br.api_get_ship.api_ship_name,
                br.api_quest_name,
                br.api_enemy_info.api_deck_name,
                br.api_win_rank);
        }
Beispiel #13
0
 public BattleResultEventArgs(TrackerMapInfo MapInfo, TrackerEnemyShip[] enemyShips, kcsapi_combined_battle_battleresult data)
 {
     IsFirstCombat = MapInfo.IsFirstCombat;
     MapAreaId     = MapInfo.MapId;
     EnemyName     = data.api_enemy_info.api_deck_name;
     EnemyShips    = enemyShips;
     Rank          = data.api_win_rank;
 }
Beispiel #14
0
		public void UpdateSortieInfo(kcsapi_combined_battle_battleresult data)
		{
			SortieInfo.BattleRank = data.api_win_rank;
		}