feat(content): new achievement and bundle

This commit is contained in:
Sabe Jones
2020-05-19 14:00:25 -05:00
parent 7dd6227845
commit 80a2e31c8e
14 changed files with 77 additions and 14 deletions

View File

@@ -319,6 +319,14 @@ const NOTIFICATIONS = {
achievement: 'bugBonanza', // defined manually until the server sends all the necessary data achievement: 'bugBonanza', // defined manually until the server sends all the necessary data
}, },
}, },
ACHIEVEMENT_BARE_NECESSITIES: {
achievement: true,
label: $t => `${$t('achievement')}: ${$t('achievementBareNecessities')}`,
modalId: 'generic-achievement',
data: {
achievement: 'bareNecessities', // defined manually until the server sends all the necessary data
},
},
}; };
export default { export default {
@@ -377,7 +385,7 @@ export default {
'ACHIEVEMENT_MOUNT_MASTER', 'ACHIEVEMENT_TRIAD_BINGO', 'ACHIEVEMENT_DUST_DEVIL', 'ACHIEVEMENT_ARID_AUTHORITY', 'ACHIEVEMENT_MOUNT_MASTER', 'ACHIEVEMENT_TRIAD_BINGO', 'ACHIEVEMENT_DUST_DEVIL', 'ACHIEVEMENT_ARID_AUTHORITY',
'ACHIEVEMENT_MONSTER_MAGUS', 'ACHIEVEMENT_UNDEAD_UNDERTAKER', 'ACHIEVEMENT_PRIMED_FOR_PAINTING', 'ACHIEVEMENT_MONSTER_MAGUS', 'ACHIEVEMENT_UNDEAD_UNDERTAKER', 'ACHIEVEMENT_PRIMED_FOR_PAINTING',
'ACHIEVEMENT_PEARLY_PRO', 'ACHIEVEMENT_TICKLED_PINK', 'ACHIEVEMENT_ROSY_OUTLOOK', 'ACHIEVEMENT', 'ACHIEVEMENT_PEARLY_PRO', 'ACHIEVEMENT_TICKLED_PINK', 'ACHIEVEMENT_ROSY_OUTLOOK', 'ACHIEVEMENT',
'ONBOARDING_COMPLETE', 'FIRST_DROPS', 'ACHIEVEMENT_BUG_BONANZA', 'ONBOARDING_COMPLETE', 'FIRST_DROPS', 'ACHIEVEMENT_BUG_BONANZA', 'ACHIEVEMENT_BARE_NECESSITIES',
].forEach(type => { ].forEach(type => {
handledNotifications[type] = true; handledNotifications[type] = true;
}); });
@@ -792,6 +800,7 @@ export default {
case 'ACHIEVEMENT_TICKLED_PINK': case 'ACHIEVEMENT_TICKLED_PINK':
case 'ACHIEVEMENT_ROSY_OUTLOOK': case 'ACHIEVEMENT_ROSY_OUTLOOK':
case 'ACHIEVEMENT_BUG_BONANZA': case 'ACHIEVEMENT_BUG_BONANZA':
case 'ACHIEVEMENT_BARE_NECESSITIES':
case 'GENERIC_ACHIEVEMENT': case 'GENERIC_ACHIEVEMENT':
this.showNotificationWithModal(notification); this.showNotificationWithModal(notification);
break; break;

View File

@@ -318,7 +318,7 @@
> >
<div <div
:id="achievKey + '-achievement'" :id="achievKey + '-achievement'"
class="box achievement-container" class="box achievement-container d-flex align-items-center justify-content-center"
:class="{'achievement-unearned': !achievement.earned}" :class="{'achievement-unearned': !achievement.earned}"
> >
<b-popover <b-popover
@@ -568,7 +568,6 @@
.box { .box {
margin: 0 auto; margin: 0 auto;
margin-bottom: 1em; margin-bottom: 1em;
padding-top: 1.2em;
background: $white; background: $white;
} }

View File

@@ -78,5 +78,8 @@
"achievementRosyOutlookModalText": "You tamed all the Cotton Candy Pink Mounts!", "achievementRosyOutlookModalText": "You tamed all the Cotton Candy Pink Mounts!",
"achievementBugBonanza": "Bug Bonanza", "achievementBugBonanza": "Bug Bonanza",
"achievementBugBonanzaText": "Has completed Beetle, Butterfly, Snail, and Spider pet quests.", "achievementBugBonanzaText": "Has completed Beetle, Butterfly, Snail, and Spider pet quests.",
"achievementBugBonanzaModalText": "You completed the Beetle, Butterfly, Snail, and Spider pet quests!" "achievementBugBonanzaModalText": "You completed the Beetle, Butterfly, Snail, and Spider pet quests!",
"achievementBareNecessities": "Bare Necessities",
"achievementBareNecessitiesText": "Has completed Monkey, Sloth, and Treeling pet quests.",
"achievementBareNecessitiesModalText": "You completed the Monkey, Sloth, and Treeling pet quests!"
} }

