Hmm, with a wide variety of resources, that does get a little crazy. To get highly efficient pathing in that case, your interim path costs would have to include not only the number of turns taken thus far, but also a count of every one of the resources an agent could acquire. Then, each connection between islands needs to be duplicated for each of the resources that are consumable to make the trip. That is, if the agent can consume different quantities of gold, food, or water to get from island A to island B, there needs to be three paths connecting A to B. Each path will be specific to one of those resources.

So to determine the cost of going from A to B using gold, the code would need to look at the agent's current gold, gold acquired per turn at island A, and the cost in gold of going to island B. That determines the number of turns it will take to get to island B using gold. But in addition, you'll need to track how much food, water, and any other resource will also be acquired on island A during those turns of not traveling, as those accumulated resources might become relevant on future islands for traveling without having to wait. So your cost value will go from being just a floating point count of approximate turns, to being an integer turn count and an n-tuple of integer values of each resource type, and comparing one cost to another would be, um, awkward? You might still be best off only comparing the turn counts if they're different. But if turn counts are the same between two costs, the leftover resources would probably have to be compared based on weighted averages or something, which could consume a notable amount of CPU resources.

The heuristic might similarly need to get odd, if you are to avoid the situation of examining almost every single possible path on the entire map before deciding you found the best one. Most likely, it would need to be over pessimistic, resulting in just a non-optimal but good enough path. Whether or not this is needed is of course dependent upon how often you need to run this pathfinding and for how many agents, how many islands you have, and how many different resources can be used on average to travel between any given pair of islands. But if it turns out that you can still get acceptable performance with just Dijkstra's algorithm (A*, but with the heuristic always super-optimistically assuming cost 0 for the remainder of any path), then I guess it doesn't much matter. But since you said "a very large amount of islands", I'm guessing that's unlikely.