There is a small bug indeed. When a node gives 2 shards, the module will always use the skill for the 2nd shard in the list. If you want to gather the first, you're out of luck.
Small fix for that:
Code:
local markerData = GatherMgr.GetMarkerData(ml_task_hub:CurrentTask().currentMarker)
-- Find element in node slots
for i, item in pairs(list) do
-- Assign skills
if (item.id == 2 or item.id == 8 or item.id == 14) and (markerData ~= nil and markerData ~= 0 and (markerData[1] == item.name) or (markerData[2] == item.name)) then -- Fire
skillID = 234
buffID = 229
elseif (item.id == 3 or item.id == 9 or item.id == 15) and (markerData ~= nil and markerData ~= 0 and (markerData[1] == item.name) or (markerData[2] == item.name)) then -- Ice
skillID = 236
buffID = 228
elseif (item.id == 4 or item.id == 10 or item.id == 16) and (markerData ~= nil and markerData ~= 0 and (markerData[1] == item.name) or (markerData[2] == item.name)) then -- Wind
skillID = 292
buffID = 230
elseif (item.id == 5 or item.id == 11 or item.id == 17) and (markerData ~= nil and markerData ~= 0 and (markerData[1] == item.name) or (markerData[2] == item.name)) then -- Earth
skillID = 217
buffID = 224
elseif (item.id == 6 or item.id == 12 or item.id == 18) and (markerData ~= nil and markerData ~= 0 and (markerData[1] == item.name) or (markerData[2] == item.name)) then -- Lightning
skillID = 219
buffID = 223
elseif (item.id == 7 or item.id == 13 or item.id == 19) and (markerData ~= nil and markerData ~= 0 and (markerData[1] == item.name) or (markerData[2] == item.name)) then -- Water
skillID = 293
buffID = 231
end