Protoss shields always take full damage from all attacks. The damage classes and their effectiveness in relation to the three unit sizes are as follows: This is why, for example, a Firebat is very effective against Marines, but has a minimal effect on Siege Tanks. The size of a unit is taken into account when calculating the effects of different classes of damage.
Units in StarCraft are one of three different sizes: small, medium and large.