diff --git a/Dockerfile b/Dockerfile index 6c776f2c97..f98314e9fc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,6 +8,7 @@ ENV BASE_URL https://habitica.com ENV FACEBOOK_KEY 128307497299777 ENV GA_ID UA-33510635-1 ENV GOOGLE_CLIENT_ID 1035232791481-32vtplgnjnd1aufv3mcu1lthf31795fq.apps.googleusercontent.com +ENV LOGGLY_CLIENT_TOKEN ab5663bf-241f-4d14-8783-7d80db77089a ENV NODE_ENV production ENV STRIPE_PUB_KEY pk_85fQ0yMECHNfHTSsZoxZXlPSwSNfA diff --git a/website/client/assets/scss/variables.scss b/website/client/assets/scss/variables.scss index b91954adc8..2a0f49aff9 100644 --- a/website/client/assets/scss/variables.scss +++ b/website/client/assets/scss/variables.scss @@ -2,8 +2,8 @@ // possible values are: normal, fall, habitoween, thanksgiving, winter, nye, birthday, valentines, spring, summer // more to be added on future seasons -$npc_market_flavor: 'nye'; -$npc_quests_flavor: 'nye'; -$npc_seasonal_flavor: 'nye'; +$npc_market_flavor: 'winter'; +$npc_quests_flavor: 'winter'; +$npc_seasonal_flavor: 'winter'; $npc_timetravelers_flavor: 'winter'; -$npc_tavern_flavor: 'nye'; +$npc_tavern_flavor: 'winter'; diff --git a/website/client/components/appFooter.vue b/website/client/components/appFooter.vue index f931df1aba..bd821ce71b 100644 --- a/website/client/components/appFooter.vue +++ b/website/client/components/appFooter.vue @@ -81,7 +81,7 @@ hr .row .col-12.col-md-5 - | © 2018 Habitica. All rights reserved. + | © 2019 Habitica. All rights reserved. .debug.float-left(v-if="!IS_PRODUCTION && isUserLoaded") button.btn.btn-primary(@click="debugMenuShown = !debugMenuShown") Toggle Debug Menu .debug-group(v-if="debugMenuShown") diff --git a/website/client/components/creatorIntro.vue b/website/client/components/creatorIntro.vue index 8f33a6601c..b9a3bd924f 100644 --- a/website/client/components/creatorIntro.vue +++ b/website/client/components/creatorIntro.vue @@ -32,7 +32,7 @@ b-modal#avatar-modal(title="", :size='editing ? "lg" : "md"', :hide-header='true .menu-item .svg-icon(v-html='icons.accessoriesIcon') strong(v-once) {{$t('extra')}} - .menu-container.col-2(@click='changeTopPage("backgrounds", "2018")', v-if='editing', :class='{active: activeTopPage === "backgrounds"}') + .menu-container.col-2(@click='changeTopPage("backgrounds", "2019")', v-if='editing', :class='{active: activeTopPage === "backgrounds"}') .menu-item .svg-icon(v-html='icons.backgroundsIcon') strong(v-once) {{$t('backgrounds')}} @@ -274,9 +274,11 @@ b-modal#avatar-modal(title="", :size='editing ? "lg" : "md"', :hide-header='true .incentive-background(:class='[`background_${bg.key}`]') .small-rectangle .row.sub-menu.col-10.offset-1(v-if='!filterBackgrounds') - .col-3.text-center.sub-menu-item(@click='changeSubPage("2018")', :class='{active: activeSubPage === "2018"}') + .col-2.text-center.sub-menu-item(@click='changeSubPage("2019")', :class='{active: activeSubPage === "2019"}') + strong(v-once) 2019 + .col-2.text-center.sub-menu-item(@click='changeSubPage("2018")', :class='{active: activeSubPage === "2018"}') strong(v-once) 2018 - .col-3.text-center.sub-menu-item(@click='changeSubPage("2017")', :class='{active: activeSubPage === "2017"}') + .col-2.text-center.sub-menu-item(@click='changeSubPage("2017")', :class='{active: activeSubPage === "2017"}') strong(v-once) 2017 .col-2.text-center.sub-menu-item(@click='changeSubPage("2016")', :class='{active: activeSubPage === "2016"}') strong(v-once) 2016 @@ -1297,6 +1299,7 @@ export default { 2016: [], 2017: [], 2018: [], + 2019: [], }; // Hack to force update for now until we restructure the data diff --git a/website/client/components/header/userDropdown.vue b/website/client/components/header/userDropdown.vue index bcbfcfd077..eaf7038f2f 100644 --- a/website/client/components/header/userDropdown.vue +++ b/website/client/components/header/userDropdown.vue @@ -11,7 +11,7 @@ menu-dropdown.item-user(:right="true") a.nav-link.dropdown-item.dropdown-separated.d-flex.justify-content-between.align-items-center(@click.prevent='showInbox()') div {{ $t('messages') }} message-count(v-if='user.inbox.newMessages > 0', :count="user.inbox.newMessages") - a.dropdown-item(@click='showAvatar("backgrounds", "2018")') {{ $t('backgrounds') }} + a.dropdown-item(@click='showAvatar("backgrounds", "2019")') {{ $t('backgrounds') }} a.dropdown-item(@click='showProfile("stats")') {{ $t('stats') }} a.dropdown-item(@click='showProfile("achievements")') {{ $t('achievements') }} a.dropdown-item.dropdown-separated(@click='showProfile("profile")') {{ $t('profile') }} diff --git a/website/common/locales/en/backgrounds.json b/website/common/locales/en/backgrounds.json index 8b19917f51..1ae15b9f3b 100644 --- a/website/common/locales/en/backgrounds.json +++ b/website/common/locales/en/backgrounds.json @@ -457,5 +457,13 @@ "backgroundFrostyForestText": "Frosty Forest", "backgroundFrostyForestNotes": "Bundle up to hike through a Frosty Forest.", "backgroundSnowyDayFireplaceText": "Snowy Day Fireplace", - "backgroundSnowyDayFireplaceNotes": "Snuggle up next to a Fireplace on a Snowy Day." + "backgroundSnowyDayFireplaceNotes": "Snuggle up next to a Fireplace on a Snowy Day.", + + "backgrounds012019": "SET 56: Released January 2019", + "backgroundAvalancheText": "Avalanche", + "backgroundAvalancheNotes": "Flee the thundering might of an Avalanche.", + "backgroundArchaeologicalDigText": "Archaeological Dig", + "backgroundArchaeologicalDigNotes": "Unearth secrets of the ancient past at an Archaeological Dig.", + "backgroundScribesWorkshopText": "Scribe's Workshop", + "backgroundScribesWorkshopNotes": "Write your next great scroll in a Scribe's Workshop." } diff --git a/website/common/locales/en/gear.json b/website/common/locales/en/gear.json index 5c029c34d1..25aa9b9fb3 100644 --- a/website/common/locales/en/gear.json +++ b/website/common/locales/en/gear.json @@ -403,6 +403,8 @@ "weaponArmoireNeedleOfBookbindingNotes": "You'd be surprised at how tough books can be. This needle can pierce right to the heart of your chores. Increases Strength by <%= str %>. Enchanted Armoire: Bookbinder Set (Item 3 of 4).", "weaponArmoireSpearOfSpadesText": "Spear of Spades", "weaponArmoireSpearOfSpadesNotes": "This knightly lance is perfect for attacking your reddest Habits and Dailies. Increases Constitution by <%= con %>. Enchanted Armoire: Ace of Spades Set (Item 3 of 3).", + "weaponArmoireArcaneScrollText": "Arcane Scroll", + "weaponArmoireArcaneScrollNotes": "This ancient To-Do list is filled with strange symbols and spells from a forgotten age. Increases Intelligence by <%= int %>. Enchanted Armoire: Scribe Set (Item 3 of 3).", "armor": "armor", "armorCapitalized": "Armor", @@ -872,6 +874,8 @@ "armorArmoireSoftGreenSuitNotes": "Green is the most refreshing color! Ideal for resting those tired eyes... mmm, or even a nap... Increases Constitution and Intelligence by <%= attrs %> each. Enchanted Armoire: Green Loungewear Set (Item 2 of 3).", "armorArmoireSoftRedSuitText": "Soft Red Suit", "armorArmoireSoftRedSuitNotes": "Red is such an invigorating color. If you need to wake up bright and early, this suit could make the perfect pajamas... Increases Intelligence by <%= int %> and Strength by <%= str %>. Enchanted Armoire: Red Loungewear Set (Item 2 of 3).", + "armorArmoireScribesRobeText": "Scribe's Robes", + "armorArmoireScribesRobeNotes": "These velvety robes are woven with inspirational and motivational magic. Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Scribe Set (Item 1 of 3).", "headgear": "helm", "headgearCapitalized": "Headgear", @@ -1615,6 +1619,8 @@ "shieldArmoireSoftRedPillowNotes": "The prepared warrior packs a pillow for any expedition. Protect yourself from those tough tasks... even while you nap. Increases Constitution and Strength by <%= attrs %> each. Enchanted Armoire: Red Loungewear Set (Item 3 of 3).", "shieldArmoireSoftGreenPillowText": "Soft Green Pillow", "shieldArmoireSoftGreenPillowNotes": "The practical warrior packs a pillow for any expedition. Ward off those pesky chores... even while you nap. Increases Constitution by <%= con %> and Intelligence by <%= int %>. Enchanted Armoire: Green Loungewear Set (Item 3 of 3).", + "shieldArmoireMightyQuillText": "Mighty Quill", + "shieldArmoireMightyQuillNotes": "Mightier than the sword, they say! Increases Perception by <%= per %>. Enchanted Armoire: Scribe Set (Item 2 of 3). ", "back": "Back Accessory", "backCapitalized": "Back Accessory", diff --git a/website/common/script/content/appearance/backgrounds.js b/website/common/script/content/appearance/backgrounds.js index bebf9fa0e0..eed6e9e6ba 100644 --- a/website/common/script/content/appearance/backgrounds.js +++ b/website/common/script/content/appearance/backgrounds.js @@ -773,6 +773,20 @@ let backgrounds = { notes: t('backgroundSnowyDayFireplaceNotes'), }, }, + backgrounds012019: { + avalanche: { + text: t('backgroundAvalancheText'), + notes: t('backgroundAvalancheNotes'), + }, + archaeological_dig: { + text: t('backgroundArchaeologicalDigText'), + notes: t('backgroundArchaeologicalDigNotes'), + }, + scribes_workshop: { + text: t('backgroundScribesWorkshopText'), + notes: t('backgroundScribesWorkshopNotes'), + }, + }, incentiveBackgrounds: { violet: { text: t('backgroundVioletText'), diff --git a/website/common/script/content/gear/sets/armoire.js b/website/common/script/content/gear/sets/armoire.js index 3f36bfdd57..c026259401 100644 --- a/website/common/script/content/gear/sets/armoire.js +++ b/website/common/script/content/gear/sets/armoire.js @@ -427,6 +427,15 @@ let armor = { set: 'redLoungewear', canOwn: ownsItem('armor_armoire_softRedSuit'), }, + scribesRobe: { + text: t('armorArmoireScribesRobeText'), + notes: t('armorArmoireScribesRobeNotes', { attrs: 7 }), + value: 100, + int: 7, + per: 7, + set: 'scribe', + canOwn: ownsItem('armor_armoire_scribesRobe'), + }, }; let body = { @@ -1121,6 +1130,14 @@ let shield = { set: 'redLoungewear', canOwn: ownsItem('shield_armoire_softRedPillow'), }, + mightyQuill: { + text: t('shieldArmoireMightyQuillText'), + notes: t('shieldArmoireMightyQuillNotes', { per: 9 }), + value: 100, + per: 9, + set: 'scribe', + canOwn: ownsItem('shield_armoire_mightyQuill'), + }, }; let headAccessory = { @@ -1471,6 +1488,14 @@ let weapon = { set: 'aceOfSpades', canOwn: ownsItem('weapon_armoire_spearOfSpades'), }, + arcaneScroll: { + text: t('weaponArmoireArcaneScrollText'), + notes: t('weaponArmoireArcaneScrollNotes', { int: 9 }), + value: 100, + int: 9, + set: 'scribe', + canOwn: ownsItem('weapon_armoire_arcaneScroll'), + }, }; let armoireSet = { diff --git a/website/raw_sprites/spritesmith/backgrounds/background_archaeological_dig.png b/website/raw_sprites/spritesmith/backgrounds/background_archaeological_dig.png new file mode 100644 index 0000000000..1e0440f7b6 Binary files /dev/null and b/website/raw_sprites/spritesmith/backgrounds/background_archaeological_dig.png differ diff --git a/website/raw_sprites/spritesmith/backgrounds/background_avalanche.png b/website/raw_sprites/spritesmith/backgrounds/background_avalanche.png new file mode 100644 index 0000000000..514540d853 Binary files /dev/null and b/website/raw_sprites/spritesmith/backgrounds/background_avalanche.png differ diff --git a/website/raw_sprites/spritesmith/backgrounds/background_scribes_workshop.png b/website/raw_sprites/spritesmith/backgrounds/background_scribes_workshop.png new file mode 100644 index 0000000000..7ee563fdfc Binary files /dev/null and b/website/raw_sprites/spritesmith/backgrounds/background_scribes_workshop.png differ diff --git a/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_archaeological_dig.png b/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_archaeological_dig.png new file mode 100644 index 0000000000..3bd7c00755 Binary files /dev/null and b/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_archaeological_dig.png differ diff --git a/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_avalanche.png b/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_avalanche.png new file mode 100644 index 0000000000..da9c634e06 Binary files /dev/null and b/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_avalanche.png differ diff --git a/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_scribes_workshop.png b/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_scribes_workshop.png new file mode 100644 index 0000000000..005a75fe1d Binary files /dev/null and b/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_scribes_workshop.png differ diff --git a/website/raw_sprites/spritesmith/gear/armoire/broad_armor_armoire_scribesRobe.png b/website/raw_sprites/spritesmith/gear/armoire/broad_armor_armoire_scribesRobe.png new file mode 100644 index 0000000000..df4dd98a82 Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/broad_armor_armoire_scribesRobe.png differ diff --git a/website/raw_sprites/spritesmith/gear/armoire/shield_armoire_mightyQuill.png b/website/raw_sprites/spritesmith/gear/armoire/shield_armoire_mightyQuill.png new file mode 100644 index 0000000000..0da27b45a5 Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/shield_armoire_mightyQuill.png differ diff --git a/website/raw_sprites/spritesmith/gear/armoire/shop/shop_armor_armoire_scribesRobe.png b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_armor_armoire_scribesRobe.png new file mode 100644 index 0000000000..745b6c5c32 Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_armor_armoire_scribesRobe.png differ diff --git a/website/raw_sprites/spritesmith/gear/armoire/shop/shop_shield_armoire_mightyQuill.png b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_shield_armoire_mightyQuill.png new file mode 100644 index 0000000000..366a872abb Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_shield_armoire_mightyQuill.png differ diff --git a/website/raw_sprites/spritesmith/gear/armoire/shop/shop_weapon_armoire_arcaneScroll.png b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_weapon_armoire_arcaneScroll.png new file mode 100644 index 0000000000..48842d20c9 Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_weapon_armoire_arcaneScroll.png differ diff --git a/website/raw_sprites/spritesmith/gear/armoire/slim_armor_armoire_scribesRobe.png b/website/raw_sprites/spritesmith/gear/armoire/slim_armor_armoire_scribesRobe.png new file mode 100644 index 0000000000..77c71f2d95 Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/slim_armor_armoire_scribesRobe.png differ diff --git a/website/raw_sprites/spritesmith/gear/armoire/weapon_armoire_arcaneScroll.png b/website/raw_sprites/spritesmith/gear/armoire/weapon_armoire_arcaneScroll.png new file mode 100644 index 0000000000..2d4b257141 Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/weapon_armoire_arcaneScroll.png differ diff --git a/website/raw_sprites/spritesmith/npcs/npc_bailey.png b/website/raw_sprites/spritesmith/npcs/npc_bailey.png index d7659dfebe..db86596503 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/npcs/npc_justin.png b/website/raw_sprites/spritesmith/npcs/npc_justin.png index 1e8ed19c1c..bf42f04508 100644 Binary files a/website/raw_sprites/spritesmith/npcs/npc_justin.png and b/website/raw_sprites/spritesmith/npcs/npc_justin.png differ diff --git a/website/raw_sprites/spritesmith/npcs/npc_matt.png b/website/raw_sprites/spritesmith/npcs/npc_matt.png index 123dc34233..ed0e3bab59 100644 Binary files a/website/raw_sprites/spritesmith/npcs/npc_matt.png and b/website/raw_sprites/spritesmith/npcs/npc_matt.png differ diff --git a/website/raw_sprites/spritesmith_large/achievement-costumeContest6x.png b/website/raw_sprites/spritesmith_large/achievement-costumeContest6x.png deleted file mode 100644 index f3794e8c84..0000000000 Binary files a/website/raw_sprites/spritesmith_large/achievement-costumeContest6x.png and /dev/null differ diff --git a/website/raw_sprites/spritesmith_large/promo_alligator.png b/website/raw_sprites/spritesmith_large/promo_alligator.png deleted file mode 100644 index 8cd98e107b..0000000000 Binary files a/website/raw_sprites/spritesmith_large/promo_alligator.png and /dev/null differ diff --git a/website/raw_sprites/spritesmith_large/promo_armoire_backgrounds_201812.png b/website/raw_sprites/spritesmith_large/promo_armoire_backgrounds_201812.png deleted file mode 100644 index 517469db0f..0000000000 Binary files a/website/raw_sprites/spritesmith_large/promo_armoire_backgrounds_201812.png and /dev/null differ diff --git a/website/raw_sprites/spritesmith_large/promo_armoire_backgrounds_201901.png b/website/raw_sprites/spritesmith_large/promo_armoire_backgrounds_201901.png new file mode 100644 index 0000000000..11d76f8c3b Binary files /dev/null and b/website/raw_sprites/spritesmith_large/promo_armoire_backgrounds_201901.png differ diff --git a/website/raw_sprites/spritesmith_large/promo_ios.png b/website/raw_sprites/spritesmith_large/promo_ios.png deleted file mode 100644 index f8b6b01f1a..0000000000 Binary files a/website/raw_sprites/spritesmith_large/promo_ios.png and /dev/null differ diff --git a/website/raw_sprites/spritesmith_large/promo_mystery_201812.png b/website/raw_sprites/spritesmith_large/promo_mystery_201812.png deleted file mode 100644 index 5c45649f01..0000000000 Binary files a/website/raw_sprites/spritesmith_large/promo_mystery_201812.png and /dev/null differ diff --git a/website/raw_sprites/spritesmith_large/promo_nye_card.png b/website/raw_sprites/spritesmith_large/promo_nye_card.png deleted file mode 100644 index c8994d0c2e..0000000000 Binary files a/website/raw_sprites/spritesmith_large/promo_nye_card.png and /dev/null differ diff --git a/website/raw_sprites/spritesmith_large/promo_studying.png b/website/raw_sprites/spritesmith_large/promo_studying.png deleted file mode 100644 index 6813febe5c..0000000000 Binary files a/website/raw_sprites/spritesmith_large/promo_studying.png and /dev/null differ diff --git a/website/raw_sprites/spritesmith_large/promo_todos.png b/website/raw_sprites/spritesmith_large/promo_todos.png deleted file mode 100644 index b8c52d399d..0000000000 Binary files a/website/raw_sprites/spritesmith_large/promo_todos.png and /dev/null differ diff --git a/website/raw_sprites/spritesmith_large/scene_nametag.png b/website/raw_sprites/spritesmith_large/scene_nametag.png deleted file mode 100644 index 3d7e4ab9b5..0000000000 Binary files a/website/raw_sprites/spritesmith_large/scene_nametag.png and /dev/null differ diff --git a/website/server/controllers/api-v3/news.js b/website/server/controllers/api-v3/news.js index 36ff081fda..fb6ee09c92 100644 --- a/website/server/controllers/api-v3/news.js +++ b/website/server/controllers/api-v3/news.js @@ -3,7 +3,7 @@ import { authWithHeaders } from '../../middlewares/auth'; let api = {}; // @TODO export this const, cannot export it from here because only routes are exported from controllers -const LAST_ANNOUNCEMENT_TITLE = 'JANUARY RESOLUTION SUCCESS CHALLENGE AND NEW TAKE THIS CHALLENGE'; +const LAST_ANNOUNCEMENT_TITLE = 'JANUARY BACKGROUNDS AND ARMOIRE ITEMS!'; const worldDmg = { // @TODO bailey: false, }; @@ -30,19 +30,14 @@ api.getNews = {
The Habitica team has launched a special official Challenge series hosted in the Official New Year's Resolution Guild. These Challenges are designed to help you build and maintain goals that are destined for success and then stick with them as 2019 progresses.
-Check out the first New Year's Resolution Challenge of the year to start your path to resolution success! In Begin Your Quest, we're focusing on choosing realistic and achievable resolutions! Five lucky winners will get a 15 gem prize when it closes on February 1st.
-Congratulations to the winners of December's Challenge: Drosera, Dan O'Dea, StefanieFreige, N5t5lie, and DeLauraen!
- -The next Take This Challenge has also launched, "Feed Me, Seymour!", with a focus on developing healthy food habits. Be sure to check it out to earn additional pieces of the Take This armor set!
-Take This is a nonprofit that seeks to inform the gamer community about mental health issues, to provide education about mental disorders and mental illness prevention, and to reduce the stigma of mental illness.
-Congratulations to the winners of the last Take This Challenge, "Don't Be a Completionist!": grand prize winner grand prize winner Hoofter, and runners-up mvchelle, Phosphor, agentdwib, KSPanda, and fghberius. Plus, all participants in that Challenge have received a piece of the Take This item set if they hadn't completed it already. It is located in your Rewards column. Enjoy!
-We’ve added three new backgrounds to the Background Shop! Now your avatar can excavate an Archaeological Dig, write in a Scribe's Workshop, or brave a powerful Avalanche. Check them out under User Icon > Backgrounds!
+Plus, there’s new Gold-purchasable equipment in the Enchanted Armoire, including the Scribe Set. Better work hard on your real-life tasks to earn all the pieces! Enjoy :)
+