[i6 to i7] talkability problem

So the i6 code snippet I found in parser.i6t was very useful.

[code]“talkable” by Andrew Schultz

room 1 is a room.

the block is a thing in room 1.

the box is a thing in room 1.

Include (-
has transparent talkable
with before NULL,
-) when defining box.

when play begins:
say “Testing talkability.”
[if block is animate, say “Yay block.”;
if box is animate, say “Yay box.”;][/code]

The only thing is, I want run a test for if something is transparently animate e.g. to check if it is a microphone or recording apparatus or something, to use with yell/say.

I could define an i7 variable (“A thing can be talktoable. A thing is usually not talktoable. A person is always talktoable.”) but this feels like overlap.

So how would I use i7 to check the i6-defined parameter? SHOWME BOX/SHOWME BLOCK shows no difference, and stuff like if the block has/possesses the transparent animate property doesn’t work. I’m afraid I’m very weak with i6 beyond the basics, so any help would probably tip off i6 stuff that’ll help me there. Thanks!

“Transparent” and “talkable” are unrelated I6 attributes. “Transparent” means you can see into a closed container, “talkable” means the object accepts communication actions.

You can expose “talkable” in I7:

A thing can be talkable. The talkable property translates into I6 as "talkable".

Also, there’s no reason to include the “with before NULL” line. It has no effect in I7.

A thing can be talkable. The talkable property translates into I6 as "talkable". A thing is usually not talkable.

Now the I7 property is linked to the I6 one, like with “lit” and “wearable”.

EDIT: Timing!

Does this relate at all with “Inanimate Listeners”?

If you can just declare a thing as “talkable” that seems simpler than using an extension… ?

The Inanimate Listeners extension does exactly this. (Except it uses the I7 name “addressable”. It also adds a extra persuasion rule to catch cases like “microphone, go north”.)

Thanks Zarf! I didn’t notice the (quick) reply. I also, as always, appreciate the extra information on the NULL property. I never tried to experiment with it–just took sample code from someone helpful (before I knew -any- i6) and said to myself, don’t touch it.

The “x translates into y” in the standard rules now makes 100% more sense, too, so yay.

And yeah, HanonO, I think you pointed me there before, but I forgot about it.