@Override
	public boolean tick(Tickable ticking, int tickID)
	{
		if(!super.tick(ticking, tickID))
			return false;
		if(affected instanceof MOB)
		{
			final MOB mob=(MOB)affected;
			if((!CMLib.flags().canBeHeardSpeakingBy(invoker(), mob))
			||((invoker()!=null)&&(mob.location()!=invoker().location()))||(!CMLib.flags().isInTheGame(invoker(),true))
			||((System.currentTimeMillis()-lastTimeHeard)>(4000+(super.getXLEVELLevel(invoker())*1000))))
			{
				unInvoke();
				return false;
			}
		}
		return true;
	}