@@ -103,6 +103,7 @@ public class TableParser {
103103 private readonly XmlSerializer statStringSerializer ;
104104 private readonly XmlSerializer autoActionPricePackageSerializer ;
105105 private readonly XmlSerializer pvpRankingDuelModeSerializer ;
106+ private readonly XmlSerializer questGroupSerializer ;
106107
107108 private readonly string locale ;
108109 private readonly string language ;
@@ -200,6 +201,7 @@ public TableParser(M2dReader xmlReader, string language) {
200201 statStringSerializer = new XmlSerializer ( typeof ( StatStringRoot ) ) ;
201202 autoActionPricePackageSerializer = new XmlSerializer ( typeof ( AutoActionPricePackageRoot ) ) ;
202203 pvpRankingDuelModeSerializer = new XmlSerializer ( typeof ( PvpRankingDuelModeRoot ) ) ;
204+ questGroupSerializer = new XmlSerializer ( typeof ( QuestGroupRoot ) ) ;
203205
204206 locale = FeatureLocaleFilter . Locale . ToLower ( ) ;
205207 this . language = language ;
@@ -1562,4 +1564,15 @@ public IEnumerable<JobTableNew> ParseJobTableNew() {
15621564 yield return ( entry . grade , entry ) ;
15631565 }
15641566 }
1567+
1568+ public IEnumerable < ( int Id , QuestGroup Data ) > ParseQuestGroup ( ) {
1569+ string xml = Sanitizer . RemoveEmpty ( xmlReader . GetString ( xmlReader . GetEntry ( "table/questgrouptable.xml" ) ) ) ;
1570+ var reader = XmlReader . Create ( new StringReader ( xml ) ) ;
1571+ var data = questGroupSerializer . Deserialize ( reader ) as QuestGroupRoot ;
1572+ Debug . Assert ( data != null ) ;
1573+
1574+ foreach ( QuestGroup entry in data . group ) {
1575+ yield return ( entry . id , entry ) ;
1576+ }
1577+ }
15651578}
0 commit comments