Moving NPC in Twine

With Quest or Inform there is a “EveryMove” type function that would allow the creator to do things like move NPC or change the environment.
Is there something similar where regardless of the action link a player interacts with, the game world updates?

What story format are you using in Twine? If you’re using Harlowe, then you can use a passage with the “header” tag that will be included with every new passage.

One gotcha: that only gets evaluated on a new passage, not on new text displaying in a given passage.

That should work. Thanks.