public void charge(long deltaMs) {
        charged += deltaMs;
        
        if(charged >= chargeTime) {
            timeSinceLastShot = 0;
            charged = 0;
            charging = false;
            weapon.fire();
        }
    }