Spoiler
The setup as far as the parent goes works properly with the orbs spawning in a neat ring and higher elevation. When the orbs themselves start their looping state, only the first one is moving properly while the rest do not move even though they are identical to one another. The vars for the loop
for each orb are set remotely by the parent with the sole difference being adding 292 or 293 to the angle.
The one sprite working correctly has a lot of excess gains when the parent moves so I'm going to try vels or movesprite anyway but I'm expecting to run into this same problem again where a portion of code is seemingly not being executed beyond the first instance of a sprite.
On the right side in the gif is the one orbitting around and on the left is a stationary ring.
All of the sprites properly despawn when their particular PARENT dies so the state is definitely functioning for each orb.
The setup as far as the parent goes works properly with the orbs spawning in a neat ring and higher elevation. When the orbs themselves start their looping state, only the first one is moving properly while the rest do not move even though they are identical to one another. The vars for the loop
for each orb are set remotely by the parent with the sole difference being adding 292 or 293 to the angle.
The one sprite working correctly has a lot of excess gains when the parent moves so I'm going to try vels or movesprite anyway but I'm expecting to run into this same problem again where a portion of code is seemingly not being executed beyond the first instance of a sprite.
On the right side in the gif is the one orbitting around and on the left is a stationary ring.
All of the sprites properly despawn when their particular PARENT dies so the state is definitely functioning for each orb.
//parent spawns the orbs { getactor[THISACTOR].x PPX getactor[THISACTOR].y PPY getactor[THISACTOR].z PPZ getactor[THISACTOR].ang ANGVAR setvarvar PXVAR PPX setvarvar PYVAR PPY setvarvar ZVAR PPZ addvar PPX 672 addvar PPY 672 subvar ZVAR 6400 espawn RORBULE state ORBULES espawn RORBULE addvar ANGVAR 293 state RORBULES espawn RORBULE addvar ANGVAR 292 state RORBULES espawn RORBULE addvar ANGVAR 293 state RORBULES espawn RORBULE addvar ANGVAR 292 state RORBULES espawn RORBULE addvar ANGVAR 293 state RORBULES espawn RORBULE addvar ANGVAR 292 state RORBULES setvar ORBSUP 1 } // //parent adjusts each orb once after espawn state RORBULES rotatepoint PXVAR PYVAR PPX PPY ANGVAR XVAR YVAR setactor[RETURN].x XVAR setactor[RETURN].y YVAR setactor[RETURN].z ZVAR setav[RETURN].PARENT THISACTOR setav[RETURN].XVAR XVAR setav[RETURN].YVAR YVAR setav[RETURN].ZVAR ZVAR setav[RETURN].PXVAR PXVAR setav[RETURN].PYVAR PYVAR setav[RETURN].PZVAR PPZ setav[RETURN].ANGVAR ANGVAR ends //orb actor RORBULE state RORBSTATE enda //run by each orb indefinitely state RORBSTATE ifg sprite[queenp].extra 0 { ifcount 8 { setvarvar PPX PXVAR setvarvar PPY PYVAR setvarvar PPZ PZVAR setvarvar XVAR2 XVAR setvarvar YVAR2 YVAR getactor[PARENT].x PXVAR getactor[PARENT].y PYVAR getactor[PARENT].z PZVAR subvarvar PPX PXVAR addvarvar XVAR2 PPX subvarvar PPY PYVAR addvarvar YVAR2 PPY subvarvar PPZ PZVAR addvarvar ZVAR PPZ addvar ANGVAR 8 rotatepoint PXVAR PYVAR XVAR2 YVAR2 ANGVAR XVAR YVAR setactor[RETURN].x XVAR setactor[RETURN].y YVAR setactor[RETURN].z ZVAR resetcount } else killit ends