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( ({ "", "OBJI", "OBJI to LIV" }) );
}

mixed can_give( void ) {
  return( "Give what to who?" );
}

mixed can_give_obj( object obj ) {
  if( obj->is_undroppable() ) {
    this_player()->targetted_action( "$N $vare unable to give away $o.", 0, obj );
    return( 0 );
  }
  return( "Give " + obj->query_id() + " to who?" );
}

mixed can_give_obj_to_liv( object obj, string s, object liv ) {
  if( obj->is_undroppable() ) {
    this_player()->targetted_action( "$N $vare unable to give $o to $T.", liv, obj );
    return( 0 );
  }

  /* Should check if the target has room in it's inventory.*/

  if( liv->is_container() == 0 ) {
    return( 0 );
  }

  if( liv == this_player() )
    return( "What's the point of giving something to yourself?" );

  return( 1 );
}



mixed do_give_obj_to_liv( object obj, string s, object liv ) {
  if( obj->is_worn() ) {
    this_player()->do_remove( obj );
    this_player()->targetted_action( obj->query_remove_message(), 0, obj );
  }
  
  if( obj->is_wielded() ) {
    this_player()->do_unwield( obj );
    this_player()->targetted_action( obj->query_unwield_message(), 0, obj );
  }
  
  if( obj->move( liv ) ) {
    this_player()->targetted_action( "$N $vgive $o to $T.", liv, obj );
  } else {
    this_player()->targetted_action( "$N $vtry to give $o to $T, but $vfail.", liv, obj ); 
  }
}