X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=KancolleSniffer%2FModel%2FQuestCountList.cs;h=acb76528f5b5fa22765346bfaec44114dac41a03;hb=69d462ac63495a5027bde4e0b192bc0f59690512;hp=f8e3b21559fc42bac57ac8aed881fffb03cb91d5;hpb=56d9fceb7eb14b7f507cfd20b03edb90e1645b18;p=kancollesniffer%2FKancolleSniffer.git
diff --git a/KancolleSniffer/Model/QuestCountList.cs b/KancolleSniffer/Model/QuestCountList.cs
index f8e3b21..acb7652 100644
--- a/KancolleSniffer/Model/QuestCountList.cs
+++ b/KancolleSniffer/Model/QuestCountList.cs
@@ -23,13 +23,20 @@ namespace KancolleSniffer.Model
private const QuestInterval Weekly = QuestInterval.Weekly;
private const QuestInterval Monthly = QuestInterval.Monthly;
private const QuestInterval Quarterly = QuestInterval.Quarterly;
+ private const QuestInterval Yearly2 = QuestInterval.Yearly2;
+ private const QuestInterval Yearly3 = QuestInterval.Yearly3;
+ private const QuestInterval Yearly5 = QuestInterval.Yearly5;
+ private const QuestInterval Yearly8 = QuestInterval.Yearly8;
+ private const QuestInterval Yearly9 = QuestInterval.Yearly9;
+ private const QuestInterval Yearly10 = QuestInterval.Yearly10;
+ private const QuestInterval Yearly11 = QuestInterval.Yearly11;
///
/// ãã®ãã¼ãã«ã¯ä¸åå¼é»å観測åãåèã«ä½æããã
/// https://github.com/andanteyk/ElectronicObserver/blob/develop/ElectronicObserver/Data/Quest/QuestProgressManager.cs
///
// @formatter:off
- private static readonly Dictionary QuestSpecs = new Dictionary
+ private readonly Dictionary _questSpecs = new Dictionary
{
{201, new QuestSortie {Interval = Daily, Max = 1, Rank = "B", Material = new[] {0, 0, 1, 0}}}, // 201: æµè¦éãææ»
ããï¼
{216, new QuestSortie {Interval = Daily, Max = 1, Rank = "B", Material = new[] {0, 1, 1, 0}}}, // 216: æµè¦é主åãææ»
ããï¼
@@ -49,33 +56,47 @@ namespace KancolleSniffer.Model
{241, new QuestSortie {Interval = Weekly, Max = 5, Rank = "B", Maps = new[] {33, 34, 35}, Material = new[] {0, 0, 3, 3}}}, // 241: æµåæ¹è¦é主åãææ»
ããï¼
{242, new QuestSortie {Interval = Weekly, Max = 1, Rank = "B", Maps = new[] {44}, Material = new[] {0, 1, 1, 0}}}, // 242: æµæ±æ¹ä¸æ¢è¦éãæç ´ããï¼
{243, new QuestSortie {Interval = Weekly, Max = 2, Rank = "S", Maps = new[] {52}, Material = new[] {0, 0, 2, 2}}}, // 243: åæ¹æµ·åçç諸島æ²ã®å¶ç©ºæ¨©ãæ¡ãï¼
- {249, new QuestSpec {Interval = Monthly, Max = 1, Material = new[] {0, 0, 5, 0}}}, // 249: ã第äºæ¦éãåºæããï¼
+ {249, new QuestSortie {Interval = Monthly, Max = 1, Rank = "S", Maps = new[] {25}, Material = new[] {0, 0, 5, 0}}}, // 249: ã第äºæ¦éãåºæããï¼
{256, new QuestSortie {Interval = Monthly, Max = 3, Rank = "S", Maps = new[] {61}, Material = new[] {0, 0, 0, 0}}}, // 256: ãæ½æ°´è¦éãåºæããï¼
- {257, new QuestSpec {Interval = Monthly, Max = 1, Material = new[] {0, 0, 0, 3}}}, // 257: ãæ°´é·æ¦éãå西ã¸ï¼
- {259, new QuestSpec {Interval = Monthly, Max = 1, Material = new[] {0, 3, 0, 4}}}, // 259: ãæ°´ä¸ææé¨éãåæ¹ã¸ï¼
+ {257, new QuestSortie {Interval = Monthly, Max = 1, Rank = "S", Maps = new[] {14}, Material = new[] {0, 0, 0, 3}}}, // 257: ãæ°´é·æ¦éãå西ã¸ï¼
+ {259, new QuestSortie {Interval = Monthly, Max = 1, Rank = "S", Maps = new[] {51}, Material = new[] {0, 3, 0, 4}}}, // 259: ãæ°´ä¸ææé¨éãåæ¹ã¸ï¼
{261, new QuestSortie {Interval = Weekly, Max = 3, Rank = "A", Maps = new[] {15}, Material = new[] {0, 0, 0, 3}}}, // 261: æµ·ä¸è¼¸éè·¯ã®å®å
¨ç¢ºä¿ã«åªããï¼
- {264, new QuestSpec {Interval = Monthly, Max = 1, Material = new[] {0, 0, 0, 2}}}, // 264: ã空æ¯æ©åé¨éã西ã¸ï¼
+ {264, new QuestSortie {Interval = Monthly, Max = 1, Rank = "S", Maps = new[] {42}, Material = new[] {0, 0, 0, 2}}}, // 264: ã空æ¯æ©åé¨éã西ã¸ï¼
{265, new QuestSortie {Interval = Monthly, Max = 10, Rank = "A", Maps = new[] {15}, Material = new[] {0, 0, 5, 3}}}, // 265: æµ·ä¸è·è¡å¼·åæé
- {266, new QuestSpec {Interval = Monthly, Max = 1, Material = new[] {4, 4, 0, 2}}}, // 266: ãæ°´ä¸åæé¨éãçªå
¥ããï¼
- {280, new QuestSpec {Interval = Monthly, MaxArray = new[] {1, 1, 1, 1}, Material = new[] {0, 4, 4, 2}}}, // 280: å
µç«ç·ç¢ºä¿ï¼æµ·ä¸è¦åãå¼·åå®æ½ããï¼
+ {266, new QuestSortie {Interval = Monthly, Max = 1, Rank = "S", Maps = new[] {25}, Material = new[] {0, 0, 4, 2}}}, // 266: ãæ°´ä¸åæé¨éãçªå
¥ããï¼
+ {280, new QuestSortie {Interval = Monthly, MaxArray = new[] {1, 1, 1, 1}, Rank = "S", Maps = new[] {12, 13, 14, 21}, Material = new[] {0, 4, 4, 2}}}, // 280: å
µç«ç·ç¢ºä¿ï¼æµ·ä¸è¦åãå¼·åå®æ½ããï¼
+ {284, new QuestSortie {Interval = Quarterly, MaxArray = new[] {1, 1, 1, 1}, Rank = "S", Maps = new[] {14, 21, 22, 23}, Material = new[] {0, 0, 0, 4}}}, // 284: å西諸島æ¹é¢ãæµ·ä¸è¦åè¡åãçºä»¤ï¼
{822, new QuestSortie {Interval = Quarterly, Max = 2, Rank = "S", Maps = new[] {24}, Material = new[] {0, 0, 0, 5}}}, // 822: æ²ã島海åè¿ææ¦
- {854, new QuestSpec {Interval = Quarterly, MaxArray = new[] {1, 1, 1, 1}, Material = new[] {0, 0, 0, 4}}}, // 854: æ¦ææ¡å¼µä»»åï¼ãZä½æ¦ãå段ä½æ¦
- {861, new QuestSpec {Interval = Quarterly, Max = 2, Material = new[] {0, 4, 0, 0}}}, // 861: å¼·è¡è¼¸éè¦éãæé¨ï¼
- {862, new QuestSpec {Interval = Quarterly, Max = 2, Material = new[] {0, 0, 8, 4}}}, // 862: åç·ã®èªç©ºåµå¯ãå®æ½ããï¼
- {873, new QuestSpec {Interval = Quarterly, MaxArray = new[] {1, 1, 1}, Material = new[] {0, 0, 0, 0}}}, // 873: åæ¹æµ·åè¦åãå®æ½ããï¼
- {875, new QuestSpec {Interval = Quarterly, Max = 2, Material = new[] {0, 0, 0, 0}}}, // 875: ç²¾éãä¸ä¸é§ããéåºæµ·åã«çªå
¥ããï¼
- {888, new QuestSpec {Interval = Quarterly, MaxArray = new[] {1, 1, 1}, Material = new[] {0, 0, 0, 0}}}, // 888: æ°ç·¨æãä¸å·è¦éããéåºæµ·å³¡ã«çªå
¥ããï¼
- {893, new QuestSpec {Interval = Quarterly, MaxArray = new[] {3, 3, 3, 3}, Material = new[] {0, 0, 0, 0}}}, // 893: æ³å°å¨è¾ºæµ·åã®å®å
¨ç¢ºä¿ãå¾¹åºããï¼
- {894, new QuestSpec {Interval = Quarterly, MaxArray = new[] {1, 1, 1, 1, 1}, Material = new[] {0, 0, 0, 0}}}, // 894: 空æ¯æ¦åã®æå
¥ã«ããå
µç«ç·æ¦éå¨æ
-
- {303, new QuestPractice {Interval = Daily, Max = 3, Win = false, Material = new[] {1, 0, 0, 0}}}, // 303: ãæ¼ç¿ãã§ç·´åº¦åä¸ï¼
- {304, new QuestPractice {Interval = Daily, Max = 5, Win = true, Material = new[] {0, 0, 1, 0}}}, // 304: ãæ¼ç¿ãã§ä»æç£ãå§åããï¼
- {302, new QuestPractice {Interval = Weekly, Max = 20, Win = true, Material = new[] {0, 0, 2, 1}}}, // 302: 大è¦æ¨¡æ¼ç¿
- {311, new QuestPractice {Interval = Daily, Max = 7, Win = true, Material = new[] {0, 2, 0, 0}}}, // 311: ç²¾éè¦éæ¼ç¿
- {315, new QuestPractice {Interval = Daily, Max = 8, Win = true, Material = new[] {0, 0, 0, 0}}}, // 315: æ¥å£å¤§æ¼ç¿
- {318, new QuestSpec {Interval = Daily, Max = 3, Material = new[] {0, 2, 2, 0}, AdjustCount = false}}, // 318: 給糧è¦ãä¼è¯æ¹ãã®æ¯æ´
- {330, new QuestSpec {Interval = Daily, Max = 4, Material = new[] {0, 0, 3, 0}}}, // 330: 空æ¯æ©åé¨éãæ¼ç¿å§ãï¼
+ {845, new QuestSortie {Interval = Quarterly, MaxArray = new []{1, 1, 1, 1, 1}, Rank = "S", Maps = new[] {41, 42, 43, 44, 45}, Material = new[] {0, 0, 1, 0}}}, // 845: çºä»¤ï¼ã西æ¹æµ·åä½æ¦ã
+ {854, new QuestSortie {Interval = Quarterly, MaxArray = new[] {1, 1, 1, 1}, Ranks = new[] {"A", "A", "A", "S"}, Maps = new[] {24, 61, 63, 64}, Material = new[] {0, 0, 0, 4}}}, // 854: æ¦ææ¡å¼µä»»åï¼ãZä½æ¦ãå段ä½æ¦
+ {861, new QuestSortie {Interval = Quarterly, Max = 2, Rank = "B", Maps = new[] {16}, Material = new[] {0, 4, 0, 0}}}, // 861: å¼·è¡è¼¸éè¦éãæé¨ï¼
+ {862, new QuestSortie {Interval = Quarterly, Max = 2, Rank = "A", Maps = new[] {63}, Material = new[] {0, 0, 8, 4}}}, // 862: åç·ã®èªç©ºåµå¯ãå®æ½ããï¼
+ {872, new QuestSortie {Interval = Quarterly, MaxArray = new[] {1, 1, 1, 1}, Rank = "S", Maps = new[] {722, 55, 62, 65}, Material = new[] {0, 0, 0, 4}}}, // 872: æ¦ææ¡å¼µä»»åï¼ãZä½æ¦ãå¾æ®µä½æ¦
+ {873, new QuestSortie {Interval = Quarterly, MaxArray = new[] {1, 1, 1}, Rank = "A", Maps = new[] {31, 32, 33}, Material = new[] {0, 0, 0, 0}}}, // 873: åæ¹æµ·åè¦åãå®æ½ããï¼
+ {875, new QuestSortie {Interval = Quarterly, Max = 2, Rank = "S", Maps = new[] {54}, Material = new[] {0, 0, 0, 0}}}, // 875: ç²¾éãä¸ä¸é§ããéåºæµ·åã«çªå
¥ããï¼
+ {888, new QuestSortie {Interval = Quarterly, MaxArray = new[] {1, 1, 1}, Rank = "S", Maps = new[] {51, 53, 54}, Material = new[] {0, 0, 0, 0}}}, // 888: æ°ç·¨æãä¸å·è¦éããéåºæµ·å³¡ã«çªå
¥ããï¼
+ {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: æ³å°å¨è¾ºæµ·åã®å®å
¨ç¢ºä¿ãå¾¹åºããï¼
+ {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: 空æ¯æ¦åã®æå
¥ã«ããå
µç«ç·æ¦éå¨æ
+ {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: æ¡å¼µãå
æ°´æ¦ããæåç·ã¸ï¼
+ {904, new QuestSortie {Interval = Yearly2, MaxArray = new[] {1, 1, 1, 1}, Rank = "S", Maps = new[] {25, 34, 45, 53}, Material = new[] {0, 8, 10, 4}}}, // 904: ç²¾éãåä¹é§ããèºãåºãï¼
+ {905, new QuestSortie {Interval = Yearly2, MaxArray = new[] {1, 1, 1, 1, 1}, Rank = "A", Maps = new[] {11, 12, 13, 15, 16}, Material = new[] {0, 6, 8, 0}}}, // 905: ãæµ·é²è¦ããæµ·ãè·ãï¼
+ {912, new QuestSortie {Interval = Yearly3, MaxArray = new[] {1, 1, 1, 1, 1}, Rank = "A", Maps = new[] {13, 21, 22, 23, 16}, Material = new[] {0, 5, 6, 0}}}, // 912: å·¥ä½è¦ãæç³ãè·è¡ä»»å
+ {914, new QuestSortie {Interval = Yearly3, MaxArray = new[] {1, 1, 1, 1}, Rank = "A", Maps = new[] {41, 42, 43, 44}, Material = new[] {0, 5, 0, 4}}}, // 914: éå·¡æ¦éã西ã¸ï¼
+ {928, new QuestSortie {Interval = Yearly9, MaxArray = new[] {2, 2, 2}, Rank = "S", Maps = new[] {732, 722, 42}, Material = new[] {0, 0, 10, 8}}}, // 928: æ´æ¦ã第åæ¹é¢è¦éããå
¨ååºæï¼
+
+ {303, new QuestPractice {Interval = Daily, Max = 3, Rank = "E", Material = new[] {1, 0, 0, 0}}}, // 303: ãæ¼ç¿ãã§ç·´åº¦åä¸ï¼
+ {304, new QuestPractice {Interval = Daily, Max = 5, Rank = "B", Material = new[] {0, 0, 1, 0}}}, // 304: ãæ¼ç¿ãã§ä»æç£ãå§åããï¼
+ {302, new QuestPractice {Interval = Weekly, Max = 20, Rank = "B", Material = new[] {0, 0, 2, 1}}}, // 302: 大è¦æ¨¡æ¼ç¿
+ {311, new QuestPractice {Interval = Daily, Max = 7, Rank = "B", Material = new[] {0, 2, 0, 0}}}, // 311: ç²¾éè¦éæ¼ç¿
+ {315, new QuestPractice {Interval = Daily, Max = 8, Rank = "B", Material = new[] {0, 0, 0, 0}}}, // 315: æ¥å£å¤§æ¼ç¿
+ {318, new QuestPractice {Interval = Daily, Max = 3, Rank = "B", Material = new[] {0, 2, 2, 0}, AdjustCount = false}}, // 318: 給糧è¦ãä¼è¯æ¹ãã®æ¯æ´
+ {330, new QuestPractice {Interval = Daily, Max = 4, Rank = "A", Material = new[] {0, 0, 3, 0}}}, // 330: 空æ¯æ©åé¨éãæ¼ç¿å§ãï¼
+ {337, new QuestPractice {Interval = Daily, Max = 3, Rank = "S", Material = new[] {0, 0, 0, 3}, Shift = 2}}, // 337: ãåå
«é§ãæ¼ç¿ï¼
+ {339, new QuestPractice {Interval = Daily, Max = 3, Rank = "S", Material = new[] {0, 0, 8, 3}, Shift = 2}}, // 339: ãåä¹é§ãæ¼ç¿ï¼
+ {342, new QuestPractice {Interval = Quarterly, Max = 4, Rank = "A", Material = new[] {0, 4, 4, 0}, Shift = 1}}, // 342: å°è¦è群æ¼ç¿å¼·åä»»å
+ {345, new QuestPractice {Interval = Yearly10, Max = 4, Rank = "A", Material = new[] {0, 5, 4, 0}, Shift = 1}}, // 345: æ¼ç¿ãã£ã¼ã¿ã¤ã ï¼
+ {346, new QuestPractice {Interval = Yearly10, Max = 4, Rank = "S", Material = new[] {0, 4, 6, 0}, Shift = 1}}, // 346: æç²¾éï¼ä¸»åãªã主åãæ¼ç¿éå§ï¼
{402, new QuestMission {Interval = Daily, Max = 3, Material = new[] {0, 0, 1, 0}}}, // 402: ãé å¾ãã3åæåããããï¼
{403, new QuestMission {Interval = Daily, Max = 10, Material = new[] {0, 0, 0, 0}}}, // 403: ãé å¾ãã10åæåããããï¼
@@ -83,8 +104,14 @@ namespace KancolleSniffer.Model
{410, new QuestMission {Interval = Weekly, Max = 1, Ids = new[] {37, 38}, Material = new[] {0, 0, 0, 0}}}, // 410: åæ¹ã¸ã®è¼¸éä½æ¦ãæåãããï¼
{411, new QuestMission {Interval = Weekly, Max = 6, Shift = 1, Ids = new[] {37, 38}, Material = new[] {0, 0, 2, 1}}}, // 411: åæ¹ã¸ã®é¼ 輸éãç¶ç¶å®æ½ããï¼
{424, new QuestMission {Interval = Monthly, Max = 4, Shift = 1, Ids = new[] {5}, Material = new[] {0, 0, 0, 0}}}, // 424: 輸éè¹å£è·è¡ãå¼·åããï¼
- {426, new QuestSpec {Interval = Quarterly, MaxArray = new[] {1, 1, 1, 1}, Material = new[] {0, 0, 4, 0}}}, // 426: æµ·ä¸éåèªè·¯ã®è¦æãå³ã¨ããï¼
- {428, new QuestSpec {Interval = Quarterly, MaxArray = new[] {2, 2, 2}, Material = new[] {0, 0, 0, 3}}}, // 428: è¿æµ·ã«ä¾µå
¥ããæµæ½ãå¶å§ããï¼
+ {426, new QuestMission {Interval = Quarterly, MaxArray = new[] {1, 1, 1, 1}, Ids = new[] {3, 4, 5, 10}, Material = new[] {0, 0, 4, 0}}}, // 426: æµ·ä¸éåèªè·¯ã®è¦æãå³ã¨ããï¼
+ {428, new QuestMission {Interval = Quarterly, MaxArray = new[] {2, 2, 2}, Ids = new[] {4, 101, 102}, Material = new[] {0, 0, 0, 3}}}, // 428: è¿æµ·ã«ä¾µå
¥ããæµæ½ãå¶å§ããï¼
+ {434, new QuestMission {Interval = Yearly2, MaxArray = new[] {1, 1, 1, 1, 1}, Ids = new[] {3, 5, 100, 101, 9}, Material = new[] {0, 5, 0, 3}}}, // 434: ç¹è¨è·è¡è¹å£å¸ä»¤é¨ãæ´»åéå§ï¼
+ {436, new QuestMission {Interval = Yearly3, MaxArray = new[] {1, 1, 1, 1, 1}, Ids = new[] {1, 2, 3, 4, 10}, Material = new[] {0, 4, 0, 0}}}, // 436: ç·´ç¿èªæµ·åã³è¦åä»»åãå®æ½ããï¼
+ {437, new QuestMission {Interval = Yearly5, MaxArray = new[] {1, 1, 1, 1}, Ids = new[] {4, 104, 105, 110}, Material = new[] {0, 0, 7, 3}, Shift = 1}}, // 437: å°ç¬ åæ²å¨æç·ã®å¼·åãå®æ½ããï¼
+ {438, new QuestMission {Interval = Yearly8, MaxArray = new[] {1, 1, 1, 1}, Ids = new[] {100, 4, 9, 114}, Material = new[] {0, 0, 5, 4}, Shift = 1}}, // 438: å西諸島æ¹é¢ã®æµ·ä¸è·è¡ãå¼·åããï¼
+ {439, new QuestMission {Interval = Yearly9, MaxArray = new[] {1, 1, 1, 1}, Ids = new[] {5, 100, 11, 110}, Material = new[] {0, 0, 5, 4}, Shift = 1}}, // 439: å
µç«å¼·åé å¾ä»»åãåºæ¬ä½æ¦ã
+ {440, new QuestMission {Interval = Yearly9, MaxArray = new[] {1, 1, 1, 1, 1}, Ids = new[] {41, 5, 40, 142, 46}, Material = new[] {0, 0, 0, 4}}}, // 440: å
µç«å¼·åé å¾ä»»åãæ¡å¼µä½æ¦ã
{503, new QuestSpec {Interval = Daily, Max = 5, Material = new[] {0, 2, 0, 0}}}, // 503: è¦é大æ´åï¼
{504, new QuestSpec {Interval = Daily, Max = 15, Material = new[] {1, 0, 1, 0}}}, // 504: è¦éé
ä¿ç¥ãï¼
@@ -100,6 +127,10 @@ namespace KancolleSniffer.Model
{638, new QuestDestroyItem {Interval = Weekly, Max = 6, Types = new[] {21}, Material = new[] {0, 0, 2, 1}}}, // 638: 対空æ©ééç£
{643, new QuestDestroyItem {Interval = Quarterly, Max = 2, Ids = new[] {20}, Material = new[] {0, 0, 2, 0}, AdjustCount = false}}, // 643: 主åãé¸æ»ãã®èª¿é
{645, new QuestDestroyItem {Interval = Monthly, Max = 1, Ids = new[] {35}, Material = new[] {0, 0, 0, 0}, AdjustCount = false}}, // 645: ãæ´ä¸è£çµ¦ãç©è³ã®èª¿é
+ {653, new QuestDestroyItem {Interval = Quarterly, Max = 6, Ids = new[] {4}, Material = new[] {0, 0, 0, 0}, AdjustCount = false}}, // 653: å·¥å» ç¨¼åï¼æ¬¡æä½æ¦æºåï¼
+ {654, new QuestDestroyItem {Interval = Yearly10, MaxArray = new[] {1, 2}, Ids = new[] {242, 249}, Material = new[] {0, 0, 0, 0}, AdjustCount = false}}, // 654: ç²¾éè¤èæ©é£è¡éã®ç·¨æ
+ {655, new QuestDestroyItem {Interval = Yearly11, MaxArray = new[] {5, 5, 5, 5, 5}, Types = new[] {1, 2, 3, 10, 8}, Material = new[] {0, 0, 10, 5}, AdjustCount = false}}, // 655: å·¥å» ãã«ç¨¼åï¼æ°å
抜
ãéçºããï¼
+ {657, new QuestDestroyItem {Interval = Yearly9, MaxArray = new[] {6, 5, 4}, Types = new[] {1, 2, 5}, Material = new[] {0, 0, 10, 5}}}, // 657: æ°åå
抜
éçºæ´åã®å¼·å
{663, new QuestDestroyItem {Interval = Quarterly, Max = 10, Types = new[] {3}, Material = new[] {0, 0, 3, 0}}}, // 663: æ°åè¤è£
ã®ç¶ç¶ç 究
{673, new QuestDestroyItem {Interval = Daily, Max = 4, Types = new[] {1}, Shift = 1, Material = new[] {0, 0, 1, 0}}}, // 673: è£
åéçºåã®æ´å
{674, new QuestDestroyItem {Interval = Daily, Max = 3, Types = new[] {21}, Shift = 2, Material = new[] {0, 1, 1, 0}}}, // 674: å·¥å» ç°å¢ã®æ´å
@@ -108,20 +139,35 @@ namespace KancolleSniffer.Model
{677, new QuestDestroyItem {Interval = Weekly, MaxArray = new[] {4, 2, 3}, Types = new[] {3, 10, 5}, Material = new[] {0, 5, 0, 0}}}, // 677: ç¶æ¦æ¯æ´è½åã®æ´å
{678, new QuestDestroyItem {Interval = Quarterly, MaxArray = new[] {3, 5}, Ids = new[] {19, 20}, Material = new[] {0, 0, 8, 0}}}, // 678: 主åè¦ä¸æ¦éæ©ã®æ´æ°
{680, new QuestSpec {Interval = Quarterly, MaxArray = new[] {4, 4}, Material = new[] {0, 0, 6, 0}}}, // 680: 対空å
抜
ã®æ´åæ¡å
+ {686, new QuestDestroyItem {Interval = Quarterly, MaxArray = new[] {4, 1}, Ids = new[] {3, 121}, Material = new[] {0, 0, 0, 0}}}, // 686: æ¦ææ¹ä¿®Aåé«è§ç ²ã®éç£
{688, new QuestDestroyItem {Interval = Quarterly, MaxArray = new[] {3, 3, 3, 3}, Types = new[] {6, 7, 8, 10}, Material = new[] {0, 0, 0, 0}}}, // 688: èªç©ºæ¦åã®å¼·å
{702, new QuestPowerUp {Interval = Daily, Max = 2, Material = new[] {0, 1, 0, 0}}}, // 702: è¦ã®ãè¿ä»£åæ¹ä¿®ããå®æ½ããï¼
- {703, new QuestPowerUp {Interval = Weekly, Max = 15, Material = new[] {1, 0, 2, 0}}} // 703: ãè¿ä»£åæ¹ä¿®ããé²ããæ¦åãæ´ããï¼
+ {703, new QuestPowerUp {Interval = Weekly, Max = 15, Material = new[] {1, 0, 2, 0}}}, // 703: ãè¿ä»£åæ¹ä¿®ããé²ããæ¦åãæ´ããï¼
+ {714, new QuestPowerUp {Interval = Yearly11, Max = 2, Material = new[] {0, 2, 2, 0}}}, // 714: ãé§éè¦ãã®æ¹ä¿®å·¥äºãå®æ½ããï¼
+ {715, new QuestPowerUp {Interval = Yearly11, Max = 2, Material = new[] {0, 2, 3, 2}}}, // 715: ç¶ï¼ãé§éè¦ãã®æ¹ä¿®å·¥äºãå®æ½ããï¼
};
// @formatter:on
private readonly Dictionary _countDict = new Dictionary();
+ public void SetMissionNames(dynamic json)
+ {
+ var dict = new Dictionary();
+ foreach (var entry in json)
+ dict[(int)entry.api_id] = entry.api_name;
+ foreach (var spec in _questSpecs)
+ {
+ if (spec.Value is QuestMission mission && mission.Ids != null)
+ mission.Names = mission.Ids.Select(id => dict.TryGetValue(id, out var name) ? name : "").ToArray();
+ }
+ }
+
public QuestCount GetCount(int id)
{
if (_countDict.TryGetValue(id, out var value))
return value;
- if (QuestSpecs.TryGetValue(id, out var spec))
+ if (_questSpecs.TryGetValue(id, out var spec))
{
var nowArray = spec.MaxArray?.Select(x => 0).ToArray();
return _countDict[id] = new QuestCount
@@ -149,18 +195,16 @@ namespace KancolleSniffer.Model
}
}
- public IEnumerable CountList
+ public IEnumerable NonZeroCountList => _countDict.Values.Where(c => c.Now > 0 || (c.NowArray?.Any(n => n > 0) ?? false));
+
+ public void SetCountList(IEnumerable questCountList)
{
- get => _countDict.Values.Where(c => c.Now > 0 || (c.NowArray?.Any(n => n > 0) ?? false));
- set
+ if (questCountList == null)
+ return;
+ foreach (var count in questCountList)
{
- if (value == null)
- return;
- foreach (var count in value)
- {
- count.Spec = QuestSpecs[count.Id];
- _countDict[count.Id] = count;
- }
+ count.Spec = _questSpecs[count.Id];
+ _countDict[count.Id] = count;
}
}
}