final_realms_fluffos_v1/
final_realms_fluffos_v1/bin/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/ChangeLog.old/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/Win32/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/compat/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/compat/simuls/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/include/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/clone/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/command/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/data/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/etc/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/include/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/inherit/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/inherit/master/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/log/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/single/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/single/tests/compiler/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/single/tests/efuns/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/single/tests/operators/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/u/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/tmp/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/windows/
final_realms_fluffos_v1/lib/baseobs/guilds/
final_realms_fluffos_v1/lib/baseobs/misc/
final_realms_fluffos_v1/lib/baseobs/races/shadows/
final_realms_fluffos_v1/lib/cmds/god/
final_realms_fluffos_v1/lib/cmds/handlers/
final_realms_fluffos_v1/lib/cmds/handlers/cmds/
final_realms_fluffos_v1/lib/d/heaven/
final_realms_fluffos_v1/lib/d/heaven/heaven/ave/
final_realms_fluffos_v1/lib/d/mudlib/
final_realms_fluffos_v1/lib/d/newbie/
final_realms_fluffos_v1/lib/d/newbie/docs/
final_realms_fluffos_v1/lib/d/newbie/drow/armour/
final_realms_fluffos_v1/lib/d/newbie/drow/items/
final_realms_fluffos_v1/lib/d/newbie/drow/mobs/
final_realms_fluffos_v1/lib/d/newbie/drow/oldmobs/
final_realms_fluffos_v1/lib/d/newbie/drow/weapons/
final_realms_fluffos_v1/lib/d/newbie/duergar/weapons/
final_realms_fluffos_v1/lib/d/newbie/dwarf/weapons/
final_realms_fluffos_v1/lib/d/newbie/elf/cafe/
final_realms_fluffos_v1/lib/d/newbie/elf/chars/equip/
final_realms_fluffos_v1/lib/d/newbie/elf/items/armours/
final_realms_fluffos_v1/lib/d/newbie/elf/items/obj/
final_realms_fluffos_v1/lib/d/newbie/elf/items/weapons/
final_realms_fluffos_v1/lib/d/newbie/elf/quick_fix/
final_realms_fluffos_v1/lib/d/newbie/gnome/armour/
final_realms_fluffos_v1/lib/d/newbie/gnome/buildings/
final_realms_fluffos_v1/lib/d/newbie/gnome/items/
final_realms_fluffos_v1/lib/d/newbie/gnome/npcs/clones/
final_realms_fluffos_v1/lib/d/newbie/gnome/rooms/northrooms/
final_realms_fluffos_v1/lib/d/newbie/gnome/weapons/
final_realms_fluffos_v1/lib/d/newbie/goblin/armour/
final_realms_fluffos_v1/lib/d/newbie/goblin/items/
final_realms_fluffos_v1/lib/d/newbie/grads/log/
final_realms_fluffos_v1/lib/d/newbie/grads/npcs/
final_realms_fluffos_v1/lib/d/newbie/grads/rooms/
final_realms_fluffos_v1/lib/d/newbie/grads/rooms/cave1/
final_realms_fluffos_v1/lib/d/newbie/grads/temp/
final_realms_fluffos_v1/lib/d/newbie/guests/weapons/
final_realms_fluffos_v1/lib/d/newbie/half-elf/items/
final_realms_fluffos_v1/lib/d/newbie/half-elf/newroomss/
final_realms_fluffos_v1/lib/d/newbie/half-elf/rooms/
final_realms_fluffos_v1/lib/d/newbie/half-elf/rooms/castle/
final_realms_fluffos_v1/lib/d/newbie/half-elf/rooms/drows/
final_realms_fluffos_v1/lib/d/newbie/half-elf/rooms/savannah/
final_realms_fluffos_v1/lib/d/newbie/half-elf/rooms/secret/
final_realms_fluffos_v1/lib/d/newbie/half-elf/rooms/town/
final_realms_fluffos_v1/lib/d/newbie/halfling/
final_realms_fluffos_v1/lib/d/newbie/halfling/misc/
final_realms_fluffos_v1/lib/d/newbie/halfling/rooms/cave/
final_realms_fluffos_v1/lib/d/newbie/human/
final_realms_fluffos_v1/lib/d/newbie/human/armour/
final_realms_fluffos_v1/lib/d/newbie/human/monsters/
final_realms_fluffos_v1/lib/d/newbie/human/obj/
final_realms_fluffos_v1/lib/d/newbie/human/weapons/
final_realms_fluffos_v1/lib/d/newbie/lizard/armour/
final_realms_fluffos_v1/lib/d/newbie/lizard/items/
final_realms_fluffos_v1/lib/d/newbie/lizard/underwater/
final_realms_fluffos_v1/lib/d/newbie/lizard/weapons/
final_realms_fluffos_v1/lib/d/newbie/logs/
final_realms_fluffos_v1/lib/d/newbie/new_halfelf/
final_realms_fluffos_v1/lib/d/newbie/new_halfelf/npcs/
final_realms_fluffos_v1/lib/d/newbie/newdrow/npcs/
final_realms_fluffos_v1/lib/d/newbie/newdrow/rooms/
final_realms_fluffos_v1/lib/d/newbie/newelf/
final_realms_fluffos_v1/lib/d/newbie/newelf/chars/
final_realms_fluffos_v1/lib/d/newbie/newelf/npcs/
final_realms_fluffos_v1/lib/d/newbie/newelf/npcs/recopied/
final_realms_fluffos_v1/lib/d/newbie/newelf/obj/
final_realms_fluffos_v1/lib/d/newbie/newelf/quest_docs./
final_realms_fluffos_v1/lib/d/newbie/newken/
final_realms_fluffos_v1/lib/d/newbie/newken/chars/
final_realms_fluffos_v1/lib/d/newbie/newken/misc/
final_realms_fluffos_v1/lib/d/newbie/newken/npcs/
final_realms_fluffos_v1/lib/d/newbie/newken/obj/
final_realms_fluffos_v1/lib/d/newbie/newliz/
final_realms_fluffos_v1/lib/d/newbie/newliz/cave/
final_realms_fluffos_v1/lib/d/newbie/newliz/npcs/
final_realms_fluffos_v1/lib/d/newbie/orc/items/misc/
final_realms_fluffos_v1/lib/d/newbie/orc/items/weapons/
final_realms_fluffos_v1/lib/d/newbie/orc/tower/
final_realms_fluffos_v1/lib/d/vehicle/
final_realms_fluffos_v1/lib/doc/
final_realms_fluffos_v1/lib/doc/driver/
final_realms_fluffos_v1/lib/doc/driver/concepts/
final_realms_fluffos_v1/lib/doc/driver/driver/
final_realms_fluffos_v1/lib/doc/driver/efuns/arrays/
final_realms_fluffos_v1/lib/doc/driver/efuns/bitstrings/
final_realms_fluffos_v1/lib/doc/driver/efuns/communication/
final_realms_fluffos_v1/lib/doc/driver/efuns/core/
final_realms_fluffos_v1/lib/doc/driver/efuns/debugging/
final_realms_fluffos_v1/lib/doc/driver/efuns/filesystem/
final_realms_fluffos_v1/lib/doc/driver/efuns/interactive/
final_realms_fluffos_v1/lib/doc/driver/efuns/mappings/
final_realms_fluffos_v1/lib/doc/driver/efuns/objects/
final_realms_fluffos_v1/lib/doc/driver/efuns/security/
final_realms_fluffos_v1/lib/doc/driver/efuns/strings/
final_realms_fluffos_v1/lib/doc/driver/efuns/system/
final_realms_fluffos_v1/lib/doc/driver/efuns/types/
final_realms_fluffos_v1/lib/doc/driver/lpc/constructs/
final_realms_fluffos_v1/lib/doc/driver/lpc/types/
final_realms_fluffos_v1/lib/doc/driver/platforms/
final_realms_fluffos_v1/lib/doc/lpc/
final_realms_fluffos_v1/lib/doc/mail/
final_realms_fluffos_v1/lib/doc/man/
final_realms_fluffos_v1/lib/doc/man/html/
final_realms_fluffos_v1/lib/doc/man/html/applies/
final_realms_fluffos_v1/lib/doc/man/html/applies/parsing/
final_realms_fluffos_v1/lib/doc/man/html/driver/
final_realms_fluffos_v1/lib/doc/man/html/efuns/
final_realms_fluffos_v1/lib/doc/man/html/efuns/arrays/
final_realms_fluffos_v1/lib/doc/man/html/efuns/buffers/
final_realms_fluffos_v1/lib/doc/man/html/efuns/compile/
final_realms_fluffos_v1/lib/doc/man/html/efuns/floats/
final_realms_fluffos_v1/lib/doc/man/html/efuns/functions/
final_realms_fluffos_v1/lib/doc/man/html/efuns/general/
final_realms_fluffos_v1/lib/doc/man/html/efuns/numbers/
final_realms_fluffos_v1/lib/doc/man/html/efuns/parsing/
final_realms_fluffos_v1/lib/doc/man/local/
final_realms_fluffos_v1/lib/doc/man/local/applies/
final_realms_fluffos_v1/lib/doc/man/local/applies/interactive/
final_realms_fluffos_v1/lib/doc/man/local/applies/master/
final_realms_fluffos_v1/lib/doc/man/local/concepts/
final_realms_fluffos_v1/lib/doc/man/local/defines/
final_realms_fluffos_v1/lib/doc/man/local/driver/
final_realms_fluffos_v1/lib/doc/man/local/efuns/
final_realms_fluffos_v1/lib/doc/man/local/efuns/arrays/
final_realms_fluffos_v1/lib/doc/man/local/efuns/buffers/
final_realms_fluffos_v1/lib/doc/man/local/efuns/calls/
final_realms_fluffos_v1/lib/doc/man/local/efuns/compile/
final_realms_fluffos_v1/lib/doc/man/local/efuns/filesystem/
final_realms_fluffos_v1/lib/doc/man/local/efuns/floats/
final_realms_fluffos_v1/lib/doc/man/local/efuns/functions/
final_realms_fluffos_v1/lib/doc/man/local/efuns/general/
final_realms_fluffos_v1/lib/doc/man/local/efuns/interactive/
final_realms_fluffos_v1/lib/doc/man/local/efuns/internals/
final_realms_fluffos_v1/lib/doc/man/local/efuns/mappings/
final_realms_fluffos_v1/lib/doc/man/local/efuns/mudlib/
final_realms_fluffos_v1/lib/doc/man/local/efuns/numbers/
final_realms_fluffos_v1/lib/doc/man/local/efuns/objects/
final_realms_fluffos_v1/lib/doc/man/local/efuns/parsing/
final_realms_fluffos_v1/lib/doc/man/local/efuns/sockets/
final_realms_fluffos_v1/lib/doc/man/local/efuns/strings/
final_realms_fluffos_v1/lib/doc/man/local/efuns/system/
final_realms_fluffos_v1/lib/doc/man/local/historical/
final_realms_fluffos_v1/lib/doc/man/local/lfun/QC/
final_realms_fluffos_v1/lib/doc/man/local/lfun/events/
final_realms_fluffos_v1/lib/doc/man/local/lfun/monster/
final_realms_fluffos_v1/lib/doc/man/local/lfun/properties/
final_realms_fluffos_v1/lib/doc/man/local/lpc/
final_realms_fluffos_v1/lib/doc/man/local/lpc/constructs/
final_realms_fluffos_v1/lib/doc/man/local/lpc/types/
final_realms_fluffos_v1/lib/doc/man/local/standards/
final_realms_fluffos_v1/lib/doc/man/local/tutorials/
final_realms_fluffos_v1/lib/doc/man/local/tutorials/basic/
final_realms_fluffos_v1/lib/doc/man/local/tutorials/intermediate/
final_realms_fluffos_v1/lib/doc/man/mudos/applies/
final_realms_fluffos_v1/lib/doc/man/mudos/applies/interactive/
final_realms_fluffos_v1/lib/doc/man/mudos/applies/parsing/
final_realms_fluffos_v1/lib/doc/man/mudos/concepts/
final_realms_fluffos_v1/lib/doc/man/mudos/driver/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/arrays/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/buffers/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/calls/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/compile/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/filesystem/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/floats/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/functions/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/general/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/mappings/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/mixed/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/mudlib/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/numbers/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/parsing/
final_realms_fluffos_v1/lib/doc/man/mudos/lpc/constructs/
final_realms_fluffos_v1/lib/doc/man/mudos/lpc/types/
final_realms_fluffos_v1/lib/doc/races/
final_realms_fluffos_v1/lib/doc/races/old_race/
final_realms_fluffos_v1/lib/global/virtual/
final_realms_fluffos_v1/lib/global/wiz_backup/
final_realms_fluffos_v1/lib/net/config/
final_realms_fluffos_v1/lib/net/daemon/chars/
final_realms_fluffos_v1/lib/net/inherit/
final_realms_fluffos_v1/lib/net/intermud3/
final_realms_fluffos_v1/lib/net/intermud3/cmds/
final_realms_fluffos_v1/lib/net/intermud3/save/
final_realms_fluffos_v1/lib/net/intermud3/services/
final_realms_fluffos_v1/lib/net/obj/
final_realms_fluffos_v1/lib/net/old/
final_realms_fluffos_v1/lib/net/old/intermud/
final_realms_fluffos_v1/lib/net/old/intermud/adm/
final_realms_fluffos_v1/lib/net/old/intermud/services/
final_realms_fluffos_v1/lib/net/old/intermud/udp/
final_realms_fluffos_v1/lib/net/virtual/
final_realms_fluffos_v1/lib/obj/b_day/
final_realms_fluffos_v1/lib/obj/chars/
final_realms_fluffos_v1/lib/obj/handlers/lists/
final_realms_fluffos_v1/lib/obj/handlers/useless/
final_realms_fluffos_v1/lib/obj/monsters/
final_realms_fluffos_v1/lib/obj/roomgen/
final_realms_fluffos_v1/lib/obj/soul/
final_realms_fluffos_v1/lib/obj/vegetation/
final_realms_fluffos_v1/lib/obj/weapons/oldsys/
final_realms_fluffos_v1/lib/open/
final_realms_fluffos_v1/lib/players/g/
final_realms_fluffos_v1/lib/releasefiles/d/heaven/
final_realms_fluffos_v1/lib/releasefiles/d/mudlib/
final_realms_fluffos_v1/lib/releasefiles/d/newbie/
final_realms_fluffos_v1/lib/releasefiles/doc/
final_realms_fluffos_v1/lib/releasefiles/players/g/
final_realms_fluffos_v1/lib/releasefiles/save/
final_realms_fluffos_v1/lib/releasefiles/save/environ/
final_realms_fluffos_v1/lib/releasefiles/save/roomgen/
final_realms_fluffos_v1/lib/releasefiles/secure/
final_realms_fluffos_v1/lib/releasefiles/w/
final_realms_fluffos_v1/lib/releasefiles/w/god/
final_realms_fluffos_v1/lib/room/
final_realms_fluffos_v1/lib/save/
final_realms_fluffos_v1/lib/save/environ/
final_realms_fluffos_v1/lib/save/roomgen/
final_realms_fluffos_v1/lib/scripts/
final_realms_fluffos_v1/lib/secure/crerem/
final_realms_fluffos_v1/lib/secure/dom/
final_realms_fluffos_v1/lib/secure/log/
final_realms_fluffos_v1/lib/secure/misc/
final_realms_fluffos_v1/lib/std/adnd/
final_realms_fluffos_v1/lib/std/commands/shadows/
final_realms_fluffos_v1/lib/std/creator/
final_realms_fluffos_v1/lib/std/curses/
final_realms_fluffos_v1/lib/std/curses/old_sys/
final_realms_fluffos_v1/lib/std/curses/shadows/
final_realms_fluffos_v1/lib/std/dom/
final_realms_fluffos_v1/lib/std/effects/
final_realms_fluffos_v1/lib/std/effects/healing/
final_realms_fluffos_v1/lib/std/effects/other/
final_realms_fluffos_v1/lib/std/effects/poisons/
final_realms_fluffos_v1/lib/std/environ/
final_realms_fluffos_v1/lib/std/guilds/
final_realms_fluffos_v1/lib/std/guilds/priests/samples/
final_realms_fluffos_v1/lib/std/guilds/wizards/
final_realms_fluffos_v1/lib/std/living/baldy/
final_realms_fluffos_v1/lib/std/living/divstuff/
final_realms_fluffos_v1/lib/std/paran/
final_realms_fluffos_v1/lib/std/poisons/
final_realms_fluffos_v1/lib/std/poisons/shadows/
final_realms_fluffos_v1/lib/std/poisons/weapons/
final_realms_fluffos_v1/lib/std/race_groups/
final_realms_fluffos_v1/lib/std/room/
final_realms_fluffos_v1/lib/std/room/old/
final_realms_fluffos_v1/lib/std/rooms/
final_realms_fluffos_v1/lib/std/shadows/
final_realms_fluffos_v1/lib/std/shadows/test_shad/
final_realms_fluffos_v1/lib/std/socket/
final_realms_fluffos_v1/lib/std/spells/
final_realms_fluffos_v1/lib/std/vaults/
final_realms_fluffos_v1/lib/tmp/
final_realms_fluffos_v1/lib/w/
final_realms_fluffos_v1/lib/w/god/
final_realms_fluffos_v1/old/
final_realms_fluffos_v1/win32/
// Reworked the whole thing. Instead of storing a bunch of almost
// identical arrays and mappings, I let the queries take care of it all.
// Flode - March 1997

