OSDN Git Service

副砲の改修効果の計算を間違えているのを直す
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Sun, 15 Apr 2018 08:22:31 +0000 (17:22 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Sun, 15 Apr 2018 08:22:31 +0000 (17:22 +0900)
KancolleSniffer.Test/SnifferTest.cs
KancolleSniffer.Test/logs
KancolleSniffer/ItemInfo.cs

index 5210680..c538584 100644 (file)
@@ -411,6 +411,20 @@ namespace KancolleSniffer.Test
         }\r
 \r
         /// <summary>\r
         }\r
 \r
         /// <summary>\r
+        /// 副砲の改修レベルの効果を計算する\r
+        /// </summary>\r
+        [TestMethod]\r
+        public void SecondaryGunFirepowerLevelBonus()\r
+        {\r
+            var sniffer = new Sniffer();\r
+            SniffLogFile(sniffer, "firepower_001");\r
+            // ReSharper disable CompareOfFloatsByEqualityOperator\r
+            PAssert.That(() => sniffer.GetShipStatuses(0)[0].EffectiveFirepower == 93.5);\r
+            PAssert.That(() => sniffer.GetShipStatuses(0)[1].EffectiveFirepower == 82.5);\r
+            // ReSharper restore CompareOfFloatsByEqualityOperator\r
+        }\r
+\r
+        /// <summary>\r
         /// 編成で空き番号を使ったローテートを正しく反映する\r
         /// </summary>\r
         [TestMethod]\r
         /// 編成で空き番号を使ったローテートを正しく反映する\r
         /// </summary>\r
         [TestMethod]\r
index 94f121e..1089470 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 94f121ea3ba75db7d87910efa59d9146fb8255e0
+Subproject commit 108947024b87b128ee3136cf1ab10cb6f5db428d
index 5966dee..2e2003b 100644 (file)
@@ -446,7 +446,7 @@ namespace KancolleSniffer
                     case 3: // 大口径\r
                         return 1.5 * Sqrt(Level);\r
                     case 4: // 副砲\r
                     case 3: // 大口径\r
                         return 1.5 * Sqrt(Level);\r
                     case 4: // 副砲\r
-                        return Sqrt(Level);\r
+                        return SecondaryGunLevelBonus;\r
                     case 14: // ソナー\r
                     case 15: // 爆雷\r
                         return 0.75 * Sqrt(Level);\r
                     case 14: // ソナー\r
                     case 15: // 爆雷\r
                         return 0.75 * Sqrt(Level);\r
@@ -458,6 +458,27 @@ namespace KancolleSniffer
             }\r
         }\r
 \r
             }\r
         }\r
 \r
+        public double SecondaryGunLevelBonus\r
+        {\r
+            get\r
+            {\r
+                switch (Spec.Id)\r
+                {\r
+                    case 10: // 12.7cm連装高角砲\r
+                    case 66: // 8cm高角砲\r
+                    case 220: // 8cm高角砲改+増設機銃\r
+                    case 275: // 10cm連装高角砲改+増設機銃\r
+                        return 0.2 * Level;\r
+                    case 12: // 15.5cm三連装副砲\r
+                    case 234: // 15.5cm三連装副砲改\r
+                    case 247: // 15.2cm三連装砲\r
+                        return 0.3 * Level;\r
+                    default:\r
+                        return Sqrt(Level);\r
+                }\r
+            }\r
+        }\r
+\r
         public double TorpedoLevelBonus\r
         {\r
             get\r
         public double TorpedoLevelBonus\r
         {\r
             get\r
@@ -498,7 +519,7 @@ namespace KancolleSniffer
                     case 3: // 大口径\r
                         return Sqrt(Level);\r
                     case 4: // 副砲\r
                     case 3: // 大口径\r
                         return Sqrt(Level);\r
                     case 4: // 副砲\r
-                        return Sqrt(Level);\r
+                        return SecondaryGunLevelBonus;\r
                     case 5: // 魚雷\r
                     case 19: // 徹甲弾\r
                     case 29: // 探照灯\r
                     case 5: // 魚雷\r
                     case 19: // 徹甲弾\r
                     case 29: // 探照灯\r