Re-wrote ShieldData to use the ShieldPart struct