View File

@@ -806,5 +806,8 @@
"questWaffleRageDescription": "Maple Mire: This bar fills when you don't complete your Dailies. When it is full, the Awful Waffle will set back the party's attack progress!", "questWaffleRageDescription": "Maple Mire: This bar fills when you don't complete your Dailies. When it is full, the Awful Waffle will set back the party's attack progress!",
"questWaffleRageEffect": "`Awful Waffle uses MAPLE MIRE!` Sticky sappy syrup slows your swings and spells!", "questWaffleRageEffect": "`Awful Waffle uses MAPLE MIRE!` Sticky sappy syrup slows your swings and spells!",
"questWaffleDropDessertPotion": "Confection Hatching Potion", "questWaffleDropDessertPotion": "Confection Hatching Potion",
"questWaffleUnlockText": "Unlocks Confection Hatching Potions for purchase in the Market" "questWaffleUnlockText": "Unlocks Confection Hatching Potions for purchase in the Market",
"jungleBuddiesText": "Jungle Buddies Quest Bundle",
"jungleBuddiesNotes": "Contains 'Monstrous Mandrill and the Mischief Monkeys', 'The Somnolent Sloth', and 'The Tangle Tree'. Available until <%= date %>."
} }

View File

@@ -192,6 +192,11 @@ const basicAchievs = {
titleKey: 'achievementBugBonanza', titleKey: 'achievementBugBonanza',
textKey: 'achievementBugBonanzaText', textKey: 'achievementBugBonanzaText',
}, },
bareNecessities: {
icon: 'achievement-bareNecessities',
titleKey: 'achievementBareNecessities',
textKey: 'achievementBareNecessitiesText',
},
}; };
Object.assign(achievementsData, basicAchievs); Object.assign(achievementsData, basicAchievs);

View File

@@ -221,6 +221,21 @@ const bundles = {
type: 'quests', type: 'quests',
value: 7, value: 7,
}, },
jungleBuddies: {
key: 'jungleBuddies',
text: t('jungleBuddiesText'),
notes: t('jungleBuddiesNotes', { date: moment('2020-05-31').format('LL') }),
bundleKeys: [
'monkey',
'sloth',
'treeling',
],
canBuy () {
return moment().isBetween('2020-05-19', '2020-06-02');
},
type: 'quests',
value: 7,
},
}; };
export default bundles; export default bundles;

View File

