OSDN Git Service

単艦退避がうまくいかないのを直す
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Tue, 28 Nov 2017 14:40:27 +0000 (23:40 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Tue, 28 Nov 2017 14:43:23 +0000 (23:43 +0900)
KancolleSniffer.Test/SnifferTest.cs
KancolleSniffer.Test/logs
KancolleSniffer/BattleInfo.cs
KancolleSniffer/ShipInfo.cs
KancolleSniffer/Sniffer.cs

index 493403b..169f396 100644 (file)
@@ -196,6 +196,18 @@ namespace KancolleSniffer.Test
         }\r
 \r
         /// <summary>\r
+        /// 単艦退避する\r
+        /// </summary>\r
+        [TestMethod]\r
+        public void EscapeWithoutEscort()\r
+        {\r
+            var sniffer = new Sniffer();\r
+            SniffLogFile(sniffer, "escape_002");\r
+            PAssert.That(() => sniffer.GetShipStatuses(2)[1].Escaped);\r
+            PAssert.That(() => sniffer.WrongBattleResult.Count == 0);\r
+        }\r
+\r
+        /// <summary>\r
         /// 出撃時に大破している艦娘がいたら警告する\r
         /// </summary>\r
         [TestMethod]\r
index 8148b3a..17f72eb 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 8148b3aa3b3f941a7f28a656fea6a7dc6536b7ea
+Subproject commit 17f72eb97f79b2e51c183a4bc2c8a91d4db99445
index 9d8a9fd..4b37e7e 100644 (file)
@@ -561,7 +561,7 @@ namespace KancolleSniffer
             }\r
         }\r
 \r
-        public void CauseCombinedBattleEscape()\r
+        public void CauseEscape()\r
         {\r
             _shipInfo.SetEscapedShips(_escapingShips);\r
             _shipInfo.SetBadlyDamagedShips();\r
index 2a56d59..b34554c 100644 (file)
@@ -139,7 +139,7 @@ namespace KancolleSniffer
         {\r
             WrongBattleResult = (from assumed in _battleResult\r
                 let actual = GetStatus(assumed.Id)\r
-                where assumed.NowHp != actual.NowHp\r
+                where !assumed.Escaped && assumed.NowHp != actual.NowHp\r
                 select new ShipStatusPair(assumed, actual)).ToList();\r
             _battleResult = new ShipStatus[0];\r
         }\r
index 8af70bf..9c33a89 100644 (file)
@@ -107,7 +107,7 @@ namespace KancolleSniffer
                 return ApiMember(url, json);\r
             if (url.Contains("kousyou"))\r
                 return ApiKousyou(url, request, data);\r
-            if (url.Contains("battle"))\r
+            if (url.Contains("battle") || url.Contains("sortie"))\r
                 return ApiBattle(url, request, data);\r
             return ApiOthers(url, request, data);\r
         }\r
@@ -332,9 +332,9 @@ namespace KancolleSniffer
                 _battleInfo.InspectPracticeResult(data);\r
                 return Update.Ship;\r
             }\r
-            if (url.EndsWith("api_req_combined_battle/goback_port"))\r
+            if (url.EndsWith("/goback_port"))\r
             {\r
-                _battleInfo.CauseCombinedBattleEscape();\r
+                _battleInfo.CauseEscape();\r
                 return Update.Ship;\r
             }\r
             _battleInfo.BattleState = BattleState.Unknown;\r