You could do this instead and make it easier on yourself:
<variables>
<variable name="jerks">Bob|Bill|Steven the Slayer|Unlucky Thompson</variable>
</variables>
Then make your match line a regular expression like:
^(.*?) gives you the corpse of (@!jerks)\.$
The @!variable syntax is a special addition by MUSHclient that lets you use a pipe-separated list from a variable within the regexp. So when a match is attempted, the above is expanded to read:
^(.*?) gives you the corpse of (Bob|Bill|Steven the Slayer|Unlucky Thompson)\.$
It works, thanks for the suggestion. Now let's add a twist.
There are two lists. Jerks and Bots. Is there a way that I can check the item against both lists?
And the coup de etat: I ultimately want to check against a wide selection of lists, determine which one it SHOULD credit to (this group has a higher importance than that one) but only if it belongs to more than one group.
Thanks for your help thus far. I'm enjoying using that with what I've already got in place, so you've already saved me a good deal of work!
For the first thing, yes, but it comes with a risk. You can use (@!jerks|@!bots) to merge the two lists, but if one is empty you'll have (foo|) or (|foo), which AFAIK can cause a crash.
For the "arbitrary lists" thing, you'll be better served by using a MUSHclient Array (see the Array* function documentation) and using ArrayKeyExists() to check if it exists in the list. (It's more of a hash map than a numeric array, so be sure to use the names as keys, not values.) Then just check each array you have, in whatever order you want.
Were you using Lua I'd suggest using its inherent language construct, the 'table', but MUSHclient arrays come close.