Is there a collection returned that can be passed to "foreach" to iterate through all characters currently in a room? I have looked but I can't find it.
It's a more advanced function so not so simple, but off the top of my head you can do PowerQuest.Get.GetCharacters() to get them all. Something like that anyway. It might have _saveNotDirtied or something in the function name, which indicates if you make changes you have to set the Dirty flag so changes will be saved.
Adjust, once you have the character you can check each one's VisibleInRoom property.