Unfortunately it’s still not listing inside/outside as exits when in station or in train.
My code looks like this:
Market street is a room.
Market street is northwest of town square.
The empire builder train is a room. The Train has a room called the station. The station of the Train is Market Street.
The description of the Empire Builder is “One of the (relatively) plush long-distance Amtrak trains. You’re in a two-story car with toilets and a cafe at one end, not having sprung for a sleeper.
[if the station of the Train is the train]Outside the window there is rapidly-passing countryside.[otherwise]Through the windows you can see the [station of the Train] train station.[end if]”
Instead of exiting when the player is in the Train:
if the station of the Train is the Train:
say “The train is not stopped at a station.” instead;
otherwise:
move the player to the station of the train instead.
Before going outside when the player is in the Train:
try exiting instead.
Before going inside when the player is in the station of the Train: move the player to the Train instead.
Market Street, Edmonds, Everett, Wenatchee, and Spokane are rooms.
The description of a room is usually “The scenic train station of [the location][if the location is the station of the train].
The pompously-titled Empire Builder train is pulled up here, soon to continue its journey towards Chicago[end if].”
At 9:07 AM:
if the player is in the train or the player is in the station of the train,
say “The train pulls out of [the station of the Train]!”;
now the station of the Train is the Train;
change outside exit of the Train to nothing;
change inside exit of Market Street to nothing.
At 9:10 AM:
now the station of the Train is Edmonds;
if the player is in the train or the player is in the station of the train, say “The train pulls into Edmonds and comes to a stop.”;
change outside exit of the Train to nothing;
change inside exit of Edmonds to nothing.
At 9:15 AM:
if the player is in the train or the player is in the station of the train, say “The train pulls out of [the station of the Train], running north along the shore towards Everett.”;
now the station of the Train is the Train;
At 9:20 AM:
now the station of the Train is Everett;
if the player is in the train or the player is in the station of the train, say “The train arrives in scenic Everett, WA: the last stop before it turns east and heads over the mountains.”;
change outside exit of the Train to nothing;
change inside exit of Everett to nothing.
At 9:25 AM:
if the player is in the train or the player is in the station of the train, say “The train pulls out of [the station of the Train] and turns east.”;
now the station of the Train is the Train.
At 9:30 AM:
if the player is in the train or the player is in the station of the train, say “In darkness the train rolls into Wenatchee; which is just fine, considering that there is nothing to see here at all.”;
now the station of the Train is Wenatchee;
change outside exit of the Train to nothing;
change inside exit of Wenatchee to nothing.
At 9:35 AM:
if the player is in the train or the player is in the station of the train, say “The train pulls out of [the station of the Train] and continues east through the darkness towards Spokane.”;
now the station of the Train is the Train.