diff --git a/website/client/src/assets/css/sprites/spritesmith-largeSprites-0.css b/website/client/src/assets/css/sprites/spritesmith-largeSprites-0.css index 15906b0759..2a6c96d469 100644 --- a/website/client/src/assets/css/sprites/spritesmith-largeSprites-0.css +++ b/website/client/src/assets/css/sprites/spritesmith-largeSprites-0.css @@ -6,7 +6,7 @@ } .promo_mystery_022020 { background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png'); - background-position: 0px -277px; + background-position: 0px -425px; width: 282px; height: 147px; } @@ -16,6 +16,18 @@ width: 96px; height: 69px; } +.promo_valentines_2020 { + background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png'); + background-position: -421px -277px; + width: 309px; + height: 147px; +} +.promo_valentines_potions { + background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png'); + background-position: 0px -277px; + width: 420px; + height: 147px; +} .scene_cake { background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png'); background-position: -328px -148px; diff --git a/website/client/src/assets/css/sprites/spritesmith-main-12.css b/website/client/src/assets/css/sprites/spritesmith-main-12.css index 3f4818b71e..df685183c8 100644 --- a/website/client/src/assets/css/sprites/spritesmith-main-12.css +++ b/website/client/src/assets/css/sprites/spritesmith-main-12.css @@ -756,31 +756,31 @@ } .Pet_Currency_Gem1x { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1796px -542px; + background-position: -1796px -536px; width: 15px; height: 13px; } .Pet_Currency_Gem2x { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1744px -954px; + background-position: -1744px -948px; width: 30px; height: 26px; } .PixelPaw-Gold { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1744px -594px; + background-position: -1744px -588px; width: 51px; height: 51px; } .PixelPaw { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1744px -646px; + background-position: -1744px -640px; width: 51px; height: 51px; } .PixelPaw002 { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1744px -542px; + background-position: -1744px -536px; width: 51px; height: 51px; } @@ -834,7 +834,7 @@ } .empty_bottles { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1744px -487px; + background-position: -1744px -481px; width: 64px; height: 54px; } @@ -1044,141 +1044,141 @@ } .zzz { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1744px -739px; + background-position: -1744px -733px; width: 40px; height: 40px; } .zzz_light { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1744px -698px; + background-position: -1744px -692px; width: 40px; height: 40px; } .notif_inventory_present_01 { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1773px -867px; + background-position: -1773px -861px; width: 28px; height: 28px; } .notif_inventory_present_02 { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1773px -925px; + background-position: -1773px -919px; width: 28px; height: 28px; } .notif_inventory_present_03 { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1744px -780px; + background-position: -1744px -774px; width: 28px; height: 28px; } .notif_inventory_present_04 { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1744px -925px; + background-position: -1744px -919px; width: 28px; height: 28px; } .notif_inventory_present_05 { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1773px -896px; + background-position: -1773px -890px; width: 28px; height: 28px; } .notif_inventory_present_06 { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1744px -896px; + background-position: -1744px -890px; width: 28px; height: 28px; } .notif_inventory_present_07 { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1773px -780px; + background-position: -1773px -774px; width: 28px; height: 28px; } .notif_inventory_present_08 { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1744px -867px; + background-position: -1744px -861px; width: 28px; height: 28px; } .notif_inventory_present_09 { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1773px -838px; + background-position: -1773px -832px; width: 28px; height: 28px; } .notif_inventory_present_10 { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1744px -838px; + background-position: -1744px -832px; width: 28px; height: 28px; } .notif_inventory_present_11 { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1773px -809px; + background-position: -1773px -803px; width: 28px; height: 28px; } .notif_inventory_present_12 { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1744px -809px; + background-position: -1744px -803px; width: 28px; height: 28px; } .notif_inventory_special_birthday { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1775px -954px; + background-position: -1775px -948px; width: 20px; height: 24px; } .notif_inventory_special_congrats { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1765px -1006px; + background-position: -1765px -1000px; width: 20px; height: 22px; } .notif_inventory_special_getwell { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1786px -981px; + background-position: -1786px -975px; width: 20px; height: 22px; } .notif_inventory_special_goodluck { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1785px -739px; + background-position: -1785px -733px; width: 20px; height: 26px; } .notif_inventory_special_greeting { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1744px -1006px; + background-position: -1744px -1000px; width: 20px; height: 22px; } .notif_inventory_special_nye { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1785px -698px; + background-position: -1785px -692px; width: 24px; height: 26px; } .notif_inventory_special_thankyou { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1744px -981px; + background-position: -1744px -975px; width: 20px; height: 24px; } .notif_inventory_special_valentine { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); - background-position: -1765px -981px; + background-position: -1765px -975px; width: 20px; height: 24px; } .npc_bailey { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); background-position: -1744px -414px; - width: 60px; - height: 72px; + width: 63px; + height: 66px; } .npc_justin { background-image: url('~@/assets/images/sprites/spritesmith-main-12.png'); diff --git a/website/client/src/assets/images/sprites/spritesmith-largeSprites-0.png b/website/client/src/assets/images/sprites/spritesmith-largeSprites-0.png index 199da94868..fc888b3885 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-largeSprites-0.png and b/website/client/src/assets/images/sprites/spritesmith-largeSprites-0.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-12.png b/website/client/src/assets/images/sprites/spritesmith-main-12.png index 4982e1cab1..6fda369378 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-12.png and b/website/client/src/assets/images/sprites/spritesmith-main-12.png differ diff --git a/website/client/src/assets/scss/variables.scss b/website/client/src/assets/scss/variables.scss index e73fd5ec8d..c17f94587c 100644 --- a/website/client/src/assets/scss/variables.scss +++ b/website/client/src/assets/scss/variables.scss @@ -2,11 +2,11 @@ // possible values are: normal, fall, habitoween, thanksgiving, winter, nye, birthday, valentines, spring, summer // more to be added on future seasons -$npc_market_flavor: 'normal'; +$npc_market_flavor: 'valentines'; $npc_quests_flavor: 'normal'; $npc_seasonal_flavor: 'normal'; $npc_timetravelers_flavor: 'normal'; -$npc_tavern_flavor: 'normal'; +$npc_tavern_flavor: 'valentines'; $restingToolbarHeight: 40px; $menuToolbarHeight: 56px; diff --git a/website/common/locales/en/limited.json b/website/common/locales/en/limited.json index e65405db44..8b89034e37 100644 --- a/website/common/locales/en/limited.json +++ b/website/common/locales/en/limited.json @@ -166,7 +166,7 @@ "dateEndOctober": "October 31", "dateEndNovember": "November 30", "dateEndJanuary": "January 31", - "dateEndFebruary": "February 28", + "dateEndFebruary": "February 29", "winterPromoGiftHeader": "GIFT A SUBSCRIPTION AND GET ONE FREE!", "winterPromoGiftDetails1": "Until January 6th only, when you gift somebody a subscription, you get the same subscription for yourself for free!", "winterPromoGiftDetails2": "Please note that if you or your gift recipient already have a recurring subscription, the gifted subscription will only start after that subscription is cancelled or has expired. Thanks so much for your support! <3", diff --git a/website/common/script/content/hatching-potions.js b/website/common/script/content/hatching-potions.js index db95874ee1..549a3003a4 100644 --- a/website/common/script/content/hatching-potions.js +++ b/website/common/script/content/hatching-potions.js @@ -62,6 +62,9 @@ const premium = { value: 2, text: t('hatchingPotionCupid'), limited: true, + canBuy () { + return moment().isBefore('2020-03-02'); + }, }, Shimmer: { value: 2, @@ -187,6 +190,9 @@ const premium = { value: 2, text: t('hatchingPotionRoseQuartz'), limited: true, + canBuy () { + return moment().isBefore('2020-03-02'); + }, }, Celestial: { value: 2, @@ -273,7 +279,7 @@ each(premium, (pot, key) => { potText: pot.text, }), _addlNotes: t('eventAvailability', { - date: t(`dateEnd${pot._season}`), + date: t('dateEndFebruary'), }), premium: true, limited: false, diff --git a/website/common/script/content/index.js b/website/common/script/content/index.js index 9005fddec3..97e2ff8e5d 100644 --- a/website/common/script/content/index.js +++ b/website/common/script/content/index.js @@ -128,6 +128,7 @@ api.cardTypes = { valentine: { key: 'valentine', messageOptions: 4, + yearRound: moment().isBefore('2020-03-02'), }, birthday: { key: 'birthday', diff --git a/website/common/script/content/shop-featuredItems.js b/website/common/script/content/shop-featuredItems.js index 3bed38b628..20c68eafb3 100644 --- a/website/common/script/content/shop-featuredItems.js +++ b/website/common/script/content/shop-featuredItems.js @@ -5,43 +5,23 @@ import moment from 'moment'; // path: 'premiumHatchingPotions.Rainbow', const featuredItems = { market () { - if (moment().isBetween('2019-12-19', '2020-01-02')) { + if (moment().isBefore('2020-03-02')) { return [ { type: 'card', - path: 'cardTypes.nye', + path: 'cardTypes.valentine', }, { type: 'premiumHatchingPotion', - path: 'premiumHatchingPotions.Aurora', + path: 'premiumHatchingPotions.Cupid', }, { type: 'premiumHatchingPotion', - path: 'premiumHatchingPotions.Holly', + path: 'premiumHatchingPotions.RoseQuartz', }, { - type: 'premiumHatchingPotion', - path: 'premiumHatchingPotions.StarryNight', - }, - ]; - } - if (moment().isBetween('2019-12-19', '2020-02-02')) { - return [ - { - type: 'armoire', - path: 'armoire', - }, - { - type: 'premiumHatchingPotion', - path: 'premiumHatchingPotions.Aurora', - }, - { - type: 'premiumHatchingPotion', - path: 'premiumHatchingPotions.Holly', - }, - { - type: 'premiumHatchingPotion', - path: 'premiumHatchingPotions.StarryNight', + type: 'eggs', + path: 'eggs.Fox', }, ]; } @@ -52,11 +32,11 @@ const featuredItems = { }, { type: 'hatchingPotions', - path: 'hatchingPotions.White', + path: 'hatchingPotions.Golden', }, { type: 'eggs', - path: 'eggs.PandaCub', + path: 'eggs.Wolf', }, { type: 'food', @@ -65,22 +45,6 @@ const featuredItems = { ]; }, quests () { - if (moment().isBetween('2019-12-19', '2020-02-02')) { - return [ - { - type: 'bundles', - path: 'bundles.winterQuests', - }, - { - type: 'quests', - path: 'quests.evilsanta', - }, - { - type: 'quests', - path: 'quests.evilsanta2', - }, - ]; - } return [ { type: 'quests', diff --git a/website/raw_sprites/spritesmith/npcs/npc_bailey.png b/website/raw_sprites/spritesmith/npcs/npc_bailey.png index d5940b986b..4957f1a3f9 100644 Binary files a/website/raw_sprites/spritesmith/npcs/npc_bailey.png and b/website/raw_sprites/spritesmith/npcs/npc_bailey.png differ diff --git a/website/raw_sprites/spritesmith_large/promo_valentines_2020.png b/website/raw_sprites/spritesmith_large/promo_valentines_2020.png new file mode 100644 index 0000000000..d65128389a Binary files /dev/null and b/website/raw_sprites/spritesmith_large/promo_valentines_2020.png differ diff --git a/website/raw_sprites/spritesmith_large/promo_valentines_potions.png b/website/raw_sprites/spritesmith_large/promo_valentines_potions.png new file mode 100644 index 0000000000..1f9ebf596e Binary files /dev/null and b/website/raw_sprites/spritesmith_large/promo_valentines_potions.png differ diff --git a/website/server/controllers/api-v3/news.js b/website/server/controllers/api-v3/news.js index 9418f485e5..c37315f50a 100644 --- a/website/server/controllers/api-v3/news.js +++ b/website/server/controllers/api-v3/news.js @@ -4,7 +4,7 @@ const api = {}; // @TODO export this const, cannot export it from here because only routes are exported from // controllers -const LAST_ANNOUNCEMENT_TITLE = 'BLOG POST: PET FOOD PREFERENCES'; +const LAST_ANNOUNCEMENT_TITLE = 'VALENTINE’S WEEK: NPCS, VALENTINE CARDS, AND MAGIC HATCHING POTIONS!'; const worldDmg = { // @TODO bailey: false, }; @@ -31,21 +31,44 @@ api.getNews = {
- This month's featured Wiki article is about Pet Food Preferences! We hope that it - will help you as you hatch and raise your own Habitican menagerie. Be sure to check it - out, and let us know what you think by reaching out on Twitter, Tumblr, and Facebook. + In honor of Habitica's holiday celebrating all forms of love, whether it's friendship, + familial, or romantic, some of the shopkeepers are dressed up! Take a look around to + enjoy their new festive decorations.
-+ We're excited to announce the return of Rose Quartz and Cupid Magic Hatching Potions! + Between now and February 29, you can buy these potions from the + Market and use them to hatch any standard pet egg. (Magic Hatching Potions do not + work on Quest Pet eggs.) Magic Potion Pets aren't picky, so they'll happily eat any kind + of food that you feed them! +
++ After they're gone, it will be at least a year before the Cupid or Rose Quartz Hatching + Potions are available again, so be sure to get them now! +
++ Help motivate all of the lovely people in your life by sending them a caring Valentine. + Valentines can be purchased for 10 Gold from the Market until + February 18. For spreading love and joy throughout the community, both the giver AND the + receiver get a coveted "Adoring Friends" badge. Hooray! +
++ While you're there, why not check out the other cards that are available to send to your + party? Each one gives a special achievement of its own... +
+