Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow more specific dobjspec, iobjspec #395

Open
3 tasks
cpcallen opened this issue Jun 22, 2020 · 1 comment
Open
3 tasks

Allow more specific dobjspec, iobjspec #395

cpcallen opened this issue Jun 22, 2020 · 1 comment
Labels
core Things related to the "core" part of the database enhancement Feature requests, major new features, etc.

Comments

@cpcallen
Copy link
Collaborator

cpcallen commented Jun 22, 2020

LambdaMOO (and, at the moment, CodeCity) provide exactly three options for dobjspec and iobjspec: none, which disallows a direct or indirect object respectively; this, which must match the object the verb is on; and any, which allows any text (or none) at all.

In many cases—e.g, $.container.put any in this, we'd actually like to constrain 'any' a bit. The obvious constraint is that it unambiguously match a single $.physical object; the proposed name for this option is "something".

We might wish to be even more general, and allow any .dobj and .iobj to be set to $.physical object, with the verb matching if dobjstr and/or iobjstr are instances of that prototype—so, e.g., a lock could have $.lock.unlock this with $.key.

@cpcallen cpcallen added core Things related to the "core" part of the database enhancement Feature requests, major new features, etc. labels Jun 22, 2020
@cpcallen cpcallen changed the title Add "something" to list of supported options for dobjspec, iobjspec Allow more specific dobjspec, iobjspec Jun 22, 2020
@cpcallen
Copy link
Collaborator Author

Thinking more about this and about parsing in general:

  • It would be nice if $.user.create could be "create named " instead of "… as ".
    • But "named" doesn't really make sense to be included in a generalised list of prepositions.
    • So more flexibility in how verbs are defined in general would be great.
  • So not only might we be changing the available list of prepositions, or the possible values of dobjspec/iobjspec, but we might want to completely change how verbs are specified—perhaps (and this is just an illustrative example) to something a little bit regexp-like—e.g.:
    • l…ook at/in to/into <this>
    • cr…eate <$.physical> named/called <string>
    • turn <$.key> clockwise/counterclockwise/anticlockwise/cw/ccw/acw in <this>
    • wear <this> | put <this> on | put on <this>

The entire verb section of the Function tab—unlike the rest of the editor (except for SVG restrictions)—is really specific to an English-language, MUD-style UI. If this section could be served up by the database (rather than from static/) then it would give us a lot more flexibility to implement these kinds of changes in future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core Things related to the "core" part of the database enhancement Feature requests, major new features, etc.
Projects
None yet
Development

No branches or pull requests

1 participant