#include "parse_command.h"
mixed *items;
int *cur_desc;

void create()
{
  items = ({ });
  cur_desc = ({ });
}

string short()
{
  int i;
  string *ret = ({ });

  for(i=0;i<sizeof(cur_desc);i++)
    ret += ( pointerp(items[i*3]) ? ({ items[cur_desc[i]*3][0] }) :
                                    ({ items[cur_desc[i]*3] }) );
  return query_multiple_short(ret);
}

string *pretty_short()
{
  int i;
  string *ret = ({ });
     
  for(i=0;i<sizeof(cur_desc);i++)
    ret += ( pointerp(items[i*3]) ? ({items[cur_desc[i]*3][0] }) :
                                    ({ items[cur_desc[i]*3] }) );
  return ret;
}

string query_plural()
{
  int i;
  string *ret = ({ });
     
  for(i=0;i<sizeof(cur_desc);i++)
    ret += ( pointerp(items[i*3]) ? ({ pluralize(items[cur_desc[i]*3][0]) }) :
                                    ({ pluralize(items[cur_desc[i]*3]) }) );
  return query_multiple_short(ret);
}

string *pretty_plural()
{
  int i;
  string *ret = ({ });
         
  for(i=0;i<sizeof(cur_desc);i++)
    ret += ( pointerp(items[i*3]) ? ({ pluralize(items[cur_desc[i]*3][0]) }) :
                                    ({ pluralize(items[cur_desc[i]*3]) }) );
  return ret;
}

