While I have no problems with posting the code here, I'm convinced that this a bug and I think it needs to be looked into. I have 2 reasons for this conclusion. First, the code was working perfectly before then it suddenly stopped working without any adjustments being made to it. Secondly, I created another action in the same script and randomly named it "twirl". All it did was rotate the sprite attached to it. It worked. So I slowly added the code of the action that wasn't working, line by line, to the new action called Twirl. Every time I ran it, it worked. Eventually, the exact same code that didn't work in the other action worked in Twirl. Just for arguments purpose, I swapped the names of the 2 actions and now, the former code worked because it was named Twirl. Very annoying that I lost almost 2 days to this. Here's the code:
action Twirl()
{
while(!player){wait(1);}
my.skill50 = 1199; //I'm a jump target
JumpTargetID++;
my.skill51 = JumpTargetID;
set(my, PASSABLE);
set(my, INVISIBLE);
my.emask |= (ENABLE_SCAN); //sensitive to c_scan
my.event = WasScanned;
while(1)
{
//my.pan += 10*time_step;
my.roll += 10*time_step;
//my.tilt += 10*time_step;
wait(1);
}
}
action JumpTarget()
{
while(!player){wait(1);}
my.skill50 = 1199; //I'm a jump target
JumpTargetID++;
my.skill51 = JumpTargetID;
while(1){my.roll+=1*time_step; wait(1);}
// set(my, BRIGHT);
// my.red = 255;
// my.blue = 255;
// my.green = 255;
// my.lightrange = 10000;
set(my, PASSABLE);
set(my, INVISIBLE);
my.emask |= (ENABLE_SCAN); //sensitive to c_scan
my.event = WasScanned;
}