Merge branch 'release' into develop
@@ -0,0 +1,73 @@
|
||||
/* eslint-disable no-console */
|
||||
const MIGRATION_NAME = '20190314_pi_day';
|
||||
import { v4 as uuid } from 'uuid';
|
||||
|
||||
import { model as User } from '../../website/server/models/user';
|
||||
|
||||
const progressCount = 1000;
|
||||
let count = 0;
|
||||
|
||||
async function updateUser (user) {
|
||||
count++;
|
||||
|
||||
const inc = {
|
||||
'items.food.Pie_Skeleton': 1,
|
||||
'items.food.Pie_Base': 1,
|
||||
'items.food.Pie_CottonCandyBlue': 1,
|
||||
'items.food.Pie_CottonCandyPink': 1,
|
||||
'items.food.Pie_Shade': 1,
|
||||
'items.food.Pie_White': 1,
|
||||
'items.food.Pie_Golden': 1,
|
||||
'items.food.Pie_Zombie': 1,
|
||||
'items.food.Pie_Desert': 1,
|
||||
'items.food.Pie_Red': 1,
|
||||
};
|
||||
const set = {};
|
||||
|
||||
set.migration = MIGRATION_NAME;
|
||||
|
||||
set['items.gear.owned.head_special_piDay'] = false;
|
||||
set['items.gear.owned.shield_special_piDay'] = false;
|
||||
const 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}`);
|
||||
|
||||
return await User.update({_id: user._id}, {$inc: inc, $set: set, $push: {pinnedItems: {$each: push}}}).exec();
|
||||
}
|
||||
|
||||
module.exports = async function processUsers () {
|
||||
let query = {
|
||||
migration: {$ne: MIGRATION_NAME},
|
||||
'auth.timestamps.loggedin': {$gt: new Date('2019-02-15')},
|
||||
};
|
||||
|
||||
const fields = {
|
||||
_id: 1,
|
||||
items: 1,
|
||||
};
|
||||
|
||||
while (true) { // eslint-disable-line no-constant-condition
|
||||
const users = await User // eslint-disable-line no-await-in-loop
|
||||
.find(query)
|
||||
.limit(250)
|
||||
.sort({_id: 1})
|
||||
.select(fields)
|
||||
.lean()
|
||||
.exec();
|
||||
|
||||
if (users.length === 0) {
|
||||
console.warn('All appropriate users found and modified.');
|
||||
console.warn(`\n${count} users processed\n`);
|
||||
break;
|
||||
} else {
|
||||
query._id = {
|
||||
$gt: users[users.length - 1],
|
||||
};
|
||||
}
|
||||
|
||||
await Promise.all(users.map(updateUser)); // eslint-disable-line no-await-in-loop
|
||||
}
|
||||
};
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "habitica",
|
||||
"version": "4.86.2",
|
||||
"version": "4.87.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "habitica",
|
||||
"description": "A habit tracker app which treats your goals like a Role Playing Game.",
|
||||
"version": "4.86.2",
|
||||
"version": "4.87.0",
|
||||
"main": "./website/server/index.js",
|
||||
"dependencies": {
|
||||
"@google-cloud/trace-agent": "^3.5.2",
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
}
|
||||
.promo_mystery_201902 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||
background-position: -424px -327px;
|
||||
background-position: -424px -475px;
|
||||
width: 240px;
|
||||
height: 147px;
|
||||
}
|
||||
@@ -16,9 +16,15 @@
|
||||
width: 423px;
|
||||
height: 147px;
|
||||
}
|
||||
.promo_pi_day {
|
||||
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||
background-position: -424px -327px;
|
||||
width: 273px;
|
||||
height: 147px;
|
||||
}
|
||||
.promo_take_this {
|
||||
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||
background-position: -665px -327px;
|
||||
background-position: -665px -475px;
|
||||
width: 96px;
|
||||
height: 69px;
|
||||
}
|
||||
|
||||
@@ -1,54 +1,66 @@
|
||||
.weapon_warrior_6 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -737px -1529px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.weapon_wizard_0 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -646px -1529px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.weapon_wizard_1 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -828px -1529px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.weapon_wizard_2 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -919px -1529px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.weapon_wizard_3 {
|
||||
.weapon_warrior_4 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -100px -1529px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.weapon_wizard_4 {
|
||||
.weapon_warrior_5 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -737px -1529px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.weapon_warrior_6 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -191px -1529px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.weapon_wizard_0 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -282px -1529px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.weapon_wizard_5 {
|
||||
.weapon_wizard_1 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -464px -1529px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.weapon_wizard_2 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -646px -1529px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.weapon_wizard_3 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -919px -1529px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.weapon_wizard_4 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1010px -1529px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.weapon_wizard_5 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1101px -1529px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.weapon_wizard_6 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -555px -1529px;
|
||||
background-position: -1192px -1529px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.Pet_Currency_Gem {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -276px -1629px;
|
||||
background-position: -220px -203px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
@@ -66,19 +78,19 @@
|
||||
}
|
||||
.PixelPaw-Gold {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1791px -1529px;
|
||||
background-position: -617px -1629px;
|
||||
width: 51px;
|
||||
height: 51px;
|
||||
}
|
||||
.PixelPaw {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -479px -1629px;
|
||||
background-position: -669px -1629px;
|
||||
width: 51px;
|
||||
height: 51px;
|
||||
}
|
||||
.PixelPaw002 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -531px -1629px;
|
||||
background-position: -721px -1629px;
|
||||
width: 51px;
|
||||
height: 51px;
|
||||
}
|
||||
@@ -108,19 +120,19 @@
|
||||
}
|
||||
.empty_bottles {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -414px -1629px;
|
||||
background-position: -552px -1629px;
|
||||
width: 64px;
|
||||
height: 54px;
|
||||
}
|
||||
.ghost {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -373px -1529px;
|
||||
background-position: -828px -1529px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.inventory_present {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1100px -944px;
|
||||
background-position: -1100px -875px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
@@ -150,139 +162,139 @@
|
||||
}
|
||||
.inventory_present_05 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -138px -1629px;
|
||||
background-position: -880px -724px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_present_06 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -207px -1629px;
|
||||
background-position: -1283px -1529px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_present_07 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -345px -1629px;
|
||||
background-position: -1352px -1529px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_present_08 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -220px -272px;
|
||||
background-position: -1421px -1529px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_present_09 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -660px -573px;
|
||||
background-position: -483px -1629px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_present_10 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -880px -724px;
|
||||
background-position: -220px -272px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_present_11 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -880px -793px;
|
||||
background-position: -660px -573px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_present_12 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1100px -875px;
|
||||
background-position: -880px -793px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_birthday {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1100px -1013px;
|
||||
background-position: -1320px -1095px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_congrats {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1320px -1095px;
|
||||
background-position: -1320px -1164px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_fortify {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1320px -1164px;
|
||||
background-position: -1320px -1233px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_getwell {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1320px -1233px;
|
||||
background-position: -1490px -1529px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_goodluck {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1549px -1315px;
|
||||
background-position: -414px -1629px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_greeting {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1101px -1529px;
|
||||
background-position: -345px -1629px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_nye {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1170px -1529px;
|
||||
background-position: -276px -1629px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_opaquePotion {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1239px -1529px;
|
||||
background-position: -207px -1629px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_seafoam {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1308px -1529px;
|
||||
background-position: -138px -1629px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_shinySeed {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1377px -1529px;
|
||||
background-position: -69px -1629px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_snowball {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1584px -1529px;
|
||||
background-position: 0px -1629px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_spookySparkles {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1653px -1529px;
|
||||
background-position: -1766px -1529px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_thankyou {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1722px -1529px;
|
||||
background-position: -1697px -1529px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_trinket {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: 0px -1629px;
|
||||
background-position: -1628px -1529px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_valentine {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -69px -1629px;
|
||||
background-position: -1559px -1529px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
@@ -294,31 +306,31 @@
|
||||
}
|
||||
.pet_key {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -220px -203px;
|
||||
background-position: -1549px -1315px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.rebirth_orb {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1515px -1529px;
|
||||
background-position: -1100px -1013px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.seafoam_star {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1010px -1529px;
|
||||
background-position: -373px -1529px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.shop_armoire {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1446px -1529px;
|
||||
background-position: -1100px -944px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.snowman {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -191px -1529px;
|
||||
background-position: -555px -1529px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
@@ -336,79 +348,79 @@
|
||||
}
|
||||
.notif_inventory_present_01 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1793px -925px;
|
||||
background-position: -1802px -706px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
.notif_inventory_present_02 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1549px -1384px;
|
||||
background-position: -1802px -677px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
.notif_inventory_present_03 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1802px -619px;
|
||||
background-position: -1802px -648px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
.notif_inventory_present_04 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1802px -648px;
|
||||
background-position: -1802px -619px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
.notif_inventory_present_05 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1802px -677px;
|
||||
background-position: -1549px -1384px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
.notif_inventory_present_06 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1802px -706px;
|
||||
background-position: -1793px -925px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
.notif_inventory_present_07 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1793px -751px;
|
||||
background-position: -1793px -896px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
.notif_inventory_present_08 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1793px -780px;
|
||||
background-position: -1793px -867px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
.notif_inventory_present_09 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1793px -809px;
|
||||
background-position: -1793px -838px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
.notif_inventory_present_10 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1793px -838px;
|
||||
background-position: -1793px -809px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
.notif_inventory_present_11 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1793px -867px;
|
||||
background-position: -1793px -780px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
.notif_inventory_present_12 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1793px -896px;
|
||||
background-position: -1793px -751px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
.notif_inventory_special_birthday {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1822px -838px;
|
||||
background-position: -1822px -809px;
|
||||
width: 20px;
|
||||
height: 24px;
|
||||
}
|
||||
@@ -450,7 +462,7 @@
|
||||
}
|
||||
.notif_inventory_special_valentine {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1822px -809px;
|
||||
background-position: -1822px -838px;
|
||||
width: 20px;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
@@ -1,510 +1,546 @@
|
||||
.Pet-Velociraptor-Red {
|
||||
.Pet-Unicorn-Zombie {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -82px 0px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Velociraptor-Shade {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -164px -500px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Velociraptor-Skeleton {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -164px 0px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Velociraptor-White {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: 0px -100px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Velociraptor-Zombie {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -82px -100px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Whale-Base {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -164px -100px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Whale-CottonCandyBlue {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -246px 0px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Whale-CottonCandyPink {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -246px -100px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Whale-Desert {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: 0px -200px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Whale-Golden {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -82px -200px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Whale-Red {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -164px -200px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Whale-Shade {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -246px -200px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Whale-Skeleton {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -328px 0px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Whale-White {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -328px -100px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Whale-Zombie {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -328px -200px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Aquatic {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: 0px -300px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Base {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -82px -300px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-CottonCandyBlue {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -164px -300px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-CottonCandyPink {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -246px -300px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Cupid {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -328px -300px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Desert {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -410px 0px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Ember {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -410px -100px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Fairy {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -410px -200px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Floral {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -410px -300px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Frost {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -492px 0px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Ghost {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -492px -100px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Glass {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -492px -200px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Glow {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -492px -300px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Golden {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: 0px -400px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Holly {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -82px -400px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-IcySnow {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -164px -400px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Peppermint {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -246px -400px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Rainbow {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -328px -400px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Red {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -410px -400px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-RoseQuartz {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -492px -400px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-RoyalPurple {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -574px 0px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Shade {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -574px -100px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Shimmer {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -574px -200px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Skeleton {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -574px -300px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Spooky {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -574px -400px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-StarryNight {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: 0px -500px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Thunderstorm {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -82px -500px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Veteran {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: 0px 0px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-White {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -246px -500px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Zombie {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -328px -500px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Yarn-Base {
|
||||
.Pet-Velociraptor-Base {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -410px -500px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Yarn-CottonCandyBlue {
|
||||
.Pet-Velociraptor-CottonCandyBlue {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -164px 0px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Velociraptor-CottonCandyPink {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: 0px -100px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Velociraptor-Desert {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -82px -100px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Velociraptor-Golden {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -164px -100px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Velociraptor-Red {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -246px 0px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Velociraptor-Shade {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -246px -100px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Velociraptor-Skeleton {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: 0px -200px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Velociraptor-White {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -82px -200px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Velociraptor-Zombie {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -164px -200px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Whale-Base {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -246px -200px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Whale-CottonCandyBlue {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -328px 0px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Whale-CottonCandyPink {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -328px -100px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Whale-Desert {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -328px -200px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Whale-Golden {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: 0px -300px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Whale-Red {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -82px -300px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Whale-Shade {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -164px -300px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Whale-Skeleton {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -246px -300px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Whale-White {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -328px -300px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Whale-Zombie {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -410px 0px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Aquatic {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -410px -100px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Base {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -410px -200px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-CottonCandyBlue {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -410px -300px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-CottonCandyPink {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -492px 0px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Cupid {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -492px -100px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Desert {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -492px -200px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Ember {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -492px -300px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Fairy {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: 0px -400px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Floral {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -82px -400px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Frost {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -164px -400px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Ghost {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -246px -400px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Glass {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -328px -400px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Glow {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -410px -400px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Golden {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -492px -400px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Holly {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -574px 0px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-IcySnow {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -574px -100px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Peppermint {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -574px -200px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Rainbow {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -574px -300px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Red {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -574px -400px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-RoseQuartz {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: 0px -500px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-RoyalPurple {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -82px -500px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Shade {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -164px -500px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Shimmer {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -246px -500px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Skeleton {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -328px -500px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-Spooky {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: 0px 0px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Wolf-StarryNight {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -492px -500px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Yarn-CottonCandyPink {
|
||||
.Pet-Wolf-Thunderstorm {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -574px -500px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Yarn-Desert {
|
||||
.Pet-Wolf-Veteran {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -656px 0px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Yarn-Golden {
|
||||
.Pet-Wolf-White {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -656px -100px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Yarn-Red {
|
||||
.Pet-Wolf-Zombie {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -656px -200px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Yarn-Shade {
|
||||
.Pet-Yarn-Base {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -656px -300px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Yarn-Skeleton {
|
||||
.Pet-Yarn-CottonCandyBlue {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -656px -400px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Yarn-White {
|
||||
.Pet-Yarn-CottonCandyPink {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -656px -500px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Yarn-Zombie {
|
||||
.Pet-Yarn-Desert {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: 0px -600px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Yarn-Golden {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -82px -600px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Yarn-Red {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -164px -600px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Yarn-Shade {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -246px -600px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Yarn-Skeleton {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -328px -600px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Yarn-White {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -410px -600px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet-Yarn-Zombie {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -492px -600px;
|
||||
width: 81px;
|
||||
height: 99px;
|
||||
}
|
||||
.Pet_HatchingPotion_Aquatic {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -151px -600px;
|
||||
background-position: -643px -600px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_Base {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -738px -414px;
|
||||
background-position: -207px -700px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_CottonCandyBlue {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -220px -600px;
|
||||
background-position: -738px 0px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_CottonCandyPink {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -289px -600px;
|
||||
background-position: -738px -69px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_Cupid {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -358px -600px;
|
||||
background-position: -738px -138px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_Desert {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -427px -600px;
|
||||
background-position: -738px -207px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_Ember {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -496px -600px;
|
||||
background-position: -738px -276px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_Fairy {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -565px -600px;
|
||||
background-position: -738px -345px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_Floral {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -634px -600px;
|
||||
background-position: -738px -414px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_Frost {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -738px 0px;
|
||||
background-position: -738px -483px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_Ghost {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -738px -69px;
|
||||
background-position: -738px -552px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_Glass {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -738px -138px;
|
||||
background-position: -738px -621px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_Glow {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -738px -207px;
|
||||
background-position: 0px -700px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_Golden {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -738px -276px;
|
||||
background-position: -69px -700px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_Holly {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -738px -345px;
|
||||
background-position: -138px -700px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_IcySnow {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -82px -600px;
|
||||
background-position: -574px -600px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_Peppermint {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -738px -483px;
|
||||
background-position: -276px -700px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_Purple {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -738px -552px;
|
||||
background-position: -345px -700px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_Rainbow {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -738px -621px;
|
||||
background-position: -414px -700px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_Red {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: 0px -700px;
|
||||
background-position: -483px -700px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_RoseQuartz {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -69px -700px;
|
||||
background-position: -552px -700px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_RoyalPurple {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -138px -700px;
|
||||
background-position: -621px -700px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_Shade {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -207px -700px;
|
||||
background-position: -690px -700px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_Shimmer {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -276px -700px;
|
||||
background-position: -807px 0px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_Skeleton {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -345px -700px;
|
||||
background-position: -807px -69px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_Spooky {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -414px -700px;
|
||||
background-position: -807px -138px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_StarryNight {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -483px -700px;
|
||||
background-position: -807px -207px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_Thunderstorm {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -552px -700px;
|
||||
background-position: -807px -276px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_White {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -621px -700px;
|
||||
background-position: -807px -345px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_Zombie {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -690px -700px;
|
||||
background-position: -807px -414px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 116 KiB After Width: | Height: | Size: 113 KiB |
|
Before Width: | Height: | Size: 354 KiB After Width: | Height: | Size: 354 KiB |
|
Before Width: | Height: | Size: 307 KiB After Width: | Height: | Size: 308 KiB |
|
Before Width: | Height: | Size: 159 KiB After Width: | Height: | Size: 159 KiB |
|
Before Width: | Height: | Size: 143 KiB After Width: | Height: | Size: 144 KiB |
|
Before Width: | Height: | Size: 136 KiB After Width: | Height: | Size: 138 KiB |
|
Before Width: | Height: | Size: 152 KiB After Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 144 KiB After Width: | Height: | Size: 144 KiB |
|
Before Width: | Height: | Size: 149 KiB After Width: | Height: | Size: 153 KiB |
|
Before Width: | Height: | Size: 153 KiB After Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 152 KiB After Width: | Height: | Size: 151 KiB |
|
Before Width: | Height: | Size: 183 KiB After Width: | Height: | Size: 181 KiB |
|
Before Width: | Height: | Size: 159 KiB After Width: | Height: | Size: 157 KiB |
|
Before Width: | Height: | Size: 165 KiB After Width: | Height: | Size: 164 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 144 KiB After Width: | Height: | Size: 144 KiB |
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 115 KiB |
@@ -377,6 +377,37 @@
|
||||
"foodCandyRedThe": "the Cinnamon Candy",
|
||||
"foodCandyRedA": "Cinnamon Candy",
|
||||
|
||||
"foodPieSkeleton": "Bone Marrow Pot Pie",
|
||||
"foodPieSkeletonThe": "the Bone Marrow Pot Pie",
|
||||
"foodPieSkeletonA": "a slice of Bone Marrow Pot Pie",
|
||||
"foodPieBase": "Basic Apple Pie",
|
||||
"foodPieBaseThe": "the Basic Apple Pie",
|
||||
"foodPieBaseA": "a slice of Basic Apple Pie",
|
||||
"foodPieCottonCandyBlue": "Blueberry Pie",
|
||||
"foodPieCottonCandyBlueThe": "the Blueberry Pie",
|
||||
"foodPieCottonCandyBlueA": "a slice of Blueberry Pie",
|
||||
"foodPieCottonCandyPink": "Pink Rhubarb Pie",
|
||||
"foodPieCottonCandyPinkThe": "the Pink Rhubarb Pie",
|
||||
"foodPieCottonCandyPinkA": "a slice of Pink Rhubarb Pie",
|
||||
"foodPieShade": "Dark Chocolate Pie",
|
||||
"foodPieShadeThe": "the Dark Chocolate Pie",
|
||||
"foodPieShadeA": "a slice of Dark Chocolate Pie",
|
||||
"foodPieWhite": "Vanilla Pudding Pie",
|
||||
"foodPieWhiteThe": "the Vanilla Pudding Pie",
|
||||
"foodPieWhiteA": "a slice of Vanilla Pudding Pie",
|
||||
"foodPieGolden": "Golden Banana Cream Pie",
|
||||
"foodPieGoldenThe": "the Golden Banana Cream Pie",
|
||||
"foodPieGoldenA": "a slice of Golden Banana Cream Pie",
|
||||
"foodPieZombie": "Rotten Pie",
|
||||
"foodPieZombieThe": "the Rotten Pie",
|
||||
"foodPieZombieA": "a Rotten slice of Pie",
|
||||
"foodPieDesert": "Desert Dessert Pie",
|
||||
"foodPieDesertThe": "the Desert Dessert Pie",
|
||||
"foodPieDesertA": "a slice of Desert Dessert Pie",
|
||||
"foodPieRed": "Red Cherry Pie",
|
||||
"foodPieRedThe": "the Red Cherry Pie",
|
||||
"foodPieRedA": "a slice of Red Cherry Pie",
|
||||
|
||||
"foodSaddleText": "Saddle",
|
||||
"foodSaddleNotes": "Instantly raises one of your pets into a mount.",
|
||||
"foodSaddleSellWarningNote": "Hey! This is a pretty useful item! Are you familiar with how to use a Saddle with your Pets?",
|
||||
|
||||
@@ -975,6 +975,8 @@
|
||||
"headSpecialTurkeyHelmBaseNotes": "Your Turkey Day look will be complete when you don this beaked helm! Confers no benefit.",
|
||||
"headSpecialTurkeyHelmGildedText": "Gilded Turkey Helm",
|
||||
"headSpecialTurkeyHelmGildedNotes": "Gobble gobble! Bling bling! Confers no benefit.",
|
||||
"headSpecialPiDayText": "Pi Hat",
|
||||
"headSpecialPiDayNotes": "Try to balance this slice of delicious pie on your head while walking in a circle. Or throw it at a red Daily! Or you could just eat it. Your choice! Confers no benefit.",
|
||||
|
||||
"headSpecialNyeText": "Absurd Party Hat",
|
||||
"headSpecialNyeNotes": "You've received an Absurd Party Hat! Wear it with pride while ringing in the New Year! Confers no benefit.",
|
||||
@@ -1424,6 +1426,8 @@
|
||||
"shieldSpecialWintryMirrorNotes": "How else to best admire your wintry look? Increases Intelligence by <%= int %>.",
|
||||
"shieldSpecialWakizashiText": "Wakizashi",
|
||||
"shieldSpecialWakizashiNotes": "This short sword is perfect for close-quarters battles with your Dailies! Increases Constitution by <%= con %>.",
|
||||
"shieldSpecialPiDayText": "Pi Shield",
|
||||
"shieldSpecialPiDayNotes": "We dare you to calculate the ratio of this shield's circumference to its deliciousness! Confers no benefit.",
|
||||
|
||||
"shieldSpecialYetiText": "Yeti-Tamer Shield",
|
||||
"shieldSpecialYetiNotes": "This shield reflects light from the snow. Increases Constitution by <%= con %>. Limited Edition 2013-2014 Winter Gear.",
|
||||
|
||||
@@ -2506,6 +2506,12 @@ let head = {
|
||||
value: 0,
|
||||
canOwn: ownsItem('head_special_nye2018'),
|
||||
},
|
||||
piDay: {
|
||||
text: t('headSpecialPiDayText'),
|
||||
notes: t('headSpecialPiDayNotes'),
|
||||
value: 0,
|
||||
canOwn: ownsItem('head_special_piDay'),
|
||||
},
|
||||
};
|
||||
|
||||
let headAccessory = {
|
||||
@@ -3597,6 +3603,12 @@ let shield = {
|
||||
value: 70,
|
||||
con: 9,
|
||||
},
|
||||
piDay: {
|
||||
text: t('shieldSpecialPiDayText'),
|
||||
notes: t('shieldSpecialPiDayNotes'),
|
||||
value: 0,
|
||||
canOwn: ownsItem('shield_special_piDay'),
|
||||
},
|
||||
};
|
||||
|
||||
let weapon = {
|
||||
|
||||
@@ -370,13 +370,9 @@ api.premiumMounts = stable.premiumMounts;
|
||||
api.specialMounts = stable.specialMounts;
|
||||
api.mountInfo = stable.mountInfo;
|
||||
|
||||
// For seasonal events, change these booleans:
|
||||
let canBuyNormalFood = true;
|
||||
let canDropNormalFood = true;
|
||||
let canBuyCandyFood = false;
|
||||
let canDropCandyFood = false;
|
||||
let canBuyCakeFood = false;
|
||||
let canDropCakeFood = false;
|
||||
// For seasonal events, change this constant:
|
||||
|
||||
const FOOD_SEASON = 'Pie';
|
||||
|
||||
api.food = {
|
||||
Meat: {
|
||||
@@ -385,9 +381,9 @@ api.food = {
|
||||
textThe: t('foodMeatThe'),
|
||||
target: 'Base',
|
||||
canBuy () {
|
||||
return canBuyNormalFood;
|
||||
return FOOD_SEASON === 'Normal';
|
||||
},
|
||||
canDrop: canDropNormalFood,
|
||||
canDrop: FOOD_SEASON === 'Normal',
|
||||
},
|
||||
Milk: {
|
||||
text: t('foodMilk'),
|
||||
@@ -395,9 +391,9 @@ api.food = {
|
||||
textThe: t('foodMilkThe'),
|
||||
target: 'White',
|
||||
canBuy () {
|
||||
return canBuyNormalFood;
|
||||
return FOOD_SEASON === 'Normal';
|
||||
},
|
||||
canDrop: canDropNormalFood,
|
||||
canDrop: FOOD_SEASON === 'Normal',
|
||||
},
|
||||
Potatoe: {
|
||||
text: t('foodPotatoe'),
|
||||
@@ -405,9 +401,9 @@ api.food = {
|
||||
textThe: t('foodPotatoeThe'),
|
||||
target: 'Desert',
|
||||
canBuy () {
|
||||
return canBuyNormalFood;
|
||||
return FOOD_SEASON === 'Normal';
|
||||
},
|
||||
canDrop: canDropNormalFood,
|
||||
canDrop: FOOD_SEASON === 'Normal',
|
||||
},
|
||||
Strawberry: {
|
||||
text: t('foodStrawberry'),
|
||||
@@ -415,9 +411,9 @@ api.food = {
|
||||
textThe: t('foodStrawberryThe'),
|
||||
target: 'Red',
|
||||
canBuy () {
|
||||
return canBuyNormalFood;
|
||||
return FOOD_SEASON === 'Normal';
|
||||
},
|
||||
canDrop: canDropNormalFood,
|
||||
canDrop: FOOD_SEASON === 'Normal',
|
||||
},
|
||||
Chocolate: {
|
||||
text: t('foodChocolate'),
|
||||
@@ -425,9 +421,9 @@ api.food = {
|
||||
textThe: t('foodChocolateThe'),
|
||||
target: 'Shade',
|
||||
canBuy () {
|
||||
return canBuyNormalFood;
|
||||
return FOOD_SEASON === 'Normal';
|
||||
},
|
||||
canDrop: canDropNormalFood,
|
||||
canDrop: FOOD_SEASON === 'Normal',
|
||||
},
|
||||
Fish: {
|
||||
text: t('foodFish'),
|
||||
@@ -435,9 +431,9 @@ api.food = {
|
||||
textThe: t('foodFishThe'),
|
||||
target: 'Skeleton',
|
||||
canBuy () {
|
||||
return canBuyNormalFood;
|
||||
return FOOD_SEASON === 'Normal';
|
||||
},
|
||||
canDrop: canDropNormalFood,
|
||||
canDrop: FOOD_SEASON === 'Normal',
|
||||
},
|
||||
RottenMeat: {
|
||||
text: t('foodRottenMeat'),
|
||||
@@ -445,9 +441,9 @@ api.food = {
|
||||
textThe: t('foodRottenMeatThe'),
|
||||
target: 'Zombie',
|
||||
canBuy () {
|
||||
return canBuyNormalFood;
|
||||
return FOOD_SEASON === 'Normal';
|
||||
},
|
||||
canDrop: canDropNormalFood,
|
||||
canDrop: FOOD_SEASON === 'Normal',
|
||||
},
|
||||
CottonCandyPink: {
|
||||
text: t('foodCottonCandyPink'),
|
||||
@@ -455,9 +451,9 @@ api.food = {
|
||||
textThe: t('foodCottonCandyPinkThe'),
|
||||
target: 'CottonCandyPink',
|
||||
canBuy () {
|
||||
return canBuyNormalFood;
|
||||
return FOOD_SEASON === 'Normal';
|
||||
},
|
||||
canDrop: canDropNormalFood,
|
||||
canDrop: FOOD_SEASON === 'Normal',
|
||||
},
|
||||
CottonCandyBlue: {
|
||||
text: t('foodCottonCandyBlue'),
|
||||
@@ -465,9 +461,9 @@ api.food = {
|
||||
textThe: t('foodCottonCandyBlueThe'),
|
||||
target: 'CottonCandyBlue',
|
||||
canBuy () {
|
||||
return canBuyNormalFood;
|
||||
return FOOD_SEASON === 'Normal';
|
||||
},
|
||||
canDrop: canDropNormalFood,
|
||||
canDrop: FOOD_SEASON === 'Normal',
|
||||
},
|
||||
Honey: {
|
||||
text: t('foodHoney'),
|
||||
@@ -475,9 +471,9 @@ api.food = {
|
||||
textThe: t('foodHoneyThe'),
|
||||
target: 'Golden',
|
||||
canBuy () {
|
||||
return canBuyNormalFood;
|
||||
return FOOD_SEASON === 'Normal';
|
||||
},
|
||||
canDrop: canDropNormalFood,
|
||||
canDrop: FOOD_SEASON === 'Normal',
|
||||
},
|
||||
Saddle: {
|
||||
canBuy () {
|
||||
@@ -495,9 +491,9 @@ api.food = {
|
||||
textThe: t('foodCakeSkeletonThe'),
|
||||
target: 'Skeleton',
|
||||
canBuy () {
|
||||
return canBuyCakeFood;
|
||||
return FOOD_SEASON === 'Cake';
|
||||
},
|
||||
canDrop: canDropCakeFood,
|
||||
canDrop: FOOD_SEASON === 'Cake',
|
||||
},
|
||||
Cake_Base: {
|
||||
text: t('foodCakeBase'),
|
||||
@@ -505,9 +501,9 @@ api.food = {
|
||||
textThe: t('foodCakeBaseThe'),
|
||||
target: 'Base',
|
||||
canBuy () {
|
||||
return canBuyCakeFood;
|
||||
return FOOD_SEASON === 'Cake';
|
||||
},
|
||||
canDrop: canDropCakeFood,
|
||||
canDrop: FOOD_SEASON === 'Cake',
|
||||
},
|
||||
Cake_CottonCandyBlue: {
|
||||
text: t('foodCakeCottonCandyBlue'),
|
||||
@@ -515,9 +511,9 @@ api.food = {
|
||||
textThe: t('foodCakeCottonCandyBlueThe'),
|
||||
target: 'CottonCandyBlue',
|
||||
canBuy () {
|
||||
return canBuyCakeFood;
|
||||
return FOOD_SEASON === 'Cake';
|
||||
},
|
||||
canDrop: canDropCakeFood,
|
||||
canDrop: FOOD_SEASON === 'Cake',
|
||||
},
|
||||
Cake_CottonCandyPink: {
|
||||
text: t('foodCakeCottonCandyPink'),
|
||||
@@ -525,9 +521,9 @@ api.food = {
|
||||
textThe: t('foodCakeCottonCandyPinkThe'),
|
||||
target: 'CottonCandyPink',
|
||||
canBuy () {
|
||||
return canBuyCakeFood;
|
||||
return FOOD_SEASON === 'Cake';
|
||||
},
|
||||
canDrop: canDropCakeFood,
|
||||
canDrop: FOOD_SEASON === 'Cake',
|
||||
},
|
||||
Cake_Shade: {
|
||||
text: t('foodCakeShade'),
|
||||
@@ -535,9 +531,9 @@ api.food = {
|
||||
textThe: t('foodCakeShadeThe'),
|
||||
target: 'Shade',
|
||||
canBuy () {
|
||||
return canBuyCakeFood;
|
||||
return FOOD_SEASON === 'Cake';
|
||||
},
|
||||
canDrop: canDropCakeFood,
|
||||
canDrop: FOOD_SEASON === 'Cake',
|
||||
},
|
||||
Cake_White: {
|
||||
text: t('foodCakeWhite'),
|
||||
@@ -545,9 +541,9 @@ api.food = {
|
||||
textThe: t('foodCakeWhiteThe'),
|
||||
target: 'White',
|
||||
canBuy () {
|
||||
return canBuyCakeFood;
|
||||
return FOOD_SEASON === 'Cake';
|
||||
},
|
||||
canDrop: canDropCakeFood,
|
||||
canDrop: FOOD_SEASON === 'Cake',
|
||||
},
|
||||
Cake_Golden: {
|
||||
text: t('foodCakeGolden'),
|
||||
@@ -555,9 +551,9 @@ api.food = {
|
||||
textThe: t('foodCakeGoldenThe'),
|
||||
target: 'Golden',
|
||||
canBuy () {
|
||||
return canBuyCakeFood;
|
||||
return FOOD_SEASON === 'Cake';
|
||||
},
|
||||
canDrop: canDropCakeFood,
|
||||
canDrop: FOOD_SEASON === 'Cake',
|
||||
},
|
||||
Cake_Zombie: {
|
||||
text: t('foodCakeZombie'),
|
||||
@@ -565,9 +561,9 @@ api.food = {
|
||||
textThe: t('foodCakeZombieThe'),
|
||||
target: 'Zombie',
|
||||
canBuy () {
|
||||
return canBuyCakeFood;
|
||||
return FOOD_SEASON === 'Cake';
|
||||
},
|
||||
canDrop: canDropCakeFood,
|
||||
canDrop: FOOD_SEASON === 'Cake',
|
||||
},
|
||||
Cake_Desert: {
|
||||
text: t('foodCakeDesert'),
|
||||
@@ -575,9 +571,9 @@ api.food = {
|
||||
textThe: t('foodCakeDesertThe'),
|
||||
target: 'Desert',
|
||||
canBuy () {
|
||||
return canBuyCakeFood;
|
||||
return FOOD_SEASON === 'Cake';
|
||||
},
|
||||
canDrop: canDropCakeFood,
|
||||
canDrop: FOOD_SEASON === 'Cake',
|
||||
},
|
||||
Cake_Red: {
|
||||
text: t('foodCakeRed'),
|
||||
@@ -585,9 +581,9 @@ api.food = {
|
||||
textThe: t('foodCakeRedThe'),
|
||||
target: 'Red',
|
||||
canBuy () {
|
||||
return canBuyCakeFood;
|
||||
return FOOD_SEASON === 'Cake';
|
||||
},
|
||||
canDrop: canDropCakeFood,
|
||||
canDrop: FOOD_SEASON === 'Cake',
|
||||
},
|
||||
Candy_Skeleton: {
|
||||
text: t('foodCandySkeleton'),
|
||||
@@ -595,9 +591,9 @@ api.food = {
|
||||
textThe: t('foodCandySkeletonThe'),
|
||||
target: 'Skeleton',
|
||||
canBuy () {
|
||||
return canBuyCandyFood;
|
||||
return FOOD_SEASON === 'Candy';
|
||||
},
|
||||
canDrop: canDropCandyFood,
|
||||
canDrop: FOOD_SEASON === 'Candy',
|
||||
},
|
||||
Candy_Base: {
|
||||
text: t('foodCandyBase'),
|
||||
@@ -605,9 +601,9 @@ api.food = {
|
||||
textThe: t('foodCandyBaseThe'),
|
||||
target: 'Base',
|
||||
canBuy () {
|
||||
return canBuyCandyFood;
|
||||
return FOOD_SEASON === 'Candy';
|
||||
},
|
||||
canDrop: canDropCandyFood,
|
||||
canDrop: FOOD_SEASON === 'Candy',
|
||||
},
|
||||
Candy_CottonCandyBlue: {
|
||||
text: t('foodCandyCottonCandyBlue'),
|
||||
@@ -615,9 +611,9 @@ api.food = {
|
||||
textThe: t('foodCandyCottonCandyBlueThe'),
|
||||
target: 'CottonCandyBlue',
|
||||
canBuy () {
|
||||
return canBuyCandyFood;
|
||||
return FOOD_SEASON === 'Candy';
|
||||
},
|
||||
canDrop: canDropCandyFood,
|
||||
canDrop: FOOD_SEASON === 'Candy',
|
||||
},
|
||||
Candy_CottonCandyPink: {
|
||||
text: t('foodCandyCottonCandyPink'),
|
||||
@@ -625,9 +621,9 @@ api.food = {
|
||||
textThe: t('foodCandyCottonCandyPinkThe'),
|
||||
target: 'CottonCandyPink',
|
||||
canBuy () {
|
||||
return canBuyCandyFood;
|
||||
return FOOD_SEASON === 'Candy';
|
||||
},
|
||||
canDrop: canDropCandyFood,
|
||||
canDrop: FOOD_SEASON === 'Candy',
|
||||
},
|
||||
Candy_Shade: {
|
||||
text: t('foodCandyShade'),
|
||||
@@ -635,9 +631,9 @@ api.food = {
|
||||
textThe: t('foodCandyShadeThe'),
|
||||
target: 'Shade',
|
||||
canBuy () {
|
||||
return canBuyCandyFood;
|
||||
return FOOD_SEASON === 'Candy';
|
||||
},
|
||||
canDrop: canDropCandyFood,
|
||||
canDrop: FOOD_SEASON === 'Candy',
|
||||
},
|
||||
Candy_White: {
|
||||
text: t('foodCandyWhite'),
|
||||
@@ -645,9 +641,9 @@ api.food = {
|
||||
textThe: t('foodCandyWhiteThe'),
|
||||
target: 'White',
|
||||
canBuy () {
|
||||
return canBuyCandyFood;
|
||||
return FOOD_SEASON === 'Candy';
|
||||
},
|
||||
canDrop: canDropCandyFood,
|
||||
canDrop: FOOD_SEASON === 'Candy',
|
||||
},
|
||||
Candy_Golden: {
|
||||
text: t('foodCandyGolden'),
|
||||
@@ -655,9 +651,9 @@ api.food = {
|
||||
textThe: t('foodCandyGoldenThe'),
|
||||
target: 'Golden',
|
||||
canBuy () {
|
||||
return canBuyCandyFood;
|
||||
return FOOD_SEASON === 'Candy';
|
||||
},
|
||||
canDrop: canDropCandyFood,
|
||||
canDrop: FOOD_SEASON === 'Candy',
|
||||
},
|
||||
Candy_Zombie: {
|
||||
text: t('foodCandyZombie'),
|
||||
@@ -665,9 +661,9 @@ api.food = {
|
||||
textThe: t('foodCandyZombieThe'),
|
||||
target: 'Zombie',
|
||||
canBuy () {
|
||||
return canBuyCandyFood;
|
||||
return FOOD_SEASON === 'Candy';
|
||||
},
|
||||
canDrop: canDropCandyFood,
|
||||
canDrop: FOOD_SEASON === 'Candy',
|
||||
},
|
||||
Candy_Desert: {
|
||||
text: t('foodCandyDesert'),
|
||||
@@ -675,9 +671,9 @@ api.food = {
|
||||
textThe: t('foodCandyDesertThe'),
|
||||
target: 'Desert',
|
||||
canBuy () {
|
||||
return canBuyCandyFood;
|
||||
return FOOD_SEASON === 'Candy';
|
||||
},
|
||||
canDrop: canDropCandyFood,
|
||||
canDrop: FOOD_SEASON === 'Candy',
|
||||
},
|
||||
Candy_Red: {
|
||||
text: t('foodCandyRed'),
|
||||
@@ -685,9 +681,109 @@ api.food = {
|
||||
textThe: t('foodCandyRedThe'),
|
||||
target: 'Red',
|
||||
canBuy () {
|
||||
return canBuyCandyFood;
|
||||
return FOOD_SEASON === 'Candy';
|
||||
},
|
||||
canDrop: canDropCandyFood,
|
||||
canDrop: FOOD_SEASON === 'Candy',
|
||||
},
|
||||
Pie_Skeleton: {
|
||||
text: t('foodPieSkeleton'),
|
||||
textA: t('foodPieSkeletonA'),
|
||||
textThe: t('foodPieSkeletonThe'),
|
||||
target: 'Skeleton',
|
||||
canBuy () {
|
||||
return FOOD_SEASON === 'Pie';
|
||||
},
|
||||
canDrop: FOOD_SEASON === 'Pie',
|
||||
},
|
||||
Pie_Base: {
|
||||
text: t('foodPieBase'),
|
||||
textA: t('foodPieBaseA'),
|
||||
textThe: t('foodPieBaseThe'),
|
||||
target: 'Base',
|
||||
canBuy () {
|
||||
return FOOD_SEASON === 'Pie';
|
||||
},
|
||||
canDrop: FOOD_SEASON === 'Pie',
|
||||
},
|
||||
Pie_CottonCandyBlue: {
|
||||
text: t('foodPieCottonCandyBlue'),
|
||||
textA: t('foodPieCottonCandyBlueA'),
|
||||
textThe: t('foodPieCottonCandyBlueThe'),
|
||||
target: 'CottonCandyBlue',
|
||||
canBuy () {
|
||||
return FOOD_SEASON === 'Pie';
|
||||
},
|
||||
canDrop: FOOD_SEASON === 'Pie',
|
||||
},
|
||||
Pie_CottonCandyPink: {
|
||||
text: t('foodPieCottonCandyPink'),
|
||||
textA: t('foodPieCottonCandyPinkA'),
|
||||
textThe: t('foodPieCottonCandyPinkThe'),
|
||||
target: 'CottonCandyPink',
|
||||
canBuy () {
|
||||
return FOOD_SEASON === 'Pie';
|
||||
},
|
||||
canDrop: FOOD_SEASON === 'Pie',
|
||||
},
|
||||
Pie_Shade: {
|
||||
text: t('foodPieShade'),
|
||||
textA: t('foodPieShadeA'),
|
||||
textThe: t('foodPieShadeThe'),
|
||||
target: 'Shade',
|
||||
canBuy () {
|
||||
return FOOD_SEASON === 'Pie';
|
||||
},
|
||||
canDrop: FOOD_SEASON === 'Pie',
|
||||
},
|
||||
Pie_White: {
|
||||
text: t('foodPieWhite'),
|
||||
textA: t('foodPieWhiteA'),
|
||||
textThe: t('foodPieWhiteThe'),
|
||||
target: 'White',
|
||||
canBuy () {
|
||||
return FOOD_SEASON === 'Pie';
|
||||
},
|
||||
canDrop: FOOD_SEASON === 'Pie',
|
||||
},
|
||||
Pie_Golden: {
|
||||
text: t('foodPieGolden'),
|
||||
textA: t('foodPieGoldenA'),
|
||||
textThe: t('foodPieGoldenThe'),
|
||||
target: 'Golden',
|
||||
canBuy () {
|
||||
return FOOD_SEASON === 'Pie';
|
||||
},
|
||||
canDrop: FOOD_SEASON === 'Pie',
|
||||
},
|
||||
Pie_Zombie: {
|
||||
text: t('foodPieZombie'),
|
||||
textA: t('foodPieZombieA'),
|
||||
textThe: t('foodPieZombieThe'),
|
||||
target: 'Zombie',
|
||||
canBuy () {
|
||||
return FOOD_SEASON === 'Pie';
|
||||
},
|
||||
canDrop: FOOD_SEASON === 'Pie',
|
||||
},
|
||||
Pie_Desert: {
|
||||
text: t('foodPieDesert'),
|
||||
textA: t('foodPieDesertA'),
|
||||
textThe: t('foodPieDesertThe'),
|
||||
target: 'Desert',
|
||||
canBuy () {
|
||||
return FOOD_SEASON === 'Pie';
|
||||
},
|
||||
canDrop: FOOD_SEASON === 'Pie',
|
||||
},
|
||||
Pie_Red: {
|
||||
text: t('foodPieRed'),
|
||||
textA: t('foodPieRedA'),
|
||||
textThe: t('foodPieRedThe'),
|
||||
target: 'Red',
|
||||
canBuy () {
|
||||
return FOOD_SEASON === 'Pie';
|
||||
},
|
||||
canDrop: FOOD_SEASON === 'Pie',
|
||||
},
|
||||
/* eslint-enable camelcase */
|
||||
};
|
||||
|
||||
|
After Width: | Height: | Size: 560 B |
|
After Width: | Height: | Size: 616 B |
|
After Width: | Height: | Size: 509 B |
|
After Width: | Height: | Size: 553 B |
|
After Width: | Height: | Size: 457 B |
|
After Width: | Height: | Size: 482 B |
|
After Width: | Height: | Size: 478 B |
|
After Width: | Height: | Size: 454 B |
|
After Width: | Height: | Size: 465 B |
|
After Width: | Height: | Size: 477 B |
|
After Width: | Height: | Size: 449 B |
|
After Width: | Height: | Size: 520 B |
|
After Width: | Height: | Size: 463 B |
|
After Width: | Height: | Size: 524 B |
|
After Width: | Height: | Size: 7.9 KiB |
@@ -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 = 'HABITICA BLOG: NEW GUILDS AND WIKI SPOTLIGHT ON DAILIES';
|
||||
const LAST_ANNOUNCEMENT_TITLE = 'CELEBRATE PI DAY WITH HABITICA!';
|
||||
const worldDmg = { // @TODO
|
||||
bailey: false,
|
||||
};
|
||||
@@ -30,18 +30,14 @@ api.getNews = {
|
||||
<div class="mr-3 ${baileyClass}"></div>
|
||||
<div class="media-body">
|
||||
<h1 class="align-self-center">${res.t('newStuff')}</h1>
|
||||
<h2>3/12/2019 - ${LAST_ANNOUNCEMENT_TITLE}</h2>
|
||||
<h2>3/14/2019 - ${LAST_ANNOUNCEMENT_TITLE}</h2>
|
||||
</div>
|
||||
</div>
|
||||
<hr/>
|
||||
<div class="scene_tavern center-block"></div>
|
||||
<h3>Guild Spotlight: Yet More New and Notable Guilds!</h3>
|
||||
<p>There's a new <a href='https://habitica.wordpress.com/2019/03/12/new-and-notable-guild-spotlight-3/' target='_blank'>Guild Spotlight</a> on the blog that highlights some of the new movers and shakers in our community! Check it out now to find some cool new places to hang out in Habitica with folks who share your interests and goals.</p>
|
||||
<div class="small mb-3">by shanaqui</div>
|
||||
<div class="scene_dailies center-block"></div>
|
||||
<h3>Blog Post: Dailies</h3>
|
||||
<p>This month's <a href='https://habitica.wordpress.com/2019/03/12/dailies/' target='_blank'>featured Wiki article</a> is about Dailies! We hope that it will help you as you work on completing routine tasks. Be sure to check it out, and let 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>
|
||||
<div class="small mb-3">by shanaqui and the Wiki Wizards</div>
|
||||
<div class="promo_pi_day center-block"></div>
|
||||
<p>Hello Habiticans! In celebration of Pi Day on March 14, we've gifted everyone delicious slices of pie for you all to feed to your pets.</p>
|
||||
<p>We've also given everyone a festive Pi Hat and Shield so you can celebrate in style. Enjoy them, and thanks for being a part of our community!</p>
|
||||
<div class="small mb-3">by Beffymaroo and SabreCat</div>
|
||||
</div>
|
||||
`,
|
||||
});
|
||||
|
||||
@@ -184,11 +184,7 @@ async function registerLocal (req, res, { isV3 = false }) {
|
||||
.remove({email: savedUser.auth.local.email})
|
||||
.then(() => {
|
||||
if (existingUser) return;
|
||||
if (savedUser._ABtests && savedUser._ABtests.welcomeEmailSplit) {
|
||||
sendTxnEmail(savedUser, savedUser._ABtests.welcomeEmailSplit);
|
||||
} else {
|
||||
sendTxnEmail(savedUser, 'welcome');
|
||||
}
|
||||
sendTxnEmail(savedUser, 'welcome-v2d');
|
||||
});
|
||||
|
||||
if (!existingUser) {
|
||||
|
||||
@@ -89,11 +89,7 @@ async function loginSocial (req, res) {
|
||||
.exec()
|
||||
.then(() => {
|
||||
if (!existingUser) {
|
||||
if (savedUser._ABtests && savedUser._ABtests.welcomeEmailSplit) {
|
||||
sendTxnEmail(savedUser, savedUser._ABtests.welcomeEmailSplit);
|
||||
} else {
|
||||
sendTxnEmail(savedUser, 'welcome');
|
||||
}
|
||||
sendTxnEmail(savedUser, 'welcome-v2d');
|
||||
}
|
||||
}); // eslint-disable-line max-nested-callbacks
|
||||
}
|
||||
|
||||
@@ -124,22 +124,28 @@ function _setUpNewUser (user) {
|
||||
let taskTypes;
|
||||
let iterableFlags = user.flags.toObject();
|
||||
|
||||
/* eslint-disable camelcase */
|
||||
user.items.quests.dustbunnies = 1;
|
||||
user.purchased.background.violet = true;
|
||||
user.preferences.background = 'violet';
|
||||
|
||||
const testGroup = Math.random();
|
||||
if (testGroup < 0.2) {
|
||||
user._ABtests.welcomeEmailSplit = 'welcome-v2';
|
||||
} else if (testGroup < 0.4) {
|
||||
user._ABtests.welcomeEmailSplit = 'welcome-v2b';
|
||||
} else if (testGroup < 0.6) {
|
||||
user._ABtests.welcomeEmailSplit = 'welcome-v2c';
|
||||
} else if (testGroup < 0.8) {
|
||||
user._ABtests.welcomeEmailSplit = 'welcome-v2d';
|
||||
} else {
|
||||
user._ABtests.welcomeEmailSplit = 'welcome';
|
||||
}
|
||||
user.items.gear.owned.shield_special_piDay = true;
|
||||
user.items.gear.equipped.shield = 'shield_special_piDay';
|
||||
user.items.gear.costume.shield = 'shield_special_piDay';
|
||||
user.items.gear.owned.head_special_piDay = true;
|
||||
user.items.gear.equipped.head = 'head_special_piDay';
|
||||
user.items.gear.costume.head = 'head_special_piDay';
|
||||
user.items.food.Pie_Skeleton = 1;
|
||||
user.items.food.Pie_Base = 1;
|
||||
user.items.food.Pie_CottonCandyBlue = 1;
|
||||
user.items.food.Pie_CottonCandyPink = 1;
|
||||
user.items.food.Pie_Shade = 1;
|
||||
user.items.food.Pie_White = 1;
|
||||
user.items.food.Pie_Golden = 1;
|
||||
user.items.food.Pie_Zombie = 1;
|
||||
user.items.food.Pie_Desert = 1;
|
||||
user.items.food.Pie_Red = 1;
|
||||
user.migration = '20190314_pi_day';
|
||||
/* eslint-enable camelcase */
|
||||
|
||||
if (user.registeredThrough === 'habitica-web') {
|
||||
taskTypes = ['habit', 'daily', 'todo', 'reward', 'tag'];
|
||||
|
||||