Wow that is an incredibly elegant solution to my example, thank you very much oosyrag. Sorry to ask more of you, but I've clearly not had enough coffee today - how would you expand that system to include more barrels, 3 or 4 or 5 say.
Use an incrementing variable. So after each shot, add one to that variable, and use that to chose imagepoint, animations, ect... After it reaches the number of turrets, reset it back to 1. Remember imagepoint 0 is reserved for the origin). Or, you can do variable+1 when spawning from imagepoints.
A fancy way of doing this is with a conditional operator:
Assuming you have one imagepoint per barrel, and are not using imagepoints for anything else on that object...
Upon firing, set ActiveBarrel to "ActiveBarrel<Object.Imagepointcount?Object.ActiveBarrel+1:1"
This says "If the ActiveBarrel variable is less than the total number of imagepoints, then add one to ActiveBarrel. Otherwise, set ActiveBarrel to 1."
This will cover any number of imagepoints you decide to add, and cycle through them one at a time.