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/
mixed *query_verb_info( void ) {
  return( ({ "", "OBJE", "LIV", "OBJC from OBJ", "OBJA" }) );
}

mixed can_get( void ) {
  return( "Get what?" );
}

mixed can_get_str( string str ) {
  if( lowercase(str) == "all" || lowercase(str) == "everything" )
    return( 1 );
  else
    return( "You can't seem to find the " + str + "." );
}

mixed can_get_obj( object obj ) {
  if( obj->is_gettable() )
    return( 1 );
  return( "You can't get the " + obj->query_id() + "." );
}

mixed can_get_liv( object liv ) {
  return( "You can't get that." );
}

mixed can_get_obj_from_obj( object target, string s, object obj ) {
  if( s == "from" && obj->is_container() ) {
    if( obj->is_closed() ) {
      return( "It's closed." );
    }
    return( 1 );
  }
  return( "You can't get " + target->query_id() + " from " + obj->query_id() + "." );
}

mixed do_get( void ) {
  write( "You get something. Report this to a wiz." );
}

mixed do_get_str( string str ) {
  object *inv;
  int i;

  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] ); 
      }
    }
  } 
}

mixed do_get_obj( object obj ) {
  if( obj->move( this_player() ) ) {
    this_player()->targetted_action( "$N $vpick up $o.", 0, obj );
  }
  else {
    this_player()->targetted_action( "$N $vtry to pick up $o, but $vfail.", 0, obj ); 
  }
}

mixed do_get_liv( object obj ) {
  write( "You get the " + obj->query_id() + ", report to Fudge." );
}

mixed do_get_obj_from_obj( object target, string s, object obj ) {
  int    i;
  object *inv;

  if( s == "all" || s == "everything" ) {
    inv = obj->query_inventory();
    for( i = 0; i < sizeof( inv ); i ++ ) {
      if( inv[i]->move( this_player() ) ) {
	this_player()->targetted_action( "$N $vget $o from $o1.", 0, inv[i], obj );
      } else {
	this_player()->targetted_action( "$N $vtry to get $o from $o1, but $vfail.", 0, inv[i], obj );
      }
    }
  } else {
    if( target->move( this_player() ) ) {
      this_player()->targetted_action( "$N $vget $o from $o1.", 0, target, obj );
    } else {
      this_player()->targetted_action( "$N $vtry to get $o from $o1, but $vfail.", 0, target, obj );
    }
  }
}