I feel like I should be able to figure this out, but I can’t. Basically I want to allow the player to try giving something to a particular inanimate object (a table, say), so I can change that attempt into the actual action I want. I tried turning on the rules to see exactly what the rule blocking this is called, but it doesn’t show me. I need to tell that rule to do nothing, I think? – but I can’t quite see where to get started.
Thanks for any help!
Best thing to do is check the index and find the “giving it to” action.
The rules are listed there. We find
check an actor giving something to (can’t give to a non-person rule) name unlist 1
By clicking “unlist”, the IDE puts this into the code:
The can't give to a non-person rule is not listed in the check giving it to rulebook.
This removes the rule completely so you can give things to any item you please. You may need to write additional rules to handle situations you don’t wish to occur. I’m not sure that objects may even be allowed to have an inventory, so you’ll need to experiment with what the consequences of this are.
A variant if you only want it to apply to the table (not tested, but something like this should work):
The can't give to a non-person rule does nothing when the second noun is the table.
Ooh thanks, I might have to experiment with this more later. In the meantime I found a super simple way to get the result I need: adding a few more grammar lines to define giving to a non-person. And that will have to do since I’m on an ecto-limit!
Yeah, you need both those things (or the new Understand line and an Instead or Before rule that bypasses the “can’t give to a non-person” rule). The rules check isn’t turning up the rule Hanon mentioned because the “[someone]” token doesn’t match the table, so the action doesn’t even get through the parser to the action rules. That’s what’s usually (well, always) going on with “You can only do that to something animate” messages. Then in this case there’s also a rule that blocks giving things to inanimate objects, even if the action gets understood.