string long()
{
  int i;
  string ret = "";

  for(i=0;i<sizeof(cur_desc);i++)
    ret += items[cur_desc[i]*3+1];
  return ret;
}

int *query_cur_desc() { return cur_desc; }

mapping query_verbs()
{
  mapping verb = ([ ]);
  int i,j;
  string s,*bits;

  for(i=0;i<sizeof(items);i+=3)
    if(!pointerp(items[i]))
    {
      bits = explode(items[i]," ");
      s = bits[sizeof(bits)-1];
      if(!verb[s])
    verb[s] =  ({ bits[0..sizeof(bits)-2], i/3 });
      else
    verb[s] += ({ bits[0..sizeof(bits)-2], i/3 });
    }
    else for(j=0;j<sizeof(items[i]);j++)
    {
      bits = explode(items[i][j]," ");
      s = bits[sizeof(bits)-1];
      if(!verb[s])
    verb[s] =  ({ bits[0..sizeof(bits)-2], i/3 });
      else
        verb[s] += ({ bits[0..sizeof(bits)-2], i/3 });
    }
  return verb;
}

mapping query_plurals()
{
  mapping plural = ([ ]);
  int i,j;
  string s,*bits;
      
  for(i=0;i<sizeof(items);i+=3)
    if(!items[i+2])
      if(!pointerp(items[i]))
      {
        bits = explode(items[i]," ");
        s = pluralize(bits[sizeof(bits)-1]);
        if(!plural[s])
          plural[s] =  ({ bits[0..sizeof(bits)-2], i/3 });
        else
          plural[s] += ({ bits[0..sizeof(bits)-2], i/3 });
      }
      else for(j=0;j<sizeof(items[i]);j++)
      {
        bits = explode(items[i][j]," ");
        s = bits[sizeof(bits)-1];
        if(!plural[s])
          plural[s] =  ({ bits[0..sizeof(bits)-2], i/3 });
        else
          plural[s] += ({ bits[0..sizeof(bits)-2], i/3 });
      }
  return plural;
}

