There’s a bug with implicit-conversing; when the implicit greeting fails (thus failing to set the current interlocutor), the action continues anyway.
Example code:
[code]Include Conversation Framework by Eric Eve.
The Kitchen is a Room.
Bob is a man in the Kitchen. The spoon is in the Kitchen.
Instead of doing anything other than examining when the current action involves Bob:
say “Bob is too busy staring at the spoon.”.
test me with “a spoon”.[/code]
Output:
A fix:
[code]Before implicit-conversing when the current interlocutor is nothing (this is the implicit-conversing really needs current interlocutor rule):
let np be the number of visible people who are not the player;
if np is 0, say “There’s no one here to talk to.”;
if np > 1, say “You need to specify who you want to speak to.”;
if np is not 1, stop the action;
let the interlocutor be a random visible person who is not the player;
if the interlocutor is a person begin;
say “(addressing [the interlocutor])”;
let sn be the second noun;
implicitly greet the interlocutor;
if the current interlocutor is not the interlocutor, stop the action; [this line is new]
now the second noun is sn;
otherwise ;
say “You’re not talking to anyone.”;
stop the action;
end if.
The implicit-conversing really needs current interlocutor rule substitutes for the implicit-conversing needs current interlocutor rule.[/code]
See here.