/
mudtem/
mudtem/area/scripts/
mudtem/bin/
mudtem/log/
mudtem/player/
mudtem/slang/autoconf/
mudtem/slang/doc/
mudtem/slang/doc/OLD/help/
mudtem/slang/doc/internal/
mudtem/slang/doc/text/
mudtem/slang/doc/tm/tools/
mudtem/slang/examples/
mudtem/slang/modules/
mudtem/slang/slsh/
mudtem/slang/slsh/lib/
mudtem/slang/slsh/scripts/
mudtem/slang/src/mkfiles/
mudtem/slang/src/util/
mudtem/src/CVS/
mudtem/src/include/
mudtem/src/include/CVS/
mudtem/src/var/CVS/
void do_clan_recall( CHAR_DATA *ch, char *argument )
{
    char buf[MAX_STRING_LENGTH];
    CHAR_DATA *victim;
    ROOM_INDEX_DATA *location;

    if (IS_NPC(ch) && !IS_SET(ch->act,ACT_PET))
    {
        send_to_char("Solo los jugadores pueden revocar.\n\r",ch);
        return;
    }

    act( "$n ruega por transporte!", ch, 0, 0, TO_ROOM );

    if ( ( location = get_room_index( get_clan_table(ch->clan)->recall) ) == NULL )
    {
        send_to_char( "Estas completamente perdido.\n\r", ch );
        return;
    }

    if ( ch->in_room == location )
        return;

    if ( IS_SET(ch->in_room->room_flags, ROOM_NO_RECALL)
    ||   IS_AFFECTED(ch, AFF_CURSE))
    {
        send_to_char( "Los Dioses te han olvidado.\n\r", ch );
        return;
    }

    if ( ( victim = ch->fighting ) != NULL )
    {
        int lose,skill;

        skill = get_skill(ch,gsn_recall);

        if ( number_percent() < 80 * skill / 100 )
        {
            check_improve(ch,gsn_recall,FALSE,6);
            WAIT_STATE( ch, 4 );
            sprintf( buf, "Fallaste!.\n\r");
            send_to_char( buf, ch );
            return;
        }

        lose = (ch->desc != NULL) ? 25 : 50;
        gain_exp( ch, 0 - lose );
        check_improve(ch,gsn_recall,TRUE,4);
        sprintf( buf, "Revocas del combate!  Pierdes %d exps.\n\r", lose );
        send_to_char( buf, ch );
        stop_fighting( ch, TRUE );
    }

    if ( !CHANCE(get_skill(ch,gsn_recall)) && CHANCE(getNivelPr(ch)) )
	location = get_random_room( chToEnt(ch) );

    ch->move /= 2;
    act( "$n desaparece.", ch, NULL, NULL, TO_ROOM );
    char_from_room( ch );
    char_to_room( ch, location );
    act( "$n aparece en el cuarto.", ch, NULL, NULL, TO_ROOM );
    do_look( ch, "auto" );

    if (ch->pet != NULL)
    {
    	ch->pet->clan = ch->clan;
        do_clan_recall(ch->pet,"");
    }

    return;
}