Impossible? Adding blinking to a WS2811 which is already using delays

Grumpy_Mike:
Sorry, but no.
Don't declare variables in a loop you create a new variable each time round and you can't access previous one of the same name. The variable lastMillis will always be zero.

Try reading the code.

Yeah, another member pointed that out to me and was very helpful. I hadn't even thought of how silly it was. The code has reached this point:

#include <FastLED.h>
#define NUM_LEDS 50
#define DATA_PIN 6
#define BRIGHTNESS 10
#define COLOR_ORDER RGB
CRGB leds[NUM_LEDS];

int color;

int flicker1[] = {2, 8, 17, 20, 26};



unsigned long startTime = millis();
unsigned long interval = 6000;
unsigned long lastMillis = millis();
uint8_t start_num = 0;
bool toggle = false;

void setup() {

  delay(2000);

  FastLED.addLeds<WS2811, DATA_PIN, RGB>(leds, NUM_LEDS);

}

void loop()
{
  for (int i = start_num; i < 5; i++) {

    if (millis() - lastMillis > 25UL)
    {
      if (toggle)
      {
        //show colorA
        leds[flicker1[i]] = CRGB(255, 50, 0);
        
      }
      else
      {
        leds[flicker1[i]] = CRGB(30, 10, 0);
        
      }
      toggle = !toggle;
      lastMillis = millis();
      FastLED.show();

    }
  }

  if (start_num < 5 && millis() - startTime >= interval)
  {
    leds[flicker1[start_num]] = CRGB(0, 0, 0);
    
    startTime = millis();
    FastLED.show();
    ++start_num;
  }

}

It's just about there. The only issue is, as it turns each light off in the countdown, the lights that are still blinking change their blink rate and it becomes almost too fast to see when just a few lights are left. I'm guessing it has something to do with the array because if I do something like this:

void loop()
{
if (millis() - lastMillis > 80UL)
    {
      if (toggle)
      {
        //show colorA
  leds[0] = CRGB(255,50,0);  
  leds[3] = CRGB(255,50,0); 
  leds[6] = CRGB(255,50,0);
  
         
      }
      else
      {
  leds[0] = CRGB(30,50,0);  
  leds[3] = CRGB(30,50,0); 
  leds[6] = CRGB(30,50,0);

        
      }
      
      toggle = !toggle;
      lastMillis = millis();
     FastLED.show();

    }


}

It blinks all lights at the same speed no matter how many are on or off. Is it possible to combine those ideas? To have all lights blinking predictably while the countdown does its work? I figure then you could "randomize" the blink with a variable so that while it may appear random, it doesn't become completely wonky as the lights start to shut off. Or maybe it's just not possible. Either way, thanks for the help!