Moved some things around
Fixed an invalid move
Created a generic CannonFire event and changed FireFireballEvent and
FireBlazeEvent to use this.
Also defined fromLocation in CannonFire event.