public override void LoadFromResponse(string apiname, dynamic data)
        {
            base.LoadFromResponse(apiname, (object)data);

            NightInitial    = new PhaseNightInitial(this, "夜戦開始", false);
            FriendlySupport = new PhaseFriendlySupport(this, "友軍艦隊援護");
            NightSupport    = new PhaseSupport(this, "夜間支援攻撃", true);
            NightBattle     = new PhaseNightBattle(this, "第一次夜戦", 1);
            NightBattle2    = new PhaseNightBattle(this, "第二次夜戦", 2);


            if (NextToDay)
            {
                JetBaseAirAttack = new PhaseJetBaseAirAttack(this, "噴式基地航空隊攻撃");
                JetAirBattle     = new PhaseJetAirBattle(this, "噴式航空戦");
                BaseAirAttack    = new PhaseBaseAirAttack(this, "基地航空隊攻撃");
                Support          = new PhaseSupport(this, "支援攻撃");
                AirBattle        = new PhaseAirBattle(this, "航空戦");
                OpeningASW       = new PhaseOpeningASW(this, "先制対潜");
                OpeningTorpedo   = new PhaseTorpedo(this, "先制雷撃", 0);
                Shelling1        = new PhaseShelling(this, "第一次砲撃戦", 1, "1");
                Shelling2        = new PhaseShelling(this, "第二次砲撃戦", 2, "2");
                Torpedo          = new PhaseTorpedo(this, "雷撃戦", 3);
            }

            foreach (var phase in GetPhases())
            {
                phase.EmulateBattle(_resultHPs, _attackDamages);
            }
        }
예제 #2
0
        public override void LoadFromResponse(string apiname, dynamic data)
        {
            base.LoadFromResponse(apiname, (object)data);

            NightInitial    = new PhaseNightInitial(this, "夜戦開始", false);
            FriendlySupport = new PhaseFriendlySupport(this, "友軍艦隊援護");
            // 支援なし?
            NightBattle = new PhaseNightBattle(this, "夜戦", 0);

            foreach (var phase in GetPhases())
            {
                phase.EmulateBattle(_resultHPs, _attackDamages);
            }
        }
예제 #3
0
        private static void OutputFriendlySupportData(StringBuilder sb, PhaseFriendlySupport p)
        {
            for (int i = 0; i < p.FriendlyMembersInstance.Length; i++)
            {
                var ship = p.FriendlyMembersInstance[i];

                if (ship == null)
                {
                    continue;
                }

                sb.AppendFormat("#{0}: {1} {2} Lv. {3} HP: {4} / {5} - 火力{6}, 雷装{7}, 対空{8}, 装甲{9}\r\n",
                                i + 1,
                                ship.ShipTypeName, p.FriendlyMembersInstance[i].NameWithClass, p.FriendlyLevels[i],
                                p.FriendlyInitialHPs[i], p.FriendlyMaxHPs[i],
                                p.FriendlyParameters[i][0], p.FriendlyParameters[i][1], p.FriendlyParameters[i][2], p.FriendlyParameters[i][3]);

                sb.Append(" ");
                sb.AppendLine(string.Join(", ", p.FriendlySlots[i].Select(id => KCDatabase.Instance.MasterEquipments[id]).Where(eq => eq != null).Select(eq => eq.Name)));
            }
        }