OSDN Git Service

開幕夜戦で潜水艦同士がお見合いするとエラーになるのを直す
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Sat, 18 Nov 2017 14:27:53 +0000 (23:27 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Sat, 18 Nov 2017 15:39:18 +0000 (00:39 +0900)
KancolleSniffer.Test/SnifferTest.cs
KancolleSniffer.Test/logs
KancolleSniffer/BattleInfo.cs

index d6d0b30..c6d03f7 100644 (file)
@@ -61,6 +61,17 @@ namespace KancolleSniffer.Test
         }\r
 \r
         /// <summary>\r
+        /// 開幕夜戦で潜水艦同士がお見合いする\r
+        /// </summary>\r
+        [TestMethod]\r
+        public void SpMidnightWithoutBattle()\r
+        {\r
+            var sniffer = new Sniffer();\r
+            SniffLogFile(sniffer, "sp_midnight_001");\r
+            PAssert.That(() => sniffer.Battle.ResultRank == BattleResultRank.D);\r
+        }\r
+\r
+        /// <summary>\r
         /// 出撃時に大破している艦娘がいたら警告する\r
         /// </summary>\r
         [TestMethod]\r
index c02447e..d646e5d 160000 (submodule)
@@ -1 +1 @@
-Subproject commit c02447eaf1cccdae6493b76fbb14e7eee34bc750
+Subproject commit d646e5daaceda98d136ff1b7c13090e4cb7772a4
index 2ed6599..ab03507 100644 (file)
@@ -442,6 +442,11 @@ namespace KancolleSniffer
         private void CalcCombinedHougekiDamage(dynamic hougeki, Record[] friend, Record[] guard,\r
             int[] enemy, int[] enemyGuard)\r
         {\r
+            if (!(hougeki.api_df_list() && hougeki.api_df_list != null &&\r
+                  hougeki.api_damage() && hougeki.api_damage != null &&\r
+                  hougeki.api_at_eflag() && hougeki.api_at_eflag != null))\r
+                return;\r
+\r
             var targets = ((dynamic[])hougeki.api_df_list).Select(x => (int[])x);\r
             var damages = ((dynamic[])hougeki.api_damage).Select(x => (int[])x);\r
             var eflags = (int[])hougeki.api_at_eflag;\r