So you mean each condition is not meant for each other ?
So this is somewhat 2 separate function, eh ?
If you want to check a certain condition over-time, direct loop is never the answer.
You should use the Event Time - Periodic Event so that you can evaluate the condition each time.
The method you currently used is a direct looping which checks the condition for several times (but in a single period) where you should constantly checking the condition, that's why we use that Event.
Let's say we take a 0.10 second of Periodic Time event.
So, each 0.10 second pass, you make a check, this way you will evaluate those conditions per 0.10 second.