CAPX: https://www.sugarsync.com/pf/D6025908_4317202_6996048
Because my issues are multi-faceted, I've decided to break it up into individual posts, but they're all related.
Here's the rundown on how the Enemy behavior is SUPPOSED to behave:
When the AllEnemies family variable is set to...
1. Normal - The Enemy instances will travel between the PatrolNode object; the directions are determined by the frame number of the object.
2. Chase - When the Player comes into view of the Enemy line of sight, the Enemy will chase the Player until line of sigh is lost.
3. Alert - The Enemy will patrol from within a radius from the last known spot the Player was seen. After so much time has elapsed, the Enemy will return to its original patrol route.
4. Resume - After the Alert phase is over, the Enemy will seek out the PatrolZone it was assigned to at the start of the level, preventing Enemies from congregating in one zone.
PROBLEM 1
I can't get the Enemy to begin its patrols normally.
Initially, I had each PatrolNode spawn its own array. In the array was stored the IIDs of other Nodes that lied in the path if you drew a line from one Node to another. This way I could pick the Node to Pathfind to based on the starting Node's available directions.
Then, I created an image point to act as a "horse following a carrot held on a string". While in Patrol mode, the Enemy will plot a path to its own image point every so many seconds. But at the start of the layout, all Enemy instances start moving forward only to veer off and keep going until they hit a wall...
I finally caved and added the Bullet behavior to the AllEnemies family (I wanted to keep things simple and work with just Pathfinding). Even after ensuring that the speed and acceleration of the Enemies are greater than zero and initially enabled, they do not move.
So I'm really lost as to what I'm doing wrong.