         
     }
     
-    /* Only fires when it is allowed to fire */
+    /// Only fires when it is allowed to fire
     func syncedFire(afterFired:(()->Void)?) {
         if allowedToFire() {
             fireAndWait(afterFired)
         }
     }
     
-    /* Only reloads when it is allowed to reload */
+    /// Only reloads when it is allowed to reload
     func syncedReload(afterReloadInit:(()->Void)?, afterReloadComplete:(()->Void)?) {
         if allowedToReload() {
             // Reload

        self.runAction(waitSequenceAction)
    }
    
    func reloadAndWait(afterReloadInit:(()->Void)?, afterReloadComplete:(()->Void)?) {
        
        justReloading = true

/* Implements SpriteKit specific wait methods for weapon protocol */
extension SKWeapon where Self:SKSpriteNode {
    
    /// Fires and disallow fire for rateOfFirePerSecond seconds
    /// - Parameter afterFired: Optional block closure that is executed after the weapon fired
    /// - Returns: void
    func fireAndWait(afterFired:(()->Void)?) {
        
        justFiring = true
