public long resolveImpactTime(long currTime, double firePower, int numIterations,
			MovementInfo ourBotMoveInfo, MovementInfo targetMoveInfo)
	{
		long newEstimate = currTime;
		Vec2 targetPos = targetMoveInfo.pos;
		Vec2 ourBotPos = ourBotMoveInfo.pos;
		
		for (int i = 0; i < numIterations; ++i)
		{
			newEstimate = currTime + (long)targetPos.sub(ourBotPos).mag() 
						/ (long)Utils.bulletSpeed(firePower);
			targetPos = predictPos(newEstimate - currTime, targetMoveInfo);
		}
		
		return (long)newEstimate;
	}