rendered paste body#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<CharStartOutfit>
{
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