void WeaponFiring() // weapon is firing
    {
        // left click shooting
        if (shootingEnabled && firingTimer >= firingRate)
        {
            // create bullet and set its varaibles
            GameObject  i      = Instantiate(BulletPreset, BulletSpawn.position, aimDirection) as GameObject;
            BulletStuff bullet = i.GetComponent <BulletStuff>();
            bullet._ALLIED_ = true;

            // set damage // reset timer
            if (!MovementScript.movementEnabled)
            {
                bullet.damage = bulletDamage * 1.5f;
                firingTimer   = (firingRate / 3);
            }
            else
            {
                bullet.damage = bulletDamage;
                firingTimer   = 0;
            }

            // set speed
            bullet.MoveSpeed = bulletSpeed;

            // drain energy
            HealthEnergyScript.energy -= 10;
        }
    }
    private void ShootBullet(Quaternion direction, float damage, float projSpeed)
    {
        GameObject  i      = Instantiate(bulletPreset, transform.position, direction) as GameObject; // create bullet
        BulletStuff bullet = i.GetComponent <BulletStuff>();                                         // access bullet's script

        bullet._ALLIED_  = false;                                                                    // do we want the bullet to damage the player?
        bullet.damage    = damage;                                                                   // set damage
        bullet.MoveSpeed = projSpeed;                                                                // set speed
    }