its hard to impossible not to make them playertypes, since the functions needed to adjust the damage received are part of the playertype code iirc. i believe there are tricks one can use to get around it, but no universal solution that would work for all playertypes
personally id prefer them just to be hats, and let the user determine/assign the protection through use of playertypes and events. the only thing id ask for is putting ina feature to allow the hats to be placed on using events