abilities changed to all virtual, no more abstract methods
default behaviour for projectile