Immune / Resist / Weak
Right now a value of 0 is no different. A negative value means you take extra damage. The value is a percentage. i.e. -100 to psychic attacks makes you take double damage from psychic attacks. A value of 100 means you're 100% resistant to it, so you are immune to damage.
I propose to make turn that into something less sold. Maybe 1000 is immune, and -1000 is double damage. i.e. 755 is really 75.5%