Also BOTH OF THESE in the door action need to be changed.
return; // the action stops afterwards
It's not a return it needs a break to work this way.
You do not terminate the main action of a ent.
Now I have to look up if break kills a infinite loop. Keep a eye out for another edit.
EDIT- I'm not even sure you can break that loop. Because the while() should have a condition. like while(my.skill88)
then instead you can set skill88 in the if/else and use a break.