Révision | bfb12c771e18f1355ec6d8f24b1887f98b43c89f (tree) |
---|---|
l'heure | 2020-03-04 23:17:42 |
Auteur | Kazuhiro Fujieda <fujieda@user...> |
Commiter | Kazuhiro Fujieda |
「海防艦」、海を護る!のカウンターを実装する
@@ -1085,6 +1085,53 @@ namespace KancolleSniffer.Test | ||
1085 | 1085 | } |
1086 | 1086 | |
1087 | 1087 | /// <summary> |
1088 | + /// 905: 「海防艦」、海を護る! | |
1089 | + /// </summary> | |
1090 | + [TestMethod] | |
1091 | + public void BattleResult_905() | |
1092 | + { | |
1093 | + var count = InjectQuest(905); | |
1094 | + _battleInfo.InjectResultStatus( | |
1095 | + ShipStatusList(1, 1, 1, 2, 2, 2), | |
1096 | + new ShipStatus[0], new ShipStatus[0], new ShipStatus[0]); | |
1097 | + | |
1098 | + InjectMapNext(11, 5); | |
1099 | + InjectBattleResult("A"); | |
1100 | + PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0, 0, 0}), "6隻はカウントしない"); | |
1101 | + | |
1102 | + _battleInfo.Result.Friend.Main[5] = new ShipStatus(); | |
1103 | + InjectBattleResult("B"); | |
1104 | + PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0, 0, 0}), "B勝利はカウントしない"); | |
1105 | + | |
1106 | + InjectBattleResult("A"); | |
1107 | + PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0, 0, 0}), "1-1"); | |
1108 | + | |
1109 | + InjectMapNext(12, 4); | |
1110 | + InjectBattleResult("A"); | |
1111 | + PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0, 0, 0}), "ボス以外はカウントしない"); | |
1112 | + | |
1113 | + InjectMapNext(12, 5); | |
1114 | + InjectBattleResult("A"); | |
1115 | + PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 0, 0, 0}), "1-2"); | |
1116 | + | |
1117 | + _battleInfo.Result.Friend.Main[0] = ShipStatus(2); | |
1118 | + InjectMapNext(13, 5); | |
1119 | + InjectBattleResult("A"); | |
1120 | + PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 0, 0, 0}), "海防艦2隻はカウントしない"); | |
1121 | + | |
1122 | + _battleInfo.Result.Friend.Main[0] = ShipStatus(1); | |
1123 | + InjectBattleResult("A"); | |
1124 | + PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 0, 0}), "1-3"); | |
1125 | + | |
1126 | + InjectMapNext(15, 5); | |
1127 | + InjectBattleResult("A"); | |
1128 | + PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1, 0}), "1-5"); | |
1129 | + | |
1130 | + InjectMapNext(16, 8); | |
1131 | + PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1, 1}), "1-6"); | |
1132 | + } | |
1133 | + | |
1134 | + /// <summary> | |
1088 | 1135 | /// 280と854以降を同時に遂行していると854以降がカウントされないことがある |
1089 | 1136 | /// </summary> |
1090 | 1137 | [TestMethod] |
@@ -73,6 +73,7 @@ namespace KancolleSniffer.Model | ||
73 | 73 | {893, new QuestSortie {Interval = Quarterly, MaxArray = new[] {3, 3, 3, 3}, Rank = "S", Maps = new[] {15, 71, 721, 722}, Material = new[] {0, 0, 0, 0}}}, // 893: 泊地周辺海域の安全確保を徹底せよ! |
74 | 74 | {894, new QuestSortie {Interval = Quarterly, MaxArray = new[] {1, 1, 1, 1, 1}, Rank = "S", Maps = new[] {13, 14, 21, 22, 23}, Material = new[] {0, 0, 0, 0}}}, // 894: 空母戦力の投入による兵站線戦闘哨戒 |
75 | 75 | {904, new QuestSortie {Interval = Yearly, MaxArray = new[] {1, 1, 1, 1}, Rank = "S", Maps = new[] {25, 34, 45, 53}, Material = new[] {0, 8, 10, 4}}}, // 904: 精鋭「十九駆」、躍り出る! |
76 | + {905, new QuestSortie {Interval = Yearly, MaxArray = new[] {1, 1, 1, 1, 1}, Rank = "A", Maps = new[] {11, 12, 13, 15, 16}, Material = new[] {0, 6, 8, 0}}}, // 905: 「海防艦」、海を護る! | |
76 | 77 | |
77 | 78 | {303, new QuestPractice {Interval = Daily, Max = 3, Rank = "E", Material = new[] {1, 0, 0, 0}}}, // 303: 「演習」で練度向上! |
78 | 79 | {304, new QuestPractice {Interval = Daily, Max = 5, Rank = "B", Material = new[] {0, 0, 1, 0}}}, // 304: 「演習」で他提督を圧倒せよ! |
@@ -323,6 +323,8 @@ namespace KancolleSniffer.Model | ||
323 | 323 | return specs.Names.Count("磯波", "浦波", "綾波", "敷波") == 4; |
324 | 324 | case 904: |
325 | 325 | return specs.Names.Count("綾波改二", "敷波改二") == 2; |
326 | + case 905: | |
327 | + return specs.Types.Count(type => type == 1) >= 3 && specs.Types.Length <= 5; | |
326 | 328 | default: |
327 | 329 | return true; |
328 | 330 | } |