Doors that are "in" and "up", "down" and "out"

So let’s say I have this:

[code]The Red Dock is a room.
The Red Airlock is a room.

The Red Outer Door is up from the Red Dock and down from the Red Airlock.
The Red Outer Door is a door.
[/code]

This works just fine: you can go up and down from the dock to the airlock with the door interposed between. But I also want “in” and “out” to work. So “in” would lead to the Red Airlock and “out” would lead to the Red Dock. If I just add this:

The Red Airlock is inside from the Red Dock.

That’s no good because it bypasses the door. But I can’t do this:

The Red Outer Door is up from the Red Dock and down from the Red Airlock.
The Red Outer Door is inside from the Red Dock and outside from the Red Airlock.
The Red Outer Door is a door.

The second statement there is my addition. In that case I get an error “Red Outer Door seems to be a door with three ways out”. The same happens if I try something like this:

The Red Outer Door is up from the Red Dock and down from the Red Airlock.
The Red Outer Door is a door.

Inside from the Red Outer Door is the Red Airlock.

So I don’t see how to make a door respondable to more than one directional command.

So, to keep it really simple, you could.

Instead of going outside when the player is in Red Airlock: try going down. Instead of exiting when the player is in Red Airlock: try going down.

There are better ways of abstracting this, but that would get you going.

Interesting. Okay, I’m getting into the rules now. I like that you can put stipulations on the rules like that. Very clever. Inform 7 is a very different beast from the Inform 6 I was weaned on. Need to rewire a few neurons here.

n.b. you might have seen this already, but a really useful feature of the i7 IDE is the ability to see rules and actions triggered by player’s commands. So, after pressing play, type RULES or ACTIONS (or both) in the game window and it’ll show you what’s being triggered.