OSDN Git Service

Nelson Touchの発動時に+を発動後に-をNelsonに付ける
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Thu, 11 Oct 2018 11:58:37 +0000 (20:58 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Thu, 11 Oct 2018 12:00:19 +0000 (21:00 +0900)
KancolleSniffer.Test/BattleTest.cs
KancolleSniffer/Model/BattleInfo.cs
KancolleSniffer/Model/ShipStatus.cs
KancolleSniffer/View/ShipLabel.cs

index e56408d..fa2bfab 100644 (file)
@@ -35,7 +35,7 @@ namespace KancolleSniffer.Test
         private string[] ReadAllLines(string log)\r
         {\r
             using (var logfile = SnifferTest.OpenLogFile(log))\r
-                return logfile.ReadToEnd().Split(new [] {"\r\n"}, StringSplitOptions.None);\r
+                return logfile.ReadToEnd().Split(new[] {"\r\n"}, StringSplitOptions.None);\r
         }\r
 \r
         public void InjectShips(dynamic battle, dynamic item)\r
@@ -186,7 +186,8 @@ namespace KancolleSniffer.Test
             _battleInfo.InspectBattle(logs[1], logs[2], battle);\r
             _battleInfo.InspectBattleResult(Data(logs[6]));\r
             PAssert.That(() => !_battleInfo.DisplayedResultRank.IsError);\r
-            PAssert.That(() => _shipInfo.Fleets[1].Ships[0].SpecialAttackTriggered);\r
+            PAssert.That(() => _battleInfo.Result.Friend.Main[0].SpecialAttack == ShipStatus.Attack.Fire);\r
+            PAssert.That(() => _shipInfo.Fleets[1].Ships[0].SpecialAttack == ShipStatus.Attack.Fired);\r
         }\r
     }\r
 }
\ No newline at end of file
index 232129d..5fea3f2 100644 (file)
@@ -165,7 +165,7 @@ namespace KancolleSniffer.Model
             };\r
         }\r
 \r
-        private void FlagshipRecovery(string request,  ShipStatus flagship)\r
+        private void FlagshipRecovery(string request, ShipStatus flagship)\r
         {\r
             var type = int.Parse(HttpUtility.ParseQueryString(request)["api_recovery_type"] ?? "0");\r
             switch (type)\r
@@ -466,7 +466,7 @@ namespace KancolleSniffer.Model
                 for (var shot = 0; shot < targets[turn].Length; shot++)\r
                 {\r
                     var target = targets[turn][shot];\r
-                    var damage  = damages[turn][shot];\r
+                    var damage = damages[turn][shot];\r
                     if (target == -1 || damage == -1)\r
                         continue;\r
                     records[eFlags[turn]][target].ApplyDamage(damage);\r
@@ -597,7 +597,7 @@ namespace KancolleSniffer.Model
 \r
             public void TriggerSpecialAttack()\r
             {\r
-                _status.SpecialAttackTriggered = true;\r
+                _status.SpecialAttack = ShipStatus.Attack.Fire;\r
             }\r
 \r
             public void ApplyDamage(int damage)\r
@@ -631,7 +631,9 @@ namespace KancolleSniffer.Model
                 ship.NowHp = NowHp;\r
                 ship.Slot = _status.Slot;\r
                 ship.SlotEx = _status.SlotEx;\r
-                ship.SpecialAttackTriggered = _status.SpecialAttackTriggered;\r
+                ship.SpecialAttack = _status.SpecialAttack == ShipStatus.Attack.Fire\r
+                    ? ShipStatus.Attack.Fired\r
+                    : ShipStatus.Attack.None;\r
             }\r
         }\r
 \r
index d0cf56b..851ac19 100644 (file)
@@ -47,7 +47,14 @@ namespace KancolleSniffer.Model
         public int Lucky { get; set; }\r
         public bool Locked { get; set; }\r
         public bool Escaped { get; set; }\r
-        public bool SpecialAttackTriggered { get; set; }\r
+        public Attack SpecialAttack { get; set; }\r
+\r
+        public enum Attack\r
+        {\r
+            None,\r
+            Fire,\r
+            Fired\r
+        }\r
 \r
         public Damage DamageLevel => CalcDamage(NowHp, MaxHp);\r
 \r
index 1bb8f23..dd2a80d 100644 (file)
@@ -74,7 +74,16 @@ namespace KancolleSniffer.View
             var dc = status.PreparedDamageControl;\r
             var dcName = dc == 42 ? "[ダ]" :\r
                 dc == 43 ? "[メ]" : "";\r
-            var sp = status.SpecialAttackTriggered ? "*" : "";\r
+            var sp = "";\r
+            switch (status.SpecialAttack)\r
+            {\r
+                case ShipStatus.Attack.Fire:\r
+                    sp = "+";\r
+                    break;\r
+                case ShipStatus.Attack.Fired:\r
+                    sp = "-";\r
+                    break;\r
+            }\r
             SetName((status.Escaped ? "[避]" : dcName) + sp, status.Name, empty, width);\r
         }\r
 \r