I think one problem we might run into is that DS are cumulative overall, and only the last spell is used for the effect. I think what might need to happen is to create a counter for each resist (if that would work for all cases), then we shouldn't really even need to look at the spells again to get the resist. I'm not sure if it would be better to just change DamageShield in the Mob class to a DamageShield_Struct, or just add each of them.
Pseudo code:
iterating through spells & whatnot
if resist == magic, + magicDS
if resist == poison, + poisonDS
etc...
|