Finding the Value of Words!
Python 3, 71 65 61 bytes

lambda z:sum((ord(s)*1.5**(s&lt;'_')-96)**s.isalpha()for s in z)


By an extraordinary coincidence, (ord(s)-64)*1.5 is equal to ord(s)*1.5-96, so we only have to write -96 once. The rest is pretty straight forward.

Edit: Shaved off some bytes using exponentiation shenanigans.