- changed TAttack to TAbility
- abstract functions declared