string *query_lng()
{
  int i;
  string *ret = ({ });

  for(i=0;i<sizeof(items);i+=3)
    ret += ({ items[i+1] });
  return ret;
}

string *query_shrt()
{
  int i;
  string *ret = ({ });

  for(i=0;i<sizeof(items);i+=3)
    ret += (pointerp(items[i]) ? ({ items[i][0] }) : ({ items[i] }) );
  return ret;
}

int drop() { return 1; }
int get()  { return 1; }

varargs void setup_item(mixed nam,mixed long,int no_plural)
{
  int i,j;
  string str;

  if(pointerp(long))
  {
    if(j=member_array("long",long))
      str = long[i+1];
  }
  else
    str = long;
  if(!str) str = "You see nothing special.\n";

  items += ({ nam, str, no_plural });
}

/* If addition then keeps existing desc and adds desc,
   otherwise it completely rewrites description */

varargs int modify_item(string str, string desc, int addition)
{
  string new1;
  int i;
  if ((i=member_array(str, query_shrt())) == -1)
    return 0;
  if (!desc)
    return 0;
  if (addition)
    {  new1 = items[i*3+1];
       new1 += desc;
       items[i*3+1]=new1;
    }
  else
    items[i*3+1] = desc;
  return 1;
}

/* Old doesn't work.
int modify_item(string str, mixed long)
{
  int i,j;

  if((i=member_array(str, query_shrt())) == -1)
    return 0;
  if(pointerp(long))
  {
    if(j=member_array("long"),long)
      items[j*3+1] = long[i+1];
  }
  else items[j*3+1] = long[i+1];
  return 1;
}
*/
int remove_item(string str)
{
  int i;

  if((i=member_array(str, query_shrt())) == -1)
    return 0;
  items = delete(items, i*3, 3);
  return 1;
}

