Get an Epic Experience with Premium

Grail

Quests & Leveling Login to Add Favorites
  • 19 Likes
  • World of Warcraft
  • 24,219 Monthly Downloads
  • Supports: 6.0.2
  • 286,682 Total Downloads
  • Updated 10/19/2014
  • Created 01/25/2011
  • 262 Favorites
  • Project Site
  • Release Type: Release
  • License: BSD License
  • Newest File: 065
or

About Grail

Grail is a library of quest information designed to provide that quest information to other addons to make their decision processing easier. For example, an addon like EveryQuest or TourGuide would be able to make use of Grail's knowledge to determine if a quest has been completed, whether the character can obtain a quest, what reasons the character cannot obtain a quest (lack of level, wrong race, wrong class, not enough reputation, has not completed a prerequisite quest, etc.), the location to obtain or turn in a quest, the amount of reputation awarded from completing a quest, whether a quest counts towards an achievement, etc.

Starting with version 029, Grail's achievement and reputation gained information are separated into two loadable on demand addons included in the package.

Please make comments on Grail in the Grail forum or create a ticket if you find problems.

Prereleases can be found on the official Prerelease Page for those interested.

Making Grail better

As a user of Grail plays WoW, Grail's internal database is checked as a player accepts and turns in quests. If Grail has incorrect data, it will record the actual data the player has found in the Grail saved variables file. This file can be used to update Grail for future releases if you choose to provide this information (in a ticket for example). As the Grail database becomes more accurate, the Grail saved variables file will have any previously found discrepencies removed. The Grail saved variables file can be found in your WoW directory/WTF/Account/account name/SavedVariables directory with the name Grail.lua.

If you are using WoW in a locale other than enUS, you can help provide up-to-date localized NPC names by issuing the slash command /grail verifynpcs at some point while playing. This will record into the Grail saved variables file the localized names of NPCs you have encountered for which Grail does not have the proper name.

Using the slash command /grail help lists all the options Grail has.

