Looks very likely that we have our fields off. Do you know of any items that have a value for this mysterious field?
Here's our item struct, if we shift the faction stuff down one position, remove unknown089, and add in unknown081, everything lines up.
Code:
/*080*/ sint8 Accuracy; // PoP: Accuracy +
/*081*/ sint32 FactionMod1; // Faction Mod 1
/*082*/ sint32 FactionMod2; // Faction Mod 2
/*083*/ sint32 FactionMod3; // Faction Mod 3
/*084*/ sint32 FactionMod4; // Faction Mod 4
/*085*/ sint32 FactionAmt1; // Faction Amt 1
/*086*/ sint32 FactionAmt2; // Faction Amt 2
/*087*/ sint32 FactionAmt3; // Faction Amt 3
/*088*/ sint32 FactionAmt4; // Faction Amt 4
/*089*/ uint32 Unknown089;
Thanks for catching this, btw.