I can't wait to look it over. If you've looked at the ECM post my formatting is chaos. That's one of the reasons its on hold.

Projectiles are a pain.
If you use a sprite, you'll have to pass the direction, velocity, and time to it's thread. You also won't be able to hit sprites with the an activation program.
If you use an image, you can phase through walls. Fireraycast maybe? I think fireraycast would make it possible for both to work somehow.