The IfMUD Public Library's Card Catalogue

The library's card catalogue is a time-worn piece of furniture, but still handsome with its stained and lacquered ash veneer. Find a book by looking up one or more words in the book's title, eg: "whereis parrot".

User commands:

whereis book
Lists the titles and assigned locations of library books whose titles contain the given keywords. Because of restrictions on the use of JotaCode's @location function, it isn't possible for the card catalogue to list the true location of a book. Sorry.

Proposed addition: If more than 15 titles are found, you may scroll through the current list with "next 15" and "prev 15".
query #booknum
Lists the full entry for the book. For this command, you must use the item's db-reference number, eg:
  query #12801

Librarian commands:

swipe book
Enters the book into the catalogue. This should be the first command used for adding a new book to the library, eg:
  swipe World Map

All the words in the book's title are automatically added as keywords for that book, so you can do whereis map and expect to find a listing for it. Note that swiping a book doesn't assign it to a shelf; that is done with the set shelf command.
remove book
Removes the book from the card catalogue.
set shelf of book = shelfcode
Assign a location for the book. Normally, this location will be one of the library's shelves, eg:
  set shelf of Are You A Prude? = you hum
but it could be just a room, eg:
  set shelf of Parrot poem = hum

Valid shelfcodes:
In the IF room:  musing, never, 1998 ... 2004, ifcomp, xyzzy, othercomp
In the Nonfiction room:  book non, game non, geek non, ifmud non, song non, tv non, you non
In the Humour room:  book hum, game hum, geek hum, ifmud hum, song hum, tv hum, you hum
The rooms themselves:  if, non, hum
Other locations should use dbref numbers, eg:  set shelf of New World Map = #14

When deciding which shelf to store a book on, first decide on which room: IF-Related, Nonfiction, or Humour.

It's usually clear which books belong in the IF-Related room. If the book is about a speedif: put it on the speedif shelf for the appropriate year. If the speedif never actually happened: put the book on the Never shelf. The IF Comp and the XYZZY Awards have one shelf each for their books; all other comps (DragonComp, DinoComp, etc.) share the Other Comps shelf. Otherwise: put it in the Musings shelf.

The difference between the Non-Fiction and Humour rooms isn't so obvious. If the book is informative (that is, contains facts), or contains people's opinions, observations, or speculations about something, then it belongs in the Non-Fiction room. If the book is obviously humourous or silly, then it belongs in the Humour room. If you're still unsure, pick the Non-Fiction room.

Selecting the appropriate shelf isn't always obvious either. If the book is a poll where everyone signs something about themselves, then it belongs on the You shelf. However, if the book is about one or two ifMudders in particular, then that belongs on the IfMud shelf. A book about Lord of the Rings might belong on either the Book or the TV/Movie shelf. If a book doesn't seem to belong to any shelf in particular, choose the Geek shelf, even if it doesn't seem all that geeky.
set keyword of book = keywords
Assign one or more keywords for a book. These are in addition to any other keywords already assigned for the book. Example:
set keyword of What's Your Underpants Name? = underwear pants

To remove a keyword, preface it with a hyphen. Example:
set keyword of The IF Drinking Game = -drinkng
reshelve book
Unfortunately, due to restrictions in JotaCode, this command cannot actually reshelve the book. All it can do is tell you what command you should use to put the book into the correct shelf yourself.
list missing
This command was meant to list all books not on their assigned shelves. Unfortunately, since the use of the @location() function is now restricted, this command no longer works as intended.

Proposed version: This command will list all books that cannot be found on their assigned shelves. It won't be perfect, since it won't be able to test books assigned to non-shelves, but this is the best I can do without a wizbit.
list nokeyword
This command lists all books without any assigned keywords. That is, entries in the catalogue that may have assigned shelves but were never swiped.
list noshelf
This command lists all books that have yet to be assigned to a shelf (or any other location).
list nobook
This command lists all books that aren't set with the JotaCode book flag.
list stats
This command lists totals for assorted categories: how many books without keywords, how many without an assigned shelf, how many aren't true books, how many IF, how many Non-Fiction, how many Humour, how many have homes outside the library proper, grand total in catalogue.
list stowaways (proposed command)
This command will list the books that are on the library shelves but not in the card catalogue.