#****************************************************************************************
#
#ARLDataminer.lua
#
#Datamining for all of AckisRecipeList
#
#$Date: 2008-09-03 12:09:19 -0400 (Wed, 03 Sep 2008) $
#$Rev: 81318 $
#
#****************************************************************************************


$LOAD_PATH << './DataMiner'
require "core.rb"
require "wowdb_maps.rb"
require "wowdb_recipes.rb"

class Test
  include JsonHelper
  def doit(d)
    from_json(d)
  end
end


recipes = WoWDBRecipes.new

=begin

Data Structures:

Single Mob Drop:

{:spellid=>17575, :rarity=>1, :method_drops=>[[{:react=>[3, 3], :type=>5, :minlevel=>59,
:maxlevel=>60, :disp=>6209, :lootCount=>447, :name=>"Frostmaul Giant", :locs=>[618],
:classification=>1, :id=>7428, :totalLootCount=>4032}]], :reagents=>[[7070, 1], [13463, 1], [8925, 1]],
:learned=>265, :produces=>[13456, 1], :method=>"dropped-by", :id=>13495, :skillup=>[265, 305, 325, 345]}

Multi Mob Drop:

{:spellid=>3230, :rarity=>1, :method_drops=>[[{:react=>[3, 3], :type=>7, :minlevel=>8, :maxlevel=>10,
:disp=>17304, :lootCount=>3, :name=>"Amani Shadowpriest", :locs=>[3430], :id=>15642, :totalLootCount=>10786}, 
{:react=>[2, 2], :type=>1, :minlevel=>15, :maxlevel=>16, :disp=>4473, :lootCount=>1, :name=>"Barrens Giraffe",
:locs=>[14, 17], :id=>3248, :totalLootCount=>3136}, {:react=>[3, 3], :type=>7, :minlevel=>12, :maxlevel=>13,
:disp=>1010, :lootCount=>4, :name=>"Blackwood Pathfinder", :locs=>[148], :id=>2167, :totalLootCount=>7240},
{:react=>[3, 3], :type=>7, :minlevel=>16, :maxlevel=>17, :disp=>1011, :lootCount=>3, :name=>"Blackwood Warrior",
:locs=>[148], :id=>2168, :totalLootCount=>7604}, {:react=>[3, 3], :type=>7, :minlevel=>13, :maxlevel=>14, :disp=>6820,
:lootCount=>2, :name=>"Blackwood Windtalker", :locs=>[148], :id=>2324, :totalLootCount=>7382}, {:react=>[3, 3], :type=>6,
:minlevel=>9, :maxlevel=>10, :disp=>1198, :lootCount=>1, :name=>"Bleeding Horror", :locs=>[85], :id=>1529, :totalLootCount=>7106},
{:react=>[3, 3], :type=>1, :minlevel=>6, :maxlevel=>8, :disp=>1960, :lootCount=>5, :name=>"Bloodtalon Taillasher", :locs=>[14], :id=>3122, :totalLootCount=>10298}, {:react=>[3, 3], :type=>7, :minlevel=>10, :maxlevel=>11, :disp=>5773, :lootCount=>5, :name=>"Bristlelimb Warrior", :locs=>[3525], :id=>17321, :totalLootCount=>6920}, {:react=>[3, 3], :type=>7, :minlevel=>10, :maxlevel=>11, :lootCount=>4, :name=>"Burning Blade Bruiser", :locs=>[17], :id=>3379, :totalLootCount=>5326}, {:react=>[3, 3], :type=>7, :minlevel=>10, :maxlevel=>11, :lootCount=>2, :name=>"Burning Blade Cultist", :locs=>[14], :id=>3199, :totalLootCount=>2310}, {:react=>[3, 3], :type=>7, :minlevel=>8, :maxlevel=>9, :lootCount=>1, :name=>"Burning Blade Thug", :locs=>[14], :id=>3195, :totalLootCount=>2877}, {:react=>[1, 3], :type=>7, :minlevel=>19, :lootCount=>1, :name=>"Cannoneer Smythe", :locs=>[17], :id=>3454, :totalLootCount=>995}, {:react=>[3, 3], :type=>7, :minlevel=>11, :lootCount=>1, :name=>"Captain Vachon", :locs=>[85], :id=>1664, :totalLootCount=>834}, {:react=>[3, 3], :type=>1, :minlevel=>5, :maxlevel=>6, :disp=>2486, :lootCount=>5, :name=>"Clattering Scorpid", :locs=>[14], :id=>3125, :totalLootCount=>24509}, {:react=>[3, 3], :type=>1, :minlevel=>13, :maxlevel=>14, :disp=>827, :lootCount=>2, :name=>"Cliff Lurker", :locs=>[3, 38], :id=>1184, :totalLootCount=>12986}, {:react=>[3, 3], :type=>7, :minlevel=>15, :maxlevel=>16, :disp=>17056, :lootCount=>1, :name=>"Contaminated Wildkin", :locs=>[3525], :id=>17323, :totalLootCount=>5406}, {:react=>[3, 3], :type=>1, :minlevel=>11, :maxlevel=>12, :disp=>1034, :lootCount=>1, :name=>"Corrupted Dreadmaw Crocolisk", :locs=>[14, 17], :id=>3231, :totalLootCount=>459}, {:react=>[3, 3], :type=>1, :minlevel=>10, :maxlevel=>11, :disp=>744, :lootCount=>2, :name=>"Corrupted Mottled Boar", :locs=>[14], :id=>3225, :totalLootCount=>2329}, {:react=>[3, 3], :type=>7, :minlevel=>13, :desc=>"Pyrewood Council", :lootCount=>1, :name=>"Councilman Cooper", :locs=>[130], :id=>2065, :totalLootCount=>213}, {:react=>[3, 3], :type=>7, :minlevel=>13, :desc=>"Pyrewood Council", :lootCount=>1, :name=>"Councilman Wilhelm", :locs=>[130], :id=>2063, :totalLootCount=>253}, {:react=>[3, 3], :type=>4, :minlevel=>18, :maxlevel=>19, :disp=>10799, :lootCount=>3, :name=>"Cracked Golem", :locs=>[148], :id=>2156, :totalLootCount=>4363}, {:react=>[1, 3], :type=>7, :minlevel=>13, :maxlevel=>14, :lootCount=>4, :name=>"Dalaran Apprentice", :locs=>[130], :id=>1867, :totalLootCount=>9923}, {:react=>[1, 3], :type=>7, :minlevel=>15, :maxlevel=>16, :lootCount=>2, :name=>"Dalaran Mage", :locs=>[130], :id=>1914, :totalLootCount=>8748}, {:react=>[1, 3], :type=>7, :minlevel=>18, :maxlevel=>19, :lootCount=>1, :name=>"Dalaran Watcher", :locs=>[130], :id=>1888, :totalLootCount=>5537}, {:react=>[3, 3], :type=>7, :minlevel=>18, :maxlevel=>19, :lootCount=>1, :name=>"Dark Strand Cultist", :locs=>[331], :id=>3725, :totalLootCount=>4235}, {:react=>[1, 3], :type=>7, :minlevel=>13, :maxlevel=>14, :lootCount=>4, :name=>"Darnassian Druid", :locs=>[3433], :id=>16331, :totalLootCount=>8539}, {:react=>[1, 3], :type=>7, :minlevel=>14, :maxlevel=>15, :lootCount=>4, :name=>"Darnassian Huntress", :locs=>[3433, 3455], :id=>16332, :totalLootCount=>6727}, {:react=>[3, 3], :type=>7, :minlevel=>17, :maxlevel=>18, :lootCount=>1, :name=>"Deatholme Darkmage", :locs=>[3433], :id=>16318, :totalLootCount=>6312}, {:react=>[3, 3], :type=>7, :minlevel=>18, :maxlevel=>19, :lootCount=>1, :name=>"Deatholme Necromancer", :locs=>[3433], :id=>16317, :totalLootCount=>6017}, {:react=>[3, 1], :type=>7, :minlevel=>18, :lootCount=>1, :name=>"Deathstalker Adamant", :locs=>[209], :classification=>1, :id=>3849, :totalLootCount=>993}, {:react=>[3, 3], :type=>7, :minlevel=>19, :lootCount=>3, :name=>"Defias Blackguard", :locs=>[1581], :classification=>1, :id=>636, :totalLootCount=>18107}, {:react=>[3, 3], :type=>7, :minlevel=>15, :maxlevel=>16, :lootCount=>2, :name=>"Defias Conjurer", :locs=>[1581, 40], :id=>619, :totalLootCount=>8116}, {:react=>[3, 3], :type=>7, :minlevel=>15, :maxlevel=>16, :disp=>2441, :lootCount=>11, :name=>"Defias Digger", :locs=>[1581, 40], :id=>824, :totalLootCount=>39870}, {:react=>[3, 3], :type=>7, :minlevel=>15, :maxlevel=>16, :lootCount=>3, :name=>"Defias Henchman", :locs=>[1581, 40], :id=>594, :totalLootCount=>10972}, {:react=>[3, 3], :type=>7, :minlevel=>17, :maxlevel=>18, :lootCount=>3, :name=>"Defias Highwayman", :locs=>[1581, 40], :id=>122, :totalLootCount=>25047}, {:react=>[3, 3], :type=>7, :minlevel=>16, :maxlevel=>17, :lootCount=>4, :name=>"Defias Knuckleduster", :locs=>[40], :id=>449, :totalLootCount=>10826}, {:react=>[3, 3], :type=>7, :minlevel=>13, :maxlevel=>14, :lootCount=>9, :name=>"Defias Looter", :locs=>[1581, 40], :id=>590, :totalLootCount=>51991}, {:react=>[3, 3], :type=>7, :minlevel=>17, :maxlevel=>18, :disp=>308, :lootCount=>17, :name=>"Defias Miner", :locs=>[1581], :id=>598, :totalLootCount=>113911}, {:react=>[3, 3], :type=>7, :minlevel=>17, :maxlevel=>18, :lootCount=>8, :name=>"Defias Overseer", :locs=>[1581], :classification=>1, :id=>634, :totalLootCount=>38725}, {:react=>[3, 3], :type=>7, :minlevel=>14, :maxlevel=>15, :lootCount=>8, :name=>"Defias Pillager", :locs=>[1581, 40], :id=>589, :totalLootCount=>43847}, {:react=>[3, 3], :type=>7, :minlevel=>19, :maxlevel=>20, :lootCount=>26, :name=>"Defias Pirate", :locs=>[1581], :classification=>1, :id=>657, :totalLootCount=>104503}, {:react=>[3, 3], :type=>7, :minlevel=>11, :maxlevel=>12, :lootCount=>12, :name=>"Defias Smuggler", :locs=>[40], :id=>95, :totalLootCount=>67126}, {:react=>[3, 3], :type=>7, :minlevel=>18, :maxlevel=>19, :lootCount=>4, :name=>"Defias Taskmaster", :locs=>[1581], :classification=>1, :id=>4417, :totalLootCount=>22861}, {:react=>[3, 3], :type=>7, :minlevel=>12, :maxlevel=>13, :lootCount=>16, :name=>"Defias Trapper", :locs=>[40], :id=>504, :totalLootCount=>69925}, {:react=>[3, 3], :type=>7, :minlevel=>16, :maxlevel=>17, :disp=>184, :lootCount=>3, :name=>"Defias Watchman", :locs=>[1581], :id=>1725, :totalLootCount=>15539}, {:react=>[3, 3], :type=>7, :minlevel=>12, :maxlevel=>13, :disp=>1013, :lootCount=>1, :name=>"Deth'ryll Satyr", :locs=>[148], :id=>2212, :totalLootCount=>6839}, {:react=>[3, 3], :type=>7, :minlevel=>19, :maxlevel=>20, :lootCount=>1, :name=>"Dragonmaw Scout", :locs=>[11], :id=>2103, :totalLootCount=>7711}, {:react=>[3, 3], :type=>6, :minlevel=>10, :maxlevel=>19, :disp=>158, :lootCount=>2, :name=>"Dreadbone Skeleton", :locs=>[3433], :id=>16303, :totalLootCount=>4002}, {:react=>[3, 3], :type=>7, :minlevel=>19, :lootCount=>24, :name=>"Druid of the Fang", :locs=>[718], :classification=>1, :id=>3840, :totalLootCount=>98439}, {:react=>[3, 3], :type=>1, :minlevel=>13, :maxlevel=>14, :disp=>11010, :lootCount=>34, :name=>"Earthborer", :locs=>[2437], :classification=>1, :id=>11320, :totalLootCount=>40504}, {:react=>[3, 3], :type=>1, :minlevel=>16, :disp=>1934, :lootCount=>3, :name=>"Echeyakee", :locs=>[2597, 331, 3820, -1], :id=>3475, :totalLootCount=>4513}, {:react=>[3, 3], :type=>4, :minlevel=>16, :maxlevel=>17, :disp=>9009, :lootCount=>1, :name=>"Elder Lake Skulker", :locs=>[36, 130], :id=>1954, :totalLootCount=>2152}, {:react=>[3, 3], :type=>1, :minlevel=>8, :maxlevel=>9, :disp=>3030, :lootCount=>2, :name=>"Elder Nightsaber", :locs=>[141], :id=>2033, :totalLootCount=>5723}, {:react=>[3, 3], :type=>4, :minlevel=>10, :maxlevel=>11, :disp=>3032, :lootCount=>1, :name=>"Elder Timberling", :locs=>[141], :id=>2030, :totalLootCount=>3096}, {:react=>[2, 2], :type=>1, :minlevel=>18, :maxlevel=>20, :disp=>9566, :lootCount=>2, :name=>"Encrusted Tide Crawler", :locs=>[148], :id=>2233, :totalLootCount=>11106}, {:react=>[3, 3], :type=>4, :minlevel=>7, :maxlevel=>9, :disp=>15587, :lootCount=>1, :name=>"Eversong Green Keeper", :locs=>[3430], :id=>15636, :totalLootCount=>5272}, {:react=>[3, 3], :type=>6, :minlevel=>19, :maxlevel=>20, :disp=>4629, :lootCount=>2, :name=>"Eye of Dar'Khan", :locs=>[3433], :id=>16320, :totalLootCount=>15994}, {:react=>[2, 2], :type=>1, :minlevel=>19, :disp=>1951, :lootCount=>2, :name=>"Fel Steed", :locs=>[209], :classification=>1, :id=>3864, :totalLootCount=>4839}, {:react=>[3, 3], :type=>1, :minlevel=>9, :maxlevel=>12, :disp=>1006, :lootCount=>7, :name=>"Ferocious Grizzled Bear", :locs=>[130], :id=>1778, :totalLootCount=>23333}, {:react=>[3, 3], :type=>4, :minlevel=>18, :maxlevel=>19, :disp=>17045, :lootCount=>4, :name=>"Fouled Water Spirit", :locs=>[3525], :id=>17358, :totalLootCount=>19840}, {:react=>[3, 3], :type=>7, :minlevel=>8, :maxlevel=>9, :lootCount=>2, :name=>"Frostmane Headhunter", :locs=>[1], :id=>1123, :totalLootCount=>11206}, {:react=>[3, 3], :type=>7, :minlevel=>8, :maxlevel=>9, :lootCount=>2, :name=>"Frostmane Snowstrider", :locs=>[1], :id=>1121, :totalLootCount=>8214}, {:react=>[3, 3], :type=>7, :minlevel=>7, :maxlevel=>8, :lootCount=>1, :name=>"Frostmane Troll", :locs=>[1], :id=>1120, :totalLootCount=>4556}, {:react=>[3, 3], :type=>7, :minlevel=>8, :maxlevel=>9, :disp=>9410, :lootCount=>1, :name=>"Galak Centaur", :locs=>[215], :id=>2967, :totalLootCount=>513}, {:react=>[3, 3], :type=>6, :minlevel=>12, :maxlevel=>13, :disp=>137, :lootCount=>5, :name=>"Gangled Cannibal", :locs=>[3433], :id=>16309, :totalLootCount=>26909}, {:react=>[3, 3], :type=>7, :minlevel=>14, :disp=>240, :lootCount=>1, :name=>"Gazz'uz", :locs=>[14], :id=>3204, :totalLootCount=>2030}, {:react=>[3, 3], :type=>7, :minlevel=>9, :maxlevel=>10, :disp=>6802, :lootCount=>1, :name=>"Gnarlpine Pathfinder", :locs=>[141], :id=>2012, :totalLootCount=>3620}, {:react=>[3, 3], :type=>7, :minlevel=>7, :maxlevel=>8, :disp=>897, :lootCount=>5, :name=>"Gnarlpine Shaman", :locs=>[141], :id=>2009, :totalLootCount=>25147}, {:react=>[3, 3], :type=>7, :minlevel=>18, :maxlevel=>19, :lootCount=>15, :name=>"Goblin Craftsman", :locs=>[1581], :classification=>1, :id=>1731, :totalLootCount=>77755}, {:react=>[3, 3], :type=>7, :minlevel=>18, :maxlevel=>19, :lootCount=>5, :name=>"Goblin Engineer", :locs=>[1581], :classification=>1, :id=>622, :totalLootCount=>25870}, {:react=>[3, 3], :type=>7, :minlevel=>18, :maxlevel=>19, :lootCount=>15, :name=>"Goblin Woodcarver", :locs=>[1581], :classification=>1, :id=>641, :totalLootCount=>57023}, {:react=>[3, 3], :type=>7, :minlevel=>17, :disp=>26, :lootCount=>1, :name=>"Gogger Stonepounder", :locs=>[406], :id=>11918, :totalLootCount=>1669}, {:react=>[3, 3], :type=>7, :minlevel=>17, :lootCount=>1, :name=>"Gorehoof the Black", :locs=>[406], :id=>11914, :totalLootCount=>260}, {:react=>[3, 3], :type=>7, :minlevel=>11, :lootCount=>1, :name=>"Great Father Arctikus", :locs=>[1], :classification=>4, :id=>1260, :totalLootCount=>462}, {:react=>[3, 3], :type=>7, :minlevel=>12, :maxlevel=>13, :disp=>3619, :lootCount=>3, :name=>"Greymist Coastrunner", :locs=>[148], :id=>2202, :totalLootCount=>10132}, {:react=>[3, 3], :type=>7, :minlevel=>6, :maxlevel=>7, :disp=>15926, :lootCount=>2, :name=>"Grimscale Seer", :locs=>[3430], :id=>15950, :totalLootCount=>10249}, {:react=>[3, 3], :type=>7, :minlevel=>15, :maxlevel=>16, :lootCount=>5, :name=>"Grimtotem Brute", :locs=>[406], :id=>11912, :totalLootCount=>8483}, {:react=>[3, 3], :type=>7, :minlevel=>14, :maxlevel=>15, :lootCount=>6, :name=>"Grimtotem Mercenary", :locs=>[406], :id=>11911, :totalLootCount=>9268}, {:react=>[3, 3], :type=>7, :minlevel=>15, :maxlevel=>16, :lootCount=>5, :name=>"Grimtotem Sorcerer", :locs=>[406], :id=>11913, :totalLootCount=>5441}, {:react=>[3, 3], :type=>9, :minlevel=>11, :maxlevel=>12, :disp=>367, :lootCount=>5, :name=>"Harvest Golem", :locs=>[40], :id=>36, :totalLootCount=>22246}, {:react=>[3, 3], :type=>7, :minlevel=>11, :disp=>384, :lootCount=>2, :name=>"Hogger", :locs=>[12, 3457, 40], :classification=>1, :id=>448, :totalLootCount=>6733}, {:react=>[3, 3], :type=>1, :minlevel=>7, :maxlevel=>8, :disp=>8840, :lootCount=>6, :name=>"Ice Claw Bear", :locs=>[1, 1537], :id=>1196, :totalLootCount=>26715}, {:react=>[3, 3], :type=>7, :minlevel=>14, :maxlevel=>15, :disp=>16266, :lootCount=>2, :name=>"Infected Wildkin", :locs=>[3525], :id=>17322, :totalLootCount=>5835}, {:react=>[3, 3], :type=>7, :minlevel=>14, :maxlevel=>16, :disp=>17058, :lootCount=>1, :name=>"Irradiated Wildkin", :locs=>[3525], :id=>17324, :totalLootCount=>5877}, {:react=>[3, 3], :type=>1, :minlevel=>5, :maxlevel=>6, :disp=>748, :lootCount=>2, :name=>"Juvenile Snow Leopard", :locs=>[1], :id=>1199, :totalLootCount=>4117}, {:react=>[3, 3], :type=>7, :minlevel=>7, :maxlevel=>8, :disp=>163, :lootCount=>3, :name=>"Kobold Geomancer", :locs=>[12], :id=>476, :totalLootCount=>8011}, {:react=>[3, 3], :type=>7, :minlevel=>14, :maxlevel=>15, :disp=>9447, :lootCount=>5, :name=>"Kolkar Bloodcharger", :locs=>[17, 718], :id=>3397, :totalLootCount=>11066}, {:react=>[3, 3], :type=>7, :minlevel=>16, :maxlevel=>17, :disp=>1349, :lootCount=>1, :name=>"Kolkar Invader", :locs=>[17], :id=>9524, :totalLootCount=>4466}, {:react=>[3, 3], :type=>7, :minlevel=>15, :maxlevel=>16, :disp=>4874, :lootCount=>2, :name=>"Kolkar Marauder", :locs=>[17], :id=>3275, :totalLootCount=>8024}, {:react=>[3, 3], :type=>7, :minlevel=>7, :maxlevel=>8, :disp=>9443, :lootCount=>3, :name=>"Kolkar Outrunner", :locs=>[14], :id=>3120, :totalLootCount=>6731}, {:react=>[3, 3], :type=>7, :minlevel=>14, :maxlevel=>15, :disp=>9445, :lootCount=>2, :name=>"Kolkar Pack Runner", :locs=>[17], :id=>3274, :totalLootCount=>4061}, {:react=>[3, 3], :type=>7, :minlevel=>15, :maxlevel=>16, :disp=>4871, :lootCount=>1, :name=>"Kolkar Stormseer", :locs=>[17], :id=>9523, :totalLootCount=>1820}, {:react=>[3, 3], :type=>7, :minlevel=>12, :maxlevel=>13, :disp=>9442, :lootCount=>13, :name=>"Kolkar Wrangler", :locs=>[17, 718], :id=>3272, :totalLootCount=>55969}, {:react=>[1, 3], :type=>7, :minlevel=>8, :lootCount=>1, :name=>"Lieutenant Benedict", :locs=>[14], :id=>3192, :totalLootCount=>4541}, {:react=>[3, 3], :type=>1, :minlevel=>10, :maxlevel=>11, :disp=>1532, :lootCount=>2, :name=>"Lightning Hide", :locs=>[14], :id=>3131, :totalLootCount=>7054}, {:react=>[3, 3], :type=>7, :minlevel=>13, :disp=>11257, :lootCount=>2, :name=>"Lord Xiz", :locs=>[3525], :id=>17701, :totalLootCount=>1927}, {:react=>[3, 3], :type=>4, :minlevel=>6, :maxlevel=>7, :disp=>14252, :lootCount=>5, :name=>"Manawraith", :locs=>[3430], :id=>15648, :totalLootCount=>14254}, {:react=>[2, 2], :type=>1, :minlevel=>14, :maxlevel=>15, :disp=>3027, :lootCount=>4, :name=>"Mangy Mountain Boar", :locs=>[38], :id=>1191, :totalLootCount=>11487}, {:react=>[3, 3], :type=>7, :minlevel=>19, :maxlevel=>20, :disp=>14403, :lootCount=>1, :name=>"Mo'grosh Brute", :locs=>[38], :id=>1180, :totalLootCount=>5260}, {:react=>[3, 3], :type=>7, :minlevel=>18, :maxlevel=>19, :disp=>6692, :lootCount=>1, :name=>"Mo'grosh Enforcer", :locs=>[38], :id=>1179, :totalLootCount=>6081}, {:react=>[3, 3], :type=>7, :minlevel=>18, :maxlevel=>19, :disp=>1045, :lootCount=>1, :name=>"Mo'grosh Shaman", :locs=>[38], :id=>1181, :totalLootCount=>5758}, {:react=>[3, 3], :type=>4, :minlevel=>13, :maxlevel=>15, :disp=>2075, :lootCount=>35, :name=>"Molten Elemental", :locs=>[2437], :classification=>1, :id=>11321, :totalLootCount=>29705}, {:react=>[3, 3], :type=>7, :minlevel=>15, :maxlevel=>16, :disp=>574, :lootCount=>2, :name=>"Moonrage Bloodhowler", :locs=>[130], :id=>1924, :totalLootCount=>1745}, {:react=>[3, 3], :type=>7, :minlevel=>11, :maxlevel=>12, :disp=>729, :lootCount=>3, :name=>"Moonrage Darkrunner", :locs=>[130], :id=>1770, :totalLootCount=>2879}, {:react=>[3, 3], :type=>7, :minlevel=>13, :maxlevel=>14, :disp=>574, :lootCount=>6, :name=>"Moonrage Darksoul", :locs=>[130], :id=>1782, :totalLootCount=>8591}, {:react=>[3, 3], :type=>7, :minlevel=>12, :maxlevel=>13, :disp=>1947, :lootCount=>6, :name=>"Moonrage Glutton", :locs=>[130], :id=>1779, :totalLootCount=>15472}, {:react=>[3, 3], :type=>7, :minlevel=>14, :disp=>564, :lootCount=>1, :name=>"Moonrage Sentry", :locs=>[130], :id=>1893, :totalLootCount=>2805}, {:react=>[3, 3], :type=>7, :minlevel=>10, :maxlevel=>11, :disp=>11180, :lootCount=>2, :name=>"Moonrage Whitescalp", :locs=>[130], :id=>1769, :totalLootCount=>5962}, {:react=>[3, 3], :type=>1, :minlevel=>19, :maxlevel=>20, :disp=>3031, :lootCount=>1, :name=>"Moonstalker Matriarch", :locs=>[148], :id=>2071, :totalLootCount=>4220}, {:react=>[3, 3], :type=>3, :minlevel=>13, :maxlevel=>14, :disp=>2012, :lootCount=>4, :name=>"Nazzivus Rogue", :locs=>[3525], :id=>17338, :totalLootCount=>10921}, {:react=>[3, 3], :type=>10, :minlevel=>20, :disp=>470, :lootCount=>8, :name=>"Nightmare Ectoplasm", :locs=>[718], :id=>5763, :totalLootCount=>16687}, {:react=>[3, 3], :type=>7, :minlevel=>16, :lootCount=>1, :name=>"Overseer Glibby", :locs=>[17], :id=>6606, :totalLootCount=>982}, {:react=>[3, 3], :type=>7, :minlevel=>7, :maxlevel=>8, :disp=>1217, :lootCount=>1, :name=>"Palemane Poacher", :locs=>[215], :id=>2951, :totalLootCount=>6901}, {:react=>[3, 3], :type=>7, :minlevel=>5, :maxlevel=>6, :disp=>550, :lootCount=>3, :name=>"Palemane Tanner", :locs=>[215], :id=>2949, :totalLootCount=>13465}, {:react=>[3, 3], :type=>6, :minlevel=>12, :maxlevel=>14, :disp=>14702, :lootCount=>2, :name=>"Phantasmal Watcher", :locs=>[3433], :id=>16311, :totalLootCount=>4632}, {:react=>[0, 2], :type=>1, :minlevel=>7, :disp=>377, :lootCount=>1, :name=>"Porcine Entourage", :locs=>[12], :id=>390, :totalLootCount=>3275}, {:react=>[1, 3], :type=>7, :minlevel=>14, :maxlevel=>15, :lootCount=>1, :name=>"Pyrewood Elder", :locs=>[130], :id=>1895, :totalLootCount=>3258}, {:react=>[1, 3], :type=>7, :minlevel=>14, :maxlevel=>15, :lootCount=>1, :name=>"Pyrewood Sentry", :locs=>[130], :id=>1894, :totalLootCount=>4448}, {:react=>[1, 3], :type=>7, :minlevel=>13, :maxlevel=>14, :lootCount=>1, :name=>"Pyrewood Watcher", :locs=>[130], :id=>1891, :totalLootCount=>5203}, {:react=>[3, 3], :type=>6, :minlevel=>10, :maxlevel=>11, :disp=>16124, :lootCount=>2, :name=>"Quel'dorei Ghost", :locs=>[3433], :id=>16325, :totalLootCount=>13808}, {:react=>[3, 3], :type=>6, :minlevel=>11, :disp=>17306, :lootCount=>3, :name=>"Quel'dorei Wraith", :locs=>[3433], :id=>16326, :totalLootCount=>12022}, {:react=>[3, 3], :type=>7, :minlevel=>13, :maxlevel=>15, :disp=>11610, :lootCount=>15, :name=>"Ragefire Shaman", :locs=>[2437], :classification=>1, :id=>11319, :totalLootCount=>36817}, {:react=>[3, 3], :type=>7, :minlevel=>13, :maxlevel=>15, :disp=>11609, :lootCount=>43, :name=>"Ragefire Trogg", :locs=>[2437], :classification=>1, :id=>11318, :totalLootCount=>76274}, {:react=>[3, 3], :type=>6, :minlevel=>13, :maxlevel=>14, :disp=>828, :lootCount=>1, :name=>"Ravenclaw Servant", :locs=>[130], :id=>1868, :totalLootCount=>2837}, {:react=>[3, 3], :type=>6, :minlevel=>11, :maxlevel=>12, :disp=>829, :lootCount=>3, :name=>"Ravenclaw Slave", :locs=>[130], :id=>1866, :totalLootCount=>6889}, {:react=>[3, 3], :type=>6, :minlevel=>11, :maxlevel=>12, :disp=>146, :lootCount=>3, :name=>"Ravening Apparition", :locs=>[3433], :id=>16327, :totalLootCount=>15832}, {:react=>[3, 3], :type=>7, :minlevel=>12, :maxlevel=>13, :disp=>1253, :lootCount=>7, :name=>"Razormane Defender", :locs=>[17], :id=>3266, :totalLootCount=>19368}, {:react=>[3, 3], :type=>7, :minlevel=>12, :maxlevel=>13, :disp=>6093, :lootCount=>7, :name=>"Razormane Geomancer", :locs=>[17], :id=>3269, :totalLootCount=>14053}, {:react=>[3, 3], :type=>7, :minlevel=>6, :maxlevel=>7, :disp=>1218, :lootCount=>2, :name=>"Razormane Quilboar", :locs=>[14], :id=>3111, :totalLootCount=>7466}, {:react=>[3, 3], :type=>7, :minlevel=>10, :maxlevel=>11, :disp=>6096, :lootCount=>3, :name=>"Razormane Thornweaver", :locs=>[17], :id=>3268, :totalLootCount=>17922}, {:react=>[3, 3], :type=>7, :minlevel=>15, :maxlevel=>16, :disp=>487, :lootCount=>3, :name=>"Redridge Mongrel", :locs=>[44], :id=>423, :totalLootCount=>20568}, {:react=>[3, 3], :type=>7, :minlevel=>16, :maxlevel=>17, :disp=>551, :lootCount=>2, :name=>"Redridge Poacher", :locs=>[44], :id=>424, :totalLootCount=>14510}, {:react=>[3, 3], :type=>7, :minlevel=>14, :maxlevel=>15, :disp=>489, :lootCount=>2, :name=>"Redridge Thrasher", :locs=>[44], :id=>712, :totalLootCount=>12310}, {:react=>[3, 3], :type=>7, :minlevel=>20, :desc=>"The Cell Keeper", :disp=>524, :lootCount=>4, :name=>"Rethilgore", :locs=>[209], :classification=>1, :id=>3914, :totalLootCount=>12025}, {:react=>[3, 3], :type=>6, :minlevel=>13, :maxlevel=>14, :disp=>1201, :lootCount=>9, :name=>"Risen Hungerer", :locs=>[3433], :id=>16301, :totalLootCount=>47401}, {:react=>[3, 3], :type=>7, :minlevel=>15, :maxlevel=>16, :disp=>384, :lootCount=>2, :name=>"Riverpaw Brute", :locs=>[40], :id=>124, :totalLootCount=>13251}, {:react=>[3, 3], :type=>7, :minlevel=>11, :maxlevel=>12, :disp=>175, :lootCount=>4, :name=>"Riverpaw Gnoll", :locs=>[12, 40], :id=>117, :totalLootCount=>24518}, {:react=>[3, 3], :type=>7, :minlevel=>14, :maxlevel=>15, :disp=>413, :lootCount=>1, :name=>"Riverpaw Herbalist", :locs=>[40], :id=>501, :totalLootCount=>3419}, {:react=>[3, 3], :type=>7, :minlevel=>14, :maxlevel=>15, :disp=>374, :lootCount=>2, :name=>"Riverpaw Miner", :locs=>[40], :id=>1426, :totalLootCount=>3767}, {:react=>[3, 3], :type=>7, :minlevel=>13, :maxlevel=>14, :disp=>383, :lootCount=>5, :name=>"Riverpaw Mongrel", :locs=>[40], :id=>123, :totalLootCount=>6973}, {:react=>[3, 3], :type=>7, :minlevel=>17, :maxlevel=>18, :disp=>376, :lootCount=>1, :name=>"Riverpaw Taskmaster", :locs=>[40], :id=>98, :totalLootCount=>3366}, {:react=>[3, 3], :type=>7, :minlevel=>9, :maxlevel=>10, :disp=>726, :lootCount=>3, :name=>"Rockjaw Bonesnapper", :locs=>[1], :id=>1117, :totalLootCount=>17291}, {:react=>[3, 3], :type=>6, :minlevel=>11, :maxlevel=>12, :disp=>848, :lootCount=>2, :name=>"Rot Hide Gladerunner", :locs=>[130], :id=>1772, :totalLootCount=>3483}, {:react=>[3, 3], :type=>6, :minlevel=>6, :maxlevel=>7, :disp=>10852, :lootCount=>2, :name=>"Rot Hide Gnoll", :locs=>[85], :id=>1674, :totalLootCount=>11445}, {:react=>[3, 3], :type=>6, :minlevel=>7, :maxlevel=>8, :disp=>847, :lootCount=>3, :name=>"Rot Hide Mongrel", :locs=>[85], :id=>1675, :totalLootCount=>13970}, {:react=>[3, 3], :type=>6, :minlevel=>10, :maxlevel=>11, :disp=>1196, :lootCount=>3, :name=>"Rotting Ancestor", :locs=>[85], :id=>1530, :totalLootCount=>7247}, {:react=>[3, 3], :type=>1, :minlevel=>11, :maxlevel=>12, :disp=>1056, :lootCount=>7, :name=>"Savannah Huntress", :locs=>[17], :id=>3415, :totalLootCount=>15874}, {:react=>[3, 3], :type=>1, :minlevel=>15, :maxlevel=>16, :disp=>1977, :lootCount=>2, :name=>"Savannah Patriarch", :locs=>[17], :id=>3241, :totalLootCount=>1844}, {:react=>[3, 3], :type=>7, :minlevel=>7, :maxlevel=>8, :lootCount=>2, :name=>"Scarlet Missionary", :locs=>[85, 1497], :id=>1536, :totalLootCount=>11506}, {:react=>[3, 3], :type=>7, :minlevel=>6, :maxlevel=>7, :lootCount=>4, :name=>"Scarlet Warrior", :locs=>[85], :id=>1535, :totalLootCount=>15739}, {:react=>[3, 3], :type=>7, :minlevel=>13, :maxlevel=>15, :lootCount=>39, :name=>"Searing Blade Cultist", :locs=>[2437], :classification=>1, :id=>11322, :totalLootCount=>70277}, {:react=>[3, 3], :type=>7, :minlevel=>13, :maxlevel=>15, :lootCount=>37, :name=>"Searing Blade Enforcer", :locs=>[2437], :classification=>1, :id=>11323, :totalLootCount=>56045}, {:react=>[3, 3], :type=>7, :minlevel=>13, :maxlevel=>15, :lootCount=>11, :name=>"Searing Blade Warlock", :locs=>[2437], :classification=>1, :id=>11324, :totalLootCount=>26747}, {:react=>[1, 3], :type=>7, :minlevel=>15, :maxlevel=>16, :lootCount=>2, :name=>"Sentinel Infiltrator", :locs=>[3433], :id=>16333, :totalLootCount=>12121}, {:react=>[3, 3], :type=>7, :minlevel=>19, :disp=>729, :lootCount=>12, :name=>"Shadowfang Moonwalker", :locs=>[209], :classification=>1, :id=>3853, :totalLootCount=>40900}, {:react=>[3, 3], :type=>7, :minlevel=>17, :maxlevel=>19, :disp=>729, :lootCount=>6, :name=>"Shadowfang Whitescalp", :locs=>[209, 130], :classification=>1, :id=>3851, :totalLootCount=>22509}, {:react=>[3, 3], :type=>6, :minlevel=>8, :maxlevel=>9, :disp=>1197, :lootCount=>1, :name=>"Shambling Horror", :locs=>[85], :id=>1528, :totalLootCount=>2696}, {:react=>[3, 3], :type=>6, :minlevel=>17, :maxlevel=>18, :disp=>11402, :lootCount=>2, :name=>"Skeletal Miner", :locs=>[1581], :id=>623, :totalLootCount=>7673}, {:react=>[3, 3], :type=>7, :minlevel=>12, :maxlevel=>13, :lootCount=>9, :name=>"Southsea Brigand", :locs=>[17], :id=>3381, :totalLootCount=>34376}, {:react=>[3, 3], :type=>7, :minlevel=>13, :maxlevel=>14, :lootCount=>4, :name=>"Southsea Cannoneer", :locs=>[17], :id=>3382, :totalLootCount=>23933}, {:react=>[3, 3], :type=>7, :minlevel=>14, :maxlevel=>15, :lootCount=>1, :name=>"Southsea Cutthroat", :locs=>[17], :id=>3383, :totalLootCount=>2914}, {:react=>[3, 3], :type=>1, :minlevel=>14, :maxlevel=>15, :disp=>1087, :lootCount=>10, :name=>"Spindleweb Lurker", :locs=>[3433], :id=>16351, :totalLootCount=>41560}, {:react=>[3, 3], :type=>1, :minlevel=>19, :maxlevel=>20, :disp=>801, :lootCount=>9, :name=>"Starving Dire Wolf", :locs=>[10, 12, 40], :id=>213, :totalLootCount=>47220}, {:react=>[3, 3], :type=>7, :minlevel=>15, :maxlevel=>16, :disp=>722, :lootCount=>2, :name=>"Stonesplinter Bonesnapper", :locs=>[38], :id=>1164, :totalLootCount=>7219}, {:react=>[3, 3], :type=>7, :minlevel=>11, :maxlevel=>12, :disp=>764, :lootCount=>3, :name=>"Stonesplinter Scout", :locs=>[38], :id=>1162, :totalLootCount=>19653}, {:react=>[3, 3], :type=>7, :minlevel=>15, :maxlevel=>16, :disp=>763, :lootCount=>1, :name=>"Stonesplinter Shaman", :locs=>[38], :id=>1197, :totalLootCount=>7573}, {:react=>[3, 3], :type=>7, :minlevel=>13, :maxlevel=>14, :disp=>160, :lootCount=>2, :name=>"Stonesplinter Skullthumper", :locs=>[38], :id=>1163, :totalLootCount=>13941}, {:react=>[3, 3], :type=>7, :minlevel=>11, :maxlevel=>12, :disp=>763, :lootCount=>3, :name=>"Stonesplinter Trogg", :locs=>[38], :id=>1161, :totalLootCount=>20051}, {:react=>[3, 3], :type=>6, :minlevel=>13, :maxlevel=>14, :disp=>7533, :lootCount=>4, :name=>"Stonewing Slayer", :locs=>[3433], :id=>16324, :totalLootCount=>20950}, {:react=>[3, 3], :type=>7, :minlevel=>15, :maxlevel=>16, :disp=>4036, :lootCount=>3, :name=>"Stormscale Wave Rider", :locs=>[148], :id=>2179, :totalLootCount=>10766}, {:react=>[3, 3], :type=>7, :minlevel=>18, :maxlevel=>19, :lootCount=>5, :name=>"Sunhawk Agent", :locs=>[3525], :classification=>1, :id=>17610, :totalLootCount=>15118}, {:react=>[3, 3], :type=>7, :minlevel=>17, :maxlevel=>18, :lootCount=>4, :name=>"Sunhawk Saboteur", :locs=>[3525], :classification=>1, :id=>17609, :totalLootCount=>13038}, {:react=>[3, 3], :type=>7, :minlevel=>13, :maxlevel=>14, :lootCount=>8, :name=>"Sunhawk Spy", :locs=>[3525], :id=>17604, :totalLootCount=>39139}, {:react=>[3, 3], :type=>1, :minlevel=>8, :maxlevel=>10, :disp=>10824, :lootCount=>2, :name=>"Taloned Swoop", :locs=>[215, 1638], :id=>2971, :totalLootCount=>6468}, {:react=>[3, 3], :type=>1, :minlevel=>9, :maxlevel=>10, :disp=>2179, :lootCount=>4, :name=>"Thunder Lizard", :locs=>[14], :id=>3130, :totalLootCount=>12655}, {:react=>[3, 3], :type=>1, :minlevel=>18, :maxlevel=>20, :disp=>1742, :lootCount=>1, :name=>"Thunderhawk Hatchling", :locs=>[17], :id=>3247, :totalLootCount=>5400}, {:react=>[3, 3], :type=>4, :minlevel=>7, :maxlevel=>8, :disp=>6817, :lootCount=>1, :name=>"Timberling Bark Ripper", :locs=>[141], :id=>2025, :totalLootCount=>4169}, {:react=>[3, 3], :type=>7, :minlevel=>6, :maxlevel=>7, :lootCount=>2, :name=>"Tirisfal Farmer", :locs=>[85], :id=>1934, :totalLootCount=>10206}, {:react=>[3, 3], :type=>7, :minlevel=>11, :maxlevel=>12, :disp=>26, :lootCount=>1, :name=>"Tunnel Rat Kobold", :locs=>[38], :id=>1202, :totalLootCount=>8089}, {:react=>[3, 3], :type=>7, :minlevel=>10, :maxlevel=>11, :disp=>365, :lootCount=>2, :name=>"Tunnel Rat Scout", :locs=>[38], :id=>1173, :totalLootCount=>13723}, {:react=>[3, 3], :type=>7, :minlevel=>12, :disp=>6818, :lootCount=>1, :name=>"Ursal the Mauler", :locs=>[141], :id=>2039, :totalLootCount=>769}, {:react=>[3, 3], :type=>7, :minlevel=>14, :maxlevel=>15, :lootCount=>5, :name=>"Venture Co. Drudger", :locs=>[17], :id=>3284, :totalLootCount=>23066}, {:react=>[3, 3], :type=>7, :minlevel=>18, :maxlevel=>19, :lootCount=>3, :name=>"Venture Co. Logger", :locs=>[406], :id=>3989, :totalLootCount=>26416}, {:react=>[3, 3], :type=>7, :minlevel=>15, :maxlevel=>16, :lootCount=>2, :name=>"Venture Co. Mercenary", :locs=>[17], :id=>3282, :totalLootCount=>7390}, {:react=>[3, 3], :type=>7, :minlevel=>13, :maxlevel=>14, :lootCount=>7, :name=>"Venture Co. Peon", :locs=>[17], :id=>3285, :totalLootCount=>11781}, {:react=>[3, 3], :type=>3, :minlevel=>7, :disp=>6811, :lootCount=>1, :name=>"Vicious Grell", :locs=>[141], :id=>2005, :totalLootCount=>4808}, {:react=>[3, 3], :type=>7, :minlevel=>18, :maxlevel=>20, :disp=>540, :lootCount=>1, :name=>"Vile Fin Oracle", :locs=>[130], :id=>1908, :totalLootCount=>1517}, {:react=>[3, 3], :type=>7, :minlevel=>17, :maxlevel=>18, :disp=>2597, :lootCount=>1, :name=>"Vile Fin Tidecaller", :locs=>[36, 130], :id=>1958, :totalLootCount=>4942}, {:react=>[3, 3], :type=>7, :minlevel=>8, :maxlevel=>9, :lootCount=>2, :name=>"Voodoo Troll", :locs=>[14], :id=>3206, :totalLootCount=>11383}, {:react=>[3, 3], :type=>7, :minlevel=>20, :disp=>4874, :lootCount=>1, :name=>"Warlord Krom'zar", :locs=>[17], :classification=>1, :id=>9456, :totalLootCount=>242}, {:react=>[3, 3], :type=>7, :minlevel=>11, :maxlevel=>12, :disp=>1015, :lootCount=>6, :name=>"Wild Grell", :locs=>[148], :id=>2190, :totalLootCount=>15857}, {:react=>[3, 3], :type=>7, :minlevel=>8, :maxlevel=>9, :disp=>1351, :lootCount=>6, :name=>"Windfury Wind Witch", :locs=>[215], :id=>2963, :totalLootCount=>14417}, {:react=>[3, 3], :type=>7, :minlevel=>12, :maxlevel=>13, :disp=>4762, :lootCount=>4, :name=>"Wrathscale Shorestalker", :locs=>[3525], :id=>17331, :totalLootCount=>6009}, {:react=>[3, 3], :type=>7, :minlevel=>6, :maxlevel=>7, :disp=>15513, :lootCount=>7, :name=>"Wretched Hooligan", :locs=>[3430], :id=>16162, :totalLootCount=>31285}, {:react=>[3, 3], :type=>7, :minlevel=>7, :maxlevel=>8, :disp=>15513, :lootCount=>4, :name=>"Wretched Thug", :locs=>[3430], :id=>15645, :totalLootCount=>21370}, {:react=>[3, 3], :type=>6, :minlevel=>11, :maxlevel=>12, :disp=>5430, :lootCount=>4, :name=>"Writhing Highborne", :locs=>[148], :id=>2177, :totalLootCount=>12447}, {:react=>[3, 3], :type=>7, :minlevel=>10, :lootCount=>1, :name=>"Zalazane", :locs=>[14], :id=>3205, :totalLootCount=>4553}, {:react=>[2, 2], :type=>1, :minlevel=>17, :maxlevel=>18, :disp=>2187, :lootCount=>3, :name=>"Zhevra Charger", :locs=>[17], :id=>3426, :totalLootCount=>7476}, {:react=>[2, 2], :type=>1, :minlevel=>20, :maxlevel=>21, :disp=>6086, :lootCount=>2, :name=>"Zhevra Courser", :locs=>[17], :id=>3466, :totalLootCount=>10070}, {:react=>[2, 2], :type=>1, :minlevel=>13, :maxlevel=>14, :disp=>6087, :lootCount=>12, :name=>"Zhevra Runner", :locs=>[14, 17], :id=>3242, :totalLootCount=>54736}], [{:type=>3, :lootCount=>31, :name=>"Battered Chest", :locs=>[331, 148, 1, 14, -1], :id=>2843, :totalLootCount=>214708}, {:type=>3, :lootCount=>1, :name=>"Deepmoss Eggs", :locs=>[406], :id=>19541, :totalLootCount=>28827}, {:type=>3, :lootCount=>2, :name=>"Kolkars' Booty", :locs=>[17], :id=>3642, :totalLootCount=>937}, {:type=>3, :lootCount=>40, :name=>"Large Battered Chest", :locs=>[209, 1581, 718], :id=>75293, :totalLootCount=>82857}, {:type=>3, :lootCount=>1, :name=>"Tattered Chest", :locs=>[3524, 3525, 3430], :id=>2844, :totalLootCount=>84813}], nil], :reagents=>[[2452, 1], [765, 1], [3371, 1]], :learned=>40, :produces=>[2457, 1], :method=>"dropped-by,contained-in-object,contained-in-item", :id=>2553, :skillup=>[40, 80, 100, 120]}

