feat(event): Jack-O'-Lantern mounts
2
common/dist/sprites/habitrpg-shared.css
vendored
496
common/dist/sprites/spritesmith-main-6.css
vendored
BIN
common/dist/sprites/spritesmith-main-6.png
vendored
|
Before Width: | Height: | Size: 158 KiB After Width: | Height: | Size: 156 KiB |
490
common/dist/sprites/spritesmith-main-7.css
vendored
BIN
common/dist/sprites/spritesmith-main-7.png
vendored
|
Before Width: | Height: | Size: 144 KiB After Width: | Height: | Size: 144 KiB |
1140
common/dist/sprites/spritesmith-main-8.css
vendored
BIN
common/dist/sprites/spritesmith-main-8.png
vendored
|
Before Width: | Height: | Size: 145 KiB After Width: | Height: | Size: 145 KiB |
1276
common/dist/sprites/spritesmith-main-9.css
vendored
BIN
common/dist/sprites/spritesmith-main-9.png
vendored
|
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 85 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
@@ -1154,6 +1154,7 @@ api.specialMounts =
|
||||
'Orca-Base': 'orca'
|
||||
'Gryphon-RoyalPurple': 'royalPurpleGryphon'
|
||||
'Phoenix-Base': 'phoenix'
|
||||
'JackOLantern-Base': 'jackolantern'
|
||||
|
||||
api.timeTravelStable =
|
||||
pets:
|
||||
|
||||
@@ -6,7 +6,8 @@ let specialMounts = {
|
||||
'Mammoth-Base': 'mammoth',
|
||||
'Orca-Base': 'orca',
|
||||
'Gryphon-RoyalPurple': 'royalPurpleGryphon',
|
||||
'Phoenix-Base': 'phoenix'
|
||||
'Phoenix-Base': 'phoenix',
|
||||
'JackOLantern-Base': 'jackolantern'
|
||||
}
|
||||
|
||||
export default specialMounts;
|
||||
|
||||
67
migrations/20151013_jackolanterns.js
Normal file
@@ -0,0 +1,67 @@
|
||||
var migrationName = 'new_stuff.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 Jack-O'-Lantern mounts to users who already have the pet version, award pet if they don't
|
||||
*/
|
||||
|
||||
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.JackOLantern-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.pets['JackOLantern-Base']) {
|
||||
set = {'migration':migrationName, 'items.mounts.JackOLantern-Base':true};
|
||||
} else {
|
||||
set = {'migration':migrationName, 'items.pets.JackOLantern-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);
|
||||
}
|
||||
@@ -1,5 +1,29 @@
|
||||
h2 10/8/2015 - WORLD BOSS REVEALED: BURNOUT!
|
||||
h2 10/13/2015 - JACK O'LANTERN PETS AND MOUNTS! WORLD BOSS EXHAUST STRIKE!
|
||||
hr
|
||||
tr
|
||||
td
|
||||
.Pet-JackOLantern-Base.pull-right
|
||||
h3 Jack O'Lantern Pets and Mounts
|
||||
p The Flourishing Fields are full of cute carved pumpkins - and it looks like one has followed you home!
|
||||
br
|
||||
p Those of you who weren't around last Fall Festival have received an adorable pet Jack-O'-Lantern, and those of you who got one last year have received a cheerful Jack-O'-Lantern Mount! Thank you for using Habitica - we really love you all <3
|
||||
p.small.muted by Lemoness
|
||||
tr
|
||||
td
|
||||
.npc_ian_broken.pull-right
|
||||
h3 World Boss: Burnout Uses Exhaust Strike!
|
||||
p Oh no! Despite our best efforts, we've let some Dailies get away from us, and now Burnout is inflamed with energy! With a crackling snarl, it engulfs Ian the Quest Master in a surge of spectral fire. As fallen quest scrolls smolder, the smoke clears, and you see that Ian has been drained of energy and turned into a drifting Exhaust Spirit!
|
||||
br
|
||||
p Only defeating Burnout can break the spell and save our beloved Quest Master. Let's keep our Dailies in check and defeat this monster before it attacks again!
|
||||
br
|
||||
p Late to the fight? Learn about Burnout and how to defeat World Bosses <a href='http://habitica.wikia.com/wiki/Boss#World_Bosses' target='_blank'>here</a>.
|
||||
|
||||
if menuItem !== 'oldNews'
|
||||
hr
|
||||
a(href='/static/old-news', target='_blank') Read older news
|
||||
|
||||
mixin oldNews
|
||||
h2 10/8/2015 - WORLD BOSS REVEALED: BURNOUT!
|
||||
tr
|
||||
td
|
||||
.promo_burnout.pull-right
|
||||
@@ -24,11 +48,6 @@ h2 10/8/2015 - WORLD BOSS REVEALED: BURNOUT!
|
||||
br
|
||||
p.small.muted by Lemoness, SabreCat, and Kiwibot
|
||||
|
||||
if menuItem !== 'oldNews'
|
||||
hr
|
||||
a(href='/static/old-news', target='_blank') Read older news
|
||||
|
||||
mixin oldNews
|
||||
h2 10/5/2015 - OCTOBER BACKGROUNDS REVEALED, COSTUME CHALLENGE BEGINS, AND FALL PLOT-LINE CONTINUES
|
||||
tr
|
||||
td
|
||||
|
||||