AckisRecipeList provides an interface for scanning professions for missing recipes.
There are a set of functions which allow you make use of the ARL database outside of ARL.
ARL supports all professions currently in World of Warcraft 3.2
AckisRecipeList:AddRecipeData(profession)
API for external addons to initialize the recipe database with a specific profession
Parameters
- profession
- Spell ID of the profession which you want to populate the database with.
Return value
Boolean indicating if the operation was successful. The recipe database will be populated with appropriate data.
Usage
AckisRecipeList:AddRecipeData(GetSpellInfo(51304))
AckisRecipeList:GetRecipeData(spellID)
API for external addons to get recipe information from ARL
Parameters
- spellID
- The spell ID of the recipe you want information about.
Return value
Table containing all spell ID information or nil if it's not found.
AckisRecipeList:InitRecipeData()
API for external addons to initialize the recipe database
Return values
- Boolean indicating if the operation was successful. The recipe database will be populated with appropriate data.
- Arrays containing the RecipeList, MobList, TrainerList, VendorList, QuestList, ReputationList, SeasonalList.
Usage
AckisRecipeList:InitRecipeData()
AckisRecipeList:Scan(textdump)
Causes a scan of the tradeskill to be conducted.
Function called when the scan button is clicked. Parses recipes and displays output
Parameters
- textdump
- Boolean indicating if we want the output to be a text dump, or if we want to use the ARL GUI.
Return value
A frame with either the text dump, or the ARL frame.
Usage
AckisRecipeList:Scan(true)
AckisRecipeList:addTradeFlags(RecipeDB, SpellID, ...)
Adds filtering flags to a specific tradeskill.
Parameters
- RecipeDB
- The database (array) which you wish to add flags too.
- SpellID
- The Spell ID of the recipe which flags are being added to.
- ...
- A listing of filtering flags. See database-documentation for a listing of filtering flags.
Return value
None, array is passed as a reference.
Usage
AckisRecipeList:addTradeFlags(RecipeDB,2329,1,2,3,21,22,23,24,25,26,27,28,29,30,36,41,51,52)
AckisRecipeList:addTradeSkill(RecipeDB, SpellID, SkillLevel, ItemID, Rarity, Profession, Specialty, Game, Orange, Yellow, Green, Grey)
Adds a tradeskill recipe into the specified recipe database.
Parameters
- RecipeDB
- The database (array) which you wish to add data too.
- SpellID
- The Spell ID of the recipe being added to the database.
- SkillLevel
- The skill level at which the recipe may be learned.
- ItemID
- The Item ID that is created by the recipe, or nil
- Rarity
- The rarity of the recipe.
- Profession
- The profession ID that uses the recipe. See database-documentation for a listing of profession IDs.
- Specialty
- The specialty that uses the recipe (ie: goblin engineering) or nil or blank
- Game
- Game version recipe was found in, for example, Original, BC, or Wrath.
- Orange
- Level at which recipe is considered orange.
- Yellow
- Level at which recipe is considered yellow.
- Green
- Level at which recipe is considered green.
- Grey
- Level at which recipe is considered grey.
Return value
None, array is passed as a reference.
Usage
AckisRecipeList:addTradeSkill(RecipeDB,2329,1,2454,1,2259,0,1,55,75,95)
GetIDFromLink(SpellLink)
Obtains a spell ID from a spell link.
This source code is release under Public Domain
Parameters
- SpellLink
GetKnownProfessions(ProfTable)
Scans first 25 spellbook slots to identify all applicable professions
Parameters
- ProfTable
InitPlayerData()
Initializes and adds data relavent to the player character
InitializeRecipes(RecipeDB, playerProfession)
Determines which profession we are dealing with and loads up the recipe information for it.
Parameters
- RecipeDB
- playerProfession
PopulateRepFilters(RepTable)
Creates an array of which factions we want to include in our display and which ones to ignore
Parameters
- RepTable
ResetKnown(RecipeDB)
Resets the known flag to false for all the recipes in the database.
Parameters
- RecipeDB
addon:ChatCommand(input)
Determines what to do when the slash command is called.
Parameters
- input
addon:CheckDisplayRecipe(Recipe, AllSpecialtiesTable, playerProfessionLevel, playerProfession, playerSpecialty, playerFaction, playerClass)
Scans a specific recipe to determine if it is to be displayed or not.
Parameters
- Recipe
- AllSpecialtiesTable
- playerProfessionLevel
- playerProfession
- playerSpecialty
- playerFaction
- playerClass
addon:ClearSavedSkills()
Clears all saved tradeskills
addon:CloseTradeWindow()
Toggles the flag that a trade window is opened
addon:DumpRecipe(SpellID)
Dumps all the info about a recipe out to chat
Parameters
- SpellID
addon:GetExclusions(RecipeDB, prof)
Marks all exclusions in the recipe database to not be displayed
Parameters
- RecipeDB
- prof
addon:GetFactionLevels(RepTable)
Scans all reputations to get reputation levels to determine if the player can learn a reputation recipe
Parameters
- RepTable
addon:GetRecipeLocations(SpellID)
Determines all the locations a given recipe can be obtained
Parameters
- SpellID
addon:GetTextDump(RecipeDB, profession)
Scans through the recipe database providing a string of comma separated values for all recipe information
Parameters
- RecipeDB
- profession
addon:InitDatabases()
Initializes all the recipe databases to their initial
addon:OnDisable()
Run when the addon is disabled.
Ace3 takes care of unregistering events, etc.
addon:OnEnable()
Function run when the addon is enabled.
Registers events and pre-loads certain variables.
addon:OnInitialize()
Initialization functions
addon:ResetSearch(RecipeDB)
Goes through the recipe database and resets all the search flags
Parameters
- RecipeDB
addon:ScanForKnownRecipes(RecipeDB, playerData)
Scans the recipe listing and marks known recipes as true in the database
Parameters
- RecipeDB
- playerData
addon:SearchRecipeDB(RecipeDB, searchstring)
Scans through the recipe database and toggles the flag on if the item is in the search criteria
Parameters
- RecipeDB
- searchstring
addon:SetRepDB()
Updates the reputation table.
This only happens more seldom so I'm not worried about efficiency
addon:TRAINER_SHOW()
Event used for datamining when a trainer is shown.
addon:ToggleExcludeRecipe(SpellID)
Removes or adds a recipe to the exclusion list.
Parameters
- SpellID
addon:UpdateFilters(RecipeDB, AllSpecialtiesTable, playerData)
Scans the recipe listing and updates the filters according to user preferences
Parameters
- RecipeDB
- AllSpecialtiesTable
- playerData
addon:ViewExclusionList()
Prints all the ID's in the exclusion list out into chat.
playerData
- known_filtered
- Total number of items known filtered during the scan.
- playerFaction
- Players faction
- playerClass
- Players class
Facts
- Date created
- 15 Jan 2009
- Last updated
- 10 Oct 2009