I've been puzzling out the logic behind an enemy/player attack and it feels like I'm almost there but I can't quite figure out how to implement the last little bit. It's a fire that moves along the ground similar to attacks in lots of other 2D games. I made a little illustration to show what I'm trying to do.

The fire scene with its animation and collision detection is saved as a PackedScene. The way it moves (in theory anyway) is:
1.) The first fire is spawned.
2.) When it hits the midway point in its animation cycle (or a timer fires, either should work I think), it spawns a second copy of the fire instance a set distance in front of itself.
3.) Fire #2 hits the midpoint of its animation cycle/timer fires and spawns Fire #3 a set distance in front of itself.
4 & 5.) Fire #1 completes its animation cycle and is deleted. Fire #2 and #3 follow the same pattern up until it hits a maximum number of fires. It should also stop if it hits a wall or other obstacle, but that shouldn't be too hard to implement once I get the basic behavior up and running.
It all makes perfect sense in my head and I can't see why it wouldn't work with what little I know about Godot, but I can't quite figure out how to get all the parts working together. Mostly how to get it to sequentially spawn new copies evenly spaced out. I think I might need to study how enemy spawners work and apply a similar logic here, but I'm not 100% sure. Any help would be greatly appreciated! Thanks!