Keeps track of the location of class and profession trainers, as well as the level requirements and cost of the skills they teach. Conceived as the spiritual successor to FuBar_TrainerFu.
What's done so far:
- Store information about skills when opening a trainer windows (level requirement, rank requirement, base cost and reputation). Both profession and class trainer are supported
- Store information about trainers (name, location, reputation)
- Store information about the skills known by the current character when opening the trainer and the craft windows
- Display the number of learnable skill and the cheapest cost to learn those skills on the data broker display
- Display the list of learnable skills with the cheapest cost to learn them in the data broker tooltip
- Display the Professions skills that can be learned in the next 25 skill ranks
- Display the Class skills that can be learned in the next 5 levels
- Display the unspent talent points for primary and secondary talent specs
- Display a tooltip with the details about a skill when moussing over it in the list
- Syllabus can pretty much detect everything your character know just by inspecting the spell book and by scanning the Trade Craft windows when you open it.
- Display a tooltip with trainers' information about a skill when moussing over it in the list. You need to click on the line to toggle between skill details and trainer details.
- Option to set the level and skill rank to look ahead (instead of the 4 and 10 defaults)
- Option to filter out skill that have a base cost higher then a certain amount (default is no filter)
- Option to display the cheapest or base cost for the broker (default cheapest)
- Option not to display certain professions
- Option not to display the class skills
- NPC ID are now save for the trainers
Syllabus starts with no data. You need to visit trainers in order for it to learn stuff and display the information you want.
Cheapest cost is based on the reputation of the trainers and the reputations of the character. If a skill can be learned from Storm Wind and Iron Forge and the character is friendly with Iron Forge and Honored with Storm Wind, the cost for that skill will be marked with 10% discount.
- There is no way for Syllabus to detect that a character knows how to dual wield without visiting the class trainer.
To Do list:
Find a way to deal with requirement other then the level or the skill rank (ex. Engineering Specialization) Display Trainer information (with function to point to the closest and/or cheapest trainer) Displaying unspent talent points
- Include a precompile database
Deal with the mount trainer Option Interface(BTW, I hate doing options and I suck at it) Localization (the code to allow it is not there yet) More option to control the display (show already learned, show reputation, allow to hide lines, etc.)
How can you help?
- Be patient
- Use the tracker to report bugs
- Use the tracker to request features
- At some point, help will be needed to build the database but not quite yet.
- Localization when the code for it is included
- Any advice to make the code better is welcome
- Be patient
A thread for Syllabus has been started here.
2012-07-31 18:29:51 -0400
Release time, any other changes will happen for Mists and not before.
- Erase the trainer and skill information when the 5.0.x client is detected for the first time.
- French and Chinese localization for the TOC notes
- Comment out the Database.lua file for now. I don't have time to work keeping it up to date and dealing with localization of the trainers for now. In any case, it should probably be a separate module that people get to load only when they want to initialize the database.
- Removed a trainer that no longer exist
- Fix for missing functions in MoP
- Ticket #36: Bartering doesn't change the price of training fixed. Each type of class and profession trainer will need to be revisited once one only one toon to fix the database data. In short, the cost of training will probably be off until the next time to visit the trainer.
- Change the way profile are selected for new account/toon as suggester by Daedhir (http://forums.wowace.com/showthread.php?t=19815)
- TOC bump
- Add code to get more information about the error from ticket #35 that I cannot reproduce.
- Fixed a problem with requirements being displayed as number.
- Ticket #34: Allow the user to choose what is displayed in the data broker when there is nothing to learn
- Test function for getting the localize name of the trainer. Only works when the trainer is in the cache unfortunately.
- TOC Bump
- Add Bartering to the GetBaseCost and GetRealCost calculation. Attempt to fix the rounding errors in GetBaseCost. Floor == 0 is no longer stored so save a bit of memory. Refreshed the data for Syllabus:AppendDefaultDatabase(), still only valid for the English version of the game.
- Correction to the TOC to fix ticket #33. Thanks to Zidomo.
- Make the trainer tooltip hide when displaying the talent tooltip.
- Add the optional dependency for LibMapData-1.0
- Fix case for LibMapData-1.0 in .pkgmeta.
- Changed the SaveTrainer to get the map_id and floor. Extrapolate missing data from other entries and from the zone name.
- Use LibMapData to get the zone name from the map_id.
- Save the map_id and floor for the trainers.
- Had reference to LibDataMap. Start removing some useless variables I gathered for debugging.
James D. Callahan III:
- String concatenation in a loop makes kittens eat puppies.
- Add talent to learn to the total. Spec that is missing talent points count for one no matter who many talent points are actually missing.
- Even less calling from the global name space.
- Fix a typo in TomTom:AddMFWaypoint() calls.
- Add an event to catch if talent have just been spent. Fix a type with Unspent Talents option. Do not display in LDB if Never is selected for Talents.
- Fix unspent talent and add configuration for them. New strings to localize.
- Add Unspent Talents
- Fix ticket#32 - Skillup Recipes not being saved between sessions. Trainer information was not save after first login, only start saving after second login.
- Removed all the LibQTip workarounds that were not required
- Fix ticket #31 - Ackis Recipe List tooltip font size option affects Syllabus tooltip font size. Stop using CopyFontObject did the trick.
- Tye the "do not use CopyFontObject()" workaround
- Trying the AddLine("X", "X", "X") workaround.
- Add code to debug tooltip font problem. Force release all tooltips before acquiring a new one.
- Fix a problem with texture that were not saved when visiting a trainer
- Save GetCurrentMapAreaID() and GetCurrentMapDungeonLevel() for trainers. Use it if present instead of zone_id and continent_id to set the TomTom arrow.
- TOC bump to 40100
- Ticket #29 - Error when reloading UI. I added some code to hopefully prevent the error.
- Attempt to fix ticket #28: the path for the local copy of LibStub is Libs\LibStub\LibStub.lua
- Fix an issue with TomTom integration.
- Fix the data for the Killshades. Now only the Killshades that an Engineer can eventually learn will be displayed. Removal all code that change font size in LibQTip as a workaround for the bug with SetFont.
- Fix ticket #27 - Cannot load LibBabble-Faction-3.0
- Some more work on the Syllabus:Save() function. First compiled data, use at your own risk.
- Possible fix to ticket #26 - Errors on log in with no SaveVariables file
- Add the Database.lua file to the rep (doh!). Add LibBabble-Faction-3.0 for dealing with localize versions of the reputation string.
- Attempt to solve ticket #25: Unknown zone: Gilneas during conversion
- Removed embeds.xml Move LibStub in the @no-lib-strip@. Removed the hard-embeded copy of LibStub added it to .pkgmeta. Moved LibDataBroker outside the @no-lib-strip@.
- Move the database import and export functions in a separate file.
- List findglobals in the tools used
- Database version 0.8: drop the icon texture when it's the same as the spell for the skill. New function to deal with the localization of profession names. Syllabus:Save() that invokes Syllabus:SaveTrainers() and Syllabus:SaveSpells().
- Added some tailor and first aid abilities in IS_ABILITY. Require abilities are converted to spell_id to avoid localization. Do not save the texture if equal to GetSpellTexture(). More testing functions.
- First extracted list of trainers, only work for English locale
- Database version 0.7: remove the zone names. Add test trainer extract and fix functions
- Use the zone name from GetMapZones() instead of the ones in the database.
- Database version 0.6: convert trainers that have ID to use ID as index. Convert all the references to those trainers.
- When a trainer is visited, convert the trainer index to the ID in the database.
- Attention: this commit includes a database conversion that will reduce the size of the Syllabus save file but will also be irreversible. Please backup the Syllabus.lua file located in your WTF\Account\<Account Name>\SaveVariables before running the new version for the first time.
- Add level 525 Engineering Head pieces
- Fix issue with faction flag not saved when visiting a trainer
- Remove instance of type everywhere in order to avoid confusion with the type() function.
- Fix the skill and trainer display for classes. Trainers NPC ID are now saved. The database convertion to data version 0.5 is enabled. BACKUP YOUR SAVEVARIABLES.
- The recorder, tooltip and databroker user the new skills database format.
- Data conversion: create the new skills section
- Added SetMapToCurrentZone() before gathering zone data to be sure the correct data are gathered.
- Added missing exception Wonderheal XT40 Shades for Engineering
- Implement "Best Deal Anywhere" for Goblins. Dry coded, not fully tested.
- Added Archeology and Illustrious spells to the IMPLIED_SKILLS table.
- Added Illustrious Miner. This one was causing a bug. I'll add the others latter.
- Added code to keep old coordinate values if GetPlayerMapPosition() returns 0,0
- Added debugging code for the trainers
- Fix an issue with spell_id being saved as string in the known_db
- Renamed SHARED_SKILLS to RIDING_SKILLS
- Added an option to filter Riding skills.
- Fix Riding problem.
- Remove the known entries that have strings. Remove the skill that do not have spell_id.
- Added racial exceptions. For now, it's only the Paladin mounts that are different if the toon is a Tauren.
- Add Flight Form => Expert Riding to the Implied spell list. Also create SetKnownSkill to deal with skill we gain that have implied skills.
- The patch was not labeled 4.0.3a. I changed to build detection for the clearup of Azaroth trainers.
- Convert the database to move trainers out of the skills. Code to reset the Azaroth trainers when 4.0.3a is active in place. Backup of the SaveVariables is recommended.
James D. Callahan III:
- More reorganization.
- Changed GetCheapestCost() to handle a single parameter (the skill itself) and renamed it to GetCheapestSkillCost().
- Changed the execution order for some code in ShowTooltip().
- Fixed SortTrainers and put the sorts outside the ShowTooltip function so that they are not created every time ShowTooltip is called.
- Properly deal with Mechanized Snow Goggles
James D. Callahan III:
- Minor syntax cleanup.
- Don't create a sort function every time ShowTrainerTooltip() is called.
- Make HEADER_FONT distinct from the other fonts.
- Ticket #13 - Option to filter out professions
- Regenerate the package with the new localization strings.
- Ticket #12 - Option to filter skills that cost more then x g
- Ticket #11 - Remove the support for name based skill in db.char.known
- Adjust the skill and trainer tooltips a bit toward the top of the screen to make it easier to mouse from the main tooltip.
- Added an instruction string to both tooltips.
- The TomTom arrow is set when a trainer is click
- New autohide code in place and working.
- Save the continent and zone id for the trainer. This will be need for the arrow.
- Colour the trainers according to the reputation from Green to Red.
- Trainers are sorted by reputation, then zone, then name. The cost per reputation is displayed. Most of the heavy lifting is done I think; all that remains are extra options and better colours.graphics
- Fix some global leakage and added missing _G.
- Some trainers' information is displayed.
- Add the missing Plate Mail skill to IMPLIED_SKILLS.
- Toggle code in. Now using the index to skill. Trainer tooltip display and anchor code in.
- Changed the credits. Clean-up and preparation work for the Trainer Tooltips.
- Tested as far as I could. Everything should there. I will remove the support for the name based known skills and abilities next push. right now, there is a mix mode that will use the data if it's there but will save any new data with in db.char.known with spell_id only.
- Transfer to SpellID: added and tested Tailoring, Enchanting, Inscription, Herbalism, Rogue, Priest, Warlock
- Switch to spell_id done and tested for Jowelcrafting, Mining, Cooking, Fishing and First Aid.
James D. Callahan III:
- Changed KnowAbility() to IsKnownAbility()
- Changed "expression == nil" to "not expression"
- SpellID available everywhere!
- The ability exception are ignored if the toon knows that ability.
- Added Ability exception for Gnomish and Goblin Engineer. Abilities in the exception list are filters out i.e. if you are not a Gnomish Engineer, you will not see any skills that require to be a Gnomish Engineer.
- Detect spells in the Tradeskills windows
- Forgot to import the new localization strings before pushing. Pushing again to regenerate the package.
- Only spam the trainer information when using in dev mode.
- Added ability requirement display for the missing abilities. This is not quite fun with the Engineers. I've also added an option so that the missing requirements can be turned off.
- Allow to share some skills that are not tradeskills between all classes. For now, only the riding skills are included. The database format is getting uglier with every changes, I'll need to clean that up soonish.
- Display the requires tag instead of just hiding the line
- Use the string's format() method (bis)
- Remove trailing spaces
- Now detects tracking spells for Druid and Hunter using texture comparison
- Scan the Spellbook to find nearly all the class related skills.
- Use profile since they were implemented... Doh...
- Use GetSpellBookItemInfo during initialization to detect some of the skills known.
James D. Callahan III:
- Use the string's format() method instead of string.format(string-instance, etc)
- Minor syntax adjustments.
- Herbalism is Spell ID 9134 - nuke the manual localization (and re-tab the locale template).
- Re-formatted MY_TITLE for easier readability.
- Clean the SaveVariables before logging out
James D. Callahan III:
- Removed extraneous trailing whitespace.
- Use IsSpellKnown() to collect initial information about class skills that are known by a toon
- Fix trainer initial scrolling. Clean-up localization.
- Your globals are my locals
- Fix the version string for the option panel
- Touch because I forgot to import the new localization strings before the last push and I need to regenerate the package.
- Added a way to identify armor crafting skills that are not available to all classes (it works by main armor type for the class)
- Really fix ticket #8
James D. Callahan III:
- Minor cleanups.
- Fixed leaked global functions.
- Version string fix.
- Fix ticket #8
- More .pkgmeta and library fixes
- Try to fix .pkgmeta
- Fix the additional requirements that were ignored by the display.
- Tooltip placement solve
- Fix Reputataiion typo. Create a local tooltip for the skill.
- Options panel works. Basic options were implemented.
- Base option dialog can be displayed
- Anchor to line instead of GetMouseFoucus()
- Add OnLeave to hide the Spell tooltips
- Get SpellIDs from trainers and display a tooltip with when mousing over the items in the main tooltip.
- - Profile callbacks
- Use Gold instead of Yellow
- General framework for the options panel
- Hard embed LibStub.lua
- Added LibStub to .pkgmeta
- X-Credits: Thanks to Freydis88 for deDE and next96 for koKR localizations.
- Another colour code typo
- Add .pkgmeta file
- Set the embeds.xml file with the libraries we use
- Fixed a typo for some colour escape code
- Fixed typo
- Localizes all the phrases used in Syllabus
- Use the ... parameter for the name of the addon in all the localization files
- Fix an issue with the DK trainers having only three lines in their tooltips
Played with the format and colours of the tooltip display a bit
- - First Git commit, let's see how it works - Very early alpha, see the site for details
James D. Callahan III:
- In TRAINER_SHOW: Added storing of whether or not requirements are met...and did so long enough ago that I no longer remember why.
- Replaced skill_ranks with MY_PROFESSIONS.
- Replaced TRADE_SKILL_CLOSE with TRADE_SKILL_SHOW.
- Added preliminary LDB support. Put in check to not save automatic skills (armor types per class, for example). Check for tradeskill trainer - if not for a tradeskill the toon knows, don't save info.
- Revamped initial database and added saving of category/skill information - may change format in the future.
- Fixed the preservation of trainer filter preferences, and changed the trainer information to not use a single table - it was duplicating data for all trainers.
- Removed TRAINER_CLOSED() - all trainer-related code is now in TRAINER_SHOW(). Added check in TRADE_SKILL_CLOSE() so we aren't saving linked trade skill information as though it were our own.
- Basic skeletal code structure.
|File Name||Release Type||Game Version||Downloads||Date|
- 1,513,740 Monthly Downloads
- Deadly Boss Mods
- Combat, PvP, and Boss Encounters
- 1,497,903 Monthly Downloads
- Plugins, Achievements, and Map & Minimap
- 628,483 Monthly Downloads
- 550,979 Monthly Downloads
- Titan Panel
- Plugins and Titan Panel
- 455,970 Monthly Downloads