OSDN Git Service

夜戦の戦艦の与ダメージが微妙に少ないのを直す
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Tue, 5 Dec 2017 12:26:18 +0000 (21:26 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Fri, 8 Dec 2017 12:51:51 +0000 (21:51 +0900)
KancolleSniffer.Test/BattleTest.cs
KancolleSniffer.Test/logs
KancolleSniffer/BattleInfo.cs

index 280a6e7..446b0c1 100644 (file)
@@ -39,8 +39,11 @@ namespace KancolleSniffer.Test
             _battleInfo = new BattleInfo(_shipInfo, _itemInfo);\r
         }\r
 \r
+        /// <summary>\r
+        /// 連撃を受けて女神が発動する\r
+        /// </summary>\r
         [TestMethod]\r
-        public void Damecon()\r
+        public void CauseRepairGoddessByDoubleAttack()\r
         {\r
             var logs = ReadAllLines("damecon_001");\r
             var items = JsonParser.Parse("[[[],[],[],[],[43]]]");\r
@@ -51,5 +54,19 @@ namespace KancolleSniffer.Test
             _battleInfo.InspectBattleResult(result);\r
             PAssert.That(() => _shipInfo.GetShipStatuses(2)[4].NowHp == 31);\r
         }\r
+\r
+        /// <summary>\r
+        /// 夜戦で戦艦の攻撃を受ける\r
+        /// </summary>\r
+        [TestMethod]\r
+        public void AttackedByBattleShipInMidnight()\r
+        {\r
+            var logs = ReadAllLines("midnight_002");\r
+            var battle = JsonParser.Parse(logs[3]);\r
+            _shipInfo.InjectShips(battle, JsonParser.Parse(logs[0]));\r
+            _battleInfo.InspectBattle(battle, logs[1]);\r
+            _battleInfo.InspectBattleResult(JsonParser.Parse(logs[6]));\r
+            PAssert.That(() => _shipInfo.GetShipStatuses(0)[3].NowHp == 12);\r
+        }\r
     }\r
 }
\ No newline at end of file
index f5e1607..c3b3e41 160000 (submodule)
@@ -1 +1 @@
-Subproject commit f5e1607ccd2dbfb825c413ac0f3255cc04e0f486
+Subproject commit c3b3e410489d0b02b9a6cb5a1e261c5b5f596c13
index d38feba..9422db5 100644 (file)
@@ -450,7 +450,7 @@ namespace KancolleSniffer
             for (var i = 0; i < eflags.Length; i++)\r
             {\r
                 // 一度に複数の目標を狙う攻撃はないものと仮定する\r
-                var hit = new {t = targets[i][0], d = damages[i].Sum()};\r
+                var hit = new {t = targets[i][0], d = damages[i].Sum(d => d >= 0 ? d : 0)};\r
                 if (hit.t == -1)\r
                     continue;\r
                 if (eflags[i] == 1)\r
@@ -499,7 +499,6 @@ namespace KancolleSniffer
         }\r
 \r
 \r
-\r
         private void VerifyResultRank(dynamic json)\r
         {\r
             if (_friend == null)\r