Quest:

{:spellid=>4508, :rarity=>1, :method_drops=>[], :reagents=>[[3164, 1], [2447, 1], [3371, 1]], :learned=>40,
:produces=>[4596, 1], :method_quests=>[{:type=>0, :coin=>270, :xp=>440, :level=>11, :category=>[0, 130],
:side=>4, :name=>"Wild Hearts", :givenitems=>[[4597, 1], [4596, 1]], :id=>429}], :method=>"rewardfrom",
:id=>4597, :skillup=>[40, 80, 100, 120]}

Trainer:

{:spellid=>11448, :rarity=>1, :method_drops=>[], :reagents=>[[3358, 1], [3821, 1], [3372, 1]],
:method_trainers=>[{:react=>[1, 3], :type=>7, :minlevel=>46, :desc=>"Alchemy Trainer",
:name=>"Ainethil", :locs=>[1657], :id=>4160}, {:react=>[1, 3], :type=>7, :minlevel=>60,
:desc=>"Master Alchemy Trainer", :name=>"Alchemist Gribble", :locs=>[3483], :id=>18802},
{:react=>[3, 1], :type=>7, :minlevel=>60, :desc=>"Master Alchemy Trainer",
:name=>"Apothecary Antonivich", :locs=>[3483], :id=>16588}, {:react=>[3, 1], :type=>7,
:minlevel=>50, :desc=>"Alchemy Trainer", :name=>"Doctor Herbert Halsey", :locs=>[1497],
:id=>4611}, {:react=>[1, 3], :type=>7, :minlevel=>47, :maxlevel=>52, :desc=>"Alchemy Trainer",
:name=>"Kylanna Windwhisper", :locs=>[357], :id=>7948}, {:react=>[1, 1], :type=>7, :minlevel=>63,
:desc=>"Master Alchemy Trainer", :disp=>17867, :name=>"Lorokeem", :locs=>[3703], :id=>19052},
{:react=>[3, 1], :type=>7, :minlevel=>53, :desc=>"Alchemy Trainer", :name=>"Rogvar", :locs=>[8],
:id=>1386}], :learned=>180, :produces=>[6149, 1], :method=>"taught-by", :id=>11448,
:skillup=>[180, 220, 240, 260]}

