The problem is the Every X is not associated with anything, and triggers once. So the first time through the loop it hits "every 0.5" sees that it has expired and resets it for the next 0.5sec. It doesn't know it's in a loop and is expected to still hold that value. That's why at the top it triggers, then each creature is tested at that time.