Add types and STAB, edit damager formula

Globalizes much of the Damage function, introduces types and the STAB mutliplier