}\r
\r
/// <summary>\r
- /// 遠征報告書は普通にJSONに変換する\r
+ /// 古い遠征報告書に改修資材の数字を追加する\r
/// </summary>\r
[TestMethod]\r
public void EnseiLog()\r
var result = processor.Process(log, "遠征報告書.csv", DateTime.MinValue, DateTime.MaxValue, false);\r
PAssert.That(() => result.SequenceEqual(new[]\r
{\r
- "[\"2018-09-10 17:45:09\",\"大成功\",\"北方鼠輸送作戦\",\"589\",\"498\",\"0\",\"0\",\"0\",\"0\",\"0\"]",\r
- ",\n[\"2018-09-10 17:53:34\",\"成功\",\"長距離練習航海\",\"0\",\"117\",\"34\",\"0\",\"0\",\"1\",\"0\"]"\r
+ "[\"2018-09-10 17:45:09\",\"大成功\",\"北方鼠輸送作戦\",\"589\",\"498\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\"]",\r
+ ",\n[\"2018-09-10 17:53:34\",\"成功\",\"長距離練習航海\",\"0\",\"117\",\"34\",\"0\",\"0\",\"1\",\"0\",\"0\"]"\r
}));\r
}\r
\r
sniffer.SkipMaster();\r
sniffer.EnableLog(LogType.Mission);\r
SnifferTest.SniffLogFile(sniffer, "mission_result_001");\r
- PAssert.That(() => "日付,結果,遠征,燃料,弾薬,鋼材,ボーキ,開発資材,高速修復材,高速建造材" == header);\r
- PAssert.That(() => "2015-01-01 00:00:00,成功,長距離練習航海,0,100,30,0,0,0,0|" +\r
- "2015-01-01 00:00:00,成功,長距離練習航海,0,100,30,0,0,1,0|" +\r
- "2015-01-01 00:00:00,大成功,MO作戦,0,0,360,420,1,0,0|" +\r
- "2015-01-01 00:00:00,失敗,東京急行(弐),0,0,0,0,0,0,0|"\r
+ PAssert.That(() => "日付,結果,遠征,燃料,弾薬,鋼材,ボーキ,開発資材,高速修復材,高速建造材,改修資材" == header);\r
+ PAssert.That(() => "2015-01-01 00:00:00,成功,長距離練習航海,0,100,30,0,0,0,0,0|" +\r
+ "2015-01-01 00:00:00,成功,長距離練習航海,0,100,30,0,0,1,0,0|" +\r
+ "2015-01-01 00:00:00,大成功,MO作戦,0,0,360,420,1,0,0,0|" +\r
+ "2015-01-01 00:00:00,失敗,東京急行(弐),0,0,0,0,0,0,0,0|"\r
+ == result);\r
+ }\r
+\r
+ [TestMethod]\r
+ public void MissionResultGetScrew()\r
+ {\r
+ var sniffer = new Sniffer();\r
+ var result = "";\r
+ var header = "";\r
+ sniffer.SetLogWriter((path, s, h) =>\r
+ {\r
+ result += s + "|";\r
+ header = h;\r
+ }, () => new DateTime(2019, 1, 1));\r
+ sniffer.SkipMaster();\r
+ sniffer.EnableLog(LogType.Mission);\r
+ SnifferTest.SniffLogFile(sniffer, "mission_result_002");\r
+ PAssert.That(() => "日付,結果,遠征,燃料,弾薬,鋼材,ボーキ,開発資材,高速修復材,高速建造材,改修資材" == header);\r
+ PAssert.That(() => "2019-01-01 00:00:00,大成功,南西諸島離島防衛作戦,0,0,1800,975,0,0,0,1|"\r
== result);\r
}\r
\r
-Subproject commit 2975685eb2dffae8f81255ca2375bfe880ded6fd
+Subproject commit a1cddc02b44ae9718c5a2a16cc282fbfa01ea178
bool number, DateTime now = default)\r
{\r
var fields = 0;\r
+ var mission = false;\r
var battle = false;\r
var material = false;\r
switch (Path.GetFileNameWithoutExtension(path))\r
{\r
case "遠征報告書":\r
- fields = 10;\r
+ mission = true;\r
+ fields = 11;\r
break;\r
case "改修報告書":\r
fields = 15;\r
continue;\r
data[0] = Logger.FormatDateTime(date);\r
var entries = data;\r
+ if (mission)\r
+ entries = data.Concat(new[] {"0"}).Take(fields).ToArray();\r
if (material)\r
entries = data.Take(fields).ToArray();\r
if (battle)\r
{\r
var r = (int)json.api_clear_result;\r
var resStr = r == 2 ? "大成功" : r == 1 ? "成功" : "失敗";\r
- var material = new int[7];\r
+ var material = new int[8];\r
if (r != 0)\r
((int[])json.api_get_material).CopyTo(material, 0);\r
foreach (var i in new[] {1, 2})\r
{\r
var attr = "api_get_item" + i;\r
- if (!json.IsDefined(attr) || json[attr].api_useitem_id != -1)\r
+ if (!json.IsDefined(attr))\r
continue;\r
var count = (int)json[attr].api_useitem_count;\r
var flag = ((int[])json.api_useitem_flag)[i - 1];\r
- if (flag == 1)\r
- material[(int)Material.Bucket] = count;\r
- else if (flag == 2)\r
- material[(int)Material.Burner + 2] = count; // 高速建造材と開発資材が反対なのでいつか直す\r
- else if (flag == 3)\r
- material[(int)Material.Development - 2] = count;\r
+ switch (flag)\r
+ {\r
+ case 1:\r
+ material[(int)Material.Bucket] = count;\r
+ break;\r
+ case 2:\r
+ material[(int)Material.Burner + 2] = count; // 高速建造材と開発資材が反対なのでいつか直す\r
+ break;\r
+ case 3:\r
+ material[(int)Material.Development - 2] = count;\r
+ break;\r
+ case 4:\r
+ if ((int)json[attr].api_useitem_id == 4)\r
+ material[(int)Material.Screw] = count;\r
+ break;\r
+ }\r
}\r
if ((_logType & LogType.Mission) != 0)\r
{\r
WriteNow("遠征報告書",\r
string.Join(",",\r
resStr, json.api_quest_name, string.Join(",", material)),\r
- "日付,結果,遠征,燃料,弾薬,鋼材,ボーキ,開発資材,高速修復材,高速建造材");\r
+ "日付,結果,遠征,燃料,弾薬,鋼材,ボーキ,開発資材,高速修復材,高速建造材,改修資材");\r
}\r
}\r
\r
this.tables = [
"<th>日付</th><th>海域</th><th>マップ</th><th>マス</th><th>ボス</th><th>ランク</th><th>ドロップ艦種</th><th>ドロップ艦娘", // ドロップ
"<th>日付</th><th style=\"min-width: 3.2em;\">海域</th><th>マップ</th><th>マス</th><th>ボス</th><th>ランク</th><th>艦隊行動</th><th>味方陣形</th><th>敵陣形</th><th style=\"min-width: 3.2em;\">敵艦隊</th><th>味方艦1</th><th>味方艦1HP</th><th>味方艦2</th><th>味方艦2HP</th><th>味方艦3</th><th>味方艦3HP</th><th>味方艦4</th><th>味方艦4HP</th><th>味方艦5</th><th>味方艦5HP</th><th>味方艦6</th><th>味方艦6HP</th><th>大破艦</ht><th style=\"min-width: 2.2em;\">敵艦1</th><th>敵艦1HP</th><th style=\"min-width: 2.2em;\">敵艦2</th><th>敵艦2HP</th><th style=\"min-width: 2.2em;\">敵艦3</th><th>敵艦3HP</th><th style=\"min-width: 2.2em;\">敵艦4</th><th>敵艦4HP</th><th style=\"min-width: 2.2em;\">敵艦5</th><th>敵艦5HP</th><th style=\"min-width: 2.2em;\">敵艦6</th><th>敵艦6HP</th><th>味方制空値</th><th>敵制空値</th><th>制空状態</th>", // 海戦
-"<th>日付</th><th>結果</th><th>遠征</th><th>燃料</th><th>弾薬</th><th>鋼材</th><th>ボーキ</th><th>開発資材</th><th>高速修復材</th><th>高速建造材</th>", // 遠征
+"<th>日付</th><th>結果</th><th>遠征</th><th>燃料</th><th>弾薬</th><th>鋼材</th><th>ボーキ</th><th>開発資材</th><th>高速修復材</th><th>高速建造材</th><th>改修資材</th>", // 遠征
"<th>日付</th><th>開発装備</th><th>種別</th><th>燃料</th><th>弾薬</th><th>鋼材</th><th>ボーキ</th><th>秘書艦</th><th>司令部Lv</th>", // 開発
"<th>日付</th><th>種類</th><th>名前</th><th>艦種</th><th>燃料</th><th>弾薬</th><th>鋼材</th><th>ボーキ</th><th>開発資材</th><th>空きドック</th><th>秘書艦</th><th>司令部Lv</th>", // 建造
"<th>日付</th><th>改修装備</th><th>レベル</th><th>成功</th><th>確実化</th><th>消費装備</th><th>消費数</th><th>燃料</th><th>弾薬</th><th>鋼材</th><th>ボーキ</th><th>開発資材</th><th>改修資材</th><th>秘書艦</th><th>二番艦</th>", // 改修