In a game I’m working on, I have a restaurant where the player can make an order. The verb is defined like this–
Ordering is an action applying to a topic. Understand "order [text]", "request [text]", "choose [text]" or "ask for [text]" as ordering.
The player is only going to want one specific thing, and I have written some rules allowing only that one thing to be successfully ordered (and, of course, I have a check rule allowing the action only in the presence of the server). However, the player can conceivably type the name of the thing in a number of ways, for example–as ‘Italian lasagna’ or ‘lasagna italiano’ or ‘traditional lasagna’ etc etc. I have tried to create a list of topics–
Mychoice is a list of topics that varies. Mychoice is {"Italian lasagna", "lasagna italiano", "traditional lasagna"}.
But ‘topics’ did not work because lists can’t have that as a value. I also tried ‘texts’, etc etc. (various combinations of ‘topic’, ‘text’, ‘topic understood’…
Finally, what I found that worked was having a single-column table, with a column of the optional names–
Table 1 - Hobson's Choices
Topic
"Italian lasagna"
"lasagna italiano"
"traditional lasagna"
etc.
Then of course I used ‘if the topic understood is a topic listed in table 1’ in my rule for the ordering.
Is there a less cockeyed way of doing this??
Thanks