Revision | 46c1ac9256b5dae27c0f7196d1f61ca38d1ba9be (tree) |
---|---|
Zeit | 2020-05-09 17:16:44 |
Autor | Kazuhiro Fujieda <fujieda@user...> |
Commiter | Kazuhiro Fujieda |
拡張「六水戦」、最前線へ!のカウンターを実装する
@@ -1075,6 +1075,51 @@ namespace KancolleSniffer.Test | ||
1075 | 1075 | } |
1076 | 1076 | |
1077 | 1077 | /// <summary> |
1078 | + /// 拡張「六水戦」、最前線へ! | |
1079 | + /// </summary> | |
1080 | + [TestMethod] | |
1081 | + public void BattleResult_903() | |
1082 | + { | |
1083 | + var count = InjectQuest(903); | |
1084 | + _battleInfo.InjectResultStatus(new[] {ShipStatus("夕張改二"), ShipStatus("睦月"), ShipStatus("綾波")}, | |
1085 | + new ShipStatus[0], new ShipStatus[0], new ShipStatus[0]); | |
1086 | + | |
1087 | + InjectMapNext(51, 5); | |
1088 | + InjectBattleResult("S"); | |
1089 | + PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0, 0}), "六水戦駆逐が1隻"); | |
1090 | + | |
1091 | + _battleInfo.Result.Friend.Main[2] = ShipStatus("如月"); | |
1092 | + InjectBattleResult("A"); | |
1093 | + PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0, 0}), "A勝利はカウントしない"); | |
1094 | + | |
1095 | + InjectBattleResult("S"); | |
1096 | + PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0, 0}), "5-1"); | |
1097 | + | |
1098 | + InjectMapNext(54, 4); | |
1099 | + InjectBattleResult("S"); | |
1100 | + PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0, 0}), "ボス以外はカウントしない"); | |
1101 | + | |
1102 | + _battleInfo.Result.Friend.Main = new[] {ShipStatus("睦月"), ShipStatus("如月"), ShipStatus("夕張改二")}; | |
1103 | + InjectMapNext(54, 5); | |
1104 | + InjectBattleResult("S"); | |
1105 | + PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0, 0}), "旗艦が夕張改二ではない"); | |
1106 | + | |
1107 | + _battleInfo.Result.Friend.Main = new[] {ShipStatus("夕張改二"), ShipStatus("弥生"), ShipStatus("卯月")}; | |
1108 | + InjectMapNext(54, 5); | |
1109 | + InjectBattleResult("S"); | |
1110 | + PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 0, 0}), "5-4"); | |
1111 | + | |
1112 | + _battleInfo.Result.Friend.Main = new[] {ShipStatus("夕張改二"), ShipStatus("菊月"), ShipStatus("望月")}; | |
1113 | + InjectMapNext(64, 5); | |
1114 | + InjectBattleResult("S"); | |
1115 | + PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 0}), "6-4"); | |
1116 | + | |
1117 | + InjectMapNext(65, 5); | |
1118 | + InjectBattleResult("S"); | |
1119 | + PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1}), "6-5"); | |
1120 | + } | |
1121 | + | |
1122 | + /// <summary> | |
1078 | 1123 | /// 904: 精鋭「十九駆」、躍り出る! |
1079 | 1124 | /// </summary> |
1080 | 1125 | [TestMethod] |
@@ -72,6 +72,7 @@ namespace KancolleSniffer.Model | ||
72 | 72 | {888, new QuestSortie {Interval = Quarterly, MaxArray = new[] {1, 1, 1}, Rank = "S", Maps = new[] {51, 53, 54}, Material = new[] {0, 0, 0, 0}}}, // 888: 新編成「三川艦隊」、鉄底海峡に突入せよ! |
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 | + {903, new QuestSortie {Interval = Quarterly, MaxArray = new[] {1, 1, 1, 1}, Rank = "S", Maps = new[] {51, 54, 64, 65}, Material = new[] {0, 10, 0, 0}}}, // 903: 拡張「六水戦」、最前線へ! | |
75 | 76 | {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 | 77 | {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: 「海防艦」、海を護る! |
77 | 78 |
@@ -311,6 +311,13 @@ namespace KancolleSniffer.Model | ||
311 | 311 | return specs.Names.Count("鳥海", "青葉", "衣笠", "加古", "古鷹", "天龍", "夕張") >= 4; |
312 | 312 | case 894: |
313 | 313 | return specs.Specs.Any(spec => spec.IsAircraftCarrier); |
314 | + case 903: | |
315 | + return specs.Flagship.Name.StartsWith("夕張改二") && | |
316 | + specs.Names.Count("睦月", "如月", "弥生", "卯月", "菊月", "望月") >= 2; | |
317 | + case 904: | |
318 | + return specs.Names.Count("綾波改二", "敷波改二") == 2; | |
319 | + case 905: | |
320 | + return specs.Types.Count(type => type == 1) >= 3 && specs.Types.Length <= 5; | |
314 | 321 | case 318: |
315 | 322 | return specs.Types.Count(type => type == 3) >= 2; |
316 | 323 | case 330: |
@@ -321,10 +328,6 @@ namespace KancolleSniffer.Model | ||
321 | 328 | return specs.Names.Count("陽炎", "不知火", "霰", "霞") == 4; |
322 | 329 | case 339: |
323 | 330 | return specs.Names.Count("磯波", "浦波", "綾波", "敷波") == 4; |
324 | - case 904: | |
325 | - return specs.Names.Count("綾波改二", "敷波改二") == 2; | |
326 | - case 905: | |
327 | - return specs.Types.Count(type => type == 1) >= 3 && specs.Types.Length <= 5; | |
328 | 331 | default: |
329 | 332 | return true; |
330 | 333 | } |