void ProcessBattleResult(RawBattleResult rpData)
        {
            if (rpData.ExtraOperationRankingPointBonus == 0)
                return;

            InsertRecord(rpData.ExtraOperationRankingPointBonus);
        }
        void ProcessResult(RawBattleResult rpData)
        {
            var rBattle = BattleInfo.Current;

            var rCommand = Connection.CreateCommand();

            rCommand.CommandText = "INSERT INTO battle(id, rank, dropped_ship) VALUES(@id, @rank, @dropped_ship);";
            rCommand.Parameters.AddWithValue("@id", rBattle.ID);
            rCommand.Parameters.AddWithValue("@rank", (int)rpData.Rank);
            rCommand.Parameters.AddWithValue("@dropped_ship", rpData.DroppedShip?.ID);

            if (rpData.DroppedItem != null)
            {
                rCommand.CommandText += " INSERT INTO battle_dropped_item(id, item) VALUES(@id, @item);";
                rCommand.Parameters.AddWithValue("@item", rpData.DroppedItem.ID);
            }

            if (rpData.MvpShipIndex != -1)
            {
                rCommand.CommandText += " UPDATE battle SET mvp = @mvp WHERE id = @id;";
                rCommand.Parameters.AddWithValue("@mvp", rBattle.Participants.FriendMain[rpData.MvpShipIndex - 1].Info.ID);
            }

            if (rpData.EscortFleetMvpShipIndex.HasValue && rpData.EscortFleetMvpShipIndex.Value != -1)
            {
                rCommand.CommandText += " UPDATE battle SET mvp_escort = @mvp_escort WHERE id = @id;";
                rCommand.Parameters.AddWithValue("@mvp_escort", rBattle.Participants.FriendEscort[rpData.EscortFleetMvpShipIndex.Value - 1].Info.ID);
            }

            rCommand.PostToTransactionQueue();
        }
        protected override void Process(ProgressInfo rpProgress, BattleInfo rpBattle, RawBattleResult rpResult)
        {
            if (!rpBattle.IsBossBattle)
                return;

            var rSortie = SortieInfo.Current;
            if (MapIDs.Contains(rSortie.Map.ID) && rpResult.Rank >= LowestRank)
                rpProgress.Progress++;
        }
        protected override void Process(ProgressInfo rpProgress, BattleInfo rpBattle, RawBattleResult rpResult)
        {
            var rBits = new BitVector32(rpProgress.Progress);

            if (rpResult.Rank >= BattleRank.S)
                rBits[r_Sections[1]] = Math.Min(rBits[r_Sections[1]] + 1, 6);
            if (rpBattle.IsBossBattle)
                rBits[r_Sections[2]] = Math.Min(rBits[r_Sections[2]] + 1, 24);
            if (rpBattle.IsBossBattle && rpResult.Rank >= BattleRank.B)
                rBits[r_Sections[3]] = Math.Min(rBits[r_Sections[3]] + 1, 12);

            rpProgress.Progress = rBits.Data;
            UpdatePercentage(rpProgress, rBits);
        }
 protected override void Process(ProgressInfo rpProgress, BattleInfo rpBattle, RawBattleResult rpResult)
 {
     rpProgress.Progress += rpBattle.CurrentStage.Enemy.Count(r => r.State == BattleParticipantState.Sunk && TargetType.Contains(r.Participant.Info.Type.ID));
 }
Пример #6
0
 protected abstract void Process(ProgressInfo rpProgress, BattleInfo rpBattle, RawBattleResult rpResult);
        void ProcessResult(RawBattleResult rpData)
        {
            using (var rCommand = Connection.CreateCommand())
            {
                rCommand.CommandText = "UPDATE battle SET rank = @rank, dropped_ship = @dropped_ship WHERE id = @id;";
                rCommand.Parameters.AddWithValue("@id", ((BattleEvent)KanColleGame.Current.Sortie.Cell.Event).Battle.ID);
                rCommand.Parameters.AddWithValue("@rank", (int)rpData.Rank);
                rCommand.Parameters.AddWithValue("@dropped_ship", rpData.DroppedShip?.ID);

                if (rpData.DroppedItem != null)
                {
                    rCommand.CommandText += "INSERT INTO battle_dropped_item(id, item) VALUES(@id, @item);";
                    rCommand.Parameters.AddWithValue("@item", rpData.DroppedItem.ID);
                }

                rCommand.ExecuteNonQuery();
            }
        }
 protected override void Process(ProgressInfo rpProgress, BattleInfo rpBattle, RawBattleResult rpResult)
 {
     rpProgress.Progress++;
 }