065
   Updates some quest/NPC information.
   Corrects a problem where First Aid quests were not being put into their own "zone" properly.
   Adds the ability to complete quests when gossiping with an NPC.
   Changes internal processing of qualified NPCs to stop evaluating at the first match (allows Fiona's Caravan locations to be accurate).
   Changes use of GetQuestLogTitle(), and a lot more Blizzard API to handle WoD changes.
   Corrects the problem where tracking quest acceptance, abandoning and completion was not set up properly based on saved preferences.
   Splits out NPC names into separate localized files because Blizzard can no longer handle them in one.
   Changes the Interface to 60000.

065PR15
   Handles the change in Blizzard's UnitGUID() in WoD beta 18898.

065PR14
   Updates more quest/NPC information, primarily for WoD beta.
   Corrects a problem where continent information would make working on non-beta problematic.

065PR13
   Updates more quest/NPC information, primarily for WoD beta.

065PR12
   Changes use of GetQuestLogTitle(), and a lot more Blizzard API to handle WoD changes.
   Corrects the problem where tracking quest acceptance, abandoning and completion was not set up properly based on saved preferences.

065PR1
   Updates some quest/NPC information
   Corrects a problem where First Aid quests were not being put into their own "zone" properly.
   Adds the ability to complete quests when gossiping with an NPC.
   Changed internal processing of qualified NPCs to stop evaluating at the first match (allows Fiona's Caravan locations to be accurate).

064
   Updates some quest/NPC information.
   Corrects prerequisite evaluation when analyzing more than one path that have different results (like Alliance vs Horde both leading to the same quest).
   Speeds up prerequisite tree analysis.

063
   Updates some quest/NPC information.
   Unified the reputation requirements into the prerequisite codes.
   Allows A: and T: codes to work in conjuction (additive) with the faction-specific versions.
   Allows AZ: codes to have more than one map area.

062
   Corrects a problem where quests with First Aid prerequisites would cause a Lua error.

061
   Updates some quest/NPC information.
   Added the ability for prerequisite evaluation to only check profession requirements.
   Corrected the evaluation of ancestor failures to properly propagate past the first level of quest failure.

060
   Updates some quest/NPC information.
   Updates the issue recording system to provide a little more accurate information to make processing saved variables files easier.

059
   Caches the results obtained from ItemPresent() to make quest status updates faster, invalidating the cache as appropriate.
   Updates some quest/NPC information.
   Changes the NPC IDs used to represent spells that summon pets to remove a conflict with actual items.
   Changes some of the internal structures used to save some memory.
   Corrects an issue where the Loremaster quest data for Pandaria was not populating an internal structure properly (causing Loremaster not to display map pins).
   Updates _QuestsInLog() to work better when various headings are closed in the Blizzard quest log.

058
   Augments ClassificationOfQuestCode() to return 'K' for weekly quests.
   Updates some quest/NPC information.
   Makes handling LOOT_CLOSED not be so noisy with chat spam.
   Makes processing the UNIT_QUEST_LOG_CHANGED event delayed by 0.5 seconds to allow walking through the Blizzard quest log using GetQuestLogTitle() to work better.

057
   Corrects some issues stemming from new repuation information.
   Adds some localizations of quest/NPC names.

056
   Updates some quest/NPC information.
   Fixes a variable leak that causes problems determining prerequisite information.

055
   Updates some quest/NPC information.
   Fixes an infinite loop issue when evaluating data in the Valley of the Four Winds.
   Fixes a Lua issue that manifests when Dugi guides are loaded, because Grail was incorrectly using a variable that Dugi guides leaks into the global namespace.
   Caches the results obtained from _QuestsInLog() to make quest status updates faster, invalidating the cache as appropriate.
   Fixes a rare error caused when cleaning the database of reputation data evident by an "unfinished capture" error message.
   Adds the ability to treat the chests on the Timeless Isle as quests.
   Adds the slash command "/grail loot" to control whether the LOOT_CLOSED event is monitored as that is used to handle Timeless Isle chests.
   Makes persistent the settings for the slash commands "/grail tracking" and "/grail debug".
   Makes CanAcceptQuest() not return true if the quest is obsolete or pending.

054
   Updates some quest/NPC information.
   Incorporates prereqisite population API originally written in Wholly.
   Fills out the Pandaria "loremaster" achievements to include all the prerequisite quests for each sub achievement quest.

053
   Updates some quest/NPC information.
   Corrects an error that would cause an infinite loop in evaluating data in Ashenvale for quest 31815, Zonya the Sadist.

052
   Updates some quest/NPC information.
   Adds some Wrathion achievements.
   Moves some achievements into continents that are a little more logical.
   Separates some achievements to give a little finer-grain control.
   Updates some zhCN localizations.

051
   Adds Midsummer quests for Pandaria.
   Updates some quest/NPC information not associated with Midsummer.
   Changes _CleanDatabase() to better handle NPCs that have prerequisites.
   Corrects a problem where questReputations was not initialized when reputation data was not loaded.
   Adds the ability to have an equipped iLvl be used as a prerequisite.

050
   Corrects a problem with QuestPrerequisites() and nil data.

049
   Changes the Interface to 50300 for the 5.3.0 Blizzard release.
   Updates some quest/NPC information, primarily with the Isle of Thunder.
   Adds a new loadable addon, Grail-When, that records when quests are completed.
   Adds a flag to QuestPrerequisites(), allowing the lack of flag to cause the behavior to return to what it was previously, and with the flag the newer behavior.

048
   Makes it so choosing PvE or PvP for the day on Isle of Thunder is handled well.
   Adds IsQuestObsolete() and IsQuestPending() which use the new Z and E quests codes that can be present.  If either returns true, the quest is not available in the current Blizzard client.
   Adds support for the new way reputation information is being stored.
   Converts prerequisite information storage to no longer use tables, saving about 1.0 MB of space.

Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

Line Your Pockets: Steam Wallet Giveaway