Giving objects while using conversation package by Eric Eve

I had some code for giving objects to people, etc. and it worked fine. Then I wanted to add conversation using conversation package and I noticed the code for giving objects broke. Here is some sample code:

[code]Include Conversation Package by Eric Eve.

The block giving rule is not listed in the check giving it to rules.

Dining room is a room.

A dog is a kind of animal.
Fido is a dog in Dining room. “You see your dog, Fido, here.”

The player carries the beef jerky. The jerky is edible.

Every turn (this is the dogs eat food rule):
if Fido carries something edible:
try Fido eating a random edible thing carried by Fido.[/code]

And playthrough:

[code]Welcome
An Interactive Fiction
Release 1 / Serial number 110713 / Inform 7 build 6G60 (I6/v6.32 lib 6/12N) SD

Dining room
You see your dog, Fido, here.

rules
Rules tracing now switched on. Type “rules off” to switch it off again, or “rules all” to include even rules which do not apply.

actions
Actions listing on.

give jerky to fido
[giving the beef jerky to Fido]
[Rule “giving needs an interlocutor rule” applies.]
[(1) saying hello to Fido]
[Rule “note current interlocutor when greeted rule” applies.]
[Rule “standard report greeting rule” applies.]
[(1) saying hello to Fido - succeeded]

[Rule “note giving rule” applies.]
[Rule “can’t give what you haven’t got rule” applies.]
[Rule “can’t give to yourself rule” applies.]
[Rule “can’t give to a non-person rule” applies.]
[Rule “can’t give clothes being worn rule” applies.]
[Rule “open node response rule” applies.]
[Rule “standard response rule” applies.]
[Rule “default giving rule” applies.]
[Rule “try default give-show response rule” applies.]
[Rule “try default response rule” applies.]
Fido does not respond.
[giving the beef jerky to Fido - succeeded]

[/code]

The same code without the include conversation package works fine - Fido accepts the jerky. There doesn’t need to be any more detailed response than “You give the beef jerky to Fido.” which is what is given when conversation package is not included.

I want the conversation package for conversations with other characters (which will include giving items to them at certain points). How do I fix this? Also, why does it say [giving the beef jerky to Fido - succeeded] when it failed? I still have the jerky after issuing the command.

Conversation Responses, which Conversation Package, assumes that GIVE and SHOW will be handled in an analogous fashion to ASK and TELL, which means that you need to write a response rule for what you want to happen when the player tries to give something to Fido, for example:

Response of Fido when given something:
	move the noun to Fido;
	say "Fido eagerly grabs [the noun] from your hand."

Or, since Conversation Package also includes Conversational Defaults, you could write:

Default Give Response of Fido:
	move the noun to Fido;
	say "Fido eagerly grabs [the noun] from your hand."

– Eric

Well, that’s simple and easy, thanks!

One more question. Is there any way to tell if the action has been done within the response? I mean, I know I can do stuff like Response of the wizard when asked about tyrant king for the first time: but is it possible to do something like this?

Response of the wizard when asked about tyrant king:
	say "[if this is the first time we have asked this] *or* [if the number of times we have asked the wizard about the tyrant king is greater than two]

Is there any reason you can’t use this method?

Response of the wizard when asked about tyrant king: say "[one of]Oh, you don't know about the tyrant king? Well let me tell you. [or][or]Didn't I already tell you about him? [stopping]The tyrant king rules over the western kingdom..."

Oh yeah that could work. For some reason I think I had in mind doing stuff like

Response of the wizard when asked about tyrant king: if this is the first time we have asked this: do something; say something; otherwise if this is the second time we have asked this: do something else; etc.

but at the moment I can’t think of what. Anyway, that could be done by using To Say phrases along with the [one of][stopping] construct.