@@ -282,6 +282,11 @@ export const QUEST_SERIES_ACHIEVEMENTS = {
'snail', 'snail',
'spider', 'spider',
], ],
bareNecessities: [
'monkey',
'sloth',
'treeling',
],
}; };
export const ANIMAL_COLOR_ACHIEVEMENTS = [ export const ANIMAL_COLOR_ACHIEVEMENTS = [

View File

@@ -200,6 +200,7 @@ function _getBasicAchievements (user, language) {
_addSimple(result, user, { path: 'tickledPink', language }); _addSimple(result, user, { path: 'tickledPink', language });
_addSimple(result, user, { path: 'rosyOutlook', language }); _addSimple(result, user, { path: 'rosyOutlook', language });
_addSimple(result, user, { path: 'bugBonanza', language }); _addSimple(result, user, { path: 'bugBonanza', language });
_addSimple(result, user, { path: 'bareNecessities', language });
_addSimpleWithMasterCount(result, user, { path: 'beastMaster', language }); _addSimpleWithMasterCount(result, user, { path: 'beastMaster', language });
_addSimpleWithMasterCount(result, user, { path: 'mountMaster', language }); _addSimpleWithMasterCount(result, user, { path: 'mountMaster', language });

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -4,7 +4,7 @@ const api = {};
// @TODO export this const, cannot export it from here because only routes are exported from // @TODO export this const, cannot export it from here because only routes are exported from
// controllers // controllers
const LAST_ANNOUNCEMENT_TITLE = 'BLOG POST: RESTING IN THE INN'; const LAST_ANNOUNCEMENT_TITLE = 'NEW PET ACHIEVEMENT AND QUEST BUNDLE!';
const worldDmg = { // @TODO const worldDmg = { // @TODO
bailey: false, bailey: false,
}; };
@@ -35,16 +35,37 @@ api.getNews = {
</div> </div>
</div> </div>
<hr/> <hr/>
<div class="scene_pets_resting center-block"></div> <div class="achievement-bareNecessities2x center-block"></div>
<h3>New Quest Pet Badge!</h3>
<p> <p>
This month's <a href='https://habitica.wordpress.com/2020/05/13/rest-in-the-inn/' We're releasing a new achievement so you can celebrate your successes in the world of
target='_blank'>featured Wiki article</a> is about Resting in the Inn! We hope that it Habitican Pet collecting! Earn the Bare Necessities achievement by collecting all
will help you when you need a break from your Dailies. Be sure to check it out, and let Habitica's jungle-dwelling Pets and you'll earn a nifty badge for your profile.
us know what you think by reaching out on <a href='https://twitter.com/habitica'
target='_blank'>Twitter</a>, <a href='http://blog.habitrpg.com' target='_blank'>
Tumblr</a>, and <a href='https://facebook.com/habitica' target='_blank'>Facebook</a>.
</p> </p>
<div class="small mb-3">by shanaqui and the Wiki Wizards</div> <p>
If youve already completed the required Quests for a newly released achievement, you
dont have to do them all again! Just complete one of the relevant Quests and the
Achievement will unlock. Check your profile and celebrate your new Achievement with
pride.
</p>
<div class="small mb-3">by Beffymaroo and SabreCat</div>
<div class="promo_jungle_buddies_bundle center-block"></div>
<h3>New Discounted Pet Quest Bundle: Jungle Buddies!</h3>
<p>
If you're eager to complete the Bare Necessities quests, or if you're simply looking to
add some equatorial pets to your Habitica stable, you're in luck! From now until May 30,
you can purchase the Jungle Buddies Pet Quest Bundle and receive the Monkey, Sloth, and
Treeling quests, all for only 7 Gems! That's a discount of 5 Gems from the price of
purchasing them separately. Check it out in the <a href='/shops/quests'>Quest Shop</a>
today!
</p>
<div class="small">by SabreCat</div>
<div class="small">Writing by PixelHunter, Emily Austin, Flutter Bee, and Felipe NA</div>
<div class="small mb-3">
Art by JaizakAripaik, Drevian, McCoyly, awakebyjava, PainterProphet, Kiwibot,
greenpencil, fuzzytrees, PainterProphet, aurakami, yamato, leephon, Misceo, and
Oneironaut
</div>
</div> </div>
`, `,
}); });

View File

@@ -134,6 +134,7 @@ export default new Schema({
tickledPink: Boolean, tickledPink: Boolean,
rosyOutlook: Boolean, rosyOutlook: Boolean,
bugBonanza: Boolean, bugBonanza: Boolean,
bareNecessities: Boolean,
// Onboarding Guide // Onboarding Guide
createdTask: Boolean, createdTask: Boolean,
completedTask: Boolean, completedTask: Boolean,

View File

@@ -55,6 +55,7 @@ const NOTIFICATION_TYPES = [
'ACHIEVEMENT_TICKLED_PINK', 'ACHIEVEMENT_TICKLED_PINK',
'ACHIEVEMENT_ROSY_OUTLOOK', 'ACHIEVEMENT_ROSY_OUTLOOK',
'ACHIEVEMENT_BUG_BONANZA', 'ACHIEVEMENT_BUG_BONANZA',
'ACHIEVEMENT_BARE_NECESSITIES',
'ACHIEVEMENT', // generic achievement notification, details inside `notification.data` 'ACHIEVEMENT', // generic achievement notification, details inside `notification.data`
]; ];