OSDN Git Service

空襲戦で女神で復活すると勝利判定がくるうのを直す
[kancollesniffer/KancolleSniffer.git] / KancolleSniffer / BattleInfo.cs
index e00ca7e..8f9d53f 100644 (file)
@@ -625,25 +625,19 @@ namespace KancolleSniffer
 \r
         private BattleResultRank CalcLdAirBattleRank()\r
         {\r
-            var combined = _friend.Concat(_guard).ToArray();\r
-            var friendNowShips = combined.Count(r => r.NowHp > 0);\r
+            var combined = _friend.Concat(_guard).Where(r => !r.Escaped).ToArray();\r
             var friendGauge = combined.Sum(r => r.StartHp - r.NowHp);\r
-            var friendSunk = combined.Count(r => r.NowHp == 0);\r
             var friendGaugeRate = Floor((double)friendGauge / combined.Sum(r => r.StartHp) * 100);\r
 \r
-            if (friendSunk == 0)\r
-            {\r
-                if (friendGauge == 0)\r
-                    return BattleResultRank.P;\r
-                if (friendGaugeRate < 10)\r
-                    return BattleResultRank.A;\r
-                if (friendGaugeRate < 20)\r
-                    return BattleResultRank.B;\r
-                if (friendGaugeRate < 50)\r
-                    return BattleResultRank.C;\r
-                return BattleResultRank.D;\r
-            }\r
-            if (friendSunk < friendNowShips)\r
+            if (friendGauge <= 0)\r
+                return BattleResultRank.P;\r
+            if (friendGaugeRate < 10)\r
+                return BattleResultRank.A;\r
+            if (friendGaugeRate < 20)\r
+                return BattleResultRank.B;\r
+            if (friendGaugeRate < 50)\r
+                return BattleResultRank.C;\r
+            if (friendGaugeRate < 80)\r
                 return BattleResultRank.D;\r
             return BattleResultRank.E;\r
         }\r
@@ -698,9 +692,13 @@ namespace KancolleSniffer
         /// <summary>\r
         /// テスト専用\r
         /// </summary>\r
-        public void InjectEnemyResultStatus(ShipStatus[] enemy, ShipStatus[] guard)\r
+        public void InjectResultStatus(ShipStatus[] main, ShipStatus[] guard, ShipStatus[] enemy, ShipStatus[] enemyGuard)\r
         {\r
-            Result = new BattleResult {Enemy = new BattleResult.Combined {Main = enemy, Guard = guard}};\r
+            Result = new BattleResult\r
+            {\r
+                Friend = new BattleResult.Combined { Main = main, Guard = guard},\r
+                Enemy = new BattleResult.Combined {Main = enemy, Guard = enemyGuard}\r
+            };\r
         }\r
     }\r
 }
\ No newline at end of file