How to change a printed action into the form that follows a modal verb?

I’m trying to take a shortcut in defining some new responses by passing in the action being taken into a say statement. However, the text substitution for modal verbs doesn’t support actions (or possibly named variables at all) and I can’t use [adapt verb] for an action, only for a verb (which would be fine, except that not all default actions seem to be implemented as verbs).

Is there a way to convert the printed form of the verb into the form which should follow a modal verb (e.g. “buying the noun” into “buy the noun”)?

I can implement all actions as verbs, but given that it already knows the correct conjugation somewhere in order to be able to use it after [regarding] statements, I feel like I’d be duplicating a lot of that knowledge and introducing a lot of errors to it.

Alternatively, is there a way to pass a text into a say statement that’s called from a text substitution? I’m not that invested in calculating the correct form automatically (it’s the same amount of work for me either way), but I tried To say respond to (action - a text):, and it works fine when using the construction Say respond to "text" but not from "[Respond to 'text'], which is where I would really like it to work.

No.

The compiler knows a lot about conjugation. But what it puts into the compiled game is only the information about the verbs the source (including any extensions, including the built-in ones) mention. The compiled game doesn’t have a function somewhere that can attempt to conjugate a new verb.

There’s no option better than, e.g.,

let x be "text";
say "[Respond to x]";

There used to be an extension Verbal Conjugation by Daniel Stelzer for exactly this. Unfortunately, I can’t find it anywhere now…

@Draconis you mention it in this post from 2014:

It’s obviously outdated, but might be a useful starting point.

1 Like

Aha, Github search just couldn’t find it for whatever reason. (Does it only search in the default branch, I wonder?)

It’s entirely based on regexes, so it should work across editions pretty well, it just won’t be as efficient as it could be since it doesn’t use any new features. (Unless it has a name collision with “grammatical person” with the new standard rules. Hm. It might.)

1 Like