diff --git a/data.js b/data.js deleted file mode 100644 index 24ff102..0000000 --- a/data.js +++ /dev/null @@ -1,1257 +0,0 @@ -var data = (function() { - var MINUTES = 60; - var HOURS = 60*60 - var STD = 3*HOURS; - var HW = 55*MINUTES; - - // Never change the order of these objects, only append new ones on to the end - // @see nodeid below, and hash() in script.js - var ret = [{ - "type": "mining", - "name": "Abalathian Rock Salt", - "slot": 1, - "location": "Sea of Clouds", - "time": "0:00", - "duration": HW, - },{ - "type": "mining", - "name": "Abalathian Rock Salt", - "slot": 1, - "location": "Sea of Clouds", - "time": "12:00", - "duration": HW, - },{ - "type": "mining", - "name": "Red Quartz", - "slot": 6, - "location": "Sea of Clouds", - "time": "12:00", - "duration": HW, - },{ - "type": "mining", - "name": "Red Quartz", - "slot": 6, - "location": "Sea of Clouds", - "time": "0:00", - "duration": HW, - },{ - "type": "mining", - "name": "Grade 5 Carbonized Matter", - "location": "Sea of Clouds", - "time": "12:00", - "duration": HW, - },{ - "type": "mining", - "name": "Grade 5 Carbonized Matter", - "location": "Sea of Clouds", - "time": "0:00", - "duration": HW, - },{ - "type": "mining", - "name": "Azys Lla: Adamantite Ore", - "slot": 6, - "location": "Sea of Clouds", - "time": "23:00", - "duration": HW, - },{ - "type": "mining", - "name": "Azys Lla: Adamantite Ore", - "slot": 6, - "location": "Sea of Clouds", - "time": "11:00", - "duration": HW, - },{ - "type": "mining", - "name": "Dark Matter Cluster", - "location": "Coerthas W. Highlands", - "time": "12:00", - "duration": HW, - },{ - "type": "mining", - "name": "Dark Matter Cluster", - "location": "Coerthas W. Highlands", - "time": "0:00", - "duration": HW, - },{ - "type": "mining", - "name": "Yellow Copper Ore", - "slot": 2, - "location": "Coerthas W. Highlands", - "time": "12:00", - "duration": HW, - },{ - "type": "mining", - "name": "Yellow Copper Ore", - "slot": 2, - "location": "Coerthas W. Highlands", - "time": "0:00", - "duration": HW, - },{ - "type": "mining", - "name": "Limonite", - "slot": 4, - "location": "Dravanian Forelands", - "time": "10:00", - "duration": HW, - },{ - "type": "mining", - "name": "Limonite", - "slot": 4, - "location": "Dravanian Forelands", - "time": "22:00", - "duration": HW, - },{ - "type": "mining", - "name": "Pyrite", - "slot": 3, - "location": "Dravanian Forelands", - "time": "10:00", - "duration": HW, - },{ - "type": "mining", - "name": "Pyrite", - "slot": 3, - "location": "Dravanian Forelands", - "time": "22:00", - "duration": HW, - },{ - "type": "mining", - "name": "Chalcocite", - "slot": 2, - "location": "Dravanian Forelands", - "time": "10:00", - "duration": HW, - },{ - "type": "mining", - "name": "Chalcocite", - "slot": 2, - "location": "Dravanian Forelands", - "time": "22:00", - "duration": HW, - },{ - "type": "mining", - "name": "Cuprite", - "slot": 2, - "location": "Dravanian Hinterlands", - "time": "2:00", - "duration": HW, - },{ - "type": "mining", - "name": "Cuprite", - "slot": 2, - "location": "Dravanian Hinterlands", - "time": "14:00", - "duration": HW, - },{ - "type": "mining", - "name": "Light Kidney Ore", - "slot": 3, - "location": "Dravanian Hinterlands", - "time": "2:00", - "duration": HW, - },{ - "type": "mining", - "name": "Light Kidney Ore", - "slot": 3, - "location": "Dravanian Hinterlands", - "time": "14:00", - "duration": HW, - },{ - "type": "mining", - "name": "Grade 5 Carbonized Matter", - "slot": 1, - "location": "Churning Mists", - "time": "2:00", - "duration": HW, - },{ - "type": "mining", - "name": "Grade 5 Carbonized Matter", - "slot": 1, - "location": "Churning Mists", - "time": "14:00", - "duration": HW, - },{ - "type": "mining", - "name": "Green Quartz", - "slot": 6, - "location": "Churning Mists", - "time": "2:00", - "duration": HW, - },{ - "type": "mining", - "name": "Green Quartz", - "slot": 6, - "location": "Churning Mists", - "time": "14:00", - "duration": HW, - },{ - "type": "mining", - "name": "Yellow Quartz", - "slot": 4, - "location": "Churning Mists", - "time": "2:00", - "duration": HW, - },{ - "type": "mining", - "name": "Yellow Quartz", - "slot": 4, - "location": "Churning Mists", - "time": "14:00", - "duration": HW, - },{ - "type": "mining", - "name": "Darksteel Ore", - "slot": 3, - "location": "Camp Dragonhead", - "time": "1:00", - "duration": STD, - },{ - "type": "mining", - "name": "Pumice", - "slot": 1, - "location": "Wineport", - "time": "1:00", - "duration": STD, - },{ - "type": "mining", - "name": "Antumbral Rock", - "slot": 7, - "location": "Camp Drybone", - "time": "2:00", - "duration": STD, - },{ - "type": "mining", - "name": "Ferberite", - "slot": 6, - "location": "Ceruleum Processing Plant", - "time": "3:00", - "duration": STD, - },{ - "type": "mining", - "name": "Raw Topaz", - "slot": 7, - "location": "Ceruleum Processing Plant", - "time": "3:00", - "duration": STD, - },{ - "type": "mining", - "name": "Raw Iolite", - "slot": 8, - "location": "Ceruleum Processing Plant", - "time": "3:00", - "duration": STD, - },{ - "type": "mining", - "name": "Native Gold", - "slot": 6, - "location": "Black Brush Station", - "time": "4:00", - "duration": STD, - },{ - "type": "mining", - "name": "Platinum Ore", - "slot": 6, - "location": "Little Ala Mhigo", - "time": "4:00", - "duration": STD, - },{ - "type": "mining", - "name": "Raw Emerald", - "slot": 7, - "location": "Black Brush Station", - "time": "4:00", - "duration": STD, - },{ - "type": "mining", - "name": "Raw Diamond", - "slot": 8, - "location": "Black Brush Station", - "time": "4:00", - "duration": STD, - },{ - "type": "mining", - "name": "Gold Sand", - "slot": 2, - "location": "Camp Drybone", - "time": "5:00", - "duration": STD, - },{ - "type": "mining", - "name": "Water Cluster", - "slot": 5, - "location": "Ul'dah(Gate Sultana)", - "time": "5:00", - "duration": STD, - },{ - "type": "mining", - "name": "Grade 3 T. Topsoil", - "slot": 8, - "location": "Ul'dah(Gate Sultana)", - "time": "5:00", - "duration": STD, - },{ - "type": "mining", - "name": "Umbral Rock", - "slot": 7, - "location": "Camp Tranquil", - "time": "6:00", - "duration": STD, - },{ - "type": "mining", - "name": "Grade 3 S. Topsoil", - "slot": 8, - "location": "Camp Tranquil", - "time": "6:00", - "duration": STD, - },{ - "type": "mining", - "name": "Gregarious Worm", - "slot": 1, - "star": 1, - "location": "Camp Drybone", - "time": "9:00", - "duration": STD, - },{ - "type": "mining", - "name": "Gold Ore", - "slot": 6, - "location": "Camp Drybone", - "time": "9:00", - "duration": STD, - },{ - "type": "mining", - "name": "Coblyn Larva", - "slot": 7, - "location": "Camp Drybone", - "time": "9:00", - "duration": STD, - },{ - "type": "mining", - "name": "Grade 4 Carbonized Matter", - "slot": 1, - "location": "Revenants Toll", - "time": "13:00", - "duration": STD, - },{ - "type": "mining", - "name": "Lightning Cluster", - "slot": 2, - "location": "Revenants Toll", - "time": "13:00", - "duration": STD, - },{ - "type": "mining", - "name": "Fire Cluster", - "slot": 3, - "location": "Revenants Toll", - "time": "13:00", - "duration": STD, - },{ - "type": "mining", - "name": "Wind Cluster", - "slot": 4, - "location": "Revenants Toll", - "time": "13:00", - "duration": STD, - },{ - "type": "mining", - "name": "Water Cluster", - "slot": 5, - "location": "Revenants Toll", - "time": "13:00", - "duration": STD, - },{ - "type": "mining", - "name": "Ice Cluster", - "slot": 6, - "location": "Revenants Toll", - "time": "13:00", - "duration": STD, - },{ - "type": "mining", - "name": "Earth Cluster", - "slot": 7, - "location": "Revenants Toll", - "time": "13:00", - "duration": STD, - },{ - "type": "mining", - "name": "Unaspected Crystal", - "slot": 8, - "star": 1, - "location": "Revenants Toll", - "time": "13:00", - "duration": STD, - },{ - "type": "mining", - "name": "Virgin Basilisk Egg", - "slot": 6, - "location": "Cer. Processing Plant", - "time": "17:00", - "duration": STD, - },{ - "type": "mining", - "name": "Volcanic Rock Salt", - "slot": 1, - "location": "Wineport", - "time": "17:00", - "duration": STD, - },{ - "type": "mining", - "name": "Grade 4 Carbonized Matter", - "slot": 1, - "location": "Revenants Toll", - "time": "17:00", - "duration": STD, - },{ - "type": "mining", - "name": "Lightning Cluster", - "slot": 2, - "location": "Revenants Toll", - "time": "17:00", - "duration": STD, - },{ - "type": "mining", - "name": "Fire Cluster", - "slot": 3, - "location": "Revenants Toll", - "time": "17:00", - "duration": STD, - },{ - "type": "mining", - "name": "Wind Cluster", - "slot": 4, - "location": "Revenants Toll", - "time": "17:00", - "duration": STD, - },{ - "type": "mining", - "name": "Water Cluster", - "slot": 5, - "location": "Revenants Toll", - "time": "17:00", - "duration": STD, - },{ - "type": "mining", - "name": "Ice Cluster", - "slot": 6, - "location": "Revenants Toll", - "time": "17:00", - "duration": STD, - },{ - "type": "mining", - "name": "Earth Cluster", - "slot": 7, - "location": "Revenants Toll", - "time": "17:00", - "duration": STD, - },{ - "type": "mining", - "name": "Unaspected Crystal", - "slot": 8, - "star": 1, - "location": "Revenants Toll", - "time": "17:00", - "duration": STD, - },{ - "type": "mining", - "name": "Raw Ruby", - "slot": 7, - "location": "Limsa(Tempest Gate)", - "time": "18:00", - "duration": STD, - },{ - "type": "mining", - "name": "Raw Sapphire", - "slot": 8, - "location": "Limsa(Tempest Gate)", - "time": "18:00", - "duration": STD, - },{ - "type": "mining", - "name": "Fire Cluster", - "slot": 3, - "location": "Limsa(Zephyr Gate)", - "time": "19:00", - "duration": STD, - },{ - "type": "mining", - "name": "Grade 3 L.N. Topsoil", - "slot": 8, - "location": "Limsa(Zephyr Gate)", - "time": "19:00", - "duration": STD, - },{ - "type": "mining", - "name": "Astral Rock", - "slot": 7, - "location": "Camp Dragonhead", - "time": "21:00", - "duration": STD, - },{ - "type": "mining", - "name": "Grade 4 Carbonized Matter", - "slot": 1, - "location": "Revenants Toll", - "time": "21:00", - "duration": STD, - },{ - "type": "mining", - "name": "Lightning Cluster", - "slot": 2, - "location": "Revenants Toll", - "time": "21:00", - "duration": STD, - },{ - "type": "mining", - "name": "Fire Cluster", - "slot": 3, - "location": "Revenants Toll", - "time": "21:00", - "duration": STD, - },{ - "type": "mining", - "name": "Wind Cluster", - "slot": 4, - "location": "Revenants Toll", - "time": "21:00", - "duration": STD, - },{ - "type": "mining", - "name": "Water Cluster", - "slot": 5, - "location": "Revenants Toll", - "time": "21:00", - "duration": STD, - },{ - "type": "mining", - "name": "Ice Cluster", - "slot": 6, - "location": "Revenants Toll", - "time": "21:00", - "duration": STD, - },{ - "type": "mining", - "name": "Earth Cluster", - "slot": 7, - "location": "Revenants Toll", - "time": "21:00", - "duration": STD, - },{ - "type": "mining", - "name": "Unaspected Crystal", - "slot": 8, - "star": 1, - "location": "Revenants Toll", - "time": "21:00", - "duration": STD, - },{ - "type": "botany", - "name": "Dravanian Mistletoe", - "slot": 3, - "location": "Churning Mists", - "time": "12:00", - "duration": HW, - },{ - "type": "botany", - "name": "Dravanian Mistletoe", - "slot": 3, - "location": "Churning Mists", - "time": "0:00", - "duration": HW, - },{ - "type": "botany", - "name": "Porcini", - "slot": 7, - "location": "Churning Mists", - "time": "12:00", - "duration": HW, - },{ - "type": "botany", - "name": "Porcini", - "slot": 7, - "location": "Churning Mists", - "time": "0:00", - "duration": HW, - },{ - "type": "botany", - "name": "Black soil", - "slot": 3, - "location": "Dravanian Hinterlands", - "time": "4:00", - "duration": HW, - },{ - "type": "botany", - "name": "Black soil", - "slot": 8, - "location": "Dravanian Hinterlands", - "time": "4:00", - "duration": HW, - },{ - "type": "botany", - "name": "Peat Moss", - "location": "Dravanian Hinterlands", - "time": "5:00", - "duration": HW, - },{ - "type": "botany", - "name": "Granular Clay", - "slot": 8, - "location": "Dravanian Hinterlands", - "time": "5:00", - "duration": HW, - },{ - "type": "botany", - "name": "Cloud Bananas", - "slot": 2, - "location": "Dravanian Hinterlands", - "time": "12:00", - "duration": HW, - },{ - "type": "botany", - "name": "Cloud Bananas", - "slot": 2, - "location": "Dravanian Hinterlands", - "time": "0:00", - "duration": HW, - },{ - "type": "botany", - "name": "Morel", - "slot": 7, - "location": "Dravanian Hinterlands", - "time": "12:00", - "duration": HW, - },{ - "type": "botany", - "name": "Morel", - "slot": 7, - "location": "Dravanian Hinterlands", - "time": "0:00", - "duration": HW, - },{ - "type": "botany", - "name": "Old World Fig", - "slot": 2, - "location": "Dravanian Forelands", - "time": "2:00", - "duration": HW, - },{ - "type": "botany", - "name": "Old World Fig", - "slot": 2, - "location": "Dravanian Forelands", - "time": "14:00", - "duration": HW, - },{ - "type": "botany", - "name": "Dark Matter Cluster", - "location": "Dravanian Forelands", - "time": "2:00", - "duration": HW, - },{ - "type": "botany", - "name": "Dark Matter Cluster", - "location": "Dravanian Forelands", - "time": "14:00", - "duration": HW, - },{ - "type": "botany", - "name": "Abalathian Mistletoe", - "slot": 3, - "location": "Sea of Clouds", - "time": "10:00", - "duration": HW, - },{ - "type": "botany", - "name": "Abalathian Mistletoe", - "slot": 3, - "location": "Sea of Clouds", - "time": "22:00", - "duration": HW, - },{ - "type": "botany", - "name": "Pearl Sprouts", - "slot": 6, - "location": "Coerthas W. Highlands", - "time": "10:00", - "duration": HW, - },{ - "type": "botany", - "name": "Pearl Sprouts", - "slot": 6, - "location": "Coerthas W. Highlands", - "time": "22:00", - "duration": HW, - },{ - "type": "botany", - "name": "Coerthas Tea Leaves", - "slot": 7, - "location": "Coerthas W. Highlands", - "time": "10:00", - "duration": HW, - },{ - "type": "botany", - "name": "Coerthas Tea Leaves", - "slot": 7, - "location": "Coerthas W. Highlands", - "time": "22:00", - "duration": HW, - },{ - "type": "botany", - "name": "Highland Oregano", - "location": "Coerthas W. Highlands", - "time": "1:00", - "duration": HW, - },{ - "type": "botany", - "name": "Highland Oregano", - "location": "Coerthas W. Highlands", - "time": "13:00", - "duration": HW, - },{ - "type": "botany", - "name": "Chives", - "slot": 1, - "location": "Coerthas W. Highlands", - "time": "10:00", - "duration": HW, - },{ - "type": "botany", - "name": "Chives", - "slot": 1, - "location": "Coerthas W. Highlands", - "time": "22:00", - "duration": HW, - },{ - "type": "botany", - "name": "Chysahl Greens", - "slot": 6, - "location": "Coerthas W. Highlands", - "time": "9:00", - "duration": HW, - },{ - "type": "botany", - "name": "Chysahl Greens", - "slot": 6, - "location": "Coerthas W. Highlands", - "time": "21:00", - "duration": HW, - },{ - "type": "botany", - "name": "Heavens Lemon", - "slot": 2, - "location": "Sea of Clouds", - "time": "10:00", - "duration": HW, - },{ - "type": "botany", - "name": "Heavens Lemon", - "slot": 2, - "location": "Sea of Clouds", - "time": "22:00", - "duration": HW, - },{ - "type": "botany", - "name": "Crawler Cocoon", - "slot": 4, - "location": "Hawthorne Hut", - "time": "1:00", - "duration": STD, - },{ - "type": "botany", - "name": "Grade 4 Carbonized Matter", - "slot": 1, - "location": "Revenants Toll", - "time": "1:00", - "duration": STD, - },{ - "type": "botany", - "name": "Lightning Cluster", - "slot": 2, - "location": "Revenants Toll", - "time": "1:00", - "duration": STD, - },{ - "type": "botany", - "name": "Fire Cluster", - "slot": 3, - "location": "Revenants Toll", - "time": "1:00", - "duration": STD, - },{ - "type": "botany", - "name": "Wind Cluster", - "slot": 4, - "location": "Revenants Toll", - "time": "1:00", - "duration": STD, - },{ - "type": "botany", - "name": "Water Cluster", - "slot": 5, - "location": "Revenants Toll", - "time": "1:00", - "duration": STD, - },{ - "type": "botany", - "name": "Ice Cluster", - "slot": 6, - "location": "Revenants Toll", - "time": "1:00", - "duration": STD, - },{ - "type": "botany", - "name": "Earth Cluster", - "slot": 7, - "location": "Revenants Toll", - "time": "1:00", - "duration": STD, - },{ - "type": "botany", - "name": "Unaspected Crystal", - "slot": 8, - "star": 1, - "location": "Revenants Toll", - "time": "1:00", - "duration": STD, - },{ - "type": "botany", - "name": "Fragrant Log", - "slot": 6, - "location": "Camp Tranquil", - "time": "2:00", - "duration": STD, - },{ - "type": "botany", - "name": "Shroud Tea Leaves", - "slot": 6, - "location": "Bentbranch Meadows", - "time": "2:00", - "duration": STD, - },{ - "type": "botany", - "name": "Scarlet Sap", - "slot": 4, - "location": "Fallgourd Float", - "time": "3:00", - "duration": STD, - },{ - "type": "botany", - "name": "Ebony Log", - "slot": 6, - "location": "Limsa(Zephyr Gate)", - "time": "4:00", - "duration": STD, - },{ - "type": "botany", - "name": "Trillium", - "slot": 1, - "location": "Hawthorne Hut", - "time": "5:00", - "duration": STD, - },{ - "type": "botany", - "name": "Honey Lemon Seeds", - "slot": 1, - "location": "Costa De Sol", - "time": "5:00", - "duration": STD, - },{ - "type": "botany", - "name": "Honey Lemon", - "slot": 2, - "location": "Costa De Sol", - "time": "5:00", - "duration": STD, - },{ - "type": "botany", - "name": "Grade 4 Carbonized Matter", - "slot": 1, - "location": "Revenants Toll", - "time": "5:00", - "duration": STD, - },{ - "type": "botany", - "name": "Lightning Cluster", - "slot": 2, - "location": "Revenants Toll", - "time": "5:00", - "duration": STD, - },{ - "type": "botany", - "name": "Fire Cluster", - "slot": 3, - "location": "Revenants Toll", - "time": "5:00", - "duration": STD, - },{ - "type": "botany", - "name": "Wind Cluster", - "slot": 4, - "location": "Revenants Toll", - "time": "5:00", - "duration": STD, - },{ - "type": "botany", - "name": "Water Cluster", - "slot": 5, - "location": "Revenants Toll", - "time": "5:00", - "duration": STD, - },{ - "type": "botany", - "name": "Ice Cluster", - "slot": 6, - "location": "Revenants Toll", - "time": "5:00", - "duration": STD, - },{ - "type": "botany", - "name": "Earth Cluster", - "slot": 7, - "location": "Revenants Toll", - "time": "5:00", - "duration": STD, - },{ - "type": "botany", - "name": "Unaspected Crystal", - "slot": 8, - "star": 1, - "location": "Revenants Toll", - "time": "5:00", - "duration": STD, - },{ - "type": "botany", - "name": "Young Cie. Spinach", - "slot": 6, - "location": "Limsa(Tempest Gate)", - "time": "6:00", - "duration": STD, - },{ - "type": "botany", - "name": "Redolent Log", - "slot": 6, - "location": "Bentbranch Meadows", - "time": "6:00", - "duration": STD, - },{ - "type": "botany", - "name": "Blood Orange", - "slot": 2, - "location": "Camp Bronze Lake", - "time": "7:00", - "duration": STD, - },{ - "type": "botany", - "name": "Bamboo Stick", - "slot": 6, - "location": "Camp Bronze Lake", - "time": "7:00", - "duration": STD, - },{ - "type": "botany", - "name": "La Noscean Leek", - "slot": 6, - "location": "Swiftperch", - "time": "8:00", - "duration": STD, - },{ - "type": "botany", - "name": "Waterfowl Feather", - "star": 2, - "location": "Swiftperch", - "time": "8:00", - "duration": STD, - },{ - "type": "botany", - "name": "Apricot", - "slot": 2, - "location": "Summerford Farms", - "time": "9:00", - "duration": STD, - },{ - "type": "botany", - "name": "Spruce Log", - "slot": 6, - "location": "Camp Dragonhead", - "time": "9:00", - "duration": STD, - },{ - "type": "botany", - "name": "Prickly Pineapple Seeds", - "slot": 1, - "location": "Costa de Sol", - "time": "9:00", - "duration": STD, - },{ - "type": "botany", - "name": "Prickly Pineapple", - "slot": 4, - "location": "Costa De Sol", - "time": "9:00", - "duration": STD, - },{ - "type": "botany", - "name": "Grade 4 Carbonized Matter", - "slot": 1, - "location": "Revenants Toll", - "time": "9:00", - "duration": STD, - },{ - "type": "botany", - "name": "Lightning Cluster", - "slot": 2, - "location": "Revenants Toll", - "time": "9:00", - "duration": STD, - },{ - "type": "botany", - "name": "Fire Cluster", - "slot": 3, - "location": "Revenants Toll", - "time": "9:00", - "duration": STD, - },{ - "type": "botany", - "name": "Wind Cluster", - "slot": 4, - "location": "Revenants Toll", - "time": "9:00", - "duration": STD, - },{ - "type": "botany", - "name": "Water Cluster", - "slot": 5, - "location": "Revenants Toll", - "time": "9:00", - "duration": STD, - },{ - "type": "botany", - "name": "Ice Cluster", - "slot": 6, - "location": "Revenants Toll", - "time": "9:00", - "duration": STD, - },{ - "type": "botany", - "name": "Earth Cluster", - "slot": 7, - "location": "Revenants Toll", - "time": "9:00", - "duration": STD, - },{ - "type": "botany", - "name": "Unaspected Crystal", - "slot": 8, - "star": 1, - "location": "Revenants Toll", - "time": "9:00", - "duration": STD, - },{ - "type": "botany", - "name": "Cypress Log", - "slot": 6, - "location": "Bentbranch Meadows", - "time": "10:00", - "duration": STD, - },{ - "type": "botany", - "name": "Vampire Plant", - "slot": 8, - "location": "Camp Dragonhead", - "time": "13:00", - "duration": STD, - },{ - "type": "botany", - "name": "Mazlaya Greens", - "slot": 2, - "star": 1, - "location": "Camp Drybone", - "time": "13:00", - "duration": STD, - },{ - "type": "botany", - "name": "Black Truffle", - "slot": 7, - "location": "Camp Drybone", - "time": "13:00", - "duration": STD, - },{ - "type": "botany", - "name": "Dzemael Tomato Seeds", - "slot": 1, - "location": "Wineport", - "time": "13:00", - "duration": STD, - },{ - "type": "botany", - "name": "Dzemael Tomato", - "slot": 3, - "location": "Wineport", - "time": "13:00", - "duration": STD, - },{ - "type": "botany", - "name": "Rosemary", - "slot": 1, - "location": "Hawthorne Hut", - "time": "17:00", - "duration": STD, - },{ - "type": "botany", - "name": "Thavnairian Mistletoe", - "slot": 2, - "location": "Camp Dragonhead", - "time": "17:00", - "duration": STD, - },{ - "type": "botany", - "name": "Kidragora", - "slot": 7, - "location": "Hawthorne Hut", - "time": "21:00", - "duration": STD, - },{ - "type": "botany", - "name": "Trillium Bulb", - "slot": 8, - "location": "Hawthorne Hut", - "time": "21:00", - "duration": STD, - },{ - "type": "fishing", - "name": "Weather", - "time": "0:00", - "duration": STD, - },{ - "type": "fishing", - "name": "Silver Sovereign [24h]", - "star": 2, - "location": "Oschon's Torch", - "time": "0:00", - "duration": STD, - },{ - "type": "fishing", - "name": "Sunrise", - "time": "6:00", - "duration": STD, - },{ - "type": "fishing", - "name": "Navigator's Brand [6-18]", - "star": 2, - "location": "Brewer's Beacon", - "time": "9:00", - "duration": 5*60*60 - },{ - "type": "fishing", - "name": "Weather", - "time": "8:00", - "duration": STD, - },{ - "type": "fishing", - "name": "Mahi-Mahi", - "location": "Lower La Noscea", - "time": "10:00", - "duration": STD, - },{ - "type": "fishing", - "name": "Weather", - "time": "16:00", - "duration": STD, - },{ - "type": "fishing", - "name": "Cupfish [***]", - "location": "B.I. Mines - Tempest Gate", - "time": "17:00", - "duration": STD, - },{ - "type": "fishing", - "name": "Sunset", - "time": "18:00", - "duration": STD, - },{ - "type": "fishing", - "name": "Worm of Nym [Butterworm]", - "location": "Bronze Lake Shallows", - "time": "19:00", - "duration": STD, - },{ - "type": "fishing", - "name": "Gigant Clam [Heavy Steel Jig]", - "location": "South Bloodshore", - "time": "23:00", - "duration": STD, - },{ - "type": "mining", - "name": "Astral Moraine", - "slot": 4, - "location": "Coerthas W. Highlands", - "time": "5:00", - "duration": HW, - },{ - "type": "mining", - "name": "Violet Quartz", - "slot": 6, - "location": "Coerthas W. Highlands", - "time": "7:00", - "duration": HW, - },{ - "type": "botany", - "name": "Seventh Heaven", - "slot": 1, - "location": "Churning Mists", - "time": "17:00", - "duration": HW, - },{ - "type": "mining", - "name": "Smithsonite Ore", - "slot": 2, - "location": "Sea of Clouds", - "time": "1:00", - "duration": HW, - },{ - "type": "mining", - "name": "Meteorite", - "slot": 3, - "location": "Sea of Clouds", - "time": "1:00", - "duration": HW, - },{ - "type": "mining", - "name": "Red Alumen", - "slot": 2, - "location": "Azys Lla", - "time": "7:00", - "duration": HW, - },{ - "type": "mining", - "name": "Sun Mica", - "slot": 2, - "location": "Sea of Clouds", - "time": "5:00", - "duration": HW, - } - ]; - - function convert(str) { - var match = /(\d+):(\d+)/.exec(str); - if (!match) throw new Error('Bad time!'); - - return Number(match[1]) * 60 * 60 + Number(match[2]) * 60; - } - - var refs = {}; - var id = 1; - ret.forEach(function(item) { - // compute nodeid - var key = [item.time, item.type, item.location].join('|'); - if (!refs[key]) refs[key] = id++; - item.nodeid = refs[key]; - - // convert time to seconds elapsed in day - if (item.time) - item.time = convert(item.time); - }); - - return ret; -})();