string *parse_command_id_list()
{
  int i, j;
  string *ret = ({ });
  string *bits;

  for(i=0;i<sizeof(items);i+=3)
    if(!pointerp(items[i]))
    {
      bits = explode(items[i]," ");
      ret += ({ bits[sizeof(bits)-1] });
    }
    else for(j=0;j<sizeof(items[i]);j++)
    {
      bits = explode(items[i][j]," ");
      ret += ({ bits[sizeof(bits)-1] });
    }
  return ret;
}

string *parse_command_plural_id_list()
{
  int i, j;
  string *ret = ({ });
  string *bits;

  for(i=0;i<sizeof(items);i+=3)
    if(items[i+2])
      ret += ({ "no plural" });
    else
      if(!pointerp(items[i]))
      {
        bits = explode(items[i]," ");
        ret += ({ pluralize(bits[sizeof(bits)-1]) });
      }
      else for(j=0;j<sizeof(items[i]);j++)
      {
        bits = explode(items[i][j]," ");
        ret += ({ bits[sizeof(bits)-1] });
      }
  return ret;
}

string *parse_command_adjectiv_id_list()
{
  int i, j;
  string *ret = ({ });
  string *bits;

  for(i=0;i<sizeof(items);i+=3)
    if(!pointerp(items[i]))
    {
      bits = explode(items[i]," ");
      ret += bits[0..sizeof(bits)-2];
    }
    else for(j=0;j<sizeof(items[i]);j++)
    {
      bits = explode(items[i][j]," ");
      ret += bits[0..sizeof(bits)-2];
    }
  return ret;
}

