public static void EffectLine( Point3D start, Point3D end, Map map )
		{			
			if( start.Equals( end ) )
				return;
		
			int difX = Math.Abs( start.X - end.X );
			int difY = Math.Abs( start.Y - end.Y );
			
			int x = start.X;
			int y = start.Y; 
			
			int avgX = (int) Math.Round( difY != 0 ? difX / (double) difY : 0 );
			int avgY = (int) Math.Round( difX != 0 ? difY / (double) difX : 0 );
			
			while ( x != end.X && y != end.Y )
			{
				Point3D p = new Point3D( x, y, start.Z );
				
				if ( map.CanFit( p, 12, true, false ) )		
					Effects.SendLocationEffect( p, map, 0x376A, 4, 9 );
				
				if ( avgX <= 0 )
				{
					if ( x < end.X )
						x += 1;
					else if ( x > end.X )
						x -= 1;	
					avgX = (int) Math.Round( difY != 0 ? difX / (double) difY : 0 );
				}				
					
				if ( avgY <= 0 )
				{
					if ( y < end.Y )
						y += 1;
					else if ( y > end.Y )
						y -= 1;
					
					avgY = (int) Math.Round( difX != 0 ? difY / (double) difX : 0 );
				}
				
				avgX -= 1;
				avgY -= 1;
			}
		}