For Each still only impacts one instance, I can't really work out why. Here's another example:
For Each "Door"
- System, distance("door.x","door.y","player.x","player.y") < 40
- door open
- System, distance("door.x","door.y","player.x","player.y") > 40
- door close
This just doesn't work when there are multiple 'doors' in the level.