Conversation Framework by Eric Eve

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.