Note that even though this feature is named "Dailies", the player can set the Daily to repeat at other intervals - for example, once every two days, or once every Saturday. See below for more details.
Effects of DailiesEdit
RewardsEditWhen a Daily is checked off, it turns grey and the player gains experience points, gold, mana, a chance of a drop, a chance of a critical hit, and an increased streak count.
The amount of mana earned on checking off a Daily does not depend on the Daily's history: the player always earns 1MP or 1% of max MP, whichever is higher.
Dailies have a check box that the player marks when the task is completed. Habitica records how many days in a row the player completes a Daily as a streak. Longer streaks have several advantages.
If the player is participating in a quest, all completed Dailies will deal damage to the boss or help find collection items. The totals are tabulated and reported through the party chat at the player's Cron.
Unchecking a DailyEdit
If a completed Daily is unchecked, it returns to its normal color, the streak counter decreases by one, and the player loses the experience points, gold and mana they received when first checking off that Daily. Due to a minor bug, damage to a boss is not removed. If a drop is received, it is also not removed when the Daily is unchecked; this is intended behavior (as described in GitHub Issue #4626 and can be used to create a Wishing Well.
When a Daily is created, it is scheduled to be due that day and on all future days. The player can change the days on which it is due by adjusting the repeat settings, as described in detail below. A due Daily that has not yet been completed will have a color ranging from red to blue. A Daily that is not due will be grey, regardless of whether or not it has been completed.
If a due Daily is not checked off by midnight or the Custom Day Start time, the player loses health points and that Daily's streak is reset to zero. If the player is participating in a boss quest, the boss will do damage to the player and to all other quest participants in the player's party. Additionally, the player will earn less mana on Cron when leaving Dailies unchecked.
A Daily that is not due can be completed to earn the usual rewards, but if it is not completed, it does not cause damage and does not lose its streak..
If a player consistently completes a Daily, they will earn less gold and experience from that Daily over time, as it rises in value. However, the player will also lose less health if the Daily is skipped occasionally. The reduction in gold earned is partially offset by the small gold bonus earned from increasing the streak.
If a player often fails to check off a Daily, the missed task will cause more health loss as the value decreases. However, more gold and experience are earned when the Daily is checked off.
The Value mechanic is designed this way to encourage players to work on their shortcomings.
Setting up the Dailies ListEdit
- Add one or more Dailies to suit your personal goals - Consider starting slowly and do not over-burden yourself or overestimate what can realistically be done on a regular basis. It's easier to add more later (and not feel like you're cheating) than to overestimate and have to delete or "grey out" items.
- Optimize each Daily's options - See "Advanced Options" below.
- Start tracking!
Add New Daily EditHere are more detailed instructions on how to add a Daily to your Dailies list:
- Type the title of the Daily into the white box below the "Dailies" heading and click the "+" button. For instance, to encourage yourself to clean the kitchen, type "Clean the Kitchen" into the text field.
- Click the "+" button to put the new Daily at the top of the list of current Dailies.
- If you have trouble with the task you added (in this case, cleaning the kitchen), you might want to change the difficulty to Hard. Click on the pencil icon next to the task to bring up the task editing screen.
And that's it! You've added a new Daily. See the section below for details on what options are available for customizing your Dailies and how to do so.
Adding Multiple Dailies EditTo add several Dailies at once, click the "Add Multiple" link. The entry box will expand, allowing you to enter several Dailies. Click the "+" button when finished.
To add multiple Dailies with tags, select a tag, then add your Dailies.
Editing a DailyEdit
|Click on the pencil icon to bring up the Daily editing screen.|
|Checklist: Players can use checklists on Dailies to help keep track of sub-tasks.|
|Title: The name of the Daily (Emoji can also be used).|
|Extra Notes: Information about the Daily. These extra notes will show up in a pop-up bubble from the player's Task screen. The extra notes can then help clarify its context, and can help when the Daily is gamified.|
|Start Date: The player can enter a future date at which they want the Daily to become active. Before the date, the Daily will not be due and will not damage the player.
Start Date will also determine when the Daily repeats (e.g., starting on August 30th will cause a Monthly to repeat the 30th of every subsequent month).
|Repetition Interval: Select Daily, Weekly, Monthly or Yearly for your task. For more details on how to set up your repeatable tasks, see Repeat Options.|
|Tags: Use tags to help filter the tasks that are shown. This is useful if you have many Dailies or wish to focus on a particular type of task.|
|Advanced Options: Click to reveal advanced options.|
|Task Alias: The Task Alias field is optional but can be useful if you use the API to modify your tasks or if you use certain third-party plugins. The value can contain only alphanumeric characters, dashes, and underscores. The same value cannot be used on more than one of your tasks.|
|Difficulty: Trivial Dailies will reward you with less gold, but will deal less damage if left uncompleted at the end of the day. Medium and hard Dailies will give more gold, but will deal more damage if left uncompleted. You should adjust the difficulty according to the difficulty of the task in real life.|
|Task Attribute: Only appears if the task-based auto-allocation feature is turned on. Click on one of the available attributes to set the task's attribute. Habitica will use the task attributes to distribute the player's attribute points when they level up.|
|Restore Streak: Manually restore a streak that was lost due to a sync error or other problem.|
|Save & Close: Don't forget to click this to keep the changes you've made!|
Sometimes a task, such as "Clean the Kitchen", has many sub-tasks involved. Players can use checklists on Dailies to help keep track of these sub-tasks. If a player does not complete all sub-tasks, checking off completed sub-tasks protects the player from some damage and earns them partial mana when the day is over.
For a full description of checklists in Dailies, see the Checklists page.
When editing a Daily, players have the option to make the Daily repeat every X days, weeks, months, or years. The Start Date of your Daily will affect when your Daily recurs (e.g., starting on August 30th will cause a Monthly to repeat the 30th of every subsequent month).
Specifically, there is a drop-down menu with four options: Daily, Weekly, Monthly, and Yearly. Underneath that drop-down menu, there is a Repeat Every field, where you can select how often you'd like your Daily to repeat (e.g., Repeat Every 2 Days). A summary of the repeat options you have chosen, as well as a list of upcoming due dates, is also shown. Additional repeat options may also be available depending on whether you selected Daily, Weekly, Monthly, or Yearly from the drop-down menu. Additional information about each of these options is presented in the following sub-sections.
Selecting "Daily" from the drop-down menu will cause the Daily to repeat every X days, where X is the value in the "Repeat Every" field. To make the Daily active every day, make the value 1. Making the value 0 will cause the Daily to never be due (a Grey Daily).
If a Daily is set to repeat every 2 or more days, it will be active on the start date, inactive the next, then active the next, and so on, even if it was not completed on a day that it was active.
The next scheduled day for a Daily will not be changed by completing the Daily when it is not due or by leaving it incomplete when it is due. The only way to change the next scheduled day is to edit the Daily to adjust the start date or the repeat settings. For example, if you've been using an every-3-days Daily for a while and you need to skip a day but still have it due every 3 days after that, you would advance the start date to the next day it should be due after the skipped day.
To make a Daily repeat on certain days of the week, select "Weekly" from the drop-down menu and choose the days of the week you want your Daily to be active under "On Days".
You will also see the "Repeat Every" field. If you want your Daily to be active every week, make the value in that field 1. If you want it to repeat every other week, make the value 2. Making the value 0 will cause the Daily to never be due (a Grey Daily).
MonthlyEditSelecting "Monthly" from the drop-down menu will give you two "Repeats On" radio button options: "Day of the Month" (e.g., the Daily repeats on the 14th of each month), or "Day of the Week" (e.g., the Daily repeats on first Monday of every month).
The start date of your Daily will determine what day of the month or day of the week/which week the Daily repeats. For example, to have your Daily repeat on the first Monday of every month, choose "Monthly" from the drop-down menu and select the "Day of the Week" radio button. Then adjust the Daily's start date to choose the first Monday of the starting month. As with the other drop-down menu options, make the value 1 for to make the Daily active every month, 2 for every other month, etc. Making the value 0 will cause the Daily to never be due (a Grey Daily).
If you only want your Daily to be active once a year, select "Yearly" from the drop-down menu. Again, the start date will determine what day of the year your Daily will be active.
The "Repeat Every" value controls whether the Daily is due every year, every other year, etc. Making the value 0 will cause the Daily to never be due (a Grey Daily). Note: making this value too large may cause the website to lag or even crash (habitica Issue #8756 ).
Each task is unique, and the Advanced Options feature allows the player to modify a task in accordance with how difficult it is or what aspect of the player's real life it affects.
Here, you can enter a date at which you want the Daily to become active. Before the date, the Daily will not be due and will not damage you after each Cron. This feature allows you to enter Dailies that you are thinking about or want to put down, but don't need just yet.
Examples for using the start date:
- You are on vacation and don't need your work-related Dailies. Instead of unselecting all the days of the week, all you have to do is set the start date to the first day that you go back to work. The Daily will then be a Grey Daily until that date arrives.
- You create a new Daily that must happen every 3 days and the first time it must happen is the day after tomorrow. You'd choose the start date as being the day after tomorrow.
- To make the Daily due today, set the start date to today's date or to a date in the past.
Difficulty EditThe levels of difficulty are trivial, easy, medium, and hard. When a new Daily is added, the difficulty will be set at easy. Trivial Dailies will be rewarded with less gold, but will deal less damage if left unchecked at the end of the day. Medium and hard Dailies will be rewarded with more gold, but will deal more damage if left unchecked. This feature allows the player to tweak the game and adjust its difficulty according to the difficulty of the task in real life: if flossing is less difficult for you than washing the dishes, those two Dailies shouldn't have the same difficulty level.
If the task-based auto-allocation feature is turned on, Dailies may be set to have a particular task attribute. In the Advanced options menu, click on one of the available types under Attributes to designate it as having that attribute. The available types are Strength, Intelligence, Perception, and Constitution. If task-based auto-allocation is used, new Dailies are created with the Strength attribute by default and the player can change the default attribute by choosing another attribute. Habitica will use the task attributes to distribute the player's attribute points when they level up.
Restore Streak CounterEdit
Manually restore a lost streak due to a sync error or personal reasons. See Restore Streak Counter.
|If a Daily shows up as grey, it means that either:|
|The player already checked that task off today.|
|That particular task is not scheduled for today. The player:
For more information about the rest of the color scheme, read What do the Task Colors Represent?
If you are having a hard time understanding the color scheme of Dailies, you can follow this simple little mnemonic Habitica Contributor Taldin wrote: "If it's red to blue, it's still something to do, if it's looking quite grey, you're done for today."
Checklists in Grey DailiesEdit
Checklists for Grey Dailies do not carry over from one day to another if you complete the whole Daily. The next morning, Cron will untick the Daily and untick all of its checklist items.
However, this does NOT happen for a Grey Daily if you did not mark the Daily itself as completed. Cron will not untick any checklist items until the end of a day when the Daily was due or until you complete the Daily itself. You can see uses for this in Checklists.
Alternative uses for Grey DailiesEdit
While they primarily represent tasks that have either already been checked off or are not scheduled for the day, Grey Dailies can serve other uses.
Long-Term Tasks Edit
Grey Dailies can be useful for representing once-a-week tasks by removing all scheduled days of the week. Because Grey Dailies can still be checked off at any time, garnering gold, XP, and streaks, they continue to serve as tasks without any specific time-bound due dates.
Players who prefer to keep their to-do lists more immediate can also track other long-term tasks or even overarching goals with Grey Dailies. A Grey Daily with SMART goals or a checklist can keep a player's mind on the next milestone.
By disabling all scheduled days on a Daily, players can add headers or dividers by utilizing the Markdown formatting capabilities of Habitica to better organize their Dailies.
Grey Dailies can also be used for tasks that a player wants to do regularly eventually and wants to avoid losing HP for not being able to complete it while the task is still a new addition to the player's routine.
Some players might want to leave this type of "stretch" Daily active during the day, so it is more eye-catching and doesn't blend in with other types of Grey Dailies, and use a custom reward to allow themselves to turn it off before Cron if they haven't been able to complete it. This can be an effective alternative to HP loss for motivation, depending on play style.
It can be inconvenient to tick off Dailies for actions that occur late in the day. For example, a Daily for "Turn off PC and phone by 9 PM" cannot be ticked off after you have performed those actions! In such cases, a Yester-Daily can be created by describing an action that you took on the previous day: "Turned off PC and phone by 9 PM yesterday". That Daily can then be ticked off first thing in the morning, if you completed the task on the previous night.
X Times Per Time Period DailiesEdit
This is a workaround for cases where you wish to complete a task x times during a certain time period of y days/weeks/months/years (e.g., 3 times a week), without a set interval between each instance. This is distinct from the built-in Repeat Options feature, which is for set intervals between each instance.
- Create a Daily with a start date in y days/months/weeks/years' time and repeating every y days/months/weeks/years. For our example of 3 times a week, the Daily would repeat every 7 days with a start date in 7 days' time.
- Create a checklist with x items. For our example, we would create a checklist with 3 items.
- Each time you perform the task, tick a checklist item off. When the Daily is grey, the checked boxes will not reset after Cron.
- At the end of the time period (e.g., after 7 days), check off the Daily if you completed the entire checklist, and receive your rewards.
- Alternatively or additionally, create a positive Habit to click each time you perform the task/complete one item from your checklist. If you do not wish to check off the Daily at the end of the time period, in order to not receive extra rewards, you will lose no health if all checklist items have been ticked off. However, you will not get a Perfect Day buff the next day.
Dailies can be rearranged by dragging them and dropping them in their new position or by clicking the Push to Top button. Holding down Ctrl or Cmd while clicking Push to Top causes it to push the Daily to the bottom.
The help button is in the top right corner of the Dailies column. Clicking this button reveals some quick information about Dailies and how to get started with making tasks, etc. The help button is a faster and more immediate way to help you with your Dailies, while this wiki page provides more in-depth information.
Dailies Tabs and Default SettingEditYou can declutter your list using the tabs at the top and bottom of the Dailies column. Options are All, Due, and Grey. Clicking the Due tab shows only those Dailies which are active for that day. Clicking the Grey tabs shows only Dailies that are not due or that have been completed. There is an option in Settings to change the default tab to Due for active Dailies.
Viewing Dailies with Data Display ToolEditA quick way to view the active days for all your Dailies is to use the Data Display Tool (DDT), which can be accessed from the Data button on your toolbar. Once you have selected the Task Overview section in the DDT, you can filter the task type to be "Daily". This will give you a listing of all your Dailies, grey or active. In the right column will be a small bar showing the days of the week for which your Daily is set to repeat. Black lettering and box outline indicate that the Daily is due on that day, while the days on which the task is inactive are in grey.
You can also use the DDT to view your Dailies History and Dailies Incomplete.
Preventing Undue DamageEdit
There may be times when you cannot complete all your Dailies but you don't want to take damage for them or damage the members of your party if you're questing. Resting in the Inn is an option that you can activate quickly by clicking the Rest button in the Tavern. On the mobile apps, the option is called "Pause Your Dailies".
However, sometimes resting in the inn isn't the best option. For instance, you may have a special event in the evening so you only want to pause those Dailies that would occur during the hours of the event. Or you may be feeling ill and can only complete half of your Dailies. You would like to make those specific Dailies temporarily and easily non-relevant so that you don't get damaged for not completing them.
You can use the Start Date feature of the Dailies to change when they will become active. Changing or setting a Start Date to at least one day in the future will change them to Grey Dailies for the current day.
You can make a one-item checklist for the Dailies you don't want to be penalized for missing and tick that checklist on those special days. You can call the checklist item "Event day" or "Not feeling well". You won't get rewards but you also won't take damage. You will lose your streak, but you can restore the streak counter by editing those Dailies the following day.
You can turn the Daily grey by adjusting the repeat settings so that the Daily will never be due. For example, set the "Repeat Every" value to 0.
If you are a Rogue, you can cast your Stealth skill to hide from some of your incomplete Dailies. The Data Display Tool's "Dailies Incomplete" section will tell you which Dailies have been "stealthed".
Information for Developers
Record Yesterday's ActivityEdit
This section describes an upcoming change to the code that implements Dailies. The code change is not yet complete and the behaviour described below might change before it goes live.
UPDATED 2017-06-19: The information below now more accurately represents our current plans. However there might still be changes before this new feature goes live.
IMPORTANT: TheHollidayInn, who wrote the features described below, has not yet reviewed this information. Treat it with caution until this message is removed.
Currently (i.e., before the PR is merged), whenever the API is used to make a request that reads from or writes to a user's account, Habitica first checks to see if cron needs to be run, then runs cron if needed, and after that it processes the request.
This PR will prevent cron from being automatically checked or run on API calls. I.e., once the PR goes live, none of the existing API calls will cause cron to run. Instead there will be a new API call
/api/v3/cron that can be used to run cron if it is an appropriate time for cron to run (i.e. if it is after the user's day start time and cron has not yet run today). The new API call cannot be used to run cron at other times. Third-party developers should use this call only if it is essential to their tool - see below for more details.
This PR will also implement a "Record Yesterday's Activity" feature. If cron is about to run because the user has just taken their first action of the day on the habitica.com website or on the official Habitica mobile apps, then the website / app will first show the user a screen containing any Dailies that were due on the previous day but were not completed. It will allow the user to mark those Dailies as complete if appropriate, and only after that is done will cron be run.
If the user hadn't used Habitica for two or more days, the screen will show all incomplete Dailies that had been due on those days.
The "Record Yesterday's Activity" screen will not appear if the user has no Dailies that need to be displayed on it.
The "Record Yesterday's Activity" feature will not happen automatically in any third-party tools however third-party developers are welcome to implement their own version of it if desired. It is recommended that they do that if they intend to use the
/api/v3/cron call because if that call is run without yesterday's activity being recorded, the user will take damage from all incomplete Dailies. If a third-party developer chooses to use the
/api/v3/cron call without implementing a "Record Yesterday's Activity" feature, they should make it clear to all potential users that their tool will bypass that feature. It is recommended that the
/api/v3/cron call is not used in any tools unless there is a specific need for it.
If the user does not want to use the "Record Yesterday's Activity" feature for some or all Dailies, they can edit each Daily to untick a checkbox labelled "Confirm that this Daily wasn't done before applying damage". All such Dailies will never appear on the "Record Yesterday's Activity" screen. A third-party tool will be able to untick that checkbox in the same way that it can modify any other attribute of a task however it is strongly recommended that you do not write tools which disable this feature unless the user explicitly requests it in some way.
When a new Daily is created, including Dailies from challenges or group plans, that checkbox will be ticked by default. In addition, when this new feature goes live, all existing Dailies in all user accounts will be automatically modified to have that checkbox ticked.
If you look at the code for this feature, you'll see that term "yesterdailies" is used. This is only an internal term and must not be used when communicating with users. The official name of the feature is "Record Yesterday's Activity". The word "yesterdailies" has a particular meaning in user-facing Habitica discussions, which is slightly different than the "Record Yesterday's Activity" feature, so it is important that you don't use it when writing about the "Record Yesterday's Activity" feature.