Concepts Creator Commands Creator Tutorials Games Innate Commands Known Commands Lord Npc Objects Playtesters Rooms Rules
Parser - Your wish is my command
The thing that interprets the commands you type in and converts them into actions in the game is called the 'parser'. Epitaph's parser is very flexible, and it allows you to reference items and commands in the game in many ways. We also have an alias system that allows you to create your own syntax for commands and game interactions.
Objects in Epitaph are matched using names, aliases and adjectives. The name is the canoncial text that refers to the item. A 'steel sword' would have a name of 'sword', and 'steel' would be one of its adjectives. It might also be aliased to 'weapon'. Epitaph allows you to match objects using adjectives, names and aliases so that you can refer to a 'sword', a 'steel sword', a 'steel weapon', or just a 'weapon'. When more than one adjective is present (steel long sword), you can use any combination of adjectives in any order. You can even use plurals.
In addition, Epitaph allows you to disambiguiate between objects by indicating them with numbers or ordinals. 'look 1st weapon', 'look first weapon', and 'look weapon 1' will all cause you to look at the first weapon in your inventory.
You can interact with objects within objects using the 'in' modified. 'drink beer in bottle' would be an example of that, or 'look first weapon in backpack'. You can also interact with multiples of things with numbers... 'look two clothes' or 'drop three weapons'. You also have access to the 'all' keyword which lets you interact with everything you can see.
Matching Multiple Objects
You can work with multiple objects at a time by using commas or the & symbol. 'look at first weapon, two clothes' will cause you to look at the first weapon and the first two clothes that match. You can get the same effect using 'look first weapon&clothes'. For the former, the command will fail if any of the objects fail to match. For the latter, it will succeed and match only those things it can.
'me' and 'here' are special keywords in the parse. 'here' refers to your current room, so you can 'kill all in here' to attempt to kill everything in your room. 'me' refers to you (as you might expect), and you can use it to do things like 'eat all in me' which will cause your character to attempt to eat everything in your inventory. You can also use 'every', as in 'look every weapon', and 'random' to indicate any one of a set of matches, such as look random weapon'. 'living' can be used to specialise, so you can 'look living zombie'
Here's where it gets especially cool
Epitaph also remembers the last objects you referenced, so you can reference them again using the 'it', 'them', 'his' and 'hers' keywords. For example, you might choose to use the appraise command to get a list of all the objects over a certain value, and them rather than manually pick each up, you can just 'get them', or 'get it' to get the first one that was matched. 'steal clothes from her' is also perfectly valid as far as the parser is concerned.
You can change the precision of the parser using 'options input ambigious'. If you want to avoid sloppy matches, you can switch this off and any time you match more than one object in an invalid context it will inform you of this rather than assuming a course of action. By default, this option is off.