Habitica Wiki
Habitica Wiki
m (Clarification on the clarification.)
(removed Known Bug section (the bug listed there was fixed))
Tag: Source edit
Line 104: Line 104:
 
Safe Mode was first used on May 21, 2016 to protect users from damage and maintain their streaks while the Habitica site experienced an [http://blog.habitrpg.com/post/144660821820/important-upcoming-maintenance-this-saturday-we outage for maintenance], but it may be used again in the future for long outages or in the event of unexpected downtime from some failure outside of the administrators' control (e.g., if the website hosting platform or database platform ever fail).
 
Safe Mode was first used on May 21, 2016 to protect users from damage and maintain their streaks while the Habitica site experienced an [http://blog.habitrpg.com/post/144660821820/important-upcoming-maintenance-this-saturday-we outage for maintenance], but it may be used again in the future for long outages or in the event of unexpected downtime from some failure outside of the administrators' control (e.g., if the website hosting platform or database platform ever fail).
   
 
[[fr:Cron]]
== Known Bugs ==
 
{{bug
 
| title = Cron timeout errors when history arrays are large
 
| description = Sometimes when users have large history arrays stored (for example from very numerous clicks within the history period), Cron will timeout before completion, resulting in effects such as preventing the user from damaging a boss.
 
| solution = Pending a systematic fix, affected users can contact the [https://habitica.com/groups/guild/a29da26b-37de-4a71-b0c6-48e72a900dac Report a Bug guild] to have the problem corrected.
 
| github = 10386
 
}}[[fr:Cron]]
 
 
[[pt-br:Cron]]
 
[[pt-br:Cron]]
 
[[nl:Cron]]
 
[[nl:Cron]]

Revision as of 06:46, 29 December 2020

Cron is a term borrowed from Unix and indicates a timed, repeatable event. In Habitica, Cron refers to the automatic process that resets a player's Dailies and does certain other actions at the start of each day.

Cron occurs when a player's account interacts with the game for the first time each day after the player's Custom Day Start time, which is midnight by default. The Day Start time is in the player's own time zone.

Cron does not occur exactly at the Day Start time unless the player's account happens to be active in Habitica at that time. If you are currently using Habitica when your Day Start time occurs, you might need to reload the website or sync the mobile app to force cron to run before recording new activity.

The Habitica website automatically reloads itself after a few hours of inactivity, so if you leave the website open in your browser overnight, you might find that cron ran while you were asleep.

Triggering Cron

If every Daily with ticked option "Confirm that this Daily wasn't done before applying damage" was completed yesterday, then any action that you take after your Day Start time will trigger Cron. Otherwise, once you take an action, you'll trigger the "Record Yesterday's Activity" screen, which will show you yesterday's incomplete scheduled Dailies to give you a final chance to mark them complete. When you press the "Start My Day" button on that screen, Cron will run.

Examples of actions that can trigger cron include (among others):

  • logging in to the site,
  • ticking off a task,
  • hitting the sync button,
  • reloading the page,
  • buying a Reward,
  • changing equipment,
  • casting a skill.

Cron Actions

Resting In the Inn

Avatar-Resting

Resting in the Inn

When Cron runs, it checks to see if you are Resting in the Inn. If so, it skips some of the normal parts of cron. Specifically, it does not cause damage for incomplete Dailies to you, or to quest participants if you are taking part in a Boss Quest, it does not apply your progress to a Boss or Collection quest, and it does not give you mana. (If the quest is still ongoing when you check out, damage or collection items are saved and delivered on your first non-resting cron). All other cron actions are performed.

Normal Cron Processes (Summary)

Normal Cron Processes (Detail)

  • For each incomplete active Daily (none of the below applies to grey Dailies)
    • reset the Daily's streak to zero and apply damage to you,
    • if you are on a boss quest, apply extra damage to you and to all other party members on that Quest,
    • change the value of the Daily to make it slightly more red,
    • untick all of the Daily's checkboxes.
  • For each completed Daily
    • untick all of the Daily's checkboxes,
    • untick the Daily itself.
  • Habits that do not have both a "+" and "-" action will have the magnitude of their values halved (become more yellow).
  • For each To Do, change its value to make it slightly more red.
  • Check your Health to see if it is less than zero, and if so, complete the Death Mechanics actions.
  • Reset your drop count to zero (allowing you to find more drops today even if you reached your drop cap yesterday).
  • Remove any buffs you had gained (this happens after the above actions so that your buffs are still helping you during the Cron actions).
  • Work out if a Perfect Day buff has been earned and if so, apply it.
  • Mana regenerates:
    • On a Perfect Day, the user gains 10 points or 10% of Max MP, whichever is highest.
    • If some due Dailies are left incomplete, amount of mana gained is proportional to percentage of due Dailies completed. For example, a player who completes 70% of their due Dailies will gain 70% of their Perfect Day mana (i.e. 7 MP or 7% of max MP, whichever is higher).
    • Ticked checklist items on incomplete Dailies count towards earning mana. For example, a player with 10 active Dailies who completes 9 of them will receive 90% of their Perfect Day mana. However, if that player checks half the checklist items on the final uncompleted Daily, they will gain 95% of their Perfect Day mana. If all checklist items on the last incomplete Daily are ticked, the player will gain 100% of their Perfect Day mana even though the Daily itself has not been ticked.
    • If you have more than your current maximum amount of MP, your MP is reduced to the maximum.
  • If you are on a quest (boss or collection)
    • Score the quest progress that you personally had accumulated since the previous Cron (i.e., damage to the boss or collection items found), applying that progress to the quest,
    • Return your personal quest progress to zero,
    • Check to see if the quest is finished. If so, complete end-of-quest actions (victory message and giving out rewards).

Triggering Cron after Several Days of Inactivity

If a player has no interaction with Habitica on a certain day, they will experience no Cron that day.

If a player is inactive for several days, and then triggers Cron by interacting with the site, the resultant damage takes into account all the missed Dailies due on the days of inactivity, but only counts each Daily once. Dailies completed on the day prior to inactivity will still be marked as complete the next time the player’s Cron runs (i.e., upon their return). In other words, if a player completes all tasks due on Monday, then does not check in again until Thursday, any tasks completed on the last checked in day will not cause damage, but tasks due for the first time during the interim period can still cause one day's damage unless they were marked as complete on the previous active day.

All other effects of Cron are the same regardless of when the user last checked in. For instance, Cron-based Mana regeneration will not be higher after several days of inactivity.

Daylight Saving Time and Other Time Zone Changes

When your time zone changes due to either travel or the start or end of Daylight Saving Time, Cron might occur at an unexpected time or might occur twice in one day. To avoid taking unfair damage when you know your time zone is about to change, it is recommended to Rest in the Inn while the change happens and for one day afterwards.

Running Multiple Devices

If you use Habitica on two or more devices (e.g., a PC and a mobile phone), check that the time zone is the same on each. If one has a different time zone than the others, you will find that Cron occurs at the wrong time every day and/or occurs more than once every day. For more information, see the "Time Zone" section in the Settings page in the Habitica website.

Recovering from Unfair Damage from Cron

If Cron occurs unexpectedly due to time zone changes or if Dailies you had completed in real life couldn't be marked complete in Habitica, you will usually take damage, which you might feel is unfair. You can restore the health you lost using Fix Character Values. Dailies that couldn't be completed will lose their streaks but you can edit each Daily to restore the streak.

Habitica does not store historical information about your stats and streaks so you will need to remember or estimate your previous health and streaks. The Data Display Tool can help you do that. The "Dailies History" section allows you to estimate streaks. The "Stats and Streaks Backup" section can be used before you experience a problem with Cron to save a copy of your data to make restoring it easier after a Cron error has occurred.

Custom Day Start

Main article: Custom Day Start
Cron settings

This setting allows you to specify what hour you want your day to start.

A player may change the time when a new Habitica day begins by selecting a Custom Day Start time from the dropdown in the Settings screen. This is the earliest possible time that Cron can run each day.

Effects on Parties

Damage from Quest Bosses

One of Cron's functions is to cause damage to the player for any scheduled Dailies that they did not complete. If the player is taking part in a Boss Quest, Cron will also cause the Boss to do additional damage to the player, and also do that same damage to all other players in the quest.

For example, consider a quest with two participants, John and Jane. John wakes up, starts to use Habitica, and his Cron runs. He hadn't completed 5 of his Dailies on the previous day, so he loses (for example) 6 HP because of them. In addition, the incomplete Dailies cause the Quest Boss to deal 10 damage to him AND to Jane. His total health loss is therefore 16 HP.

Jane wakes later, starts using Habitica, and her Cron runs. She didn't complete 2 of her Dailies, so she loses 3 HP from them, and in addition, the Boss deals 4 damage to her AND to John (in addition to the 16 HP he lost earlier in the day). Jane also sees the 10 damage caused by John while she was sleeping. Thus her total health loss will be 17 HP.

Buff Strategy

Any buffs you cast for your party disappear for each party member when that member's next Cron runs. If you are the first person in your party to start using Habitica that day, wait until your party mates have started using Habitica before you cast party buffs. Otherwise, you would effectively be buffing your party mates for their yesterday, since their Cron hasn't run yet, and they would immediately lose the buffs when they start using Habitica later that day.

However, any tasks they complete before you cast your buffs will not get any benefit from the buffs because buffs for the day are not retroactively applied. So the most effective way for you to use your buff skills is to wait until all party members have started using Habitica, but don't wait any longer than that!

Cron Safe Mode

Cron Safe Mode is a feature that the administrators can turn on for every player on the site. It is impossible for it to be turned on only for some players. It allows Cron to run as normal except that the damaging actions from uncompleted Dailies do not occur.

Safe Mode makes these changes to Cron:

  • Incomplete Dailies do not cause player damage.
  • Incomplete Dailies do not cause damage to the party from the quest boss.
  • Incomplete Dailies do not have their streaks reset.
  • Incomplete Dailies do not have their task value changed (their color does not move towards red).
  • Incomplete Dailies do not reduce the overnight gain of mana.
  • Player gets a Perfect Day even if some Dailies were incomplete.

Safe Mode was first used on May 21, 2016 to protect users from damage and maintain their streaks while the Habitica site experienced an outage for maintenance, but it may be used again in the future for long outages or in the event of unexpected downtime from some failure outside of the administrators' control (e.g., if the website hosting platform or database platform ever fail).