object query_parse_id(mixed *arr)
{
  string *bits;
  mixed stuff;
  int i, j;

  if(arr[P_THING] == 0)
  {
    bits = explode(arr[P_STR], " ");
    if(!(stuff = query_plurals()[bits[sizeof(bits)-1]]))
      if(!(stuff = query_verbs()[bits[sizeof(bits)-1]]))
    return 0;
    cur_desc = ({ });
    for(j=0;j<sizeof(stuff);j+=2)
    {
      for(i=0;i<sizeof(bits)-2;i++)
    if(member_array(bits[i], stuff[j]) == -1)
      break;
     if(i<sizeof(bits)-2)
       continue;
     cur_desc += ({ stuff[j+1] });
    }
    return this_object();
  }
  if(arr[P_THING] < 0)
  {
    bits = explode(arr[P_STR], " ");
    if(!(stuff = query_verbs()[bits[sizeof(bits)-1]]))
      return 0;
    for(j=0;j<sizeof(stuff);j+=2)
    {
      for(i=0;i<sizeof(bits)-2;i++)
    if(member_array(bits[i], stuff[j]) == -1)
      break;
      if(i<sizeof(bits)-2 || ++arr[P_THING] != 0)
    continue;
      cur_desc = ({ stuff[j+1] });
      arr[P_THING] = -10321;
      return this_object();
    }
    return 0;
  }
  bits = explode(arr[P_STR], " ");
  if(!(stuff = query_plurals()[bits[sizeof(bits)-1]]))
    if(!(stuff = query_verbs()[bits[sizeof(bits)-1]]))
      return 0;
  cur_desc = ({ });
  for(j=0;j<sizeof(stuff);j+=2)
  {
    for(i=0;i<sizeof(bits)-2;i++)
      if(member_array(bits[i], stuff[j]) == -1)
        break;
    if(i<sizeof(bits)-2)          
      continue;
    cur_desc += ({ stuff[j+1] });
    arr[P_THING]--;
    if(arr[P_THING] <= 0)
    {
      arr[P_THING] = -10786;
      return this_object();
    }
  }
  return this_object();
}
  
void dest_me()
{
  destruct(this_object());
}

void dwep()
{
  destruct(this_object());
}

int move() { return 1; }