From e721e090e7bf2cfe73289886b39d1ae103768384 Mon Sep 17 00:00:00 2001 From: ackis Date: Tue, 14 Apr 2009 20:28:30 +0000 Subject: [PATCH] Heh actually add the file. --- ARLDatamine.lua | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 ARLDatamine.lua diff --git a/ARLDatamine.lua b/ARLDatamine.lua new file mode 100644 index 0000000..526c03e --- /dev/null +++ b/ARLDatamine.lua @@ -0,0 +1,60 @@ +--[[ + +**************************************************************************************** + +ARLDatamine.lua + +In-game datamining functions for ARL + +File date: @file-date-iso@ +File revision: @file-revision@ +Project revision: @project-revision@ +Project version: @project-version@ + +**************************************************************************************** + +]]-- + + +local MODNAME = "Ackis Recipe List" +local addon = LibStub("AceAddon-3.0"):GetAddon(MODNAME) + +local GetNumTrainerServices = GetNumTrainerServices +local GetTrainerServiceInfo = GetTrainerServiceInfo +local IsTradeskillTrainer = IsTradeskillTrainer +local SetTrainerServiceTypeFilter = SetTrainerServiceTypeFilter +local GetTrainerServiceSkillReq = GetTrainerServiceSkillReq +local pairs = pairs + +-- Description: Parses a trainer, comparing skill levels internal to those on the trainer. + +--- API for external addons to get recipe database from ARL +-- @name AckisRecipeList:ScanSkillLevelData +-- @return Does a comparison of the information in your internal ARL database, and those items which are availible on the trainer. Compares the skill levels between the two. +function addon:ScanSkillLevelData() + + if (IsTradeskillTrainer()) then + SetTrainerServiceTypeFilter("available", 1) + SetTrainerServiceTypeFilter("unavailable", 1) + SetTrainerServiceTypeFilter("used", 1) + local t = {} + for i=1,GetNumTrainerServices(),1 do + local name = GetTrainerServiceInfo(i) + local _,skilllevel = GetTrainerServiceSkillReq(i) + if not skilllevel then + skilllevel = 0 + end + t[name] = skilllevel + end + local recipelist = addon:GetRecipeTable() + for i in pairs(recipelist) do + local i_name = recipelist[i]["Name"] + if (t[i_name]) and (t[i_name] ~= recipelist[i]["Level"]) then + self:Print("DEBUG: Recipe level different! Name: " .. i_name .. " Internal Level: " .. recipelist[i]["Level"] .. " External Level: " .. t[i_name]) + end + end + else + self:Print("This can only be used for a trade skill trainer. Dumbass.") + end + +end -- 1.7.9.5