@Override
				public Tracker getTracker(final int oldCount)
				{
					final Achievement me=this;
					return new Tracker()
					{
						@Override
						public Achievement getAchievement() 
						{
							return me;
						}

						@Override
						public boolean isAchieved(MOB mob) 
						{
							return getCount(mob) >= number;
						}

						@Override
						public int getCount(MOB mob)
						{
							int num=0;
							for(Faction F : factions)
							{
								int f = mob.fetchFaction(F.factionID());
								if((f!=Integer.MAX_VALUE)
								&&((abelo > 0) ? (f > value) : (f < value)))
									num++;
							}
							return num;
						}

						@Override
						public boolean testBump(MOB mob, int bumpNum, Object... parms) 
						{
							return false;
						}
						
						@Override
						public Tracker copyOf()
						{
							try
							{
								return (Tracker)this.clone();
							}
							catch(Exception e)
							{
								return this;
							}
						}
					};
				}