@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++)
		{
			final Ability A=mob.fetchEffect(a);
			if((A!=null)&&(A instanceof Song))
				foundOne=true;
		}
		unsingAllByThis(mob,mob);
		if(!foundOne)
		{
			mob.tell(auto?_("There is no song playing."):_("You aren't singing."));
			return true;
		}

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