This is a featured article!
This page was featured as part of the Wiki Wednesday series. Once a month, Habitica staff highlight a helpful post from the Wiki with tips about productivity, wellness, and optimizing your use of Habitica!
Quests allow players to focus on long-term, in-game goals through solo missions or with the members of their party.
Anyone can participate in a quest, no matter their level. In order to do so, however, the player must be in a party, even if it is a party of just one person and you are on a solo quest. Players need to obtain a quest scroll to start a quest. Ian the Quest Leader will appear when you read a quest scroll. The player who uses a scroll and invites their party to join the quest is called the quest owner. A party can only participate in one quest at a time, the only exception being when a Habitica-wide quest occurs and users on the entire site are engaged in a battle together.
Some quests can only be started by a player at a certain level, as some scrolls are dropped to players when they reach specific levels. Other quests have prerequisite quests that must be completed prior to the start of the next quest in the quest line. However, these restrictions only apply to the person starting the quest, and do not limit who may participate. Lower level players in a party, players who have not yet received the quest as a drop, and players who have missed prerequisite quests can still be invited to join a higher-level quest, so long as the quest is started by a party member who is eligible to initiate the quest.
There are two types of quests:
- In collection quests, players are able to collect special drops by completing tasks, which count toward a party-wide total goal.
- In boss battles, party members deal damage to an enemy by completing tasks, and take damage for the uncompleted Dailies of all quest participants, not just their own.
Obtaining a Quest ScrollEditSome quest scrolls can be bought from the Quest Shop for gems or gold. Others are given to players automatically at certain points, such as reaching a certain level or when a world event begins. Once obtained, scrolls of this type can also be repurchased in the Quest Shop or from the Seasonal Shop. There is also the Basi-List Quest, given to a player who invites another player to a party, after the second player accepts the invitation, and The Feral Dust Bunnies Quest, which is given to a player when they create their account. Quest scrolls associated with world events may be available for only a limited time. Once a quest scroll is in a player's inventory, however, it may be activated at any point.
Quest scrolls have icons and are color coded to help you decide what quest to purchase.
- Short boss quest = Green, Medium length boss quest = Yellow, long boss quest = Red
- Collection Quest = Blue
- Rage Bar boss = Purple speckles
- Each scroll either has an icon representing the fight or an egg if the reward includes a pet egg
You may also hover over the scroll to see more information, usually the health and strength of a boss or number of objects to be collected and the rewards for completing the scroll.
Quest scrolls are never given as random drops upon task completion, but there are ways to receive quests without purchasing them from the Seasonal Shop or Quest Shop.
Players receive certain quest scrolls as they reach specific levels. Currently, scrolls are dropped when a player reaches levels 15, 30, 40, 60, and whenever a player invites someone to their party and the invitation is accepted. If a new quest scroll is released that is given to players at a certain level, all players who have met or surpassed the requirement are automatically awarded the scroll upon its release. If a quest scroll automatically unlocks at a certain level, it gets re-dropped if you use an Orb of Rebirth and reach that level again.
In some cases, quest scrolls are given as quest rewards. Certain multi-part quests (such as the Vice quest line) give the quest owner the next scroll in the quest line as part of the quest rewards.
If a world event has started, you receive any quest scrolls associated with the world event (such as the Dilatory Derby quest).Some equipment quests (quests that give you items that boost your attributes) will be given to all players for free when they reach a certain level. Other equipment quests can be purchased for gold. In contrast, all pet quests (quests that give you eggs) will only be available for purchase with gems, to help support Habitica. These pets will not count towards the Beast Master achievement and are considered quest pets.
You can have an unlimited number of quest scrolls in your Inventory. Also, there is no limit on the number of times you can purchase an available quest scroll (see List of Quests table below) once you have reached the eligibility for it. This is especially useful for limited edition quest scrolls because you can buy several while they are still available. Limited edition quest scrolls do not expire.
Starting a QuestEdit
Beginning a Quest in a PartyEdit
There are two ways to select the quest scroll that you want to use for your party:
- click on the quest scroll in your quest inventory.
- click the green Start a Quest button in the sidebar of the Party page. This will open a separate popup showing all the quest scrolls in your inventory that you can select. Then you can click the quest scroll that you want.
Select the "Invite party" button in the pop-up. All party members will be given the opportunity to accept the quest, including those who join the party after invitations are sent but before the quest starts. To begin the quest, either:
- wait for all party members to accept the quest which automatically begins the quest
- in the Party screen under Options -> Social, select "Begin" in the quest window when the party is ready to start the quest.
If you are the only person in your party, your quest begins as soon as you start the quest, since there are no other party members to wait for acceptance replies from.
NOTE: Only members who have accepted the quest will be included. Once you have clicked "Begin," no more party members will be able to join the quest! Non-participants will not be able to start a quest until the current quest is completed and can only join if the entire quest is aborted by the quest owner.
Once all of the participants have accepted, or the quest owner has clicked the "Begin" button, the quest will start. This is when quest scroll is consumed and thus removed from the quest owner's inventory. If you have signed up for email notifications, you will receive an email when the quest has started, but there is no in-game notification. To find out if it has started, use your browser's refresh button to reload the party page.
Canceling a Quest Before It BeginsEdit
There is a "Cancel" button next to the "Begin" button. The quest owner can use this before the quest starts if they change their mind or if the party asks that a different quest be started.
Accidentally Rejecting a Quest InvitationEdit
There is no way to undo an accidentally rejected a quest invitation. You can ask the person who started the quest to cancel or abort it and send out invitations again (canceling or aborting the quest returns the quest scroll back to their inventory for reuse).
Joining a Quest Started by Another Party MemberEdit
If you receive a quest notification when you didn't start the quest or you receive an email notifying you that your party is beginning a quest, you can check your party list to see who the owner is. The name of the person who invited the party is marked with an asterisk(*). If you're part of the quest, your name will appear in the list of quest participants when the quest begins and you should receive an email notifying you the quest has begun.
Quests Abandoned by or Without Quest OwnersEdit
If the person who invited you on the quest has been removed from the party, then nobody in the party is designated as the quest owner. In that case, the quest cannot be started unless all invited members accept or reject the invitation. If the original quest owner is invited back to the party and accepts that invitation, they will become the quest owner again and will be able to start or cancel the quest.
If the quest owner has stopped logging in to Habitica or refuses to cancel or start the quest, there is nothing that the party can do directly. One party member can post a request for assistance by clicking on the Help menu and then selecting "Report a Bug" (even though this is not a bug, it is acceptable to follow these instructions to ask for this kind of help).
Solo Questing While Still in PartyEdit
While still a member of a party, it is possible to complete a solo quest if other party members want to take a break from questing. Send the quest invitation, then click the Begin button before anyone responds. Be aware that the party can't start a new quest until you have finished your solo quest.
If the solo quest is taking too long and the party wants to resume questing, they can ask the solo quester to abort the quest.
Quest with only one Participant Prevents Party from Starting New QuestEdit
Sometimes one person in a party starts a quest without allowing fellow party members to join. This prevents the rest of the party from starting their own quest. If the quest initiator refuses to abort the quest after polite discussions and if it looks like the quest will take very many days to complete, the party can post a request for assistance by clicking on the Help menu and then selecting "Report a Bug" (even though this is not a bug, it is acceptable to follow these instructions to ask for this kind of help).
Consumption of Quest ScrollEdit
After starting a quest, the scroll you clicked on to begin the quest and send the invitation to your party members will be consumed and thus removed from your inventory. Note that the removal/consumption of the scroll only occurs after you start the quest, thus:
- the scroll remains in your inventory while still in the "invite phase"
- the scroll remains in your inventory if you cancel the quest before it begins
- the scroll will be removed after the quest begins, but will be refunded if the quest is aborted before it is ended/completed (reload your inventory page if you don't see it); see below for more information on Aborting a Quest
Completing a QuestEdit
Upon quest completion, each party member who accepted the quest and participated until the end will receive all of the quest rewards and an achievement badge noting completion of that quest. If there are other quests in the quest line, they will be unlocked for all players, but as of December 2016, only the quest leader will be given the next scroll if one is listed as a reward. Even quest participants who are Resting in the Inn when the quest finishes will receive all quest rewards so long as they are part of the quest.
Aborting a QuestEdit
The player who started the quest (the quest owner) is able to abort it by navigating to the party screen, scrolling to the bottom of the quest box, and pressing the "Abort" button. A warning message will appear asking for confirmation before the quest is aborted. The quest scroll will return to the player's inventory and can be used again without additional cost.
If the quest owner is removed from the party by the party leader, a new quest owner will not be assigned. In that case, the quest cannot be aborted, even if the original quest owner rejoins the party. If a quest needs to be aborted in this situation, one party member can post a request for assistance by clicking on the Help menu and then selecting "Report a Bug".
Boss QuestsEditA boss will appear in the party sidebar with HP. Completing To-Dos, Habits, or Dailies will cause damage to the boss, with damage proportional to the task's value, and modified further by the player's Strength. The Burst of Flames and Brutal Smash skills also deal damage to the boss. Players can visit the Data Display Tool or hover over the crosshair icon in the toolbar to see the damage that will be delivered to a boss.
A boss quest started at the end of the day will accrue damage to the boss for tasks accomplished and skills used on that day before the quest was started.
The boss will damage all quest participants if any participant has missed Dailies. The amount of damage from a Daily is based on its value and difficulty, and on the boss's strength. The damage is reduced if the Daily has a checklist with some of its items completed; if all checklist items are completed, the boss will not cause any damage from that Daily. The damage expected from each incomplete Daily can be viewed using the Data Display Tool.
Players should be mindful of this potential extra damage, in addition to the normal damage from their own uncompleted Dailies, and may need to more frequently ask for a healing skill or use a Health Potion. The damage from a boss is even applied to participants who are resting in the Inn or who have already died from earlier damage.
Damage to the boss, the party, and the player is meted out when each player's Cron runs. However, a player might not see the damage messages in the party chat until they have clicked on the "Fetch Recent Messages" button that is next to the "Send Chat" button.
Rage Bosses Edit
A rage boss is a special kind of boss for regular quests that does both damage to the party and has a rage bar. Missed Dailies are multiplied by the boss's strength, which raises the rage bar. When the rage bar fills, these bosses regain a portion of their lost HP.
- Main article: World Bosses
A world boss is the boss in a special type of quest where all users of Habitica are involved. All users are rewarded upon its completion. Damage is done to a world boss in the same way as to a normal quest boss: by completing To-Dos, Habits and Dailies, and by casting Burst of Flames or Brutal Smash, which are Mage and Warrior skills, respectively.
Collection quests entail finding a certain number of specified items through the completion of Dailies, To-Dos, and positive Habits. Any task that might result in a regular drop can also yield a quest item; however, the two drop systems operate independently. As there is no boss to fight, no extra damage is taken from failing to complete Dailies. Similar to boss quests, a collection quest started at the end of the day accrues quest progress for tasks accomplished previously.
There are currently no limits on how many quest drops a player can receive on a given day, though higher Perception does increase the number of drops that can be received. Rogues and other players who have obtained a high Perception may excel at collection quests because they have a higher chance of receiving drops.
Even players who have not yet opened up the food, pet, and potion drop system can find quest items for collection quests; there is no minimum level required. However, low level players have a low Perception, and as such, may not find any collection items on a given day.
Players can view the number of drops received that day by hovering over the crosshair icon on the top right corner of the website, but the party page will only tally items a player has collected after Cron is run. The number of drops received can also be viewed on the Data Display Tool.
Pet quests are a type of quest that yield pet eggs as part of the reward. Both collection quests and boss quests can potentially be pet quests. Players who complete a given pet quest once will be able to purchase those pet eggs in the Market.
Most pet quests give 3 pet eggs each time completed as one of the rewards-the exception is Egg Hunt, which rewards 10 eggs and Trapper Santa/Find the Cub and world bosses which reward pets and mounts not eggs.
The player can still obtain those pet eggs by completing the quest again without having to purchase eggs from the Market. For example, if you want to hatch all 10 pets from a given quest, you can either complete the quest 4 times to get 12 eggs (a cost of 4 gems x 4, or 16 gems), or complete the quest one time to get 3 eggs and purchase the other 7 eggs (a cost of 4 gems x 1 + 7 eggs x 3, or 25 gems). It is therefore less expensive to complete the quest multiple times to get more eggs, especially if party members each take turns purchasing the scrolls.
|Quest (3 eggs each)||Quest|
|Market Total||Gem Total||Total Eggs|
|4 (12 eggs)||4||16||--||--||--||16||12|
|3 (9 eggs)||4||12||1||3||3||15||10|
|2 (6 eggs)||4||8||4||3||12||20||10|
|1 (3 eggs)||4||4||7||3||21||25||10|
Tip: You can use the two extra eggs you get from doing the quest the fourth time to hatch two of the eggs into mounts if you want to have both the mount and the quest pet.
- Main article: Quest Lines
Quest Difficulty Edit
There is a wide range of quest difficulty. For boss quests, this is determined primarily by the boss's strength and health points, though rage bosses add to this difficulty. There are many easy starter quests for beginners which are great for low level players or players new to questing, a number of challenging quests which form a good challenge for experienced Habiticans, and a range of medium difficulty quests.
List of Quests - Types, Availability, and RewardsEdit
The table lists all quests released to date, in their order of their release. You can sort the table by any column.
Quests are available for purchase to players of all levels unless indicated otherwise in the availability column. Where a level is indicated in the scroll cost column the quest is then provided free and automatically at that level in addition to purchasing. Players of any level can participate in a quest that another player has purchased.
The Reward column is the items that are gained on completion of the quest, the XP and Gold columns are the experience and gold gained when the quest is completed in addition you will receive an achievement for completing the quest.
|Quest Name||Scroll||Type||Reward||Availability|| Boss|
|Trapper Santa (Trapper Santa part 1)||boss||polar bear (mount)||only during Winter Wonderland||300||1||4 gems||100||20|
|Find the Cub (Trapper Santa part 2)||collection||polar bear cub||only during Winter Wonderland||N/A||N/A||4 gems||100||20|
|The Fiery Gryphon||boss||3 gryphon eggs||permanent||300||1.5||4 gems||125||25|
|Free Yourself of the Dragon's Influence (Vice part 1)||boss||Vice part 2 scroll|| permanent|
|750||1.5||Level 30 or 4 gems||100||20|
|Find the Lair of the Wyrm (Vice part 2)||collection||Vice part 3 scroll|| permanent|
|N/A||N/A||Previous part or 4 gems||75||20|
|Vice Awakens (Vice part 3)||boss||Stephen Weber's Shaft of the Dragon, 2 shade hatching potions, 2 dragon eggs|| permanent|
|1500||3||Previous part or 4 gems||1000||100|
|The Hedgebeast||boss||3 hedgehog eggs||permanent||400||1.25||4 gems||125||30|
|The Spirit of Spring||boss||3 deer eggs||permanent||1200||2.5||4 gems||800||80|
|Egg Hunt||collection||10 plain eggs||only during Spring Fling||N/A||N/A||1 gem||-||-|
|The Rat King||boss||3 rat eggs||permanent||1200||2.5||4 gems||800||80|
|The Call of Octothulu||boss||3 octopus eggs||permanent||1200||2.5||4 gems||800||80|
|The Dread Drag'on of Dilatory||N/A||World Boss|| mantis shrimp (pet)|
mantis shrimp (mount)
|The Dilatory Derby||boss||3 seahorse eggs||permanent||300||1.5||4 gems||125||25|
|Dish Disaster (Attack of the Mundane part 1)||collection||Dish Disaster scroll 2|| permanent|
|N/A||N/A||Level 15 or 4 gems||50||7|
|The SnackLess Monster (Attack of the Mundane part 2)||boss||Dish Disaster scroll 3|| permanent|
|300||1||Previous part or 4 gems||100||20|
|The Laundromancer (Attack of the Mundane part 3)||boss||Nameless Helm|| permanent|
|800||1.5||Previous part or 4 gems||125||25|
|Help! Harpy!||boss||3 parrot eggs||permanent||600||1.5||4 gems||350||43|
|Rooster Rampage||boss||3 rooster eggs||permanent||300||1.5||4 gems||125||25|
|The Icy Arachnid||boss||3 spider eggs||permanent||400||1.5||4 gems||200||31|
|The Moonstone Chain (Recidivate part 1)||collection||Recidivate part 2 scroll|| permanent|
|N/A||N/A||Level 60 or 4 gems||100||50|
|Recidivate the Necromancer (Recidivate part 2)||boss||Recidivate part 3 scroll|| permanent|
|1500||3||Previous part or 4 gems||1000||500|
|Recidivate Transformed (Recidivate part 3)||boss||Jean Chalard's Noble Tunic, 3 zombie hatching potions, 5 rotten meat|| permanent|
|2000||3.5||Previous part or 4 gems||1500||900|
|A Stern Talking-To (The Golden Knight part 1)||collection||Golden Knight part 2 scroll|| permanent|
|N/A||N/A||Level 40 or 4 gems||120||15|
|Gold Knight (The Golden Knight part 2)||boss||Golden Knight part 3 scroll|| permanent|
|1000||3||Previous part or 4 gems||750||75|
|The Iron Knight (The Golden Knight part 3)||boss||Mustaine's Milestone Mashing Morningstar, 2 golden hatching potions, 3 honey|| permanent|
|1700||3.5||Previous part or 4 gems||1500||900|
|The Basi-List||boss||-||permanent (invite to party)||100||0.5||Invite friend to party||42||8|
|The Night-Owl||boss||3 owl eggs||permanent||500||1.5||4 gems||275||37|
|The Fowl Frost||boss||3 penguin eggs||permanent||400||1.5||4 gems||200||31|
|The Abominable Stressbeast of the Stoïkalm Steppes||N/A||World Boss|| mammoth (pet)|
|Winter Wonderland 2014-2015||2.8M||1||N/A||-||-|
|King of the Dinosaurs||boss||3 tyrannosaur eggs||permanent||800||2||4 gems||500||55|
|The Dinosaur Unearthed||boss||3 tyrannosaur eggs||permanent||500 rage:50||2||4 gems||500||55|
|Escape the Cave Creature||boss||3 rock eggs||permanent||400||1.5||4 gems||200||31|
|The Killer Bunny||boss||3 bunny eggs||permanent||300||1.5||4 gems||125||25|
|The Jelly Regent||boss|| 3 marshmallow|
|The Thunder Ram||boss||3 sheep eggs||permanent||300||1.5||4 gems||125||25|
|The Kraken of Inkomplete||boss||3 cuttlefish eggs||permanent||800||2||4 gems||500||55|
|Wail of the Whale||boss||3 whale eggs||permanent||500||1.5||4 gems||275||37|
|Message in a Bottle (Dilatory Distress part 1)||collection||Finned Oceanic Armor||permanent||N/A||N/A||200 gold||75||-|
|Creatures of the Crevasse (Dilatory Distress part 2)||boss||Fire Coral Circlet, Skeleton hatching potion, Cotton Candy Blue hatching potion||permanent||500 rage:50||1||300 gold||500||-|
|Not a Mere Maid (Dilatory Distress part 3)||boss||Trident of Crashing Tides, Moonpearl Shield, 3 fish||permanent||1000||2||400 gold||650||-|
|Such a Cheetah||boss||3 cheetah eggs||permanent||600||1.5||4 gems||350||43|
|Ride the Night-Mare||boss||3 horse eggs||permanent||500||1.5||4 gems||275||37|
|Burnout and the Exhaust Spirits||N/A||World Boss||10 candy (one of each type). Fiery phoenix pet and mount.||Fall Festival 2015||11.0M||1||N/A||-||-|
|Swamp of the Clutter Frog||boss||3 frog eggs||permanent||300||1.5||4 gems||125||25|
|The Serpent of Distraction||boss||3 snake eggs||permanent||1100||2.5||4 gems||725||73|
|Convincing the Unicorn Queen||boss||3 unicorn eggs||permanent||600||1.5||4 gems||350||43|
|The Sabre Cat||boss||3 sabretooth eggs||permanent||1000||2||4 gems||650||67|
|Monstrous Mandrill and the Mischief Monkeys||boss||3 monkey eggs||permanent||400||1.5||4 gems||200||31|
|The Snail of Drudgery Sludge||boss||3 snail eggs||permanent||500||1.5||4 gems||275||37|
|The Be-Wilder||N/A||World Boss||10 pieces of food (one of each type). Magical bee pet and mount.||Spring Fling 2016||20.0M||1||N/A||-||-|
|The Birds of Preycrastination||boss||3 falcon eggs||permanent||700||2||4 gems||425||49|
|The Tangle Tree||boss||3 treeling eggs||permanent||600||1.5||4 gems||350||43|
|The Magical Axolotl||boss||3 axolotl eggs||permanent||500 rage:50||1.5||4 gems||275||37|
|Guide the Turtle||boss||3 turtle eggs||permanent||300||1.5||4 gems||125||25|
|The Indulgent Armadillo||boss||3 armadillo eggs||permanent||600||1.5||4 gems||350||43|
|The Mootant Cow||boss||3 cow eggs||permanent||400||1.5||4 gems||200||31|
|The CRITICAL BUG||boss||3 beetle eggs||permanent||500||1.5||4 gems||275||37|
|The Blaze in the Taskwoods (Terror in the Taskwoods part 1)||boss||Pyromancer's Turban||permanent||500 rage:50||1||200 gold||500||-|
|Finding the Flourishing Fairies (Terror in the Taskwoods part 2)||collection||Pyromancer's Robes||permanent||N/A||N/A||300 gold||75||-|
|Jacko of the Lantern (Terror in the Taskwoods part 3)||boss||Taskwoods Lantern, 3 strawberries||permanent||1000||2||400 gold||650||-|
|The Nefarious Ferret||boss||3 ferret eggs||permanent||400||1.5||4 gems||200||31|
|The Feral Dust Bunnies||boss||-||permanent (create account)||100||0.5||Create account (Day 0 daily check-in prize)||42||8|
|Find the Mysterious Shards (Lunar Battle part 1)||collection||Lunar Warrior Helm||permanent||N/A||N/A||Day 7 daily check-in prize||50||7|
|Stop the Overshadowing Stress (Lunar Battle part 2)||boss||Lunar Warrior Armor||permanent||100||1.5||Day 22 daily check-in prize||275||37|
|The Monstrous Moon (Lunar Battle part 3)||boss||Lunar Scythe||permanent||1000||2||Day 40 daily check-in prize||650||67|
|The Somnolent Sloth||boss||3 sloth eggs||permanent||400||1.5||4 gems||200||31|
|The Trampling Triceratops||boss||3 triceratops eggs||permanent||1200||2.5||4 gems||800||80|
|Earthen Enemies (Stoïkalm Calamity part 1)||boss||Mammoth Rider Armor, 1 desert hatching potion, 1 skeleton hatching potion||permanent||500 rage:50||1||200 gold||500||-|
|Seek the Icicle Caverns (Stoïkalm Calamity part 2)||collection||Mammoth Rider Helm||permanent||N/A||N/A||300 gold||75||-|
|Icicle Drake Quake (Stoïkalm Calamity part 3)||boss||Mammoth Rider Spear, Mammoth Rider's Horn, 3 pieces of blue cotton candy||permanent||1000||2||400 gold||650||-|
|The Guinea Pig Gang||boss||3 guinea pig eggs||permanent||400||1.5||4 gems||200||31|
|The Push-and-Pull Peacock||boss||3 peacock eggs||permanent||300||1.5||4 gems||125||25|
Adding a QuestEdit
Quest ideas can be proposed on the Habitica Quests Trello Board. Information on how to create images for quests (e.g. boss art) can be found on the Guidance for Artisans page. You can also contribute by writing a quest on the Habitica Quests Trello Board. See Script Credits for authors of existing quests.
Party Member Did Not Damage Boss or Find Collection Question Items
|Description:||This bug may affect you if you think you should have damaged your quest boss or should have found items for a collection quest, but you don't see any messages in party chat about your quest progress when you Cron.|
|Solution:|| *Be aware that quest progress is not applied until the day after you have ticked off some To-Dos and Dailies. So if the quest started today, you will see quest progress tomorrow, and this is not a bug. You do not need to report anything here.
If you aren't sure about any of this, ask a question in the Habitica Help: Ask a Question guild (Help -> Ask a Question), and we'll give you advice there.
|habitica Issue #4174|
Quest Owner Removed from Party but Quest Remains
|Description:||When a quest owner of a pending quest leaves the party, the quest may still remain and cannot be canceled by the remaining users.|
|Solution:||Requires assistance from an admin. Leave a message at the Report a Bug guild.|
|habitica Issue #4753|
Gaining Extra XP Doesn't Trigger a Level Up
|Description:||When a quest finishes and grants you enough Experience (XP) for you to level up, or when the Enchanted Armoire grants you enough XP to level up, the actual level update doesn't happen.|
|Solution:||Tick off a To-Do, Habit, or Daily. This will increase your level. None of your excess XP will be lost.|
|habitica Issue #2433|
Information for Developers
The quest display code is split into multiple files within the folder
website/views/options/social/quests. The files are connected through the main file,
index.jade, which creates a mixin named
boss. This mixin is used to add quest information to party pages (or in the tavern, if there is a world boss).
Definitions for all quests:
Current version of file: common/script/content.coffee
Older version with link to starting line: June 2015 Quest modals (AKA pop-ups):
Current version of file: website/views/shared/modals/quests.jade
Older version with link to starting line: June 2015
This file contains all of the quest modals. Specifically, the quest completion, information (quest is selected from inventory), buy (quest is selected from store), and invitation modals. User model quest status:
Current version of file: website/src/models/user.js
Older version with link to starting line: June 2015
These values are initially populated when a quest begins, and reset when a quest is completed or aborted (not completely when cancelled; see
questCancel below). The variables within the
progress array track how much progress (positive or negative) on a quest has been made since last Cron. The values are applied on Cron, and then reset.
Group model quest status:
Current version of file: website/src/models/group.js
Older version with link to starting line: June 2015
These values are initially set when a quest invitation is sent, and reset when a quest is completed, aborted, or cancelled. The status of each user in the
members array is set to
undefined, depending on whether they have accepted, rejected, or not responded to a quest invitation.
Quest accept, reject, start, cancel, and abort functions:
Current version of file: website/src/controllers/groups.js
Older version with link to starting line: June 2015
There are five quest functions in this file:
questAccept, questReject, questStart, questCancel, and
questAccept is run when a quest invitation is sent to a party, and every time a user accepts a quest invitation; these situations result in different code being run. Which case is occurring (i.e., which section of code to run) is determined by checking whether a key is passed in. A key is only passed in when a quest invitation is sent, so if one is present, the invitation code is run, and if one isn't present, the user code is run. If an invitation is being sent, all users in the party (excluding the quest owner) have their Boolean value in the
members array set to
undefined, to indicate that their status is "pending". If a user is accepting a quest, their value in the
members array is set to
true. Both pieces of code end with a call to
questAccept is also run when a quest owner presses the "Begin" button. This causes a variable named
force which is set to
true to be passed to
questAccept. This value will be used when
questStart is called.
questReject is run when a user rejects a quest invitation. It sets the user's value in the party's
members array to
false, and ends with a call to
questStart checks if it is time to begin the quest, and if it is, starts the quest. It checks two things: 1) if
true; 2) if all members have accepted or rejected the quest. If either of these are true, the quest will begin.
questCancel is run when a quest owner cancels a quest before it begins. This clears the party's quest progress, but not the user's quest progress. This is because this quest progress will be applied to the next quest that is started.
questAbort is run when a quest owner aborts a quest after it has begun. This clears the group and user quest progress, and returns the quest scroll to its original owner.