     }
     
     /// Subtracts 1 from ammoOfCurrentMagazine. Does not include safety checks if there is enough ammo or not!
-    func fire() {
+    func subtractAmmo() {
         ammoOfCurrentMagazine = ammoOfCurrentMagazine-1
-        
-        // Produce "bullet" SKDamageEvent
-        // damageEvents.append(SKDamageEvent(damagePoints: damagePoints, weaponID: String(ObjectIdentifier(self))))
+    }
+    
+    /// Subtracts ammo if infiniteAmmo is false
+    func syncedSubtractAmmo() {
+        if infiniteAmmo == false {
+            subtractAmmo()
+        }
     }
     
     /// only fires and automatically reloads when it is allowed

        }
        
        let waitAndAllowReloadSeq = SKAction.sequence([waitAction, allowReloadBlock])
        self.runAction(waitAndAllowReloadSeq)
    }
}
        }
            
        let waitSequenceAction = SKAction.sequence([rateOfFireWait, allowFireBlock])
        sknode.runAction(waitSequenceAction)
    }
    
    
