So, for some reason, this code does not do what it is supposed to do as it is being executed:
if((hero.z > 50) && (hero.z > my.z)) // IF PLAYER IS HIGHER THAN
// MONSTER ON STAIRs
{
beep();
pathSetNum = 2;
my.NODE_NEXT = 4; // WITHOUT THIS HERE, THE MONSTER SKIPS NODES 4 AND/OR 3,
// AND RUNS STRAIGHT TO NODE 2 THROUGH THE AIR.
}
When the player is above the monster on the z axis by being higher up on the spiral staircase, it is beeping like crazy. However, the monster does not move beyond node 4, and jitters between nodes 3 and 4. When the player walks off the side of the spiral staircase, the beeping stops, but then the monster starts walking up path_001 like its supposed to.
It is strange how the above code does not execute while it is happening, but executes after it happened.