Ackis Recipe List

API

r34

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

  1. Boolean indicating if the operation was successful. The recipe database will be populated with appropriate data.
  2. 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)


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


Table of contents

  1. 1 AckisRecipeList:AddRecipeData(profession)
    1. 1.1 Parameters
    2. 1.2 Return value
    3. 1.3 Usage
  2. 2 AckisRecipeList:GetRecipeData(spellID)
    1. 2.1 Parameters
    2. 2.2 Return value
  3. 3 AckisRecipeList:InitRecipeData()
    1. 3.1 Return values
    2. 3.2 Usage
  4. 4 AckisRecipeList:Scan(textdump)
    1. 4.1 Parameters
    2. 4.2 Return value
    3. 4.3 Usage
  5. 5 AckisRecipeList:addTradeFlags(RecipeDB, SpellID, ...)
    1. 5.1 Parameters
    2. 5.2 Return value
    3. 5.3 Usage
  6. 6 AckisRecipeList:addTradeSkill(RecipeDB, SpellID, SkillLevel, ItemID, Rarity, Profession, Specialty, Game, Orange, Yellow, Green, Grey)
    1. 6.1 Parameters
    2. 6.2 Return value
    3. 6.3 Usage
  7. 7 GetIDFromLink(SpellLink)
    1. 7.1 Parameters
  8. 8 GetKnownProfessions(ProfTable)
    1. 8.1 Parameters
  9. 9 InitPlayerData()
  10. 10 InitializeRecipes(RecipeDB, playerProfession)
    1. 10.1 Parameters
  11. 11 PopulateRepFilters(RepTable)
    1. 11.1 Parameters
  12. 12 ResetKnown(RecipeDB)
    1. 12.1 Parameters
  13. 13 addon:ChatCommand(input)
    1. 13.1 Parameters
  14. 14 addon:CheckDisplayRecipe(Recipe, AllSpecialtiesTable, playerProfessionLevel, playerProfession, playerSpecialty, playerFaction, playerClass)
    1. 14.1 Parameters
  15. 15 addon:ClearSavedSkills()
  16. 16 addon:CloseTradeWindow()
  17. 17 addon:DumpRecipe(SpellID)
    1. 17.1 Parameters
  18. 18 addon:GetExclusions(RecipeDB, prof)
    1. 18.1 Parameters
  19. 19 addon:GetFactionLevels(RepTable)
    1. 19.1 Parameters
  20. 20 addon:GetRecipeLocations(SpellID)
    1. 20.1 Parameters
  21. 21 addon:GetTextDump(RecipeDB, profession)
    1. 21.1 Parameters
  22. 22 addon:InitDatabases()
  23. 23 addon:OnDisable()
  24. 24 addon:OnEnable()
  25. 25 addon:OnInitialize()
  26. 26 addon:ResetSearch(RecipeDB)
    1. 26.1 Parameters
  27. 27 addon:ScanForKnownRecipes(RecipeDB, playerData)
    1. 27.1 Parameters
  28. 28 addon:SearchRecipeDB(RecipeDB, searchstring)
    1. 28.1 Parameters
  29. 29 addon:SetRepDB()
  30. 30 addon:TRAINER_SHOW()
  31. 31 addon:ToggleExcludeRecipe(SpellID)
    1. 31.1 Parameters
  32. 32 addon:UpdateFilters(RecipeDB, AllSpecialtiesTable, playerData)
    1. 32.1 Parameters
  33. 33 addon:ViewExclusionList()
  34. 34 playerData

Facts

Date created
Oct 10, 2009