gurba-0.40/
gurba-0.40/bin/
gurba-0.40/lib/
gurba-0.40/lib/cmds/guild/fighter/
gurba-0.40/lib/cmds/monster/
gurba-0.40/lib/cmds/race/catfolk/
gurba-0.40/lib/cmds/race/dwarf/
gurba-0.40/lib/cmds/verb/
gurba-0.40/lib/daemons/data/
gurba-0.40/lib/data/boards/
gurba-0.40/lib/data/messages/
gurba-0.40/lib/data/players/
gurba-0.40/lib/design/
gurba-0.40/lib/domains/gurba/
gurba-0.40/lib/domains/gurba/guilds/fighter/
gurba-0.40/lib/domains/gurba/monsters/
gurba-0.40/lib/domains/gurba/objects/armor/
gurba-0.40/lib/domains/gurba/objects/clothing/
gurba-0.40/lib/domains/gurba/objects/weapons/
gurba-0.40/lib/domains/gurba/vendors/
gurba-0.40/lib/kernel/cmds/admin/
gurba-0.40/lib/kernel/daemons/
gurba-0.40/lib/kernel/include/
gurba-0.40/lib/kernel/lib/
gurba-0.40/lib/kernel/net/
gurba-0.40/lib/kernel/sys/
gurba-0.40/lib/logs/
gurba-0.40/lib/pub/
gurba-0.40/lib/std/modules/languages/
gurba-0.40/lib/std/races/
gurba-0.40/lib/std/races/monsters/
gurba-0.40/lib/wiz/fudge/
gurba-0.40/lib/wiz/spud/
gurba-0.40/src/host/beos/
gurba-0.40/src/host/pc/res/
gurba-0.40/src/kfun/
gurba-0.40/src/lpc/
gurba-0.40/src/parser/
gurba-0.40/tmp/
void main( string arg ) {
   object ob;
   object *inv;
   int i;
   object *objs;
   

   if( arg == "" ) {
      write( "Get what?\n" );
      return;
   }
  
   if( arg == "all" ) {
      inv = this_environment()->query_inventory();
      for( i=0; i < sizeof( inv ); i++ ) {
         if( inv[i]->is_gettable() ) {
            if( inv[i]->move( this_player() ) ) {
               this_player()->targetted_action( "$N $vpick up $o.", 0, inv[i] );
            } 
            else {
               this_player()->targetted_action( "$N $vtry to pick up $o, but $vfail.", 0, inv[i] ); 
            }
         } 
         else {
            if( !inv[i]->is_player() ) {
               this_player()->targetted_action( "$N $vare unable to get $o.", 0, inv[i] ); 
            }
         }
      } 
      return;
   }   
  
   ob = this_environment()->find_object( arg );
   if( ob == 0 ) {  
      /* Hmm. Not a real object. Maybe it's a fake one. */

      /* Check the players inventory */
      objs = this_player()->query_inventory();
      for( i = 0; i < sizeof( objs ); i++ ) {
         if( objs[i]->query_items() != 0 ) {
            if( member_array( arg, objs[i]->query_items() ) != -1 ) {
               /* Found a fake object */
               this_player()->targetted_action( "$N $vare unable to get the "+arg+".", 0, ob ); 
               return;
            }
         }
      }
      /* Check if it's in the room */
      if( member_array( arg, this_environment()->query_items() ) != -1 ) {
         /* Found a fake object */
         this_player()->targetted_action( "$N $vare unable to get the "+arg+".", 0, ob ); 
         return;
      }
      /* Check the rooms inventory */
      objs = this_environment()->query_inventory();
      for( i = 0; i < sizeof( objs ); i++ ) {
         if( objs[i]->query_items() != 0 ) {
            if( member_array( arg, objs[i]->query_items() ) != -1 ) {
               /* Found a fake object */
               this_player()->targetted_action( "$N $vare unable to get the "+arg+".", 0, ob ); 
               return;
            }
         }
      }
     
      /* There is nothing at all like that here to try to get */
      write( "You can't seem to find the " + arg + ".\n" );
      return;
   }
    
   else {
      /* try to get a real item */
      if( ob->is_gettable() ) {
         if( ob->move( this_player() ) ) {
            this_player()->targetted_action( "$N $vpick up $o.", 0, ob );
         } 
         else {
            this_player()->targetted_action( "$N $vtry to pick up $o, but $vfail.", 0, ob ); 
         }
      } 
      else {
         this_player()->targetted_action( "$N $vare unable to get $o.", 0, ob ); 
      }
   }
}