/* Removes anything thats causing flying/floating and sends a message if it wasnt innate.*/

void do_land( CHAR_DATA *ch, char *argument )
{
    AFFECT_DATA *paf;
    AFFECT_DATA *paf_next;
    bool found=FALSE;

    for ( paf = ch->first_affect; paf; paf = paf_next )
    {
	paf_next = paf->next;
	if ( xIS_SET(paf->bitvector, AFF_FLYING)
        || xIS_SET(paf->bitvector, AFF_FLOATING))
        {
	    affect_remove( ch, paf );
	    found = TRUE;
        }
    }
    xREMOVE_BIT  ( ch->affected_by, AFF_FLYING		);
    xREMOVE_BIT  ( ch->affected_by, AFF_FLOATING	);
    if (found)
    {
     act( AT_PLAIN, "You land.", ch, NULL, NULL, TO_CHAR );
     act( AT_PLAIN, "$n lands.", ch, NULL, NULL, TO_ROOM );
    }

    send_to_char( "Ok.\n\r", ch );
    return;
}

