I would have expected this to work:
The no-way is a direction.
When play begins:
repeat with way running through directions:
now the opposite of the way is no-way.
But it doesn’t. It compiles and as far as I can tell it runs through all twelve directions, but the opposites apparently are not reset.
Can anybody explain why?
I’m sure there is another way, but as a last resort I guess you could replace Section SR1/4 - Directions in the Standard Rules with something appropriate to your needs.
Would this do? Or will it lead to horrible bugs?
[rant=Non-Reciprocal Directions]Section SR1/4/custom - Non-Reciprocal Directions (in place of Section SR1/4 - Directions in Standard Rules by Graham Nelson)
The specification of direction is “Represents a direction of movement, such
as northeast or down. They always occur in opposite, matched pairs: northeast
and southwest, for instance; down and up.”
A direction can be privately-named or publically-named. A direction is usually
publically-named.
A direction can be marked for listing or unmarked for listing. A direction is
usually unmarked for listing.
A direction has a direction called an opposite. [The going action at certain rare occasions uses the opposite of direction, so don’t comment it out.]
Include (-
has scenery, ! class CompassDirection,
-) when defining a direction.
The north is a direction.
The northeast is a direction.
The northwest is a direction.
The south is a direction.
The southeast is a direction.
The southwest is a direction.
The east is a direction.
The west is a direction.
The up is a direction.
The down is a direction.
The inside is a direction.
The outside is a direction.
[Adding the following two lines.]
The no-way is a direction.
The opposite of a direction is usually no-way. [Otherwise the opposite direction will default to north.]
[The north has opposite south.] Understand “n” as north.
[The northeast has opposite southwest.] Understand “ne” as northeast.
[The northwest has opposite southeast.] Understand “nw” as northwest.
[The south has opposite north.] Understand “s” as south.
[The southeast has opposite northwest.] Understand “se” as southeast.
[The southwest has opposite northeast.] Understand “sw” as southwest.
[The east has opposite west.] Understand “e” as east.
[The west has opposite east.] Understand “w” as west.
[Up has opposite down.] Understand “u” as up.
[Down has opposite up.] Understand “d” as down.
[Inside has opposite outside.] Understand “in” as inside.
[Outside has opposite inside.] Understand “out” as outside.
The inside object translates into I6 as “in_obj”.
The outside object translates into I6 as “out_obj”.
The verb to be above implies the mapping up relation.
The verb to be mapped above implies the mapping up relation.
The verb to be below implies the mapping down relation.
The verb to be mapped below implies the mapping down relation.[/rant]