It is called from the template layer (hence the 'internal'), in OrderOfPlay.i6t. Specifically, it is used in the GenerateMultipleActions()
function, which is called from the generate action rule (GENERATE_ACTION_R()
).
'Multiple actions' in this case refers not to a list of commands, but to commands which apply to multiple objects (get the rope and the lamp) and need to be interpreted individually. This comment explains when the response is shown:
Note that we stop processing the list in the event of the game ending, or of the |location| variable changing its value, which can happen either through movement of the player, or through passage from darkness to light or vice versa.
So its function is pretty narrowly defined. I'm not sure how you were wanting to extend its use, but it would probably be hard to change.