If you really want your projectiles to be NPCs, you probably want to check for players and NPCs in a timeout. You can probably reduce the work a little by checking if you're on a wall first which is probably cheaper than checking every player/NPC to see if there is an overlap. Even if you use move this won't be a very efficient or responsive method of creating projectiles.
A much better approach is to either use the default shooting mechanism (if you can deal with the limits it has) or re-create projectiles clientside using the showimg features (Sales and I did this for Era, although it was never used).