feat(content): Pi Day 2020

This commit is contained in:
Sabe Jones
2020-03-13 10:59:52 -05:00
parent 71e34e654c
commit 39bb60638f
6 changed files with 37 additions and 29 deletions

View File

@@ -3,7 +3,7 @@ import { v4 as uuid } from 'uuid';
import { model as User } from '../../website/server/models/user'; import { model as User } from '../../website/server/models/user';
const MIGRATION_NAME = '20190314_pi_day'; const MIGRATION_NAME = '20200314_pi_day';
const progressCount = 1000; const progressCount = 1000;
let count = 0; let count = 0;
@@ -24,27 +24,37 @@ async function updateUser (user) {
'items.food.Pie_Red': 1, 'items.food.Pie_Red': 1,
}; };
const set = {}; const set = {};
let push;
set.migration = MIGRATION_NAME; set.migration = MIGRATION_NAME;
set['items.gear.owned.head_special_piDay'] = false; if (typeof user.items.gear.owned.head_special_piDay !== 'undefined') {
set['items.gear.owned.shield_special_piDay'] = false; push = false;
const push = [ } else {
{ type: 'marketGear', path: 'gear.flat.head_special_piDay', _id: uuid() }, set['items.gear.owned.head_special_piDay'] = false;
{ type: 'marketGear', path: 'gear.flat.shield_special_piDay', _id: uuid() }, set['items.gear.owned.shield_special_piDay'] = false;
]; push = [
{ type: 'marketGear', path: 'gear.flat.head_special_piDay', _id: uuid() },
{ type: 'marketGear', path: 'gear.flat.shield_special_piDay', _id: uuid() },
];
}
if (count % progressCount === 0) console.warn(`${count} ${user._id}`); if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
if (push) {
return User
.update({ _id: user._id }, { $inc: inc, $set: set, $push: { pinnedItems: { $each: push } } })
.exec();
}
return User return User
.update({ _id: user._id }, { $inc: inc, $set: set, $push: { pinnedItems: { $each: push } } }) .update({ _id: user._id }, { $inc: inc, $set: set })
.exec(); .exec();
} }
export default async function processUsers () { export default async function processUsers () {
const query = { const query = {
migration: { $ne: MIGRATION_NAME }, migration: { $ne: MIGRATION_NAME },
'auth.timestamps.loggedin': { $gt: new Date('2019-02-15') }, 'auth.timestamps.loggedin': { $gt: new Date('2020-02-15') },
}; };
const fields = { const fields = {

View File

@@ -1,6 +1,6 @@
.promo_achievement_CottonCandyPink { .promo_achievement_CottonCandyPink {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png'); background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: -668px -296px; background-position: -668px -444px;
width: 204px; width: 204px;
height: 102px; height: 102px;
} }
@@ -22,9 +22,15 @@
width: 282px; width: 282px;
height: 147px; height: 147px;
} }
.promo_pi_day {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: -668px -296px;
width: 273px;
height: 147px;
}
.promo_take_this { .promo_take_this {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png'); background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: -668px -399px; background-position: -424px -277px;
width: 96px; width: 96px;
height: 69px; height: 69px;
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 50 KiB

View File

@@ -195,7 +195,7 @@ api.mountInfo = stable.mountInfo;
// For seasonal events, change this constant: // For seasonal events, change this constant:
const FOOD_SEASON = 'Normal'; const FOOD_SEASON = 'Pie';
api.food = { api.food = {
Meat: { Meat: {

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 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 = 'DISCOUNTED QUEST BUNDLE: HUG A BUG!'; const LAST_ANNOUNCEMENT_TITLE = 'CELEBRATE PI DAY WITH HABITICA!';
const worldDmg = { // @TODO const worldDmg = { // @TODO
bailey: false, bailey: false,
}; };
@@ -31,29 +31,21 @@ api.getNews = {
<div class="mr-3 ${baileyClass}"></div> <div class="mr-3 ${baileyClass}"></div>
<div class="media-body"> <div class="media-body">
<h1 class="align-self-center">${res.t('newStuff')}</h1> <h1 class="align-self-center">${res.t('newStuff')}</h1>
<h2>3/10/2020 - ${LAST_ANNOUNCEMENT_TITLE}</h2> <h2>3/14/2020 - ${LAST_ANNOUNCEMENT_TITLE}</h2>
</div> </div>
</div> </div>
<hr/> <hr/>
<div class="promo_hugabug_bundle center-block"></div> <div class="promo_pi_day center-block"></div>
<p> <p>
If you're looking to add some insect friends to your Habitica stable, you're in luck! Hello Habiticans! In celebration of Pi Day on March 14, we've gifted everyone delicious
From now until March 31, you can purchase the Hug a Bug Pet Quest Bundle and receive the slices of pie for you all to feed to your pets.
Snail, Beetle, and Butterfly 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> </p>
<p> <p>
If youd prefer not to see bugs in Habitica due to a phobia, check out the <a If you weren't with us for last year's Pi Day, we've also given you a festive Pi Hat and
href='http://habitica.wikia.com/wiki/Phobia_Protection_Extension' target='_blank'>Phobia Shield so you can celebrate in style. Enjoy them, and thanks for being a part of our
Protection Extension</a> and enable the option for hiding "Beetles"! community!
</p> </p>
<div class="small">By Lemoness, SabreCat, and Beffymaroo</div> <div class="small mb-3">by Beffymaroo and SabreCat</div>
<div class="small">
Art by Pfeffernusse, Megan, Pocketmole, overomega, Misceo, UncommonCriminal, Zorella,
Anna Glassman, Leephon, Lilith of Alfheim, Ac, starsystemic, and Karithina
</div>
<div class="small mb-3">Writing by arachnidstardis, emiausti, and AnnDeLune</div>
</div> </div>
`, `,
}); });