I’ve come across this often enough and it’s frustrating, requiring dumb workarounds every time.
A scene seems to start /after/ a room description is printed, even if the player is moved to that location as part of the scene.
There is a scene called Scene_Day_Two.
Scene_Day_Two begins when Scene_Dreams has ended.
When Scene_Day_Two begins:
now player is in Room_Protected_Hollow;
Room_Protected_Hollow is a room.
The printed name is "Protected Hollow".
The description is "[if Scene_Day_Two has not happened]It's dark in here.[else]It's bright and early.[end if].".
Actually, because of that. Moving the player prints the room description, and at that point the scene is in the process of beginning but has not yet actually begun, thus has not happened is still true.
Perhaps you should test if Scene_Dreams has ended instead?
I’d say just have an explicit flag on the room for darkness, and set it in the “When Scene_Day_Two begins” rule. Before or after the player movement, as desired.
Normally I try to avoid having redundant variables – what if they get out of sync? But sometimes you just have to stick in a thingie and move on.
Weirdly, even though one scene started when the previous scene ended, making the description dependent on the the ending of the previous scene allowed the description to print correctly. Bug or feature? not sure.