void Update()
        {
            //If ship is alive, face and attack player
            if (!shipDead)
            {
                if (playerObject != null)
                {
                    if (Vector3.Distance(this.transform.position, playerObject.transform.position) <= fireRange)
                    {
                        transform.LookAt(playerObject.transform);
                        AttackPlayer();
                    }
                }
            }

            //If ship dies, play explosion sequence
            if (explosionProcess)
            {
                if (startExplosion)
                {
                    StartCoroutine(Explode(.2f));

                    startExplosion = false;
                }

                //Begin sequence
                if (explosionSpawnPoint >= 4)
                {
                    startExplosion = true;
                    explodeLoopCount++;
                    explosionSpawnPoint = 0;
                }

                //Phase 1: If first round of ship has died, move ship up out of view and stop explosion
                if (explodeLoopCount >= 4)
                {
                    if (roundOne)
                    {
                        GetComponent <Rigidbody>().velocity = new Vector3(0, 0, .5f);

                        startExplosion = false;

                        //Phase 2: Instantiate 3 smaller ships from one main ship
                        for (int i = 1; i <= 3; i++)
                        {
                            Instantiate(nextPhase, this.transform.position, this.transform.rotation);
                        }

                        roundOne         = false;
                        explosionProcess = false;
                    }
                }
            }

            //Phase 3: Check for second phase, 27 ships dead, final stage has begun
            if (lastShipCount >= 27)
            {
                //Reset health, fire rate and begin random movement
                if (isMainShip)
                {
                    Physics.IgnoreLayerCollision(8, 11, false);
                    Physics.IgnoreLayerCollision(10, 11, false);

                    bossMovementSet.m_bNavRequestCompleted = true;
                    shipDead = false;

                    arcturusHealth = 25;
                    lastShipCount  = 0;
                    fireRate       = 5;
                }
            }

            //If final ship has been destroyed, begin blink sequence
            if (blinkControl)
            {
                shipDead = true;

                bossMovementControl.CancelActiveRequest();

                StartCoroutine(Blink(7, 0.1f, 0.2f));

                blinkControl = false;
            }
        }