Grammar & Commands Reference
This is a reference of all built-in commands available to players. Stories can extend grammar with additional commands.
Directions
Players can move using direction words or single-letter abbreviations:
| Direction | Abbreviation | Direction | Abbreviation |
|---|---|---|---|
| north | n | south | s |
| east | e | west | w |
| northeast | ne | northwest | nw |
| southeast | se | southwest | sw |
| up | u | down | d |
| in | — | out | — |
All directions also work with go: go north, go up, etc.
Object Manipulation
take/get/grab <item> Pick up an itempick up <item> Pick up (phrasal verb)drop/discard <item> Put down a held itemput down <item> Put down (phrasal verb)put <item> in <container> Place item inside containerput <item> on <supporter> Place item on surfaceinsert <item> in <container> Same as "put in"hang <item> on <hook> Hang item on supporterremove <item> from <source> Remove from container/supporterthrow <item> at <target> Throw at targetthrow <item> to <recipient> Throw to personLooking & Examining
look / l Describe current locationexamine/x/inspect <target> Examine something closelylook at <target> Same as examinesearch <target> Search inside somethinglook in/inside <target> Same as searchlook through <target> Same as searchrummage in/through <target> Same as searchContainers & Doors
open <target> Open a door, container, or bookclose <target> Close somethinglock <target> Lock with default keylock <target> with <key> Lock with specific keyunlock <target> Unlock with default keyunlock <target> with <key> Unlock with specific keyopen <target> with <tool> Open with a toolDevices
turn on <device> Turn on a deviceturn <device> on Same (alternate word order)switch/flip on <device> Synonyms for turn onturn off <device> Turn off a deviceswitch/flip off <device> Synonyms for turn offpush/press/shove <target> Push somethingpull/drag/yank <target> Pull somethinglower <target> Lower somethingraise/lift <target> Raise somethingEntry & Exit
enter <portal> Enter a container or vehicleget in/into <portal> Same as enterclimb in/into <portal> Same as enterboard <vehicle> Board a vehicleget on <vehicle> Get on a vehicleexit Leave current container/vehicleget out / leave / climb out Synonyms for exitdisembark Leave a vehicleget off <vehicle> Same as disembarkWearing
wear <item> Put on wearable itemput on <item> Same as weartake off <item> Remove worn itemremove <item> Remove worn itemdoff <item> Same as take offSenses
read/peruse/study <target> Read text on somethingtouch/feel/rub <target> Touch somethingpat/stroke/poke/prod <target> Touch synonymslisten Listen to surroundingslisten to <target> Listen to somethingsmell Smell surroundingssmell <target> Smell somethingCommunication
talk to <npc> Talk to someonegive/offer <item> to <npc> Give item to NPCgive <npc> <item> Alternate word ordershow <item> to <npc> Show item to NPCshow <npc> <item> Alternate word orderask <npc> about <topic> Ask about somethingtell <npc> about <topic> Tell about somethingCombat
attack/kill/fight <target> Attack somethinghit/strike/slay <target> Synonyms for attackattack <target> with <weapon> Attack using specific weaponhit <target> with <weapon> Same with synonymConsumption
eat <item> Eat fooddrink/quaff <item> Drink liquidMeta Commands
inventory / inv / i Show what you're carryingwait / z Wait one turnsleep Try to sleepscore Show current scoresave Save gamerestore Load saved gamerestart Restart gameundo Undo last commandagain / g Repeat last commandquit / q Exit gamehelp Show helpabout Show game informationversion Show versionExtending Grammar in Stories
Stories can add custom commands in extendParser():
extendParser(parser: Parser): void { const grammar = parser.getStoryGrammar();
// Simple literal command grammar .define('ring bell') .mapsTo('dungeo.action.ring_bell') .withPriority(150) .build();
// Command with a slot grammar .define('say :message') .mapsTo('dungeo.action.say') .withPriority(150) .build();
// Command with trait constraint grammar .define('turn :dial to :number') .hasTrait('dial', TraitType.SWITCHABLE) .mapsTo('dungeo.action.turn_dial') .withPriority(150) .build();}Use priority 150+ for story-specific commands to ensure they take precedence over built-in patterns.
Parser Notes
- Multi-object support: Commands like
take all,drop all but lamp, andtake sword and shieldare handled automatically by the parser. - Abbreviations: Single-letter abbreviations (n, s, e, w, u, d, l, x, i, z, g, q) are recognized.
- Disambiguation: When a command is ambiguous (“take ball” with multiple balls present), the parser asks the player to clarify.
- Articles ignored: “the”, “a”, and “an” are stripped —
take the lampandtake lampare equivalent.