feat(content): prebuild Fall Festival (#14869)

* feat(content): prebuild Fall Festival

* fix(typos): because 2023 is not the same as 2024

* feat(css): having stylesheets is important

* feat(content): ready for review & testing

* fix(tests): account for Sept 09 bundle

* fix(gala): use multi event list more
fix a couple of strings too

* feat(content): Warrior and Rogue text
also fix timing of quest bundle feature

* fix(strings): correct stat boosts

* fix(content): missing mage
also adds missing margin to purchase gems button in buy modal

---------

Co-authored-by: SabreCat <sabe@habitica.com>
This commit is contained in:
Natalie
2023-09-20 20:46:34 -04:00
committed by GitHub
parent 9e25360102
commit f72eef6bff
18 changed files with 558 additions and 269 deletions

View File

@@ -216,7 +216,7 @@ describe('shared.ops.purchase', () => {
expect(user.balance).to.equal(startingBalance - price);
expect(pinnedGearUtils.removeItemByPath.notCalled).to.equal(true);
clock.restore();
// clock.restore();
});
});

View File

@@ -23760,6 +23760,26 @@
width: 114px;
height: 90px;
}
.broad_armor_special_fall2023Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_fall2023Healer.png');
width: 114px;
height: 90px;
}
.broad_armor_special_fall2023Mage {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_fall2023Mage.png');
width: 114px;
height: 90px;
}
.broad_armor_special_fall2023Rogue {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_fall2023Rogue.png');
width: 114px;
height: 90px;
}
.broad_armor_special_fall2023Warrior {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_fall2023Warrior.png');
width: 114px;
height: 90px;
}
.broad_armor_special_fallHealer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_fallHealer.png');
width: 90px;
@@ -23950,6 +23970,26 @@
width: 114px;
height: 90px;
}
.head_special_fall2023Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_fall2023Healer.png');
width: 114px;
height: 90px;
}
.head_special_fall2023Mage {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_fall2023Mage.png');
width: 114px;
height: 90px;
}
.head_special_fall2023Rogue {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_fall2023Rogue.png');
width: 114px;
height: 90px;
}
.head_special_fall2023Warrior {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_fall2023Warrior.png');
width: 114px;
height: 90px;
}
.head_special_fallHealer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_fallHealer.png');
width: 90px;
@@ -24090,6 +24130,21 @@
width: 114px;
height: 90px;
}
.shield_special_fall2023Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_special_fall2023Healer.png');
width: 114px;
height: 90px;
}
.shield_special_fall2023Rogue {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_special_fall2023Rogue.png');
width: 114px;
height: 90px;
}
.shield_special_fall2023Warrior {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_special_fall2023Warrior.png');
width: 114px;
height: 90px;
}
.shield_special_fallHealer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_special_fallHealer.png');
width: 90px;
@@ -24265,6 +24320,26 @@
width: 68px;
height: 68px;
}
.shop_armor_special_fall2023Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_fall2023Healer.png');
width: 68px;
height: 68px;
}
.shop_armor_special_fall2023Mage {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_fall2023Mage.png');
width: 68px;
height: 68px;
}
.shop_armor_special_fall2023Rogue {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_fall2023Rogue.png');
width: 68px;
height: 68px;
}
.shop_armor_special_fall2023Warrior {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_fall2023Warrior.png');
width: 68px;
height: 68px;
}
.shop_armor_special_fallHealer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_fallHealer.png');
width: 68px;
@@ -24455,6 +24530,21 @@
width: 68px;
height: 68px;
}
.shop_head_special_fall2023Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_fall2023Healer.png');
width: 68px;
height: 68px;
}
.shop_head_special_fall2023Mage {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_fall2023Mage.png');
width: 68px;
height: 68px;
}
.shop_head_special_fall2023Warrior {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_fall2023Warrior.png');
width: 68px;
height: 68px;
}
.shop_head_special_fallHealer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_fallHealer.png');
width: 68px;
@@ -24595,6 +24685,21 @@
width: 68px;
height: 68px;
}
.shop_shield_special_fall2023Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_special_fall2023Healer.png');
width: 68px;
height: 68px;
}
.shop_shield_special_fall2023Rogue {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_special_fall2023Rogue.png');
width: 68px;
height: 68px;
}
.shop_shield_special_fall2023Warrior {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_special_fall2023Warrior.png');
width: 68px;
height: 68px;
}
.shop_shield_special_fallHealer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_special_fallHealer.png');
width: 68px;
@@ -24770,6 +24875,16 @@
width: 68px;
height: 68px;
}
.shop_weapon_special_fall2023Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_fall2023Healer.png');
width: 68px;
height: 68px;
}
.shop_weapon_special_fall2023Rogue {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_fall2023Rogue.png');
width: 68px;
height: 68px;
}
.shop_weapon_special_fallHealer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_fallHealer.png');
width: 68px;
@@ -24790,6 +24905,21 @@
width: 68px;
height: 68px;
}
.shop_head_special_fall2023Rogue {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_fall2023Rogue.png');
width: 68px;
height: 68px;
}
.shop_weapon_special_fall2023Mage {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_fall2023Mage.png');
width: 68px;
height: 68px;
}
.shop_weapon_special_fall2023Warrior {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_fall2023Warrior.png');
width: 68px;
height: 68px;
}
.slim_armor_special_fall2015Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_fall2015Healer.png');
width: 93px;
@@ -24950,6 +25080,26 @@
width: 114px;
height: 90px;
}
.slim_armor_special_fall2023Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_fall2023Healer.png');
width: 114px;
height: 90px;
}
.slim_armor_special_fall2023Mage {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_fall2023Mage.png');
width: 114px;
height: 90px;
}
.slim_armor_special_fall2023Rogue {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_fall2023Rogue.png');
width: 114px;
height: 90px;
}
.slim_armor_special_fall2023Warrior {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_fall2023Warrior.png');
width: 114px;
height: 90px;
}
.slim_armor_special_fallHealer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_fallHealer.png');
width: 90px;
@@ -25130,6 +25280,26 @@
width: 114px;
height: 90px;
}
.weapon_special_fall2023Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_fall2023Healer.png');
width: 114px;
height: 90px;
}
.weapon_special_fall2023Mage {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_fall2023Mage.png');
width: 114px;
height: 90px;
}
.weapon_special_fall2023Rogue {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_fall2023Rogue.png');
width: 114px;
height: 90px;
}
.weapon_special_fall2023Warrior {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_fall2023Warrior.png');
width: 114px;
height: 90px;
}
.weapon_special_fallHealer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_fallHealer.png');
width: 90px;
@@ -34474,214 +34644,6 @@
width: 68px;
height: 68px;
}
.headAccessory_special_bearEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_bearEars.png');
width: 90px;
height: 90px;
}
.customize-option.headAccessory_special_bearEars {
background-position: -25px -15px;
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_bearEars.png');
width: 60px;
height: 60px;
}
.headAccessory_special_blackHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_blackHeadband.png');
width: 114px;
height: 90px;
}
.headAccessory_special_blueHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_blueHeadband.png');
width: 114px;
height: 90px;
}
.headAccessory_special_cactusEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_cactusEars.png');
width: 90px;
height: 90px;
}
.customize-option.headAccessory_special_cactusEars {
background-position: -25px -15px;
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_cactusEars.png');
width: 60px;
height: 60px;
}
.headAccessory_special_foxEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_foxEars.png');
width: 90px;
height: 90px;
}
.customize-option.headAccessory_special_foxEars {
background-position: -25px -15px;
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_foxEars.png');
width: 60px;
height: 60px;
}
.headAccessory_special_greenHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_greenHeadband.png');
width: 114px;
height: 90px;
}
.headAccessory_special_heroicCirclet {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_heroicCirclet.png');
width: 114px;
height: 90px;
}
.headAccessory_special_lionEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_lionEars.png');
width: 90px;
height: 90px;
}
.customize-option.headAccessory_special_lionEars {
background-position: -25px -15px;
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_lionEars.png');
width: 60px;
height: 60px;
}
.headAccessory_special_pandaEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_pandaEars.png');
width: 90px;
height: 90px;
}
.customize-option.headAccessory_special_pandaEars {
background-position: -25px -15px;
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_pandaEars.png');
width: 60px;
height: 60px;
}
.headAccessory_special_pigEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_pigEars.png');
width: 90px;
height: 90px;
}
.customize-option.headAccessory_special_pigEars {
background-position: -25px -15px;
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_pigEars.png');
width: 60px;
height: 60px;
}
.headAccessory_special_pinkHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_pinkHeadband.png');
width: 114px;
height: 90px;
}
.headAccessory_special_redHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_redHeadband.png');
width: 114px;
height: 90px;
}
.headAccessory_special_tigerEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_tigerEars.png');
width: 90px;
height: 90px;
}
.customize-option.headAccessory_special_tigerEars {
background-position: -25px -15px;
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_tigerEars.png');
width: 60px;
height: 60px;
}
.headAccessory_special_whiteHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_whiteHeadband.png');
width: 114px;
height: 90px;
}
.headAccessory_special_wolfEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_wolfEars.png');
width: 90px;
height: 90px;
}
.customize-option.headAccessory_special_wolfEars {
background-position: -25px -15px;
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_wolfEars.png');
width: 60px;
height: 60px;
}
.headAccessory_special_yellowHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_yellowHeadband.png');
width: 114px;
height: 90px;
}
.shop_headAccessory_special_bearEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_bearEars.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_blackHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_blackHeadband.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_blueHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_blueHeadband.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_cactusEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_cactusEars.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_foxEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_foxEars.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_greenHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_greenHeadband.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_heroicCirclet {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_heroicCirclet.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_lionEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_lionEars.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_pandaEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_pandaEars.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_pigEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_pigEars.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_pinkHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_pinkHeadband.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_redHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_redHeadband.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_tigerEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_tigerEars.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_whiteHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_whiteHeadband.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_wolfEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_wolfEars.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_yellowHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_yellowHeadband.png');
width: 68px;
height: 68px;
}
.head_0 {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_0.png');
width: 90px;
@@ -35063,6 +35025,214 @@
width: 68px;
height: 68px;
}
.headAccessory_special_bearEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_bearEars.png');
width: 90px;
height: 90px;
}
.customize-option.headAccessory_special_bearEars {
background-position: -25px -15px;
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_bearEars.png');
width: 60px;
height: 60px;
}
.headAccessory_special_blackHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_blackHeadband.png');
width: 114px;
height: 90px;
}
.headAccessory_special_blueHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_blueHeadband.png');
width: 114px;
height: 90px;
}
.headAccessory_special_cactusEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_cactusEars.png');
width: 90px;
height: 90px;
}
.customize-option.headAccessory_special_cactusEars {
background-position: -25px -15px;
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_cactusEars.png');
width: 60px;
height: 60px;
}
.headAccessory_special_foxEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_foxEars.png');
width: 90px;
height: 90px;
}
.customize-option.headAccessory_special_foxEars {
background-position: -25px -15px;
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_foxEars.png');
width: 60px;
height: 60px;
}
.headAccessory_special_greenHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_greenHeadband.png');
width: 114px;
height: 90px;
}
.headAccessory_special_heroicCirclet {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_heroicCirclet.png');
width: 114px;
height: 90px;
}
.headAccessory_special_lionEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_lionEars.png');
width: 90px;
height: 90px;
}
.customize-option.headAccessory_special_lionEars {
background-position: -25px -15px;
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_lionEars.png');
width: 60px;
height: 60px;
}
.headAccessory_special_pandaEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_pandaEars.png');
width: 90px;
height: 90px;
}
.customize-option.headAccessory_special_pandaEars {
background-position: -25px -15px;
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_pandaEars.png');
width: 60px;
height: 60px;
}
.headAccessory_special_pigEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_pigEars.png');
width: 90px;
height: 90px;
}
.customize-option.headAccessory_special_pigEars {
background-position: -25px -15px;
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_pigEars.png');
width: 60px;
height: 60px;
}
.headAccessory_special_pinkHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_pinkHeadband.png');
width: 114px;
height: 90px;
}
.headAccessory_special_redHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_redHeadband.png');
width: 114px;
height: 90px;
}
.headAccessory_special_tigerEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_tigerEars.png');
width: 90px;
height: 90px;
}
.customize-option.headAccessory_special_tigerEars {
background-position: -25px -15px;
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_tigerEars.png');
width: 60px;
height: 60px;
}
.headAccessory_special_whiteHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_whiteHeadband.png');
width: 114px;
height: 90px;
}
.headAccessory_special_wolfEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_wolfEars.png');
width: 90px;
height: 90px;
}
.customize-option.headAccessory_special_wolfEars {
background-position: -25px -15px;
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_wolfEars.png');
width: 60px;
height: 60px;
}
.headAccessory_special_yellowHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_yellowHeadband.png');
width: 114px;
height: 90px;
}
.shop_headAccessory_special_bearEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_bearEars.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_blackHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_blackHeadband.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_blueHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_blueHeadband.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_cactusEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_cactusEars.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_foxEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_foxEars.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_greenHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_greenHeadband.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_heroicCirclet {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_heroicCirclet.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_lionEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_lionEars.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_pandaEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_pandaEars.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_pigEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_pigEars.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_pinkHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_pinkHeadband.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_redHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_redHeadband.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_tigerEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_tigerEars.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_whiteHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_whiteHeadband.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_wolfEars {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_wolfEars.png');
width: 68px;
height: 68px;
}
.shop_headAccessory_special_yellowHeadband {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_yellowHeadband.png');
width: 68px;
height: 68px;
}
.shield_healer_1 {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_healer_1.png');
width: 90px;

View File

@@ -171,7 +171,12 @@
</small>
<h4 class="mt-3 mx-auto"> {{ $t('limitations') }}</h4>
<small class="text-center">
{{ $t('gemSaleLimitations', { eventStartMonth, eventStartOrdinal, eventEndOrdinal }) }}
{{ $t('gemSaleLimitations', {
eventStartMonth,
eventStartOrdinal,
eventEndMonth,
eventEndOrdinal,
}) }}
</small>
</div>
</div>
@@ -441,6 +446,9 @@ export default {
eventStartOrdinal () {
return moment(this.currentEvent.start).format('Do');
},
eventEndMonth () {
return moment(this.currentEvent.end).format('MMMM');
},
eventEndOrdinal () {
return moment(this.currentEvent.end).format('Do');
},

View File

@@ -152,7 +152,7 @@
<button
v-if="getPriceClass() === 'gems'
&& !enoughCurrency(getPriceClass(), item.value * selectedAmountToBuy)"
class="btn btn-primary"
class="btn btn-primary mb-3"
@click="purchaseGems()"
>
{{ $t('purchaseGems') }}

View File

@@ -346,6 +346,7 @@ import _sortBy from 'lodash/sortBy';
import _throttle from 'lodash/throttle';
import _groupBy from 'lodash/groupBy';
import _reverse from 'lodash/reverse';
import _find from 'lodash/find';
import { mapState } from '@/libs/store';
import Checkbox from '@/components/ui/checkbox';
@@ -413,7 +414,7 @@ export default {
hidePinned: false,
featuredGearBought: false,
currentEvent: null,
backgroundUpdate: new Date(),
};
},
@@ -422,7 +423,7 @@ export default {
content: 'content',
user: 'user.data',
userStats: 'user.data.stats',
currentEvent: 'worldState.data.currentEvent',
currentEventList: 'worldState.data.currentEventList',
}),
usersOfficalPinnedItems () {
@@ -518,6 +519,7 @@ export default {
});
this.triggerGetWorldState();
this.currentEvent = _find(this.currentEventList, event => Boolean(['winter', 'spring', 'summer', 'fall'].includes(event.season)));
},
beforeDestroy () {
this.$root.$off('buyModal::boughtItem');

View File

@@ -273,6 +273,7 @@ import _sortBy from 'lodash/sortBy';
import _throttle from 'lodash/throttle';
import _groupBy from 'lodash/groupBy';
import _map from 'lodash/map';
import _find from 'lodash/find';
import { mapState } from '@/libs/store';
import ShopItem from '../shopItem';
@@ -330,6 +331,8 @@ export default {
hidePinned: false,
backgroundUpdate: new Date(),
currentEvent: null,
};
},
computed: {
@@ -339,7 +342,7 @@ export default {
user: 'user.data',
userStats: 'user.data.stats',
userItems: 'user.data.items',
currentEvent: 'worldState.data.currentEvent',
currentEventList: 'worldState.data.currentEventList',
}),
closed () {
@@ -422,6 +425,7 @@ export default {
this.$root.$emit('buyModal::hidden', this.selectedItemToBuy.key);
}
});
this.currentEvent = _find(this.currentEventList, event => Boolean(['winter', 'spring', 'summer', 'fall'].includes(event.season)));
},
beforeDestroy () {
this.$root.$off('buyModal::boughtItem');

View File

@@ -486,6 +486,15 @@
"weaponSpecialSummer2023HealerText": "Swaying Kelp",
"weaponSpecialSummer2023HealerNotes": "They may look frondly, but they get quite grumpy if you call them 'plants'. Increases Intelligence by <%= int %>. Limited Edition 2023 Summer Gear.",
"weaponSpecialFall2023RogueText": "Soupernatural Spoon",
"weaponSpecialFall2023RogueNotes": "It takes an exceptionally strong stirrer to cook up bubbles and toiling troubles. Increases Strength by <%= str %>. Limited Edition 2023 Fall Gear.",
"weaponSpecialFall2023WarriorText": "Tasty Popcorn",
"weaponSpecialFall2023WarriorNotes": "The most terrifying thing of all is the thought of a scary movie night with no snacks! Increases Strength by <%= str %>. Limited Edition 2023 Fall Gear.",
"weaponSpecialFall2023MageText": "Shining Staff",
"weaponSpecialFall2023MageNotes": "With a crystal at its core, this shining staff makes magic emerge from the mundane. Increases Intelligence by <%= int %>. Limited Edition 2023 Fall Gear.",
"weaponSpecialFall2023HealerText": "Log Great Hammer",
"weaponSpecialFall2023HealerNotes": "With slow, heavy attacks, this gnarled hammer deals out healing blows instead of damage. Increases Intelligence by <%= int %>. Limited Edition 2023 Fall Gear.",
"weaponMystery201411Text": "Pitchfork of Feasting",
"weaponMystery201411Notes": "Stab your enemies or dig in to your favorite foods - this versatile pitchfork does it all! Confers no benefit. November 2014 Subscriber Item.",
"weaponMystery201502Text": "Shimmery Winged Staff of Love and Also Truth",
@@ -1177,6 +1186,15 @@
"armorSpecialSummer2023HealerText": "Kelp Kirtle",
"armorSpecialSummer2023HealerNotes": "Hold fast to your goals and convictions in this elegant green gown. Increases Constitution by <%= con %>. Limited Edition 2023 Summer Gear.",
"armorSpecialFall2023RogueText": "Cursed Cauldron",
"armorSpecialFall2023RogueNotes": "You were lured with the promise of a nice hot soak... Joke's on you! Increases Perception by <%= per %>. Limited Edition 2023 Fall Gear.",
"armorSpecialFall2023WarriorText": "Video Player Armor",
"armorSpecialFall2023WarriorNotes": "Does it play DVDs? VHS?? What kind of cables does this need to plug into the TV?! Turns out this is the scariest part of the whole thing! Increases Constitution by <%= con %>. Limited Edition 2023 Summer Gear.",
"armorSpecialFall2023MageText": "Scarlet Warlock Robe",
"armorSpecialFall2023MageNotes": "With scarlet threads and gold accents, this outfit is a wonder for the senses. Increases Intelligence by <%= int %>. Limited Edition 2023 Fall Gear.",
"armorSpecialFall2023HealerText": "Bog Creature Body",
"armorSpecialFall2023HealerNotes": "With moss, rock, wood, and bog water merged into one, this outfit is sometimes tough and sometimes spongey (but always intimidating). Increases Constitution by <%= con %>. Limited Edition 2023 Fall Gear.",
"armorMystery201402Text": "Messenger Robes",
"armorMystery201402Notes": "Shimmering and strong, these robes have many pockets to carry letters. Confers no benefit. February 2014 Subscriber Item.",
"armorMystery201403Text": "Forest Walker Armor",
@@ -1954,6 +1972,15 @@
"headSpecialSummer2023HealerText": "Kelp Crown",
"headSpecialSummer2023HealerNotes": "They're not snakes! You can open your eyes, it's safe! Increases Intelligence by <%= int %>. Limited Edition 2023 Summer Gear.",
"headSpecialFall2023RogueText": "Enchanted Visage",
"headSpecialFall2023RogueNotes": "This jinxed stew has given you the fuzzy face and long ears of a donkey! How very Shakespearean. Increases Perception by <%= per %>. Limited Edition 2023 Fall Gear.",
"headSpecialFall2023WarriorText": "Haunted Screen",
"headSpecialFall2023WarriorNotes": "What horror lurks in this realm of distortion and static? You'll have to stay tuned to find out! Increases Strength by <%= str %>. Limited Edition 2023 Fall Gear.",
"headSpecialFall2023MageText": "Scarlet Warlock Mask",
"headSpecialFall2023MageNotes": "With piercing eyes and pointed flair, it makes any illusion a sudden possibility. Increases Perception by <%= per %>. Limited Edition 2023 Fall Gear.",
"headSpecialFall2023HealerText": "Bog Creature Mask",
"headSpecialFall2023HealerNotes": "With eyes as dark as the bog it emerged from, it fixes its gaze upon enemies. Increases Intelligence by <%= int %>. Limited Edition 2023 Fall Gear.",
"headSpecialGaymerxText": "Rainbow Warrior Helm",
"headSpecialGaymerxNotes": "In celebration of the GaymerX Conference, this special helmet is decorated with a radiant, colorful rainbow pattern! GaymerX is a game convention celebrating LGTBQ and gaming and is open to everyone.",
@@ -2546,6 +2573,13 @@
"shieldSpecialSummer2023HealerText": "Sea Urchin",
"shieldSpecialSummer2023HealerNotes": "You conceal and shelter it. It dissuades nosy monsters from coming too close. Perfect symbiosis! Increases Constitution by <%= con %>. Limited Edition 2023 Summer Gear.",
"shieldSpecialFall2023RogueText": "Bewitched Bottle",
"shieldSpecialFall2023RogueNotes": "Enchanted with the strongest spells to hold powerful potions. Increases Strength by <%= str %>. Limited Edition 2023 Fall Gear.",
"shieldSpecialFall2023WarriorText": "Comfy Pillow",
"shieldSpecialFall2023WarriorNotes": "Perfect for making yourself comfortable while enjoying a scary movie... But we won't tell anyone if you need to hug it during the really spooky scenes! Increases Constitution by <%= con %>. Limited Edition 2023 Fall Gear.",
"shieldSpecialFall2023HealerText": "Mossy Rock",
"shieldSpecialFall2023HealerNotes": "With a firm base and a soft top, this is perfect to hurl at enemies or to sit upon when you need a rest from your adventures. Increases Constitution by <%= con %>. Limited Edition 2023 Fall Gear.",
"shieldMystery201601Text": "Resolution Slayer",
"shieldMystery201601Notes": "This blade can be used to parry away all distractions. Confers no benefit. January 2016 Subscriber Item.",
"shieldMystery201701Text": "Time-Freezer Shield",

View File

@@ -203,6 +203,10 @@
"summer2023GuppyRogueSet": "Guppy (Rogue)",
"summer2023KelpHealerSet": "Kelp (Healer)",
"summer2023CoralMageSet": "Coral (Mage)",
"fall2023ScaryMovieWarriorSet": "Scary Movie (Warrior)",
"fall2023ScarletWarlockMageSet": "Scarlet Warlock (Mage)",
"fall2023WitchsBrewRogueSet": "Witch's Brew (Rogue)",
"fall2023BogCreatureHealerSet": "Bog Creature (Healer)",
"eventAvailability": "Available for purchase until <%= date(locale) %>.",
"eventAvailabilityReturning": "Available for purchase until <%= availableDate(locale) %>. This potion was last available in <%= previousDate(locale) %>.",
"dateEndJanuary": "January 31",
@@ -245,7 +249,7 @@
"g1g1Limitations": "This is a limited time event that starts on December 15th at 8:00 AM ET (13:00 UTC) and will end January 8th at 11:59 PM ET (January 9th 04:59 UTC). This promotion only applies when you gift to another Habitican. If you or your gift recipient already have a subscription, the gifted subscription will add months of credit that will only be used after the current subscription is canceled or expires.",
"noLongerAvailable": "This item is no longer available.",
"gemSaleHow": "Between <%= eventStartMonth %> <%= eventStartOrdinal %> and <%= eventEndOrdinal %>, simply purchase any Gem bundle like usual and your account will be credited with the promotional amount of Gems. More Gems to spend, share, or save for any future releases!",
"gemSaleLimitations": "This promotion only applies during the limited time event. This event starts on <%= eventStartMonth %> <%= eventStartOrdinal %> at 8:00 AM EDT (12:00 UTC) and will end <%= eventStartMonth %> <%= eventEndOrdinal %> at 8:00 PM EDT (00:00 UTC). The promo offer is only available when buying Gems for yourself.",
"gemSaleLimitations": "This promotion only applies during the limited time event. This event starts on <%= eventStartMonth %> <%= eventStartOrdinal %> at 8:00 AM EDT (12:00 UTC) and will end <%= eventEndMonth %> <%= eventEndOrdinal %> at 8:00 PM EDT (00:00 UTC). The promo offer is only available when buying Gems for yourself.",
"anniversaryLimitations": "This is a limited time event that starts on January 30th at 8:00 AM ET (13:00 UTC) and will end February 8th at 11:59 PM ET (04:59 UTC). The Limited Edition Jubilant Gryphatrice and ten Magic Hatching Potions will be available to buy during this time. The other Gifts listed in the Four for Free section will be automatically delivered to all accounts that were active in the 30 days prior to day the gift is sent. Accounts created after the gifts are sent will not be able to claim them.",
"anniversaryLimitedDates": "January 30th to February 8th",
"limitedEvent": "Limited Event",

View File

@@ -15,7 +15,7 @@ export default prefill({
setPrice: 5, availableFrom: '2023-04-11T08:00-05:00', availableUntil: EVENTS.spring2023.end, text: t('shimmerColors'),
},
hauntedHairColors: {
setPrice: 5, availableFrom: '2022-10-04T08:00-04:00', availableUntil: EVENTS.fall2022.end, text: t('hauntedColors'),
setPrice: 5, availableFrom: '2023-10-03T08:00-04:00', availableUntil: EVENTS.fall2023.end, text: t('hauntedColors'),
},
winteryHairColors: {
setPrice: 5, availableFrom: '2023-01-17T08:00-05:00', availableUntil: EVENTS.winter2023.end, text: t('winteryColors'),
@@ -27,7 +27,7 @@ export default prefill({
},
spookySkins: { setPrice: 5, availableUntil: '2016-01-01', text: t('spookySkins') },
supernaturalSkins: {
setPrice: 5, availableFrom: '2022-10-04T08:00-04:00', availableUntil: EVENTS.fall2022.end, text: t('supernaturalSkins'),
setPrice: 5, availableFrom: '2023-10-03T08:00-04:00', availableUntil: EVENTS.fall2023.end, text: t('supernaturalSkins'),
},
splashySkins: {
setPrice: 5, availableFrom: '2023-07-11T08:00-05:00', availableUntil: EVENTS.summer2023.end, text: t('splashySkins'),

View File

@@ -251,14 +251,15 @@ const bundles = {
sandySidekicks: {
key: 'sandySidekicks',
text: t('sandySidekicksText'),
notes: t('sandySidekicksNotes', { date: moment('2020-10-31').format('LL') }),
notes: t('sandySidekicksNotes', { date: moment('2023-10-31').format('LL') }),
bundleKeys: [
'armadillo',
'snake',
'spider',
],
event: EVENTS.bundle202310,
canBuy () {
return moment().isBetween('2020-10-13', '2020-11-02');
return moment().isBetween(EVENTS.bundle202310.start, EVENTS.bundle202310.end);
},
type: 'quests',
value: 7,

View File

@@ -10,11 +10,26 @@ const gemsPromo = {
export const EVENTS = {
noEvent: {
start: '2023-08-01T23:59-04:00',
end: '2023-09-12T08:00-04:00',
start: '2023-11-01T23:59-04:00',
end: '2023-12-21T08:00-04:00',
season: 'normal',
npcImageSuffix: '',
},
bundle202310: {
start: '2023-10-17T08:00-04:00',
end: '2023-10-31T23:59-04:00',
},
potions202310: {
start: '2023-09-21T08:00-04:00',
end: '2023-10-31T23:59-04:00',
},
fall2023: {
start: '2023-09-21T08:00-04:00',
end: '2023-10-31T23:59-04:00',
npcImageSuffix: '_fall',
season: 'fall',
gear: true,
},
bundle202309: {
start: '2023-09-12T08:00-04:00',
end: '2023-09-30T23:59-04:00',

View File

@@ -209,6 +209,11 @@ const SEASONAL_SETS = {
'fall2022OrcWarriorSet',
'fall2022HarpyMageSet',
'fall2022WatcherHealerSet',
'fall2023WitchsBrewRogueSet',
'fall2023BogCreatureHealerSet',
'fall2023ScaryMovieWarriorSet',
'fall2023ScarletWarlockMageSet',
],
};

View File

@@ -828,15 +828,31 @@ const armor = {
},
summer2023Rogue: {
set: 'summer2023GuppyRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer',
},
summer2023Warrior: {
set: 'summer2023GoldfishWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer',
},
summer2023Mage: {
set: 'summer2023CoralMageSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer',
},
summer2023Healer: {
set: 'summer2023KelpHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer',
},
fall2023Warrior: {
set: 'fall2023ScaryMovieWarriorSet',
},
fall2023Healer: {
set: 'fall2023BogCreatureHealerSet',
},
fall2023Mage: {
set: 'fall2023ScarletWarlockMageSet',
},
fall2023Rogue: {
set: 'fall2023WitchsBrewRogueSet',
},
};
@@ -2019,15 +2035,31 @@ const head = {
},
summer2023Rogue: {
set: 'summer2023GuppyRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer',
},
summer2023Warrior: {
set: 'summer2023GoldfishWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer',
},
summer2023Mage: {
set: 'summer2023CoralMageSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer',
},
summer2023Healer: {
set: 'summer2023KelpHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer',
},
fall2023Healer: {
set: 'fall2023BogCreatureHealerSet',
},
fall2023Mage: {
set: 'fall2023ScarletWarlockMageSet',
},
fall2023Rogue: {
set: 'fall2023WitchsBrewRogueSet',
},
fall2023Warrior: {
set: 'fall2023ScaryMovieWarriorSet',
},
};
@@ -2861,12 +2893,26 @@ const shield = {
},
summer2023Rogue: {
set: 'summer2023GuppyRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
},
summer2023Warrior: {
set: 'summer2023GoldfishWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
},
summer2023Healer: {
set: 'summer2023KelpHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
},
fall2023Rogue: {
set: 'fall2023WitchsBrewRogueSet',
text: t('shieldSpecialFall2023RogueText'),
notes: t('shieldSpecialFall2023RogueNotes', { str: 8 }),
},
fall2023Warrior: {
set: 'fall2023ScaryMovieWarriorSet',
},
fall2023Healer: {
set: 'fall2023BogCreatureHealerSet',
},
};
@@ -3642,15 +3688,31 @@ const weapon = {
},
summer2023Rogue: {
set: 'summer2023GuppyRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
},
summer2023Warrior: {
set: 'summer2023GoldfishWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
},
summer2023Mage: {
set: 'summer2023CoralMageSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
},
summer2023Healer: {
set: 'summer2023KelpHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
},
fall2023Rogue: {
set: 'fall2023WitchsBrewRogueSet',
},
fall2023Healer: {
set: 'fall2023BogCreatureHealerSet',
},
fall2023Warrior: {
set: 'fall2023ScaryMovieWarriorSet',
},
fall2023Mage: {
set: 'fall2023ScarletWarlockMageSet',
},
};

View File

@@ -153,13 +153,13 @@ const premium = {
value: 2,
text: t('hatchingPotionSpooky'),
limited: true,
event: EVENTS.fall2021,
event: EVENTS.fall2023,
_addlNotes: t('eventAvailabilityReturning', {
availableDate: t('dateEndOctober'),
previousDate: t('septemberYYYY', { year: 2019 }),
previousDate: t('octoberYYYY', { year: 2021 }),
}),
canBuy () {
return moment().isBefore(EVENTS.fall2021.end);
return moment().isBetween(EVENTS.fall2023.start, EVENTS.fall2023.end);
},
},
Ghost: {
@@ -244,13 +244,13 @@ const premium = {
value: 2,
text: t('hatchingPotionGlow'),
limited: true,
event: EVENTS.birthday10,
event: EVENTS.fall2023,
_addlNotes: t('eventAvailabilityReturning', {
availableDate: t('dateStartFebruary'),
previousDate: t('octoberYYYY', { year: 2021 }),
availableDate: t('dateEndOctober'),
previousDate: t('januaryYYYY', { year: 2023 }),
}),
canBuy () {
return moment().isBetween(EVENTS.birthday10.start, EVENTS.birthday10.end);
return moment().isBetween(EVENTS.fall2023.start, EVENTS.fall2023.end);
},
},
Frost: {
@@ -436,13 +436,13 @@ const premium = {
value: 2,
text: t('hatchingPotionVampire'),
limited: true,
event: EVENTS.birthday10,
event: EVENTS.fall2023,
_addlNotes: t('eventAvailabilityReturning', {
availableDate: t('dateStartFebruary'),
previousDate: t('octoberYYYY', { year: 2022 }),
availableDate: t('dateEndOctober'),
previousDate: t('januaryYYYY', { year: 2023 }),
}),
canBuy () {
return moment().isBetween(EVENTS.birthday10.start, EVENTS.birthday10.end);
return moment().isBetween(EVENTS.fall2023.start, EVENTS.fall2023.end);
},
},
AutumnLeaf: {

View File

@@ -5,7 +5,7 @@ import { EVENTS } from './constants';
// path: 'premiumHatchingPotions.Rainbow',
const featuredItems = {
market () {
if (moment().isBetween(EVENTS.potions202308.start, EVENTS.potions202308.end)) {
if (moment().isBetween(EVENTS.fall2023.start, EVENTS.fall2023.end)) {
return [
{
type: 'armoire',
@@ -13,15 +13,15 @@ const featuredItems = {
},
{
type: 'premiumHatchingPotion',
path: 'premiumHatchingPotions.Thunderstorm',
path: 'premiumHatchingPotions.Glow',
},
{
type: 'premiumHatchingPotion',
path: 'premiumHatchingPotions.Porcelain',
path: 'premiumHatchingPotions.Spooky',
},
{
type: 'hatchingPotions',
path: 'hatchingPotions.Zombie',
type: 'premiumHatchingPotion',
path: 'premiumHatchingPotions.Vampire',
},
];
}
@@ -32,7 +32,7 @@ const featuredItems = {
},
{
type: 'food',
path: 'food.Meat',
path: 'food.RottenMeat',
},
{
type: 'hatchingPotions',
@@ -40,40 +40,24 @@ const featuredItems = {
},
{
type: 'eggs',
path: 'eggs.Fox',
path: 'eggs.Cactus',
},
];
},
quests () {
if (moment().isBetween(EVENTS.bundle202309.start, EVENTS.bundle202309.end)) {
if (moment().isBetween(EVENTS.bundle202310.start, EVENTS.bundle202310.end)) {
return [
{
type: 'bundles',
path: 'bundles.featheredFriends',
path: 'bundles.sandySidekicks',
},
{
type: 'quests',
path: 'quests.pterodactyl',
path: 'quests.beetle',
},
{
type: 'quests',
path: 'quests.trex',
},
];
}
if (moment().isBetween('2023-03-28T08:00-05:00', EVENTS.spring2023.end)) {
return [
{
type: 'quests',
path: 'quests.egg',
},
{
type: 'quests',
path: 'quests.yarn',
},
{
type: 'quests',
path: 'quests.ghost_stag',
path: 'quests.frog',
},
];
}
@@ -93,7 +77,7 @@ const featuredItems = {
},
];
},
seasonal: 'summer2022MantaRayMageSet',
seasonal: 'fall2017TrickOrTreatSet',
timeTravelers: [
// TODO
],

View File

@@ -313,7 +313,7 @@ spells.special = {
target: 'user',
notes: t('spellSpecialSpookySparklesNotes'),
canOwn () {
return moment().isBetween('2021-10-11T08:00-04:00', EVENTS.fall2022.end);
return moment().isBetween('2023-10-03T08:00-04:00', EVENTS.fall2023.end);
},
cast (user, target, req) {
if (!user.items.special.spookySparkles) throw new NotAuthorized(t('spellNotOwned')(req.language));

View File

@@ -29,16 +29,16 @@ export default {
pinnedSets: CURRENT_EVENT
? {
rogue: 'summer2023GuppyRogueSet',
warrior: 'summer2023GoldfishWarriorSet',
wizard: 'summer2023CoralMageSet',
healer: 'summer2023KelpHealerSet',
rogue: 'fall2023WitchsBrewRogueSet',
warrior: 'fall2023ScaryMovieWarriorSet',
wizard: 'fall2023ScarletWarlockMageSet',
healer: 'fall2023BogCreatureHealerSet',
}
: {},
availableSpells: CURRENT_EVENT && moment().isBetween('2023-07-11T08:00-04:00', CURRENT_EVENT.end)
availableSpells: CURRENT_EVENT && moment().isBetween('2023-10-03T08:00-04:00', CURRENT_EVENT.end)
? [
'seafoam',
'spookySparkles',
]
: [],
@@ -46,5 +46,5 @@ export default {
? []
: [],
featuredSet: 'summer2022MantaRayMageSet',
featuredSet: 'fall2022HarpyMageSet',
};