The versions of the DESCEND_TO_SPECIFIC_ACTION_R()
routine in Glulx.i6t
and ZMachine.i6t
both end by returning true
instead of false
.
It is not clear that this is intentional, because this return value prevents execution of the end action-processing in success rule
listed in Section SR2/10 - Action processing
of the Standard Rules. If an author tries to insert a rule at the end of the action-processing rules
, it will be difficult to understand why the newly-placed rule isn’t being run.
As an example, the following will produce no output:
This is the bing rule:
say "Bing!"
The bing rule is listed after the descend to specific action-processing rule in the action-processing rules.
However, it will work as expected if the DESCEND_TO_SPECIFIC_ACTION_R()
routine is replaced with a version that returns false
.
Is there a good reason for the current return value that I’m not seeing? If so, is the end action-processing in success rule
entirely superfluous?