Does PunyInform do implicit actions?

The Inform 6 standard library does implicit actions by default for certain actions. This can lead to some really strange behaviour, so I normally turn it off using no_implicit_actions = true; and do my own implicit actions, if needed. If I include this with PunyInform, I get a compile error, so I assume this is not supported.

I can also accept the standard library’s implicit actions and selectively override it using a before_implicit routine.

There is no mention of ‘implicit’ in the PunyInform 2.3 manual, so I’m wondering whether PunyInform uses implicit actions or not.

PunyInform has a few implicit actions, and there is currently no way of disabling them:

  • Implicit take when trying to do something that requires the object to be held
  • Implicit disrobe when trying to Drop/Insert/PutOn something that’s worn
1 Like

Thanks. I’ll know to allow for that.

No implicit opening of doors or unlocking of doors if you’ve got the right key?

Nope. No other implicit actions.

1 Like

Also note that PunyInform’s parser can try to guess which object you meant when your sentence is incomplete, so “unlock door” will say “(with the golden key)” and go ahead and try that, but it’s optional. It only happens if you define OPTIONAL_GUESS_MISSING_NOUN.

1 Like

Aha. I wondered what OPTIONAL_GUESS_MISSING_NOUN was. I only started with PunyInform a few hours ago, so I’ve got a lot to read and a lot to learn.

1 Like

All the optional parts are explained here: Manual · johanberntsson/PunyInform Wiki · GitHub