#region CharStartOutfit.dbc public struct CharStartOutfit { public uint Id; public ClassTypes Class; public RaceTypes Race; public GenderTypes Gender; // byte unk always 0 public int[] ItemIds;//12 //public uint[] StartingItemDisplayIds;//12 public InventorySlot[] ItemSlots;//12 } public class CharStartOutfitConverter : DBCRecordConverter { public override CharStartOutfit ConvertTo(byte[] rawData, out int id) { id = GetInt32(rawData, 0); uint currIndex = 0; CharStartOutfit outfit = new CharStartOutfit(); outfit.Id = GetUInt32(rawData, currIndex++); uint temp = GetUInt32(rawData, currIndex++); outfit.Race = (RaceTypes)(temp & 0xFF); outfit.Class = (ClassTypes)((temp & 0xFF00) >> 8); outfit.Gender = (GenderTypes)((temp & 0xFF0000) >> 16); outfit.ItemIds = new int[12]; for (int i = 0; i < 12; i++) { outfit.ItemIds[i] = GetInt32(rawData, currIndex++); } // Skip display ids currIndex += 12; outfit.ItemSlots = new InventorySlot[12]; for (int i = 0; i < 12; i++) { outfit.ItemSlots[i] = (InventorySlot)GetUInt32(rawData, currIndex++); } return outfit; } } #endregion