Single Vendor:

{:spellid=>11459, :rarity=>2, :method_drops=>[], :reagents=>[[3575, 4], [9262, 1], [8831, 4],
[4625, 4]], :learned=>200, :method_vendors=>[{:react=>[1, 1], :type=>7, :minlevel=>45,
:desc=>"Alchemy Supplies", :price=>[8000, 0, 0], :name=>"Alchemist Pestlezugg",
:locs=>[440], :id=>5594}], :produces=>[9149, 1], :method=>"sold-by", :id=>9303,
:skillup=>[200, 240, 260, 280]}

Multi Vendor:

{:spellid=>6617, :rarity=>1, :method_drops=>[], :reagents=>[[5635, 2], [3371, 1]], :learned=>50,
:method_vendors=>[{:react=>[1, 1], :type=>7, :minlevel=>20, :desc=>"Free Wheeling Merchant",
:price=>[100, 0, 0], :name=>"Defias Profiteer", :locs=>[40], :id=>1669}, {:react=>[3, 1], :type=>7,
:minlevel=>30, :desc=>"Reagents", :price=>[100, 0, 0], :name=>"Hagrus", :locs=>[1637], :id=>3335},
{:react=>[1, 1], :type=>7, :minlevel=>22, :desc=>"Trade Supplies", :price=>[100, 0, 0], :name=>"Ranik",
:locs=>[17], :id=>3499}, {:react=>[1, 3], :type=>7, :minlevel=>15, :desc=>"General Supplies",
:price=>[100, 0, 0], :name=>"Xandar Goodbeard", :locs=>[38], :id=>1685}], :produces=>[5631, 1],
:method=>"sold-by", :id=>5640, :skillup=>[50, 90, 110, 130]}

