feat(event): Habitica Thanksgiving

This commit is contained in:
Sabe Jones
2015-11-25 17:06:52 -05:00
parent 9671f4a09d
commit 29a84e6666
28 changed files with 3250 additions and 3095 deletions

View File

@@ -1,6 +1,6 @@
.2014_Fall_HealerPROMO2 { .2014_Fall_HealerPROMO2 {
background-image: url(spritesmith-largeSprites-0.png); background-image: url(spritesmith-largeSprites-0.png);
background-position: -731px -995px; background-position: -822px -995px;
width: 90px; width: 90px;
height: 90px; height: 90px;
} }
@@ -18,7 +18,7 @@
} }
.2014_Fall_Warrior_PROMO { .2014_Fall_Warrior_PROMO {
background-image: url(spritesmith-largeSprites-0.png); background-image: url(spritesmith-largeSprites-0.png);
background-position: -1095px -995px; background-position: -276px -995px;
width: 90px; width: 90px;
height: 90px; height: 90px;
} }
@@ -48,7 +48,7 @@
} }
.promo_dilatoryDistress { .promo_dilatoryDistress {
background-image: url(spritesmith-largeSprites-0.png); background-image: url(spritesmith-largeSprites-0.png);
background-position: -367px -995px; background-position: -458px -995px;
width: 90px; width: 90px;
height: 90px; height: 90px;
} }
@@ -72,7 +72,7 @@
} }
.promo_enchanted_armoire_201509 { .promo_enchanted_armoire_201509 {
background-image: url(spritesmith-largeSprites-0.png); background-image: url(spritesmith-largeSprites-0.png);
background-position: -458px -995px; background-position: -549px -995px;
width: 90px; width: 90px;
height: 90px; height: 90px;
} }
@@ -114,7 +114,7 @@
} }
.promo_mystery_201405 { .promo_mystery_201405 {
background-image: url(spritesmith-largeSprites-0.png); background-image: url(spritesmith-largeSprites-0.png);
background-position: -1004px -995px; background-position: -1095px -995px;
width: 90px; width: 90px;
height: 90px; height: 90px;
} }
@@ -138,7 +138,7 @@
} }
.promo_mystery_201409 { .promo_mystery_201409 {
background-image: url(spritesmith-largeSprites-0.png); background-image: url(spritesmith-largeSprites-0.png);
background-position: -640px -995px; background-position: -731px -995px;
width: 90px; width: 90px;
height: 90px; height: 90px;
} }
@@ -150,7 +150,7 @@
} }
.promo_mystery_201411 { .promo_mystery_201411 {
background-image: url(spritesmith-largeSprites-0.png); background-image: url(spritesmith-largeSprites-0.png);
background-position: -822px -995px; background-position: -913px -995px;
width: 90px; width: 90px;
height: 90px; height: 90px;
} }
@@ -168,13 +168,13 @@
} }
.promo_mystery_201502 { .promo_mystery_201502 {
background-image: url(spritesmith-largeSprites-0.png); background-image: url(spritesmith-largeSprites-0.png);
background-position: -276px -995px; background-position: -367px -995px;
width: 90px; width: 90px;
height: 90px; height: 90px;
} }
.promo_mystery_201503 { .promo_mystery_201503 {
background-image: url(spritesmith-largeSprites-0.png); background-image: url(spritesmith-largeSprites-0.png);
background-position: 0px -1101px; background-position: -91px -1101px;
width: 90px; width: 90px;
height: 90px; height: 90px;
} }
@@ -186,7 +186,7 @@
} }
.promo_mystery_201505 { .promo_mystery_201505 {
background-image: url(spritesmith-largeSprites-0.png); background-image: url(spritesmith-largeSprites-0.png);
background-position: -549px -995px; background-position: -640px -995px;
width: 90px; width: 90px;
height: 90px; height: 90px;
} }
@@ -210,7 +210,7 @@
} }
.promo_mystery_201509 { .promo_mystery_201509 {
background-image: url(spritesmith-largeSprites-0.png); background-image: url(spritesmith-largeSprites-0.png);
background-position: -913px -995px; background-position: -1004px -995px;
width: 90px; width: 90px;
height: 90px; height: 90px;
} }
@@ -220,6 +220,12 @@
width: 93px; width: 93px;
height: 90px; height: 90px;
} }
.promo_mystery_201511 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: 0px -1101px;
width: 90px;
height: 90px;
}
.promo_mystery_3014 { .promo_mystery_3014 {
background-image: url(spritesmith-largeSprites-0.png); background-image: url(spritesmith-largeSprites-0.png);
background-position: -943px -764px; background-position: -943px -764px;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 193 KiB

After

Width:  |  Height:  |  Size: 194 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 KiB

After

Width:  |  Height:  |  Size: 130 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 396 KiB

After

Width:  |  Height:  |  Size: 387 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 KiB

After

Width:  |  Height:  |  Size: 153 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 144 KiB

After

Width:  |  Height:  |  Size: 143 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 143 KiB

After

Width:  |  Height:  |  Size: 142 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 KiB

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@@ -342,6 +342,8 @@
"armorMystery201508Notes": "Run fast as a flash in the fluffy Cheetah Costume! Confers no benefit. August 2015 Subscriber Item.", "armorMystery201508Notes": "Run fast as a flash in the fluffy Cheetah Costume! Confers no benefit. August 2015 Subscriber Item.",
"armorMystery201509Text": "Werewolf Costume", "armorMystery201509Text": "Werewolf Costume",
"armorMystery201509Notes": "This IS a costume, right? Confers no benefit. September 2015 Subscriber Item.", "armorMystery201509Notes": "This IS a costume, right? Confers no benefit. September 2015 Subscriber Item.",
"armorMystery201511Text": "Wooden Armor",
"armorMystery201511Notes": "Considering this armor was carved directly from a magical log, it's surprisingly comfortable. Confers no benefit. November 2015 Subscriber Item.",
"armorMystery301404Text": "Steampunk Suit", "armorMystery301404Text": "Steampunk Suit",
"armorMystery301404Notes": "Dapper and dashing, wot! Confers no benefit. February 3015 Subscriber Item.", "armorMystery301404Notes": "Dapper and dashing, wot! Confers no benefit. February 3015 Subscriber Item.",
@@ -521,6 +523,8 @@
"headMystery201508Notes": "This cozy cheetah hat is very fuzzy! Confers no benefit. August 2015 Subscriber Item.", "headMystery201508Notes": "This cozy cheetah hat is very fuzzy! Confers no benefit. August 2015 Subscriber Item.",
"headMystery201509Text": "Werewolf Mask", "headMystery201509Text": "Werewolf Mask",
"headMystery201509Notes": "This IS a mask, right? Confers no benefit. September 2015 Subscriber Item.", "headMystery201509Notes": "This IS a mask, right? Confers no benefit. September 2015 Subscriber Item.",
"headMystery201511Text": "Log Crown",
"headMystery201511Notes": "Count the number of rings to learn how old this crown is. Confers no benefit. November 2015 Subscriber Item.",
"headMystery301404Text": "Fancy Top Hat", "headMystery301404Text": "Fancy Top Hat",
"headMystery301404Notes": "A fancy top hat for the finest of gentlefolk! January 3015 Subscriber Item. Confers no benefit.", "headMystery301404Notes": "A fancy top hat for the finest of gentlefolk! January 3015 Subscriber Item. Confers no benefit.",
"headMystery301405Text": "Basic Top Hat", "headMystery301405Text": "Basic Top Hat",

View File

@@ -21,6 +21,7 @@
"valentineCardAchievementText": "Aww, you and your friend must really care about each other! Sent or received <%= cards %> Valentine's Day cards.", "valentineCardAchievementText": "Aww, you and your friend must really care about each other! Sent or received <%= cards %> Valentine's Day cards.",
"polarBear": "Polar Bear", "polarBear": "Polar Bear",
"turkey": "Turkey", "turkey": "Turkey",
"gildedTurkey": "Gilded Turkey",
"polarBearPup": "Polar Bear Cub", "polarBearPup": "Polar Bear Cub",
"jackolantern": "Jack-O-Lantern", "jackolantern": "Jack-O-Lantern",
"seasonalShop": "Seasonal Shop", "seasonalShop": "Seasonal Shop",

View File

@@ -91,6 +91,12 @@ let armor = {
mystery: '201509', mystery: '201509',
value: 0, value: 0,
}, },
201511: {
text: t('armorMystery201511Text'),
notes: t('armorMystery201511Notes'),
mystery: '201511',
value: 0,
},
301404: { 301404: {
text: t('armorMystery301404Text'), text: t('armorMystery301404Text'),
notes: t('armorMystery301404Notes'), notes: t('armorMystery301404Notes'),
@@ -238,6 +244,12 @@ let head = {
mystery: '201509', mystery: '201509',
value: 0, value: 0,
}, },
201511: {
text: t('headMystery201511Text'),
notes: t('headMystery201511Notes'),
mystery: '201511',
value: 0,
},
301404: { 301404: {
text: t('headMystery301404Text'), text: t('headMystery301404Text'),
notes: t('headMystery301404Notes'), notes: t('headMystery301404Notes'),

View File

@@ -952,7 +952,8 @@ api.specialPets = {
'JackOLantern-Base': 'jackolantern', 'JackOLantern-Base': 'jackolantern',
'Mammoth-Base': 'mammoth', 'Mammoth-Base': 'mammoth',
'Tiger-Veteran': 'veteranTiger', 'Tiger-Veteran': 'veteranTiger',
'Phoenix-Base': 'phoenix' 'Phoenix-Base': 'phoenix',
'Turkey-Gilded': 'gildedTurkey',
}; };
api.specialMounts = { api.specialMounts = {

View File

@@ -106,6 +106,11 @@ let mysterySets = {
end: '2015-11-02', end: '2015-11-02',
text: 'Horned Goblin Set', text: 'Horned Goblin Set',
}, },
201511: {
start: '2015-11-25',
end: '2015-12-02',
text: 'Wood Warrior Set',
},
301404: { 301404: {
start: '3014-03-24', start: '3014-03-24',
end: '3014-04-02', end: '3014-04-02',

View File

@@ -0,0 +1,71 @@
var migrationName = '20151125_turkey_ladder.js';
var authorName = 'Sabe'; // in case script author needs to know when their ...
var authorUuid = '7f14ed62-5408-4e1b-be83-ada62d504931'; //... own data is done
/*
* Award Gilded Turkey pet to Turkey mount owners, Turkey Mount if they only have Turkey Pet,
* and Turkey Pet otherwise
*/
var dbserver = 'localhost:27017'; // FOR TEST DATABASE
// var dbserver = 'username:password@ds031379-a0.mongolab.com:31379'; // FOR PRODUCTION DATABASE
var dbname = 'habitrpg';
var mongo = require('mongoskin');
var _ = require('lodash');
var dbUsers = mongo.db(dbserver + '/' + dbname + '?auto_reconnect').collection('users');
// specify a query to limit the affected users (empty for all users):
var query = {
};
// specify fields we are interested in to limit retrieved data (empty if we're not reading data):
var fields = {
'items.pets.Turkey-Base': 1,
'items.mounts.Turkey-Base': 1
};
console.warn('Updating users...');
var progressCount = 1000;
var count = 0;
dbUsers.findEach(query, fields, {batchSize:250}, function(err, user) {
if (err) { return exiting(1, 'ERROR! ' + err); }
if (!user) {
console.warn('All appropriate users found and modified.');
return displayData();
}
count++;
// specify user data to change:
var set = {};
if (user.items.mounts['Turkey-Base']) {
set = {'migration':migrationName, 'items.pets.Turkey-Gilded':5};
} else if (user.items.pets['Turkey-Base']) {
set = {'migration':migrationName, 'items.mounts.Turkey-Base':true};
} else {
set = {'migration':migrationName, 'items.pets.Turkey-Base':5};
}
dbUsers.update({_id:user._id}, {$set:set});
if (count%progressCount == 0) console.warn(count + ' ' + user._id);
if (user._id == authorUuid) console.warn(authorName + ' processed');
});
function displayData() {
console.warn('\n' + count + ' users processed\n');
return exiting(0);
}
function exiting(code, msg) {
code = code || 0; // 0 = success
if (code && !msg) { msg = 'ERROR!'; }
if (msg) {
if (code) { console.error(msg); }
else { console.log( msg); }
}
process.exit(code);
}

View File

@@ -2,7 +2,7 @@ var _id = '';
var update = { var update = {
$addToSet: { $addToSet: {
'purchased.plan.mysteryItems':{ 'purchased.plan.mysteryItems':{
$each:['headAccessory_mystery_201510','back_mystery_201510'] $each:['head_mystery_201511','armor_mystery_201511']
} }
} }
}; };

View File

@@ -1,5 +1,30 @@
h2 11/19/2015 - SMALL iOS UPDATE AND HABITICA HIRING NEWS! h2 11/25/2015 - HABITICA THANKSGIVING! NOVEMBER SUBSCRIBER ITEM AND TURKEY PETS AND MOUNTS
hr hr
tr
td
.npc_daniel.pull-right
h3 Happy Thanksgiving!
p It's Thanksgiving in Habitica! On this day Habiticans celebrate by spending time with loved ones, giving thanks, and riding their glorious turkeys into the magnificent sunset. Some of the NPCs are celebrating the occasion!
tr
td
.Pet-Turkey-Gilded.pull-right
h3 Turkey Pet and Mount!
p Those of you who weren't around last Thanksgiving have received an adorable Turkey Pet, and those of you who got a Turkey Pet last year have received a handsome Turkey Mount! Already got a Turkey Mount? You, my friend, have been gifted the rare and glittering Gilded Turkey Pet!
br
p Thank you for using Habitica - we really love you guys <3
tr
td
.promo_mystery_201511.pull-right
h3 November Subscriber Items Revealed
p The November Subscriber Item Set has been revealed: the Wood Warrior Set! All November subscribers will receive the Log Crown and the Wooden Armor. You still have five days to <a href='/#/options/settings/subscription'>subscribe</a> and receive the item set! Thank you so much for your support - we really do rely on you to keep Habitica free to use and running smoothly.
p.small.muted by Lemoness
if menuItem !== 'oldNews'
hr
a(href='/static/old-news', target='_blank') Read older news
mixin oldNews
h2 11/19/2015 - SMALL iOS UPDATE AND HABITICA HIRING NEWS!
tr tr
td td
h3 Habitica Hiring News h3 Habitica Hiring News
@@ -15,12 +40,6 @@ h2 11/19/2015 - SMALL iOS UPDATE AND HABITICA HIRING NEWS!
br br
p If you already reviewed the last version of the app, Apple has hidden it for this version, but you can automatically post the same review again by tapping “Write a review” and then just hitting "Send." Thank you very much for taking the time to share your thoughts with us! Posting and reposting reviews really helps us out. p If you already reviewed the last version of the app, Apple has hidden it for this version, but you can automatically post the same review again by tapping “Write a review” and then just hitting "Send." Thank you very much for taking the time to share your thoughts with us! Posting and reposting reviews really helps us out.
p.small.muted by Viirus and Lemoness p.small.muted by Viirus and Lemoness
if menuItem !== 'oldNews'
hr
a(href='/static/old-news', target='_blank') Read older news
mixin oldNews
h2 11/16/2015 - HABITICA STICKERS AND COSTUME CONTEST BADGES! h2 11/16/2015 - HABITICA STICKERS AND COSTUME CONTEST BADGES!
tr tr
td td