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