From 348e1580671dafa5c348debe1e59937ac469da34 Mon Sep 17 00:00:00 2001 From: Kazuhiro Fujieda Date: Fri, 24 Nov 2017 23:28:50 +0900 Subject: [PATCH] =?utf8?q?=E5=8D=98=E8=89=A6=E9=80=80=E9=81=BF=E3=81=99?= =?utf8?q?=E3=82=8B=E3=81=A8=E3=82=A8=E3=83=A9=E3=83=BC=E3=81=AB=E3=81=AA?= =?utf8?q?=E3=82=8B=E3=81=AE=E3=82=92=E7=9B=B4=E3=81=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- KancolleSniffer.Test/SnifferTest.cs | 16 ++++++++++++++-- KancolleSniffer.Test/logs | 2 +- KancolleSniffer/BattleInfo.cs | 13 ++++++++++--- 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/KancolleSniffer.Test/SnifferTest.cs b/KancolleSniffer.Test/SnifferTest.cs index 2bb1684..8219876 100644 --- a/KancolleSniffer.Test/SnifferTest.cs +++ b/KancolleSniffer.Test/SnifferTest.cs @@ -161,6 +161,18 @@ namespace KancolleSniffer.Test } /// + /// 護衛退避する + /// + [TestMethod] + public void EscapeWithEscort() + { + var sniffer = new Sniffer(); + SniffLogFile(sniffer, "escape_001"); + PAssert.That(() => sniffer.GetShipStatuses(0)[5].Escaped && + sniffer.GetShipStatuses(1)[2].Escaped); + } + + /// /// 出撃時に大破している艦娘がいたら警告する /// [TestMethod] @@ -553,7 +565,7 @@ namespace KancolleSniffer.Test new[] {0, 0, 0, 0, 0, 0, 0, 0}, new[] {288194, 282623, 299496, 295958, 3000, 2968, 2997, 7}, new[] {288185, 282623, 299496, 295943, 3000, 2968, 2997, 7}, - new[] {288161, 282623, 299496, 295903, 3000, 2968, 2997, 7}, + new[] {288161, 282623, 299496, 295903, 3000, 2968, 2997, 7} }; PAssert.That(() => SequenceOfSequenceEqual(expected3, result3), "航空機の補充"); @@ -577,7 +589,7 @@ namespace KancolleSniffer.Test new[] {0, 0, 0, 0, 0, 0, 0, 0}, new[] {261012, 252252, 298492, 279622, 3000, 2842, 3000, 22}, new[] {261012, 252252, 298492, 279538, 3000, 2842, 3000, 22}, - new[] {261012, 252252, 298492, 279454, 3000, 2842, 3000, 22}, + new[] {261012, 252252, 298492, 279454, 3000, 2842, 3000, 22} }; PAssert.That(() => SequenceOfSequenceEqual(expected4, result4), "航空機の配備"); } diff --git a/KancolleSniffer.Test/logs b/KancolleSniffer.Test/logs index 5827b6c..0703212 160000 --- a/KancolleSniffer.Test/logs +++ b/KancolleSniffer.Test/logs @@ -1 +1 @@ -Subproject commit 5827b6cae69e6be85e7d4ba19561a41512cd9924 +Subproject commit 0703212fa06ef74f0816da8eb5b3d28254188385 diff --git a/KancolleSniffer/BattleInfo.cs b/KancolleSniffer/BattleInfo.cs index c5de9b0..40315a8 100644 --- a/KancolleSniffer/BattleInfo.cs +++ b/KancolleSniffer/BattleInfo.cs @@ -513,9 +513,16 @@ namespace KancolleSniffer if (!json.api_escape_flag() || (int)json.api_escape_flag == 0) return; var damaged = (int)json.api_escape.api_escape_idx[0] - 1; - _escapingShips.Add(_shipInfo.GetDeck(damaged / 6)[damaged % 6]); - var escort = (int)json.api_escape.api_tow_idx[0] - 1; - _escapingShips.Add(_shipInfo.GetDeck(escort / 6)[escort % 6]); + if (json.api_escape.api_tow_idx()) + { + _escapingShips.Add(_shipInfo.GetDeck(damaged / 6)[damaged % 6]); + var escort = (int)json.api_escape.api_tow_idx[0] - 1; + _escapingShips.Add(_shipInfo.GetDeck(escort / 6)[escort % 6]); + } + else + { + _escapingShips.Add(_shipInfo.GetDeck(2)[damaged]); + } } public void CauseCombinedBattleEscape() -- 2.11.0