=end

# Get the alchemy recipes
alchemy = recipes.get_alchemy_list

# Parse all alchemy recipes
alchemy.each_pair do |name,data|

	recipedetail = alchemy[name]
	recipes.add_recipe_details(recipedetail)
	#p name
	#p data

	# Create a new empty array to store all the filter flags
	filterlist = Array.new

	# Find out which type of recipe this is
	source = case data[:method]
		when 'sold-by,': 'L["Vendor"]'
		when 'taught-by,': 'L["Trainer"]'
		when 'dropped-by,': 'L["Mobdrop"]'
		else 'L["Unknown"]'
	end


	#source = data[:method_vendors].nil?() ? 'L["Unknown"]' : 'L["Trainer"]'
	#filterlist = data[:method_vendors].nil?() ? filterlist : filterlist << "1"


	skill = "0" 
		unless data[:skillup].nil? 
		skill = data[:skillup].first
	end

#	These flags are defined as:
#		-- ALLIANCE= Alliance faction only
#		-- HORDE = Horde faction only
#		-- 1 = Trainer
#		-- 2 = Vendor
#		-- 3 = Item BoE
#		-- 4 = Item BoP
#		-- 5 = Instance
#		-- 6 = Raid
#		-- 7 = Seasonal
#		-- 8 = Quest
#		-- 9 = PVP
#		-- 10 = cloth
#		-- 11 = leather
#		-- 12 = mail
#		-- 13 = plate
#		-- 14 = physical dps (melee/hunters)
#		-- 15 = tanking
#		-- 16 = healing
#		-- 17 = caster DPS
#		-- 18 = world drop
#		-- 19 = Recipe BoE
#		-- 20 = Recipe BoP
#		-- 21 = 1H
#		-- 22 = 2H
#		-- 23 = Cloak
#		-- 24 = Trinket
#		-- 25 = Ring
#		-- 26 = Necklace
#		-- 27 = Axe
#		-- 28 = Sword
#		-- 29 = Mace
#		-- 30 = Polearm
#		-- 31 = Dagger
#		-- 32 = Staff
#		-- 33 = Wand
#		-- 34 = Thrown
#		-- 35 = Bow
#		-- 36 = Crossbow
#		-- 37 = Ammo

	# Add type filter flags
	if data[:method] == "taught-by,"
		filterlist << "1"
	elsif data[:method] == "sold-by,"
		filterlist << "2"
	end

	#$stdout.puts "self:addTradeSkillSpell(#{data[:spellid]}, #{skill}, #{source}, #{filterlist.join ','})"

end


# data = {:method_vendors=>[{:price=>[8000, 0, 0], :type=>7, :locs=>[440], :react=>[1, 1],
#      :desc=>"Alchemy Supplies", :name=>"Alchemist Pestlezugg", :minlevel=>45, :id=>5594}],
#   :learned=>200, :produces=>[3577], :skillup=>[200, 240, 260, 280], :method_drops=>[],
#   :rarity=>2, :method=>"sold-by,", :reagents=>[[3575, 1]], :id=>9304}
 

