OSDN Git Service

アイテムと艦娘が両方ドロップした場合に対応する
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Fri, 9 Oct 2015 09:50:41 +0000 (18:50 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Fri, 9 Oct 2015 09:50:41 +0000 (18:50 +0900)
KancolleSniffer.Test/LoggerTest.cs
KancolleSniffer/Logger.cs

index b852950..e8a4598 100644 (file)
@@ -202,6 +202,27 @@ namespace KancolleSniffer.Test
         }\r
 \r
         [TestMethod]\r
+        public void InspectBattleResultDropItemAndShip()\r
+        {\r
+            var sniffer = new Sniffer();\r
+            var result = "";\r
+            sniffer.SetLogWriter((path, s, h) => { result += s + "|"; }, ()=> new DateTime(2015, 1,1));\r
+            sniffer.EnableLog(LogType.Battle);\r
+            SnifferTest.SniffLogFile(sniffer, "dropitem_002");\r
+            PAssert.That(()=>\r
+                "2015-01-01 00:00:00,アルフォンシーノ方面,1,出撃,S,同航戦,単縦陣,単縦陣,敵前衛艦隊,,," +\r
+                "飛龍改(Lv79),65/65,翔鶴改二(Lv112),85/85,隼鷹改二(Lv139),62/62,足柄改二(Lv139),63/63,大井改二(Lv133),49/49,北上改二(Lv133),49/49," +\r
+                "軽巡ヘ級(flagship),0/57,重巡リ級(elite),0/60,軽巡ト級(elite),0/55,雷巡チ級(elite),0/50,駆逐ロ級(elite),0/35,駆逐ロ級(elite),0/35|" +\r
+                "2015-01-01 00:00:00,アルフォンシーノ方面,3,,S,同航戦,複縦陣,梯形陣,敵護衛空母群,重巡洋艦,筑摩," +\r
+                "飛龍改(Lv79),65/65,翔鶴改二(Lv112),85/85,隼鷹改二(Lv139),54/62,足柄改二(Lv139),63/63,大井改二(Lv133),46/49,北上改二(Lv133),49/49," +\r
+                "軽母ヌ級(elite),0/70,軽母ヌ級(elite),0/70,軽母ヌ級(elite),0/70,軽巡ホ級(flagship),0/53,駆逐ニ級(elite),0/45,駆逐ニ級(elite),0/45|" +\r
+                "2015-01-01 00:00:00,アルフォンシーノ方面,11,ボス,S,T字戦(有利),単縦陣,単縦陣,深海棲艦泊地艦隊,駆逐艦+アイテム,舞風+秋刀魚," +\r
+                "飛龍改(Lv79),65/65,翔鶴改二(Lv112),44/85,隼鷹改二(Lv139),54/62,足柄改二(Lv139),50/63,大井改二(Lv133),46/49,北上改二(Lv133),49/49," +\r
+                "空母ヲ級(flagship),0/96,空母ヲ級(elite),0/88,戦艦ル級(flagship),0/98,軽巡ヘ級(flagship),0/57,軽巡ト級(elite),0/55,駆逐ニ級(elite),0/45|"\r
+                == result);\r
+        }\r
+\r
+        [TestMethod]\r
         public void InspectMaterial()\r
         {\r
             var sniffer = new Sniffer();\r
index 8274124..336549a 100644 (file)
@@ -163,12 +163,23 @@ namespace KancolleSniffer
                 boss = "出撃";\r
             if (cell == (int)_map.api_bosscell_no || (int)_map.api_event_id == 5)\r
                 boss = _start ? "出撃&ボス" : "ボス";\r
-            var dropType = result.api_get_ship()\r
-                ? result.api_get_ship.api_ship_type\r
-                : result.api_get_useitem() ? "アイテム" : "";\r
-            var dropName = result.api_get_ship()\r
-                ? result.api_get_ship.api_ship_name\r
-                : result.api_get_useitem() ? _itemInfo.GetUseItemName((int)result.api_get_useitem.api_useitem_id) : "";\r
+            var dropType = result.api_get_ship() ? result.api_get_ship.api_ship_type : "";\r
+            if (result.api_get_useitem())\r
+            {\r
+                if (dropType == "")\r
+                    dropType = "アイテム";\r
+                else\r
+                    dropType += "+アイテム";\r
+            }\r
+            var dropName = result.api_get_ship() ? result.api_get_ship.api_ship_name : "";\r
+            if (result.api_get_useitem())\r
+            {\r
+                var itemName = _itemInfo.GetUseItemName((int)result.api_get_useitem.api_useitem_id);\r
+                if (dropName == "")\r
+                    dropName = itemName;\r
+                else\r
+                    dropName += "+" + itemName;\r
+            }\r
             _writer("海戦・ドロップ報告書", string.Join(",", _nowFunc().ToString(DateTimeFormat),\r
                 result.api_quest_name,\r
                 cell, boss,\r