Remade how targets are handeled

*Projectiles now have a enum with valid targets
*Added missing javaDoc
*Updated how AreaOfEffect is handeled