JavaScript 1.8, 102 chars
function c(x)!+x.replace(/([a-z])\1*/g,function(m)m.length+m.charCodeAt(0)-96-a-a++,a=1)*eval(x[0])+15
I dare you to make sense of it :)
function c(x)!+x.replace(/([a-z])\1*/g,function(m)m.length+m.charCodeAt(0)-96-a-a++,a=1)*eval(x[0])+15
I dare you to make sense of it :)