// suffix entry: positive for random property, negative for random suffix private static ItemRandomSuffix CreateSuffix(int id, string name, int enchant1, int factor1, int enchant2 = 0, int factor2 = 0, int enchant3 = 0, int factor3 = 0) { ItemRandomSuffix suffix = new ItemRandomSuffix(); suffix.ID = id; suffix.Name = name; suffix.Suffix1 = enchant1; suffix.Suffix2 = enchant2; suffix.Suffix3 = enchant3; suffix.SuffixFactor1 = factor1; suffix.SuffixFactor2 = factor2; suffix.SuffixFactor3 = factor3; return suffix; }
public static List<ItemRandomSuffix> LoadItemRandomSuffix() { List<ItemRandomSuffix> list = new List<ItemRandomSuffix>(); using (FileStream stream = File.OpenRead(DATA_PATH + "DBC/ItemRandomSuffix.dbc")) { BinaryReader r = new BinaryReader(stream); DBCHeader header = DBC.ReadDBCHeader(r); int dataSize = 20 + header.RowSize * header.Records; for (int i = 0; i != header.Records; ++i) { ItemRandomSuffix suffix = new ItemRandomSuffix(); suffix.ID = r.ReadInt32(); stream.Position += 16; suffix.Name = DBC.ReadString(r, dataSize); stream.Position += 44; suffix.NameFlags = r.ReadInt32(); suffix.InnerName = DBC.ReadString(r, dataSize); suffix.Suffix1 = r.ReadInt32(); suffix.Suffix2 = r.ReadInt32(); suffix.Suffix3 = r.ReadInt32(); suffix.Suffix4 = r.ReadInt32(); suffix.Suffix5 = r.ReadInt32(); suffix.SuffixFactor1 = r.ReadInt32(); suffix.SuffixFactor2 = r.ReadInt32(); suffix.SuffixFactor3 = r.ReadInt32(); suffix.SuffixFactor4 = r.ReadInt32(); suffix.SuffixFactor5 = r.ReadInt32(); list.Add(suffix); } } return list; }