@Override
	public boolean invoke(MOB mob, Vector commands, Physical givenTarget, boolean auto, int asLevel)
	{
		boolean foundOne=false;
		for(int a=0;a<mob.numEffects();a++) // personal affects
		{
			final Ability A=mob.fetchEffect(a);
			if((A!=null)&&(A instanceof Dance))
				foundOne=true;
		}
		undanceAll(mob,null);
		if(!foundOne)
		{
			mob.tell(auto?_("There is no dance going."):_("You aren't dancing."));
			return true;
		}

		mob.location().show(mob,null,CMMsg.MSG_NOISE,auto?_("Rest."):_("<S-NAME> stop(s) dancing."));
		mob.location().recoverRoomStats();
		return true;
	}