* Updated collection quest tests for no found items. Single-item quests state [user] found no [items]. instead of [user] found nothing. If a quest has two items, the chat message is [user] found no [item1] and no [item2]. * Collection quest messages changed from [user] found nothing to [user] found no [item] * Tests for no collection quest items found changed to [user] found 0 [item1], 0 [item2] * Changed chat messages for no found collection quest items to [user] found 0 [item1], 0 [item2] * Sort items alphabetically in multi-item quests so that it always returns the same string * Formatting updates to conform to test specifications (for collection quest progress reports with no items found * Simplified handling of items not found: any items not found are added to the list of found items with quantity 0 for reporting in the group chat. This also causes all items to appear, in the list, even if only one type is found in a multi-item quest. * Test the group chat message when no items are found in multi-item quests. Test succes no longer depends on the order items are listed.
Habitica

Habitica is an open source habit building program which treats your life like a Role Playing Game. Level up as you succeed, lose HP as you fail, earn money to buy weapons and armor.
We need more programmers! Your assistance will be greatly appreciated.
For an introduction to the technologies used and how the software is organized, refer to Contributing to Habitica - "Coders (Web & Mobile)" section.
To set up a local install of Habitica for development and testing, see Setting up Habitica Locally, which contains instructions for Windows, *nix / Mac OS, and Vagrant.
Then read Guidance for Blacksmiths for additional instructions and useful tips.
Debug Scripts
In the ./debug-scripts/ folder, there are a few files. Here's a sample:
grant-all-equipment.js
grant-all-mounts.js
grant-all-pets.js
You can run them by doing:
node debug-scripts/name-of-script.js
If there are more arguments required to make the script work, it will print out the usage and an explanation of what the script does.