public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 12;
     Field0 = stream.ReadValueS32();
     stream.Position = offset + 16;
     Field1 = stream.ReadValueS32();
     stream.Position = offset + 20;
     Class = new int[5];
     for(int loop12=0; loop12 < 5; loop12++ )
     {
         int temp12_Class;
         temp12_Class = stream.ReadValueS32();
         _Class[loop12] = temp12_Class;
     }
     stream.Position = offset + 40;
     Difficulty = new int[4];
     for(int loop12=0; loop12 < 4; loop12++ )
     {
         int temp12_Difficulty;
         temp12_Difficulty = stream.ReadValueS32();
         _Difficulty[loop12] = temp12_Difficulty;
     }
     stream.Position = offset + 56;
     LoreCondition = new LoreSubcondition[3];
     for(int loop12=0; loop12 < 3; loop12++ )
     {
         LoreSubcondition temp12_LoreCondition;
         temp12_LoreCondition = new LoreSubcondition();
         temp12_LoreCondition.FileRead(stream, stream.Position);
         _LoreCondition[loop12] = temp12_LoreCondition;
     }
     stream.Position = offset + 80;
     QuestCondition = new QuestSubcondition[3];
     for(int loop12=0; loop12 < 3; loop12++ )
     {
         QuestSubcondition temp12_QuestCondition;
         temp12_QuestCondition = new QuestSubcondition();
         temp12_QuestCondition.FileRead(stream, stream.Position);
         _QuestCondition[loop12] = temp12_QuestCondition;
     }
     stream.Position = offset + 128;
     ItemCondition = new ItemSubcondition[3];
     for(int loop12=0; loop12 < 3; loop12++ )
     {
         ItemSubcondition temp12_ItemCondition;
         temp12_ItemCondition = new ItemSubcondition();
         temp12_ItemCondition.FileRead(stream, stream.Position);
         _ItemCondition[loop12] = temp12_ItemCondition;
     }
     stream.Position = offset + 176;
     Field7 = stream.ReadValueS32();
     stream.Position = offset + 180;
     Field8 = stream.ReadValueS32();
     stream.Position = offset + 188;
     Field9 = stream.ReadValueS32();
     stream.Position = offset + 192;
     Field10 = stream.ReadValueS32();
     stream.Position = offset + 196;
     Field11 = stream.ReadValueS32();
     stream.Position = offset + 200;
     Field12 = stream.ReadValueS32();
     stream.Position = offset + 204;
     SNOCurrentWorld = stream.ReadValueS32();
     stream.Position = offset + 208;
     SNOCurrentLevelArea = stream.ReadValueS32();
     stream.Position = offset + 212;
     SNOQuestRange = stream.ReadValueS32();
     stream.Position = offset + 216;
     FollowerCondition = new FollowerSubcondition();
     FollowerCondition.FileRead(stream, stream.Position);
     stream.Position = offset + 224;
     LabelCondition = new LabelSubcondition[3];
     for(int loop12=0; loop12 < 3; loop12++ )
     {
         LabelSubcondition temp12_LabelCondition;
         temp12_LabelCondition = new LabelSubcondition();
         temp12_LabelCondition.FileRead(stream, stream.Position);
         _LabelCondition[loop12] = temp12_LabelCondition;
     }
     stream.Position = offset + 248;
     SkillCondition = new SkillSubcondition[3];
     for(int loop12=0; loop12 < 3; loop12++ )
     {
         SkillSubcondition temp12_SkillCondition;
         temp12_SkillCondition = new SkillSubcondition();
         temp12_SkillCondition.FileRead(stream, stream.Position);
         _SkillCondition[loop12] = temp12_SkillCondition;
     }
     stream.Position = offset + 284;
     MonsterCondition = new MonsterSubcondition[3];
     for(int loop12=0; loop12 < 3; loop12++ )
     {
         MonsterSubcondition temp12_MonsterCondition;
         temp12_MonsterCondition = new MonsterSubcondition();
         temp12_MonsterCondition.FileRead(stream, stream.Position);
         _MonsterCondition[loop12] = temp12_MonsterCondition;
     }
     stream.Position = offset + 296;
     GameFlagCondition = new GameFlagSubcondition[3];
     for(int loop12=0; loop12 < 3; loop12++ )
     {
         GameFlagSubcondition temp12_GameFlagCondition;
         temp12_GameFlagCondition = new GameFlagSubcondition();
         temp12_GameFlagCondition.FileRead(stream, stream.Position);
         _GameFlagCondition[loop12] = temp12_GameFlagCondition;
     }
     stream.Position = offset + 680;
     PlayerFlagCondition = new PlayerFlagSubcondition[3];
     for(int loop12=0; loop12 < 3; loop12++ )
     {
         PlayerFlagSubcondition temp12_PlayerFlagCondition;
         temp12_PlayerFlagCondition = new PlayerFlagSubcondition();
         temp12_PlayerFlagCondition.FileRead(stream, stream.Position);
         _PlayerFlagCondition[loop12] = temp12_PlayerFlagCondition;
     }
 }