Habitica Time Machine

Habitica Time Machine is a user style that allows users to "go back" to events (such as seasons, holidays, world bosses, or April Fools' pranks) that may not be currently happening in order to experience some visual aspects of them again. This style changes almost no aspects of actual site layouts and functions, and it does not bring back any old behaviors (i.e. you cannot fight historical world bosses as they are just there for looks, the seasonal shop doesn't magically open/close by going to the right option, etc.).
__TOC__
== Description ==
Rumors have been spreading about a large, ancient, powerful mystic hourglass that can transport you nearly anywhere... You decide to get to the bottom of it and you find out: It's true! The hourglass can take you to all sorts of places across Habitica's past, though things seem a bit out of phase, as if some part of you is still in the present day. Odd. ...Where will you go if you use this strange hourglass, this time machine?
== Installation ==
Before installing this user style, make sure you have one of the following installed:
*Stylus available on Chrome, Firefox, and Opera
*xStyle available Firefox and Chrome
Then, navigate to the website for this user style: you can install it from either Userstyles.world or Greasy Fork. Stylus and xStyle users can load this style with one click using the install button; on Greasy Fork this is a green "Install as user style" button, and on Userstyles.world it is a blue "Install" button. Greasemonkey or Tampermonkey users cannot load this style as a user script because its options prevent Greasy Fork from allowing the conversion into a user script.
This style uses UserCSS, which has an extra metadata header that other style managers (i.e. Stylish for Safari) don't support. It may work better in Stylus as opposed to xStyle, as it was coded in Stylus. It cannot easily be adjusted into a format other style managers may be able to support, due to the extent of its customizable options. (Adjustment in this way is not impossible but would be tedious and what you would be left with at the end is a static user style that only supports one configuration.)
After the style is loaded, you may need to refresh the page to see its effects. The style can be easily turned off and on with a handy checkbox that you can find by clicking the Stylus icon in your toolbar. This is also where you will find the settings cog that allows you to configure the style's options.
== Usage ==
This style includes a significant number of options that enable different effects. Most of these effects change how NPCs look, though occasionally (for instance, some April Fool pranks) they may modify other aspects, such as pet appearances or the visual effect of the Shiny Seed, for instance. This section will explain each set of options.
Events from prior to spring 2015 (I joined Habitica on March 25, 2015) are approximated from my understanding of how the events happened and what the code commits on GitHub that added them looked like, so it's possible for them to be inaccurate in an unintended way.
=== Seasons ===
The "Which season to visit?" setting provides 10 options, plus an option that does nothing and displays the current season if nothing else is overriding the NPC appearance. Half of the options display NPCs in normal looks as well as seasonal grand gala looks as they look now, after the September 2017 redesign, while half display NPCs as they looked during the same timeframes prior to that redesign. Post-redesign seasons other than winter and normal have a version of the Justin NPC edited by citrusella (cropped from his pre-redesign image) to reflect his post-redesign image size (winter and normal already existed in a post-redesign state). Pre-redesign NPCs are typically smaller, simpler layouts than their post-redesign counterparts and are expected to not have a large background as current ones do.
*Current (no change unless a different option is overriding the looks)
*Normal, post-2017 (non-grand gala look on the current design of the website)
*Spring, post-2017 (Spring Fling look on the current design of the website)
*Summer, post-2017 (Summer Splash look on the current design of the website)
*Fall, post-2017 (Fall Festival look on the current design of the website)
*Winter, post-2017 (Winter Wonderland look on the current design of the website)
*Normal, pre-2017 (non-grand gala look from the pre-redesign website)
*Spring, pre-2017 (Spring Fling look from the pre-redesign website)
*Summer, pre-2017 (Summer Splash look from the pre-redesign website)
*Fall, pre-2017 (Fall Festival look from the pre-redesign website)
*Winter, pre-2017 (Winter Wonderland look from the pre-redesign website)
=== Holidays ===
The "Which holiday to visit?" setting provides 10 options, plus an option that does nothing and displays the current event if nothing else is overriding the NPC appearance. There are options for 5 holidays, in both pre- and post-redesign versions. If a design exists for an NPC for the selected holiday, it overrides any selected season settings but does not override World Bosses or April Fools pranks set by this style.
*Current (no change unless a different option is overriding the looks)
*Habitica Birthday Bash, post-2017 (look on the current design of the website)
**Justin's pre-2017 look has been edited by citrusella to be in line with post-2017 looks
*Habitica Birthday Bash, pre-2017 (specifically, Habitica's first birthday in 2014)
**This is not the most recent pre-redesign birthday appearance, and images for several NPCs were updated over the next few years to wear later-released party robes, but I thought it'd be more fun to use the oldest ones here!
**The following NPCs do not change appearance for this holiday:
***Seasonal Sorceress (appears in stable image)
***Time Travelers (Vicky appears in stable image, Tyler appears in Tavern image)
*Valentine's Day, post-2017 (look on the current design of the website)
**The following NPCs do not change appearance for this holiday:
***Seasonal Sorceress
***Ian (quests)
***Matt (stable)
***Justin (onboarding/new user screen)
***Time Travelers
*Valentine's Day, pre-2017 (look from the pre-redesign website)
**The following NPCs do not change appearance for this holiday:
***Seasonal Sorceress
***Alex (market)
***Ian (quests)
***Matt (stable)
***Justin (onboarding/new user screen)
***Time Travelers
*Habitoween, post-2017 (look on the current design of the website)
**Justin (onboarding/new user screen) has been edited by citrusella to bring his pre-2017 look in line with the way his official images for other situations look post-2017
**Time Travelers do not change appearance for this holiday.
*Habitoween, pre-2017 (look from the pre-redesign website)
**Time Travelers do not change appearance for this holiday.
*Turkey Day, post-2017 (look on the current design of the website)
**The following NPCs do not change appearance for this holiday:
***Justin (onboarding/new user screen)
***Time Travelers
*Turkey Day, pre-2017 (look from the pre-redesign website)
**The following NPCs do not change appearance for this holiday:
***Seasonal Sorceress
***Ian (quests)
***Justin (onboarding/new user screen)
***Time Travelers
*New Year's Eve, post-2017 (look on the current design of the website)
**Justin (onboarding/new user screen) has had his pre-2017 design for this holiday edited by citrusella to bring it in line with his post-2017 look.
**Time Travelers do not change appearance for this holiday.
*New Year's Eve, pre-2017 (look from the pre-redesign website)
**Time Travelers do not change appearance for this holiday.
=== World Bosses ===
The "Which World Boss effects?" setting provides 11 options, plus an option that does nothing and displays the current event if nothing else is overriding the NPC appearance. Each of the five world bosses contains an option, and if the boss occurred before the redesign, a version edited to fit the look of the redesign has been included (one exception to this is the Abominable Snowbeast, as most of the NPCs struck by it would look identical after the redesign). The Dread Drag'on of Dilatory contains a version for the events that actually occurred as well as one that implements the avoided strikes as well.
If a design exists for an NPC for the selected holiday, it overrides any selected season or holiday settings but does not override April Fools pranks set by this style. Even if NPCs are being overridden, no other parts of this style are written in a way that can override the display of the boss.
This section of the style may break and require editing if a World Boss should occur, as it is unknown how the options may interact with aspects of the boss display. 
*Current (no change unless a different option is overriding looks, displays current boss if one is occurring)
*The Dysheartener
**Affected NPCs:
***Seasonal Sorceress
****The Seasonal Shop change adjusts the shop's "closed" text to contain the text that displayed after her strike; this text might not appear if this option is selected while the shop is open.
***Alex (market)
***Ian (quests)
*The Be-Wilder (includes options for pre- and post-redesign)
**Affected NPCs:
***Alex (market)
***Bailey
***Matt (stable)
*Burnout and the Exhaust Spirits (includes options for pre- and post-redesign)
**Affected NPCs:
***Seasonal Sorceress
****The Seasonal Shop change adjusts the shop's "closed" text to contain the text that displayed after her strike; this text might not appear if this option is selected while the shop is open.
***Ian (quests)
***Daniel (Tavern)
****Daniel's change includes his modified inn text that displayed after his strike; the post-redesign option has not been adjusted to match the post-2017 inn description format. This modified text will not display if Burnout and April Fools 2014 are selected together.
**The boss section in this option is moved below the inn section of the Tavern because the changed inn text made it look somewhat like the boss was saying it and I wanted to avoid any confusion.
*The Abominable Stressbeast of the Stoïkalm Steppes (pre-redesign option only)
**Affected NPCs:
***Matt (stable)
***Bailey
***Justin (onboarding/new user screen)
*The Dread Drag'on of Dilatory (includes options for pre- and post-redesign and options for strikes that occurred as well as avoided strikes)
**Affected NPCs:
***Daniel (Tavern) (all versions)
***Alex (market) (avoided strikes versions only)
***Matt (stable) (avoided strikes versions only)
*None (suppress current boss if one is occurring)
**Coding note: The CSS for this option is at the very beginning of the style even though all it does right now is hide the World Boss section of the Tavern. This is so that if NPC strike reverting is implemented in this style, other NPC appearance settings in the style can override it.
=== April Fools pranks ===
The "What April Fools' year to visit?" setting provides 7 options, plus an option that does nothing and displays the current event if nothing else is overriding the NPC appearance. There are options for each year from 2014 to 2021, with the exception of 2016 as The Be-Wilder World Boss was the "prank" that year. No options have been revised for after the September 2017 redesign. (2022 is also completely omitted from this style, as the prank aspects of the style are a Mystery Item set and a hatching potion that are available for gems and hourglasses.) If a design exists for an NPC for the selected holiday, it overrides any selected settings of any type set by other event options this style.
*2021 (Inverted Pets)
**No NPCs change appearance this year. All changes are to pets (not including mounts).
*2020 (Confection)
**This implements the NPC changes but does not implement pet changes as there is a hatching potion that achieves the confection looks. (Checking with staff confirmed that the pet changes will never be implemented for that option due to that.)
**The following NPCs do not change appearance for this holiday:
***Bailey
***Justin (onboarding/new user screen)
*2019 (Garden)
**This implements the NPC changes but does not implement pet changes as there is a hatching potion that achieves the garden looks which can be used if garden pets are desired. (Checking with staff confirmed that the pet changes will never be implemented for that option due to that.)
**Justin does not appear to have changed when this prank actually occurred in 2019 (even though a version of his 2014 prank image was included with the 2019 commit to enable the prank!). He changes with this option, however, because citrusella has edited his appearance from the 2014 prank to bring it in line with the 2019 changes as most NPCs from this year were edited from the original 2014 prank.
*2018 (Tiny Pets and Mounts)
**This makes the same changes as citrusella's standalone style for this except that it lacks the tiny pawprint option.
**No NPCs change appearance this year. All changes are to pets.
*2017 (Distraction Discotheque and Dazzle Dance Emporium)
**This option contains changes to NPCs and to pets (but not to mounts).
*2015 (Flower Power)
**This option contains only NPC changes. The other part of the prank was introducing the shiny seed by turning everyone into a flower, so the shiny seed aspect can only really be emulated by using actual shiny seeds now.
* 2014 (A Different, More Nutritious Direction)
**This option changes NPC images and names where possible. It also emulates the transformation of all users into produce by editing the shiny seed effect to implement the fruit/vegetable transformations from this year.
***The Tavern's inn text modification overrides the inn text changes made by the Burnout setting of this style.
**The Seasonal Shop and the Time Travelers did not exist at the time of this prank, but they have been replaced with pre-redesign versions of the "closed" state of those areas and have had their titles changed to tongue-in-cheek references that they aren't yet "open for business".
=== "Quality of Life" settings ===
There are five extra options that affect certain aspects of the style's behavior but are largely not related to any specific season:
* "Dysheartener (bug/mantis) phobia protection" replaces the Dysheartener with an image with the actual boss missing (a still image of the heart background only), for people who may want to use this style but not see the bug if they select the Dysheartener option
* "Disable gif for pre-redesign normal Ian" replaces the gif displaying a wolf appearing in front of Ian (quests) with a still image of just Ian himself
* "Disable gif for animated world bosses" replaces all gif world bosses (Burnout and newer) with a still image of the same boss. (This includes Dysheartener—its still image is different from the still image used in the phobia protection option.)
* "Disable all gifs introduced by this style" has the same effect as selecting all other gif disabling options in the style's setting
* "Hide Seasonal Shop and Time Traveler nav links in situations (pre-December 2014) where they would not exist" removes site navigation options to the Seasonal Shop or Time Travelers for Habitica's first Birthday Bash, the 2014 April Fools prank and the Dread Drag'on world boss. Selecting this option will prevent you from navigating to these screens by any way other than putting their URLs into your address bar or following a link not in the navigation (i.e. in a task or chat post).
=== Currently not implemented ===
==== May implement ====
The following behaviors could be implemented in the future:
* An option to use some other transformation item than Shiny Seeds to re-enact the 2014 prank's transformation aspect.
* An option to see the original inn text, either as part of the pre-redesign styles or perhaps a switch that displays it all the time, if an event-specific text change is not overriding it.
* Hiding world boss if one is occurring also causing affected NPCs to revert to non-strike images.
* It's possible pre-redesign settings could have layout/padding/sizing slightly modified to have less whitespace around their images.
* It'd be fun if I could find a way to put Justin somewhere outside the onboarding so established users can actually see the changes to him, but there's a high chance this is not possible.
* Likewise, I'd like to more faithfully implement the world boss appearance (i.e. also include health and rage bars and such) but this may be exceedingly difficult to implement.
==== Will not implement ====
The following behaviors are not implemented and are unlikely to be implemented:
* Original (blonde) Matt image, except where it is the only image that exists (his strike in the Dread Drag'on world boss, for instance)
* Very very original Daniel image
* 2020 and 2019 pet changes (could be considered an exploit for the confection and garden wacky potions; double checked with staff and was specifically told not to add it)
** 2022 is completely omitted from the style for this reason
==Art Credits==
These credits are based on credits listed at Art Credits. This means that if there is an error on that page, it may be duplicated here, and that if an error is fixed on that page, this table may lag behind. This table is only included here because it may be easier to see the credits specific to this style if they are not within a larger list. Some aspects for which a credit could not be found are listed in this table as "??".
Event 	Artist(s)
Normal (non-seasonal) NPC appearance	Lemoness
Spring NPC appearance 	Lemoness
Summer NPC appearance 	Lemoness
Fall NPC appearance 	Lemoness
Winter NPC appearance 	Lemoness
Birthday Bash NPC appearance 	Lemoness
Valentine's NPC appearance 	??
Halloween NPC appearance 	Lemoness
Turkey Day NPC appearance 	Lemoness
New Year's NPC appearance 	Lemoness
Dysheartener 	AnnDeLune (boss), Lemoness (NPCs)
Be-Wilder 	Baconsaur (boss), Lemoness (NPCs and boss)
Burnout 	Kiwibot (boss), Lemoness (NPCs)
Abominable Stressbeast 	Kiwibot(boss), Lemoness (NPCs)
Dread Drag'on 	Baconsaur (boss), Lemoness (NPCs)
April Fools' 2020 NPC appearance 	??
April Fools' 2019 NPC appearance 	Lemoness (NPCs except Seasonal Sorceress), beffymaroo (Seasonal Sorceress)
April Fools' 2017 NPC appearance 	??
April Fools' 2015 NPC appearance 	Lemoness
April Fools' 2014 NPC appearance 	Lemoness
zh:Habitica时光机
Category:Extensions, Add-Ons, and Customizations
Category:Pages with files missing alt tags