diff --git a/website/assets/sprites/spritesmith/gear/armor/broad_armor_special_roguishRainbowMessengerRobes.png b/website/assets/sprites/spritesmith/gear/armor/broad_armor_special_roguishRainbowMessengerRobes.png
new file mode 100644
index 0000000000..643795cb4c
Binary files /dev/null and b/website/assets/sprites/spritesmith/gear/armor/broad_armor_special_roguishRainbowMessengerRobes.png differ
diff --git a/website/assets/sprites/spritesmith/gear/armor/shop/shop_armor_special_roguishRainbowMessengerRobes.png b/website/assets/sprites/spritesmith/gear/armor/shop/shop_armor_special_roguishRainbowMessengerRobes.png
new file mode 100644
index 0000000000..9c402ce8ae
Binary files /dev/null and b/website/assets/sprites/spritesmith/gear/armor/shop/shop_armor_special_roguishRainbowMessengerRobes.png differ
diff --git a/website/assets/sprites/spritesmith/gear/armor/slim_armor_special_roguishRainbowMessengerRobes.png b/website/assets/sprites/spritesmith/gear/armor/slim_armor_special_roguishRainbowMessengerRobes.png
new file mode 100644
index 0000000000..fbc0564635
Binary files /dev/null and b/website/assets/sprites/spritesmith/gear/armor/slim_armor_special_roguishRainbowMessengerRobes.png differ
diff --git a/website/assets/sprites/spritesmith/gear/head/head_special_roguishRainbowMessengerHood.png b/website/assets/sprites/spritesmith/gear/head/head_special_roguishRainbowMessengerHood.png
new file mode 100644
index 0000000000..6274541efc
Binary files /dev/null and b/website/assets/sprites/spritesmith/gear/head/head_special_roguishRainbowMessengerHood.png differ
diff --git a/website/assets/sprites/spritesmith/gear/head/shop/shop_head_special_roguishRainbowMessengerHood.png b/website/assets/sprites/spritesmith/gear/head/shop/shop_head_special_roguishRainbowMessengerHood.png
new file mode 100644
index 0000000000..cba6722391
Binary files /dev/null and b/website/assets/sprites/spritesmith/gear/head/shop/shop_head_special_roguishRainbowMessengerHood.png differ
diff --git a/website/assets/sprites/spritesmith/gear/shield/shield_special_roguishRainbowMessage.png b/website/assets/sprites/spritesmith/gear/shield/shield_special_roguishRainbowMessage.png
new file mode 100644
index 0000000000..84b8de8803
Binary files /dev/null and b/website/assets/sprites/spritesmith/gear/shield/shield_special_roguishRainbowMessage.png differ
diff --git a/website/assets/sprites/spritesmith/gear/shield/shop/shop_shield_special_roguishRainbowMessage.png b/website/assets/sprites/spritesmith/gear/shield/shop/shop_shield_special_roguishRainbowMessage.png
new file mode 100644
index 0000000000..1cf9c4bab4
Binary files /dev/null and b/website/assets/sprites/spritesmith/gear/shield/shop/shop_shield_special_roguishRainbowMessage.png differ
diff --git a/website/assets/sprites/spritesmith/gear/weapon/shop/shop_weapon_special_roguishRainbowMessage.png b/website/assets/sprites/spritesmith/gear/weapon/shop/shop_weapon_special_roguishRainbowMessage.png
new file mode 100644
index 0000000000..f0686fd618
Binary files /dev/null and b/website/assets/sprites/spritesmith/gear/weapon/shop/shop_weapon_special_roguishRainbowMessage.png differ
diff --git a/website/assets/sprites/spritesmith/gear/weapon/weapon_special_roguishRainbowMessage.png b/website/assets/sprites/spritesmith/gear/weapon/weapon_special_roguishRainbowMessage.png
new file mode 100644
index 0000000000..a4436eb2df
Binary files /dev/null and b/website/assets/sprites/spritesmith/gear/weapon/weapon_special_roguishRainbowMessage.png differ
diff --git a/website/assets/sprites/spritesmith/quests/bosses/quest_mayhemMistiflying1.png b/website/assets/sprites/spritesmith/quests/bosses/quest_mayhemMistiflying1.png
new file mode 100644
index 0000000000..74fce5d557
Binary files /dev/null and b/website/assets/sprites/spritesmith/quests/bosses/quest_mayhemMistiflying1.png differ
diff --git a/website/assets/sprites/spritesmith/quests/bosses/quest_mayhemMistiflying2.png b/website/assets/sprites/spritesmith/quests/bosses/quest_mayhemMistiflying2.png
new file mode 100644
index 0000000000..75cbbdbfcd
Binary files /dev/null and b/website/assets/sprites/spritesmith/quests/bosses/quest_mayhemMistiflying2.png differ
diff --git a/website/assets/sprites/spritesmith/quests/bosses/quest_mayhemMistiflying3.png b/website/assets/sprites/spritesmith/quests/bosses/quest_mayhemMistiflying3.png
new file mode 100644
index 0000000000..8e127e0b53
Binary files /dev/null and b/website/assets/sprites/spritesmith/quests/bosses/quest_mayhemMistiflying3.png differ
diff --git a/website/assets/sprites/spritesmith/quests/items/quest_mayhemMistiflying2_mistifly1.png b/website/assets/sprites/spritesmith/quests/items/quest_mayhemMistiflying2_mistifly1.png
new file mode 100644
index 0000000000..9487eeedea
Binary files /dev/null and b/website/assets/sprites/spritesmith/quests/items/quest_mayhemMistiflying2_mistifly1.png differ
diff --git a/website/assets/sprites/spritesmith/quests/items/quest_mayhemMistiflying2_mistifly2.png b/website/assets/sprites/spritesmith/quests/items/quest_mayhemMistiflying2_mistifly2.png
new file mode 100644
index 0000000000..f43692d8d9
Binary files /dev/null and b/website/assets/sprites/spritesmith/quests/items/quest_mayhemMistiflying2_mistifly2.png differ
diff --git a/website/assets/sprites/spritesmith/quests/items/quest_mayhemMistiflying2_mistifly3.png b/website/assets/sprites/spritesmith/quests/items/quest_mayhemMistiflying2_mistifly3.png
new file mode 100644
index 0000000000..9d1f5960ba
Binary files /dev/null and b/website/assets/sprites/spritesmith/quests/items/quest_mayhemMistiflying2_mistifly3.png differ
diff --git a/website/assets/sprites/spritesmith/quests/scrolls/inventory_quest_scroll_mayhemMistiflying1.png b/website/assets/sprites/spritesmith/quests/scrolls/inventory_quest_scroll_mayhemMistiflying1.png
new file mode 100644
index 0000000000..032da47181
Binary files /dev/null and b/website/assets/sprites/spritesmith/quests/scrolls/inventory_quest_scroll_mayhemMistiflying1.png differ
diff --git a/website/assets/sprites/spritesmith/quests/scrolls/inventory_quest_scroll_mayhemMistiflying2.png b/website/assets/sprites/spritesmith/quests/scrolls/inventory_quest_scroll_mayhemMistiflying2.png
new file mode 100644
index 0000000000..3acffc0a7a
Binary files /dev/null and b/website/assets/sprites/spritesmith/quests/scrolls/inventory_quest_scroll_mayhemMistiflying2.png differ
diff --git a/website/assets/sprites/spritesmith/quests/scrolls/inventory_quest_scroll_mayhemMistiflying2_locked.png b/website/assets/sprites/spritesmith/quests/scrolls/inventory_quest_scroll_mayhemMistiflying2_locked.png
new file mode 100644
index 0000000000..90a0b8b366
Binary files /dev/null and b/website/assets/sprites/spritesmith/quests/scrolls/inventory_quest_scroll_mayhemMistiflying2_locked.png differ
diff --git a/website/assets/sprites/spritesmith/quests/scrolls/inventory_quest_scroll_mayhemMistiflying3.png b/website/assets/sprites/spritesmith/quests/scrolls/inventory_quest_scroll_mayhemMistiflying3.png
new file mode 100644
index 0000000000..ab5b85ade7
Binary files /dev/null and b/website/assets/sprites/spritesmith/quests/scrolls/inventory_quest_scroll_mayhemMistiflying3.png differ
diff --git a/website/assets/sprites/spritesmith/quests/scrolls/inventory_quest_scroll_mayhemMistiflying3_locked.png b/website/assets/sprites/spritesmith/quests/scrolls/inventory_quest_scroll_mayhemMistiflying3_locked.png
new file mode 100644
index 0000000000..578ceee0ff
Binary files /dev/null and b/website/assets/sprites/spritesmith/quests/scrolls/inventory_quest_scroll_mayhemMistiflying3_locked.png differ
diff --git a/website/assets/sprites/spritesmith/stable/mounts/body/Mount_Body_BearCub-Fairy.png b/website/assets/sprites/spritesmith/stable/mounts/body/Mount_Body_BearCub-Fairy.png
new file mode 100644
index 0000000000..6acf37b3a3
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/mounts/body/Mount_Body_BearCub-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/mounts/body/Mount_Body_Cactus-Fairy.png b/website/assets/sprites/spritesmith/stable/mounts/body/Mount_Body_Cactus-Fairy.png
new file mode 100644
index 0000000000..9c112ff567
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/mounts/body/Mount_Body_Cactus-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/mounts/body/Mount_Body_Dragon-Fairy.png b/website/assets/sprites/spritesmith/stable/mounts/body/Mount_Body_Dragon-Fairy.png
new file mode 100644
index 0000000000..d32f24a56f
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/mounts/body/Mount_Body_Dragon-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/mounts/body/Mount_Body_FlyingPig-Fairy.png b/website/assets/sprites/spritesmith/stable/mounts/body/Mount_Body_FlyingPig-Fairy.png
new file mode 100644
index 0000000000..da2b79658c
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/mounts/body/Mount_Body_FlyingPig-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/mounts/body/Mount_Body_Fox-Fairy.png b/website/assets/sprites/spritesmith/stable/mounts/body/Mount_Body_Fox-Fairy.png
new file mode 100644
index 0000000000..f71536dd3d
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/mounts/body/Mount_Body_Fox-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/mounts/body/Mount_Body_LionCub-Fairy.png b/website/assets/sprites/spritesmith/stable/mounts/body/Mount_Body_LionCub-Fairy.png
new file mode 100644
index 0000000000..9c7791947b
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/mounts/body/Mount_Body_LionCub-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/mounts/body/Mount_Body_PandaCub-Fairy.png b/website/assets/sprites/spritesmith/stable/mounts/body/Mount_Body_PandaCub-Fairy.png
new file mode 100644
index 0000000000..6e8e1894f3
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/mounts/body/Mount_Body_PandaCub-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/mounts/body/Mount_Body_TigerCub-Fairy.png b/website/assets/sprites/spritesmith/stable/mounts/body/Mount_Body_TigerCub-Fairy.png
new file mode 100644
index 0000000000..e383139ee9
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/mounts/body/Mount_Body_TigerCub-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/mounts/body/Mount_Body_Wolf-Fairy.png b/website/assets/sprites/spritesmith/stable/mounts/body/Mount_Body_Wolf-Fairy.png
new file mode 100644
index 0000000000..4e2fc6f9b4
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/mounts/body/Mount_Body_Wolf-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/mounts/head/Mount_Head_BearCub-Fairy.png b/website/assets/sprites/spritesmith/stable/mounts/head/Mount_Head_BearCub-Fairy.png
new file mode 100644
index 0000000000..927e11fde1
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/mounts/head/Mount_Head_BearCub-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/mounts/head/Mount_Head_Cactus-Fairy.png b/website/assets/sprites/spritesmith/stable/mounts/head/Mount_Head_Cactus-Fairy.png
new file mode 100644
index 0000000000..8de1334930
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/mounts/head/Mount_Head_Cactus-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/mounts/head/Mount_Head_Dragon-Fairy.png b/website/assets/sprites/spritesmith/stable/mounts/head/Mount_Head_Dragon-Fairy.png
new file mode 100644
index 0000000000..f11cb25771
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/mounts/head/Mount_Head_Dragon-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/mounts/head/Mount_Head_FlyingPig-Fairy.png b/website/assets/sprites/spritesmith/stable/mounts/head/Mount_Head_FlyingPig-Fairy.png
new file mode 100644
index 0000000000..d32a5b38ba
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/mounts/head/Mount_Head_FlyingPig-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/mounts/head/Mount_Head_Fox-Fairy.png b/website/assets/sprites/spritesmith/stable/mounts/head/Mount_Head_Fox-Fairy.png
new file mode 100644
index 0000000000..44e151bbe8
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/mounts/head/Mount_Head_Fox-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/mounts/head/Mount_Head_LionCub-Fairy.png b/website/assets/sprites/spritesmith/stable/mounts/head/Mount_Head_LionCub-Fairy.png
new file mode 100644
index 0000000000..dd8fe01a3d
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/mounts/head/Mount_Head_LionCub-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/mounts/head/Mount_Head_PandaCub-Fairy.png b/website/assets/sprites/spritesmith/stable/mounts/head/Mount_Head_PandaCub-Fairy.png
new file mode 100644
index 0000000000..d22e6d1975
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/mounts/head/Mount_Head_PandaCub-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/mounts/head/Mount_Head_TigerCub-Fairy.png b/website/assets/sprites/spritesmith/stable/mounts/head/Mount_Head_TigerCub-Fairy.png
new file mode 100644
index 0000000000..9506d6fd15
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/mounts/head/Mount_Head_TigerCub-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/mounts/head/Mount_Head_Wolf-Fairy.png b/website/assets/sprites/spritesmith/stable/mounts/head/Mount_Head_Wolf-Fairy.png
new file mode 100644
index 0000000000..872fc18e1e
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/mounts/head/Mount_Head_Wolf-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/mounts/icon/Mount_Icon_BearCub-Fairy.png b/website/assets/sprites/spritesmith/stable/mounts/icon/Mount_Icon_BearCub-Fairy.png
new file mode 100644
index 0000000000..46f42bb73d
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/mounts/icon/Mount_Icon_BearCub-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/mounts/icon/Mount_Icon_Cactus-Fairy.png b/website/assets/sprites/spritesmith/stable/mounts/icon/Mount_Icon_Cactus-Fairy.png
new file mode 100644
index 0000000000..1a53f26747
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/mounts/icon/Mount_Icon_Cactus-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/mounts/icon/Mount_Icon_Dragon-Fairy.png b/website/assets/sprites/spritesmith/stable/mounts/icon/Mount_Icon_Dragon-Fairy.png
new file mode 100644
index 0000000000..029ce01464
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/mounts/icon/Mount_Icon_Dragon-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/mounts/icon/Mount_Icon_FlyingPig-Fairy.png b/website/assets/sprites/spritesmith/stable/mounts/icon/Mount_Icon_FlyingPig-Fairy.png
new file mode 100644
index 0000000000..1f9e4d6b28
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/mounts/icon/Mount_Icon_FlyingPig-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/mounts/icon/Mount_Icon_Fox-Fairy.png b/website/assets/sprites/spritesmith/stable/mounts/icon/Mount_Icon_Fox-Fairy.png
new file mode 100644
index 0000000000..6401b5b3b3
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/mounts/icon/Mount_Icon_Fox-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/mounts/icon/Mount_Icon_LionCub-Fairy.png b/website/assets/sprites/spritesmith/stable/mounts/icon/Mount_Icon_LionCub-Fairy.png
new file mode 100644
index 0000000000..15b29e9f65
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/mounts/icon/Mount_Icon_LionCub-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/mounts/icon/Mount_Icon_PandaCub-Fairy.png b/website/assets/sprites/spritesmith/stable/mounts/icon/Mount_Icon_PandaCub-Fairy.png
new file mode 100644
index 0000000000..0fb02513a6
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/mounts/icon/Mount_Icon_PandaCub-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/mounts/icon/Mount_Icon_TigerCub-Fairy.png b/website/assets/sprites/spritesmith/stable/mounts/icon/Mount_Icon_TigerCub-Fairy.png
new file mode 100644
index 0000000000..e880f6bedd
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/mounts/icon/Mount_Icon_TigerCub-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/mounts/icon/Mount_Icon_Wolf-Fairy.png b/website/assets/sprites/spritesmith/stable/mounts/icon/Mount_Icon_Wolf-Fairy.png
new file mode 100644
index 0000000000..44638de8f8
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/mounts/icon/Mount_Icon_Wolf-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/pets/Pet-BearCub-Fairy.png b/website/assets/sprites/spritesmith/stable/pets/Pet-BearCub-Fairy.png
new file mode 100644
index 0000000000..e83ca85889
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/pets/Pet-BearCub-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/pets/Pet-Cactus-Fairy.png b/website/assets/sprites/spritesmith/stable/pets/Pet-Cactus-Fairy.png
new file mode 100644
index 0000000000..598c53f733
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/pets/Pet-Cactus-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/pets/Pet-Dragon-Fairy.png b/website/assets/sprites/spritesmith/stable/pets/Pet-Dragon-Fairy.png
new file mode 100644
index 0000000000..41c8a36a06
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/pets/Pet-Dragon-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/pets/Pet-FlyingPig-Fairy.png b/website/assets/sprites/spritesmith/stable/pets/Pet-FlyingPig-Fairy.png
new file mode 100644
index 0000000000..3808177fbe
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/pets/Pet-FlyingPig-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/pets/Pet-Fox-Fairy.png b/website/assets/sprites/spritesmith/stable/pets/Pet-Fox-Fairy.png
new file mode 100644
index 0000000000..7998833144
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/pets/Pet-Fox-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/pets/Pet-LionCub-Fairy.png b/website/assets/sprites/spritesmith/stable/pets/Pet-LionCub-Fairy.png
new file mode 100644
index 0000000000..4e4fb1be1e
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/pets/Pet-LionCub-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/pets/Pet-PandaCub-Fairy.png b/website/assets/sprites/spritesmith/stable/pets/Pet-PandaCub-Fairy.png
new file mode 100644
index 0000000000..3ede350188
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/pets/Pet-PandaCub-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/pets/Pet-TigerCub-Fairy.png b/website/assets/sprites/spritesmith/stable/pets/Pet-TigerCub-Fairy.png
new file mode 100644
index 0000000000..01c45b964b
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/pets/Pet-TigerCub-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/pets/Pet-Wolf-Fairy.png b/website/assets/sprites/spritesmith/stable/pets/Pet-Wolf-Fairy.png
new file mode 100644
index 0000000000..8bb5440740
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/pets/Pet-Wolf-Fairy.png differ
diff --git a/website/assets/sprites/spritesmith/stable/potions/Pet_HatchingPotion_Fairy.png b/website/assets/sprites/spritesmith/stable/potions/Pet_HatchingPotion_Fairy.png
new file mode 100644
index 0000000000..3af71077e7
Binary files /dev/null and b/website/assets/sprites/spritesmith/stable/potions/Pet_HatchingPotion_Fairy.png differ
diff --git a/website/assets/sprites/spritesmith_large/promo/promo_fairy_potions.png b/website/assets/sprites/spritesmith_large/promo/promo_fairy_potions.png
new file mode 100644
index 0000000000..44a587b3ba
Binary files /dev/null and b/website/assets/sprites/spritesmith_large/promo/promo_fairy_potions.png differ
diff --git a/website/common/locales/en/content.json b/website/common/locales/en/content.json
index dd9b50093b..b8aa8b6c86 100644
--- a/website/common/locales/en/content.json
+++ b/website/common/locales/en/content.json
@@ -232,6 +232,7 @@
"hatchingPotionHolly": "Holly",
"hatchingPotionCupid": "Cupid",
"hatchingPotionShimmer": "Shimmer",
+ "hatchingPotionFairy": "Fairy",
"hatchingPotionNotes": "Pour this on an egg, and it will hatch as a <%= potText(locale) %> pet.",
"premiumPotionAddlNotes": "Not usable on quest pet eggs.",
diff --git a/website/common/locales/en/gear.json b/website/common/locales/en/gear.json
index b7648d82de..107588f955 100644
--- a/website/common/locales/en/gear.json
+++ b/website/common/locales/en/gear.json
@@ -95,6 +95,8 @@
"weaponSpecialMammothRiderSpearNotes": "This rose quartz-tipped spear will imbue you with ancient spell-casting power. Increases Intelligence by <%= int %>.",
"weaponSpecialPageBannerText": "Page Banner",
"weaponSpecialPageBannerNotes": "Wave your banner high to inspire confidence! Increases Strength by <%= str %>.",
+ "weaponSpecialRoguishRainbowMessageText": "Roguish Rainbow Message",
+ "weaponSpecialRoguishRainbowMessageNotes": "This sparkly envelope contains messages of encouragement from Habiticans, and a touch of magic to help speed your deliveries! Increases Perception by <%= per %>.",
"weaponSpecialYetiText": "Yeti-Tamer Spear",
"weaponSpecialYetiNotes": "This spear allows its user to command any yeti. Increases Strength by <%= str %>. Limited Edition 2013-2014 Winter Gear.",
@@ -352,6 +354,8 @@
"armorSpecialMammothRiderArmorNotes": "This suit of fur and leather includes a snazzy cape studded with rose quartz gems. It will protect you from bitter winds as you adventure in the coldest climes. Increases Constitution by <%= con %>.",
"armorSpecialPageArmorText": "Page Armor",
"armorSpecialPageArmorNotes": "Carry everything you need in your perfect pack! Increases Constitution by <%= con %>.",
+ "armorSpecialRoguishRainbowMessengerRobesText": "Roguish Rainbow Messenger Robes",
+ "armorSpecialRoguishRainbowMessengerRobesNotes": "These vividly striped robes will allow you to fly through gale-force winds smoothly and safely. Increases Strength by <%= str %>.",
"armorSpecialYetiText": "Yeti-Tamer Robe",
"armorSpecialYetiNotes": "Fuzzy and fierce. Increases Constitution by <%= con %>. Limited Edition 2013-2014 Winter Gear.",
@@ -674,6 +678,8 @@
"headSpecialMammothRiderHelmNotes": "Don't let its fluffiness fool you--this hat will grant you piercing powers of perception! Increases Perception by <%= per %>.",
"headSpecialPageHelmText": "Page Helm",
"headSpecialPageHelmNotes": "Chainmail: for the stylish AND the practical. Increases Perception by <%= per %>.",
+ "headSpecialRoguishRainbowMessengerHoodText": "Roguish Rainbow Messenger Hood",
+ "headSpecialRoguishRainbowMessengerHoodNotes": "This bright hood emits a colorful glow that will protect you from unpleasant weather! Increases Constitution by <%= con %>.",
"headSpecialNyeText": "Absurd Party Hat",
"headSpecialNyeNotes": "You've received an Absurd Party Hat! Wear it with pride while ringing in the New Year! Confers no benefit.",
@@ -976,15 +982,16 @@
"shieldSpecial1Notes": "Shatters arrows and deflects the words of naysayers. Increases all attributes by <%= attrs %>.",
"shieldSpecialTakeThisText": "Take This Shield",
"shieldSpecialTakeThisNotes": "This shield was earned by participating in a sponsored Challenge made by Take This. Congratulations! Increases all attributes by <%= attrs %>.",
+ "shieldSpecialGoldenknightText": "Mustaine's Milestone Mashing Morning Star",
+ "shieldSpecialGoldenknightNotes": "Meetings, monsters, malaise: managed! Mash! Increases Constitution and Perception by <%= attrs %> each.",
"shieldSpecialMoonpearlShieldText": "Moonpearl Shield",
"shieldSpecialMoonpearlShieldNotes": "Designed for fast swimming, and also some defense. Increases Constitution by <%= con %>.",
"shieldSpecialMammothRiderHornText": "Mammoth Rider's Horn",
"shieldSpecialMammothRiderHornNotes": "One blow on this mighty rose quartz horn and you'll summon powerful magical forces. Increases Strength by <%= str %>.",
"shieldSpecialDiamondStaveText": "Diamond Stave",
"shieldSpecialDiamondStaveNotes": "This valuable stave has mystical powers. Increases Intelligence by <%= int %>.",
-
- "shieldSpecialGoldenknightText": "Mustaine's Milestone Mashing Morning Star",
- "shieldSpecialGoldenknightNotes": "Meetings, monsters, malaise: managed! Mash! Increases Constitution and Perception by <%= attrs %> each.",
+ "weaponSpecialRoguishRainbowMessageText": "Roguish Rainbow Message",
+ "weaponSpecialRoguishRainbowMessageNotes": "This sparkly envelope contains messages of encouragement from Habiticans, and a touch of magic to help speed your deliveries! Increases Intelligence by <%= int %>.",
"shieldSpecialYetiText": "Yeti-Tamer Shield",
"shieldSpecialYetiNotes": "This shield reflects light from the snow. Increases Constitution by <%= con %>. Limited Edition 2013-2014 Winter Gear.",
diff --git a/website/common/locales/en/limited.json b/website/common/locales/en/limited.json
index ed51d95912..90166ecef8 100644
--- a/website/common/locales/en/limited.json
+++ b/website/common/locales/en/limited.json
@@ -105,5 +105,6 @@
"spring2017FloralMouseSet": "Floral Mouse (Healer)",
"spring2017SneakyBunnySet": "Sneaky Bunny (Rogue)",
"eventAvailability": "Available for purchase until <%= date(locale) %>.",
- "dateEndApril": "April 19"
+ "dateEndApril": "April 19",
+ "dateEndMay": "May 17"
}
diff --git a/website/common/locales/en/questsContent.json b/website/common/locales/en/questsContent.json
index 46ca5d4e8d..9b28c2a37d 100644
--- a/website/common/locales/en/questsContent.json
+++ b/website/common/locales/en/questsContent.json
@@ -526,5 +526,30 @@
"questButterflyCompletion": "After a blazing battle, the Flaming Butterfry is captured. “Great job catching the that would-be arsonist,” says @Megan with a sigh of relief. “Still, it’s hard to vilify even the vilest butterfly. We’d better free this Butterfry someplace safe…like the desert.”
One of the other gardeners, @Beffymaroo, comes up to you, singed but smiling. “Will you help raise these foundling chrysalises we found? Perhaps next year we’ll have a greener garden for them.”",
"questButterflyBoss": "Flaming Butterfry",
"questButterflyDropButterflyEgg": "Caterpillar (Egg)",
- "questButterflyUnlockText": "Unlocks purchasable Caterpillar eggs in the Market"
+ "questButterflyUnlockText": "Unlocks purchasable Caterpillar eggs in the Market",
+
+ "questMayhemMistiflying1Text": "Mayhem in Mistiflying, Part 1: In Which Mistiflying Experiences a Dreadful Bother",
+ "questMayhemMistiflying1Notes": "Although local soothsayers predicted pleasant weather, the afternoon is extremely breezy, so you gratefully follow your friend @Kiwibot into their house to escape the blustery day.
Neither of you expects to find the April Fool lounging at the kitchen table.
“Oh, hello,” he says. “Fancy seeing you here. Please, let me offer you some of this delicious tea.”
“That’s…” @Kiwibot begins. “That’s MY—“
“Yes, yes, of course,” says the April Fool, helping himself to some cookies. “Just thought I’d pop indoors and get a nice reprieve from all the tornado-summoning skulls.” He takes a casual sip from his teacup. “Incidentally, the city of Mistiflying is under attack.”
Horrified, you and your friends race to the Stables and saddle your fastest winged mounts. As you soar towards the floating city, you see that a swarm of chattering, flying skulls are laying siege to the city… and several turn their attentions towards you!",
+ "questMayhemMistiflying1Completion": "The final skull drops from the sky, a shimmering set of rainbow robes clasped in its jaws, but the steady wind has not slackened. Something else is at play here. And where is that slacking April Fool? You pick up the robes, then swoop into the city.",
+ "questMayhemMistiflying1Boss": "Air Skull Swarm",
+ "questMayhemMistiflying1RageTitle": "Swarm Respawn",
+ "questMayhemMistiflying1RageDescription": "Swarm Respawn: This bar fills when you don't complete your Dailies. When it is full, the Air Skull Swarm will heal 30% of its remaining health!",
+ "questMayhemMistiflying1RageEffect": "`Air Skull Swarm uses SWARM RESPAWN!`\n\nEmboldened by their victories, more skulls come whirling out of the clouds!",
+ "questMayhemMistiflying1DropSkeletonPotion": "Skeleton Hatching Potion",
+ "questMayhemMistiflying1DropWhitePotion": "White Hatching Potion",
+ "questMayhemMistiflying1DropArmor": "Roguish Rainbow Messenger Robes (Armor)",
+
+ "questMayhemMistiflying2Text": "Mayhem in Mistiflying, Part 2: In Which the Wind Worsens",
+ "questMayhemMistiflying2Notes": "Mistiflying is dipping and rocking as the magical bees keeping it afloat are buffeted by the gale. After a desperate search for the April Fool, you find him inside a cottage, blithely playing cards with an angry, trussed-up skull.
@Katy133 raises their voice over the whistling wind. “What’s causing this? We defeated the skulls, but it’s getting worse!”
“That is a pickle,” the April Fool agrees. “Please be a dear and don’t mention it to Lady Glaciate. She’s always threatening to call off our courtship on the grounds that I am ‘catastrophically irresponsible,’ and I fear that she might misread this situation.” He shuffles the deck. “Perhaps you might follow the Mistiflies? They’re immaterial, so the wind can’t blow them away, and they tend to swarm around threats.” He nods out the window, where several of the city’s patron creatures are fluttering towards the east. “Now let me concentrate — my opponent has quite the poker face.”",
+ "questMayhemMistiflying2Completion": "You follow the Mistiflies to the site of a tornado, too stormy for you to enter.
“This should help,” says a voice directly in your ear, and you nearly fall off of your mount. The April Fool is somehow sitting directly behind you in the saddle. “I hear these messenger hoods emit an aura that guards against inclement weather — very useful to avoid lost missives as you fly around. Perhaps give it a try?”",
+ "questMayhemMistiflying2CollectMistiflies": "Mistiflies",
+ "questMayhemMistiflying2DropHeadgear": "Roguish Rainbow Messenger Hood (Headgear)",
+
+ "questMayhemMistiflying3Text": "Mayhem in Mistiflying, Part 3: In Which a Mailman is Extremely Rude",
+ "questMayhemMistiflying3Notes": "The Mistiflies are whirling so thickly through the tornado that it’s hard to see. Squinting, you spot a many-winged silhouette floating at the center of the tremendous storm.
“Oh, dear,” the April Fool sighs, nearly drowned out by the howl of the weather. “Looks like Winny went and got himself possessed. Very relatable problem, that. Could happen to anybody.”
“The Wind-Worker!” @Beffymaroo hollers at you. “He’s Mistiflying’s most talented messenger-mage, since he’s so skilled with weather magic. Normally he’s a very polite mailman!”
As if to counteract this statement, the Wind-Worker lets out a scream of fury, and even with your magic robes, the storm nearly rips you from your mount.
“That gaudy mask is new,” the April Fool remarks. “Perhaps you should relieve him of it?”
It’s a good idea… but the enraged mage isn’t going to give it up without a fight.",
+ "questMayhemMistiflying3Completion": "Just as you think you can’t withstand the wind any longer, you manage to snatch the mask from the Wind-Worker’s face. Instantly, the tornado is sucked away, leaving only balmy breezes and sunshine. The Wind-Worker looks around in bemusement. “Where did she go?”
“Who?” your friend @khdarkwolf asks.
“That sweet woman who offered to deliver a package for me. Tzina.” As he takes in the wind-swept city below him, his expression darkens. “Then again, maybe she wasn’t so sweet…”
The April Fool pats him on the back, then hands you two shimmering envelopes. “Here. Why don’t you let this distressed fellow rest, and take charge of the mail for a bit? I hear the magic in those envelopes will make them worth your while.”",
+ "questMayhemMistiflying3Boss": "The Wind-Worker",
+ "questMayhemMistiflying3DropPinkCottonCandy": "Pink Cotton Candy (Food)",
+ "questMayhemMistiflying3DropShield": "Roguish Rainbow Message (Shield-Hand Weapon)",
+ "questMayhemMistiflying3DropWeapon": "Roguish Rainbow Message (Weapon)"
}
diff --git a/website/common/script/content/gear/sets/special/index.js b/website/common/script/content/gear/sets/special/index.js
index df11e959cc..8b1dbb2bd1 100644
--- a/website/common/script/content/gear/sets/special/index.js
+++ b/website/common/script/content/gear/sets/special/index.js
@@ -49,6 +49,13 @@ let armor = {
value: 130,
canOwn: ownsItem('armor_special_mammothRiderArmor'),
},
+ roguishRainbowMessengerRobes: {
+ text: t('armorSpecialRoguishRainbowMessengerRobesText'),
+ notes: t('armorSpecialRoguishRainbowMessengerRobesNotes', { str: 15 }),
+ str: 15,
+ value: 130,
+ canOwn: ownsItem('armor_special_roguishRainbowMessengerRobes'),
+ },
pageArmor: {
text: t('armorSpecialPageArmorText'),
notes: t('armorSpecialPageArmorNotes', { con: 16 }),
@@ -735,6 +742,13 @@ let head = {
value: 130,
canOwn: ownsItem('head_special_mammothRiderHelm'),
},
+ roguishRainbowMessengerHood: {
+ text: t('headSpecialRoguishRainbowMessengerHoodText'),
+ notes: t('headSpecialRoguishRainbowMessengerHoodNotes', { con: 15 }),
+ con: 15,
+ value: 130,
+ canOwn: ownsItem('head_special_roguishRainbowMessengerHood'),
+ },
pageHelm: {
text: t('headSpecialPageHelmText'),
notes: t('headSpecialPageHelmNotes', { per: 16 }),
@@ -1516,6 +1530,13 @@ let shield = {
value: 130,
canOwn: ownsItem('shield_special_mammothRiderHorn'),
},
+ roguishRainbowMessage: {
+ text: t('shieldSpecialRoguishRainbowMessageText'),
+ notes: t('shieldSpecialRoguishRainbowMessageNotes', { int: 15 }),
+ int: 15,
+ value: 130,
+ canOwn: ownsItem('shield_special_roguishRainbowMessage'),
+ },
diamondStave: {
text: t('shieldSpecialDiamondStaveText'),
notes: t('shieldSpecialDiamondStaveNotes', { int: 16 }),
@@ -1936,6 +1957,13 @@ let weapon = {
value: 130,
canOwn: ownsItem('weapon_special_mammothRiderSpear'),
},
+ roguishRainbowMessage: {
+ text: t('weaponSpecialRoguishRainbowMessageText'),
+ notes: t('weaponSpecialRoguishRainbowMessageNotes', { per: 15 }),
+ per: 15,
+ value: 130,
+ canOwn: ownsItem('weapon_special_roguishRainbowMessage'),
+ },
pageBanner: {
text: t('weaponSpecialPageBannerText'),
notes: t('weaponSpecialPageBannerNotes', { str: 16 }),
diff --git a/website/common/script/content/hatching-potions.js b/website/common/script/content/hatching-potions.js
index d634f54744..b546b1d5df 100644
--- a/website/common/script/content/hatching-potions.js
+++ b/website/common/script/content/hatching-potions.js
@@ -3,7 +3,7 @@ import defaults from 'lodash/defaults';
import each from 'lodash/each';
import t from './translation';
-const CURRENT_SEASON = 'April';
+const CURRENT_SEASON = 'May';
let drops = {
Base: {
@@ -66,6 +66,12 @@ let premium = {
limited: true,
_season: 'April',
},
+ Fairy: {
+ value: 2,
+ text: t('hatchingPotionFairy'),
+ limited: true,
+ _season: 'May',
+ },
Floral: {
value: 2,
text: t('hatchingPotionFloral'),
diff --git a/website/common/script/content/index.js b/website/common/script/content/index.js
index df3ba873dc..48f12ce27e 100644
--- a/website/common/script/content/index.js
+++ b/website/common/script/content/index.js
@@ -3023,6 +3023,119 @@ api.quests = {
unlock: t('questButterflyUnlockText'),
},
},
+ mayhemMistiflying1: {
+ text: t('questMayhemMistiflying1Text'),
+ notes: t('questMayhemMistiflying1Notes'),
+ completion: t('questMayhemMistiflying1Completion'),
+ value: 4,
+ goldValue: 200,
+ category: 'gold',
+ boss: {
+ name: t('questMayhemMistiflying1Boss'),
+ hp: 500,
+ rage: {
+ title: t('questMayhemMistiflying1RageTitle'),
+ description: t('questMayhemMistiflying1RageDescription'),
+ value: 50,
+ healing: 0.3,
+ effect: t('questMayhemMistiflying1RageEffect'),
+ },
+ },
+ drop: {
+ items: [
+ {
+ type: 'hatchingPotions',
+ key: 'Skeleton',
+ text: t('questMayhemMistiflying1DropSkeletonPotion'),
+ }, {
+ type: 'hatchingPotions',
+ key: 'White',
+ text: t('questMayhemMistiflying1DropWhitePotion'),
+ }, {
+ type: 'gear',
+ key: 'armor_special_roguishRainbowMessengerRobes',
+ text: t('questMayhemMistiflying1DropArmor'),
+ },
+ ],
+ gp: 0,
+ exp: 500,
+ },
+ },
+ mayhemMistiflying2: {
+ text: t('questMayhemMistiflying2Text'),
+ notes: t('questMayhemMistiflying2Notes'),
+ completion: t('questMayhemMistiflying2Completion'),
+ previous: 'mayhemMistiflying1',
+ value: 4,
+ goldValue: 300,
+ category: 'gold',
+ collect: {
+ mistifly1: {
+ text: t('questMayhemMistiflying2CollectMistiflies'),
+ count: 15,
+ },
+ mistifly2: {
+ text: t('questMayhemMistiflying2CollectMistiflies'),
+ count: 15,
+ },
+ mistifly3: {
+ text: t('questMayhemMistiflying2CollectMistiflies'),
+ count: 15,
+ },
+ },
+ drop: {
+ items: [
+ {
+ type: 'gear',
+ key: 'head_special_roguishRainbowMessengerHood',
+ text: t('questMayhemMistiflying2DropHeadgear'),
+ },
+ ],
+ gp: 0,
+ exp: 75,
+ },
+ },
+ mayhemMistiflying3: {
+ text: t('questMayhemMistiflying3Text'),
+ notes: t('questMayhemMistiflying3Notes'),
+ completion: t('questMayhemMistiflying3Completion'),
+ previous: 'mayhemMistiflying2',
+ value: 4,
+ goldValue: 400,
+ category: 'gold',
+ boss: {
+ name: t('questMayhemMistiflying3Boss'),
+ hp: 1000,
+ str: 2,
+ },
+ drop: {
+ items: [
+ {
+ type: 'food',
+ key: 'CottonCandyPink',
+ text: t('questMayhemMistiflying3DropPinkCottonCandy'),
+ }, {
+ type: 'food',
+ key: 'CottonCandyPink',
+ text: t('questMayhemMistiflying3DropPinkCottonCandy'),
+ }, {
+ type: 'food',
+ key: 'CottonCandyPink',
+ text: t('questMayhemMistiflying3DropPinkCottonCandy'),
+ }, {
+ type: 'gear',
+ key: 'weapon_special_roguishRainbowMessage',
+ text: t('questMayhemMistiflying3DropWeapon'),
+ }, {
+ type: 'gear',
+ key: 'shield_special_roguishRainbowMessage',
+ text: t('questMayhemMistiflying3DropShield'),
+ },
+ ],
+ gp: 0,
+ exp: 650,
+ },
+ },
};
each(api.quests, (v, key) => {