Consider a simple example…
[code]There is a room called the test room.
There is a container called the box in the test room. It is open, openable, not lockable.
There is a Jack in the test room.
After closing the box:
if the Jack is in the box:
say “Congratulations! You made your first toy Jr. Elf.”;
continue the action;
Test box with “close box / open box / put jack in box / z / close box”
[/code]
The problem is that the close report for the box occurs after the “say” command in the “after” rule
[code]>[5] close box
Congratulations! You made your first toy Jr. Elf.
You close the box.[/code]
I understand why this occurs but it is not the desired effect. This is how I have “fixed” this issue.
[code]After closing the box:
if the Jack is in the box:
The jack-timer expires in 0 turns from now;
continue the action;
At the time when the jack-timer expires:
say “Congratulations! You made your first toy Jr. Elf.”;[/code]
I get the desired results
[code]>[5] close box
You close the box.
Congratulations! You made your first toy Jr. Elf.[/code]
But the real issue, is there a good/standard way others are dealing with this timing issue without using a zero timer? I don’t particularly have an issue with my solution, but this would seem to be a common occurrence among games, so I thought someone else might have a more elegant solution.
Thanks!