public void FileRead(MpqFileStream stream, long offset) { stream.Position = offset + 12; Type = stream.ReadValueS32(); stream.Position = offset + 16; Gbi = stream.ReadString(256); stream.Position = offset + 272; Xls = stream.ReadString(256); stream.Position = offset + 528; Field3 = stream.ReadValueS32(); stream.Position = offset + 532; Field4 = stream.ReadValueS32(); stream.Position = offset + 536; ItemType = new Items2(); ItemType.FileRead(stream, stream.Position); stream.Position = offset + 552; Item = new Items(); Item.FileRead(stream, stream.Position); stream.Position = offset + 568; Experience = new ExperienceTable(); Experience.FileRead(stream, stream.Position); stream.Position = offset + 584; HelpCodes = new HelpCodes2(); HelpCodes.FileRead(stream, stream.Position); stream.Position = offset + 600; MonsterLevel = new MonsterLevelTable(); MonsterLevel.FileRead(stream, stream.Position); stream.Position = offset + 632; Heros = new Heros(); Heros.FileRead(stream, stream.Position); stream.Position = offset + 648; MovementStyles = new MovementStyles(); MovementStyles.FileRead(stream, stream.Position); stream.Position = offset + 664; Labels = new Labels(); Labels.FileRead(stream, stream.Position); stream.Position = offset + 616; Affixes = new AffixTable(); Affixes.FileRead(stream, stream.Position); stream.Position = offset + 680; LootDistribution = new LootDistributionTable(); LootDistribution.FileRead(stream, stream.Position); stream.Position = offset + 696; RareItemNames = new RareItemNamesTable(); RareItemNames.FileRead(stream, stream.Position); stream.Position = offset + 712; MonsterAffixes = new MonsterAffixesTable(); MonsterAffixes.FileRead(stream, stream.Position); stream.Position = offset + 728; RareMonsterNames = new RareMonsterNamesTable(); RareMonsterNames.FileRead(stream, stream.Position); stream.Position = offset + 744; SocketedEffects = new SocketedEffectsTable(); SocketedEffects.FileRead(stream, stream.Position); stream.Position = offset + 760; ItemEnhancement = new ItemEnhancementTable(); ItemEnhancement.FileRead(stream, stream.Position); stream.Position = offset + 776; ItemDropTable = new ItemDropTable(); ItemDropTable.FileRead(stream, stream.Position); stream.Position = offset + 792; ItemLevelModifiers = new ItemLevelModTable(); ItemLevelModifiers.FileRead(stream, stream.Position); stream.Position = offset + 808; QualityClasses = new QualityClassTable(); QualityClasses.FileRead(stream, stream.Position); stream.Position = offset + 824; Hirelings = new Hirelings(); Hirelings.FileRead(stream, stream.Position); stream.Position = offset + 840; SetItemBonus = new SetItemBonusTable(); SetItemBonus.FileRead(stream, stream.Position); stream.Position = offset + 856; EliteModifiers = new EliteModifiers(); EliteModifiers.FileRead(stream, stream.Position); stream.Position = offset + 872; ItemTiers = new ItemTiers(); ItemTiers.FileRead(stream, stream.Position); stream.Position = offset + 888; PowerFormula = new PowerFormulaTable(); PowerFormula.FileRead(stream, stream.Position); stream.Position = offset + 904; Recipes = new RecipesTable(); Recipes.FileRead(stream, stream.Position); stream.Position = offset + 920; ScriptedAchievementEvents = new ScriptedAchievementEventsTable(); ScriptedAchievementEvents.FileRead(stream, stream.Position); }