It would be a problem to move the verb talk grammar definition to the grammar.h file? That would be more coherent. I already use the French version of this verb in this file.
I use the following grammar for TALK in all my games:
Extend only 'speak' replace
* -> Talk
* creature -> Talk
* noun -> Talk
* 'to'/'with' creature -> Talk
* 'to'/'with' noun -> Talk
* 'to'/'with' creature 'about' topic -> Ask
* 'to'/'with' noun 'about' topic -> Ask;
Verb 'talk' 'babble' 'chat' 'communicate' 'converse' 'gab' 'gossip'
* -> Talk
* creature -> Talk
* noun -> Talk
* 'to'/'with' creature -> Talk
* 'to'/'with' noun -> Talk
* 'to'/'with' creature 'about' topic -> Ask
* 'to'/'with' noun 'about' topic -> Ask;
[ TalkSub;
if (noun == nothing)
"You start talking to no one in particular.";
if (noun == player)
"You start talking to yourself, but it's a one-sided conversation.";
if (RunLife(noun, ##Talk))
rtrue;
print_ret (The)noun, " ", (IsOrAre)noun, " not very talkative.";
];
Perhaps the PunyInform authors could incorporate this, or something similar into grammar.h.
Each standard PunyInform extension is self contained - the complete code for the extension is in the single file for that extension.
Some of the extensions can also be used with the standard library. The talk_menu extension is one of them (It’s not Glulx compatible though). This is another reason to keep it self-contained.
1 Like