The Legendary Quest
The Legendary Quest is a tool to plan your legendary weapon in Guild Wars 2.
It provides information both about the crafting process, in the form of a crafting tree,
and about the costs, giving you both a list of the items still needed and a breakdown of the
different currencies you need to get them.
How to use it
You can directly head to the website in order to use it.
There you can choose your legendary, whether you want trading post costs to be computed as "buy now" or "buy order",
and optionally put an API key in order to access your bank content, and take it into consideration
for the cost computation.
After the program has finished querying the ANet services, you will get your result
below.
Technical aspects
If you want to contribute, you may be interested in some technical aspects.
The program is completely contained in a single web page. Every computation is client-side, and takes advantage
of the Guild Wars 2 API to query for various data (recipes, bank/material
contents, inventory contents, ...).
The build infrastructure is based on npm and Grunt.
Setup a development environment
In order to setup a functional development environment, the following steps are needed:
- Produce your local branch of TheLegendaryQuest repository (through the GitHub program or any other git tool)
- Download and install npm
- Run
npm install
(this installs grunt and the various libraries needed)
- Run
./node_modules/.bin/grunt develop
(for *unix systems) or .\node_modules\.bin\grunt develop
(for windows systems)
- Now run a webserver that serves the contents of the development directory; I use the super-easy Mongoose
- Go to
<http root address>/src/origin-index.html
- Start making changes and improvements
- When you're happy with that, produce a pull request and send it to my repository, so that it can be integrated!
Changelog
- Added the recipe for Nightfury, Blessed Shoulders of the Swag Seeker.
- Many named exotic weapons and other items have been included (#20)
- Currencies are now correctly considered (dungeon tokens, gold, spirit shards, ...) (#31)
- Crafting disciplines: now all the crafting disciplines needed for crafting the (missing) items are displayed, alongside with the
characters possessing that discipline nearest to the needed level (#25, #38)
- All the choices for the input selectors are now remembered, instead of just the one for the weapon (#35)
- Equipped items are now correctly considered (#28)
- Recipes are now collected and displayed at the root node, instead of repeating them through all the nodes needing them (#37)
- The crafting expansion of a node is no longer considered if an item is cheaper to buy than to craft (#27)
- Some aesthetic and functional animations have been added (they will not be displayed if the browser does not fully
support CSS3 animations) (#26)
- API calls are now stored in the web storage, allowing for fewer calls upon closing and reopening the application (#24)
- Various label corrections and renamings (#39, #29)
- Internal refactoring of code: all hail angular-gw2-api!
- Complete rework of the UX regarding the crafting tree; it now includes the crafting cost, the trading post cost,
a percentage completion bar, links to the wiki, gw2spidy and gw2shinies, and it uses a vertical expansion
(#1, #6,
#9, #11,
#18)
- Added a feedback wheel while loading the contents (#2)
- The API key is now saved in the browser and automatically loaded upon opening (#10)
- Added an explanation about what an API key is and how it is created (#12)
- Added a favicon (#14)
- Fixed a missing recipe (#19)
- Fractional costs are no longer displayed (#21)
- Improved error reporting when ANet API breaks (#22)
- Possibility to see the crafting tree without considering any bank content (#23)
- Fixed a bug which prevented the correct computation of materials in the character inventories if a bag slot had no bag in it.
- All the legendaries are included (#7)
- Not only the bank, but character inventories are inspected too, if the API key has the "characters" scope (#5)
- The whole interface is displayed in English, regardless of your browser settings (no more German or French item names) (#4)
- Slightly improved mobile support (#8)
- Recipe costs are now included (#13) - it's not possible (yet) to know the recipe unlocks on your characters, so the recipe costs are always included
- The costs section computation algorithm has been fixed, and should now report the correct amounts (and total costs) (thanks /u/BaelMadeMeMakeThis!)
- Other minor changes are:
- Removed console.* debug messages that could mess up some browsers.
- Changed the TP labels
- Moved some JS libraries under Grunt management