"Way for a phrase to come to an end"

I can’t figure out how to nuke the default “report eating” (I.E. You eat the noun. Not bad.), so I’ve created a phrase to circumvent this.

To eat (food - thing): If the food is not edible: Say "You're so hungry... but not that desperate...." instead; Otherwise If the noun is an item listed in Table 1: Remove food from play; Say "[Response entry]"; Rule succeeds.

And now the compiler is complaining:

Problem. The line ‘Say “You’re so hungry… but not that desperate…” instead’ seems to be a way that the phrase you’re defining can come to an end, with a phrase providing an outcome to a rulebook, but it should always end up with no value resulting.

I have never seen this problem with any other phrase that I’ve defined. I’ve tried adding a rule fails there to send something back, but it isn’t liking that.

Where are you invoking this phrase? In a check or report rule? If so, put the “instead” there:

instead eat the noun.

I have it circumventing eating entirely:

Instead of eating something: eat the noun.

“Instead” is meant to end a rule, but you’re using it inside a phrase. Use the statement “stop” instead.

In that case it doesn’t matter. When an instead rule runs, it stops the action by definition. (Unless you add the line “continue the action.”)

“stop” isn’t needed in the quoted rule, because of the “if/otherwise” structure.

You should also remove the “rule succeeds”, which only works within a rule as well.

Also, life will probably be simpler if you forget the “to eat” phrase, and put your code directly in the “instead” rule.

(Or several rules, but maybe we should work up to that slowly.)

Alright, simple is better.