Try this:
Code:
struct spellBuff
{
/*0000*/ uint8_t unknown0000; //
/*0001*/ int8_t level; // Level of person who cast buff
/*0002*/ uint8_t unknown0002; //
/*0003*/ uint8_t unknown0003; //
/*0004*/ float unknown0004;
/*0008*/ int32_t spellid; // Spell
/*0012*/ int32_t duration; // Time remaining in ticks
/*0016*/ int32_t effect; // holds the dmg absorb amount on runes
/*0020*/ uint8_t unknown0020[4]; // *** this might need to be swapped with playerId
/*0024*/ uint32_t playerId; // Global id of caster (for wear off)
/*0028*/ uint8_t unknown0028[48];
/*0076*/
};
It's possible some of these fields need to be rearranged, but I suspect the extra data was added on the end.