diff --git a/website/assets/sprites/dist/spritesmith-largeSprites-0.css b/website/assets/sprites/dist/spritesmith-largeSprites-0.css
index 3488c8501b..79550ddd8c 100644
--- a/website/assets/sprites/dist/spritesmith-largeSprites-0.css
+++ b/website/assets/sprites/dist/spritesmith-largeSprites-0.css
@@ -6,7 +6,7 @@
}
.promo_backgrounds_armoire_201602 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1545px 0px;
+ background-position: -1545px -295px;
width: 141px;
height: 294px;
}
@@ -96,7 +96,7 @@
}
.promo_checkin_incentives {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1545px -295px;
+ background-position: -1545px 0px;
width: 141px;
height: 294px;
}
@@ -138,16 +138,22 @@
}
.promo_contrib_spotlight_blade {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1405px -924px;
+ background-position: -1405px -1036px;
width: 89px;
height: 111px;
}
.promo_contrib_spotlight_cantras {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1405px -1036px;
+ background-position: -1264px -882px;
width: 87px;
height: 109px;
}
+.promo_contrib_spotlight_megan {
+ background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
+ background-position: -1405px -924px;
+ width: 90px;
+ height: 111px;
+}
.promo_cow {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
background-position: -1264px 0px;
@@ -156,7 +162,7 @@
}
.promo_dilatoryDistress {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: 0px -1666px;
+ background-position: -819px -1666px;
width: 90px;
height: 90px;
}
@@ -174,7 +180,7 @@
}
.promo_enchanted_armoire_201507 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1687px -732px;
+ background-position: -1687px -823px;
width: 217px;
height: 90px;
}
@@ -186,7 +192,7 @@
}
.promo_enchanted_armoire_201509 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -699px -448px;
+ background-position: -273px -1666px;
width: 90px;
height: 90px;
}
@@ -198,7 +204,7 @@
}
.promo_enchanted_armoire_201601 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -182px -1666px;
+ background-position: -1128px -927px;
width: 90px;
height: 90px;
}
@@ -252,19 +258,19 @@
}
.promo_mystery_201405 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -455px -1666px;
+ background-position: -546px -1666px;
width: 90px;
height: 90px;
}
.promo_mystery_201406 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1123px -648px;
+ background-position: -982px -542px;
width: 90px;
height: 96px;
}
.promo_mystery_201407 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1493px -1036px;
+ background-position: -1495px -1036px;
width: 42px;
height: 62px;
}
@@ -276,7 +282,7 @@
}
.promo_mystery_201409 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -637px -1666px;
+ background-position: -728px -1666px;
width: 90px;
height: 90px;
}
@@ -288,13 +294,13 @@
}
.promo_mystery_201411 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -728px -1666px;
+ background-position: -910px -1666px;
width: 90px;
height: 90px;
}
.promo_mystery_201412 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1495px -924px;
+ background-position: -1496px -924px;
width: 42px;
height: 66px;
}
@@ -306,13 +312,13 @@
}
.promo_mystery_201502 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -819px -1666px;
+ background-position: -1128px -745px;
width: 90px;
height: 90px;
}
.promo_mystery_201503 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1128px -745px;
+ background-position: -1128px -836px;
width: 90px;
height: 90px;
}
@@ -324,7 +330,7 @@
}
.promo_mystery_201505 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -546px -1666px;
+ background-position: -637px -1666px;
width: 90px;
height: 90px;
}
@@ -342,25 +348,25 @@
}
.promo_mystery_201508 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -982px -624px;
+ background-position: -699px -448px;
width: 93px;
height: 90px;
}
.promo_mystery_201509 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -364px -1666px;
+ background-position: -455px -1666px;
width: 90px;
height: 90px;
}
.promo_mystery_201510 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -982px -533px;
+ background-position: -982px -639px;
width: 93px;
height: 90px;
}
.promo_mystery_201511 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -273px -1666px;
+ background-position: -364px -1666px;
width: 90px;
height: 90px;
}
@@ -378,43 +384,43 @@
}
.promo_mystery_201602 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -91px -1666px;
+ background-position: -182px -1666px;
width: 90px;
height: 90px;
}
.promo_mystery_201603 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1128px -1018px;
+ background-position: -91px -1666px;
width: 90px;
height: 90px;
}
.promo_mystery_201604 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -982px -442px;
+ background-position: -1123px -654px;
width: 93px;
height: 90px;
}
.promo_mystery_201605 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1128px -927px;
+ background-position: 0px -1666px;
width: 90px;
height: 90px;
}
.promo_mystery_201606 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1264px -986px;
+ background-position: -1123px -548px;
width: 90px;
height: 105px;
}
.promo_mystery_201607 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1128px -836px;
+ background-position: -1128px -1018px;
width: 90px;
height: 90px;
}
.promo_mystery_201608 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1264px -1092px;
+ background-position: -1264px -1096px;
width: 93px;
height: 90px;
}
@@ -432,7 +438,7 @@
}
.promo_mystery_201611 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1123px -548px;
+ background-position: -982px -442px;
width: 90px;
height: 99px;
}
@@ -444,7 +450,7 @@
}
.promo_mystery_3014 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1687px -823px;
+ background-position: -1687px -732px;
width: 217px;
height: 90px;
}
@@ -504,7 +510,7 @@
}
.promo_rainbow_armor {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1264px -882px;
+ background-position: -1264px -992px;
width: 92px;
height: 103px;
}
diff --git a/website/assets/sprites/dist/spritesmith-largeSprites-0.png b/website/assets/sprites/dist/spritesmith-largeSprites-0.png
index 8722b39c7b..f24dd43edd 100644
Binary files a/website/assets/sprites/dist/spritesmith-largeSprites-0.png and b/website/assets/sprites/dist/spritesmith-largeSprites-0.png differ
diff --git a/website/assets/sprites/dist/spritesmith-main-15.png b/website/assets/sprites/dist/spritesmith-main-15.png
index 511ef1c0a1..491249d719 100644
Binary files a/website/assets/sprites/dist/spritesmith-main-15.png and b/website/assets/sprites/dist/spritesmith-main-15.png differ
diff --git a/website/assets/sprites/spritesmith_large/promo/promo_contrib_spotlight_megan.png b/website/assets/sprites/spritesmith_large/promo/promo_contrib_spotlight_megan.png
new file mode 100644
index 0000000000..f8f042956c
Binary files /dev/null and b/website/assets/sprites/spritesmith_large/promo/promo_contrib_spotlight_megan.png differ
diff --git a/website/client/assets/css/sprites/spritesmith-largeSprites-0.css b/website/client/assets/css/sprites/spritesmith-largeSprites-0.css
index 3488c8501b..79550ddd8c 100644
--- a/website/client/assets/css/sprites/spritesmith-largeSprites-0.css
+++ b/website/client/assets/css/sprites/spritesmith-largeSprites-0.css
@@ -6,7 +6,7 @@
}
.promo_backgrounds_armoire_201602 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1545px 0px;
+ background-position: -1545px -295px;
width: 141px;
height: 294px;
}
@@ -96,7 +96,7 @@
}
.promo_checkin_incentives {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1545px -295px;
+ background-position: -1545px 0px;
width: 141px;
height: 294px;
}
@@ -138,16 +138,22 @@
}
.promo_contrib_spotlight_blade {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1405px -924px;
+ background-position: -1405px -1036px;
width: 89px;
height: 111px;
}
.promo_contrib_spotlight_cantras {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1405px -1036px;
+ background-position: -1264px -882px;
width: 87px;
height: 109px;
}
+.promo_contrib_spotlight_megan {
+ background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
+ background-position: -1405px -924px;
+ width: 90px;
+ height: 111px;
+}
.promo_cow {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
background-position: -1264px 0px;
@@ -156,7 +162,7 @@
}
.promo_dilatoryDistress {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: 0px -1666px;
+ background-position: -819px -1666px;
width: 90px;
height: 90px;
}
@@ -174,7 +180,7 @@
}
.promo_enchanted_armoire_201507 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1687px -732px;
+ background-position: -1687px -823px;
width: 217px;
height: 90px;
}
@@ -186,7 +192,7 @@
}
.promo_enchanted_armoire_201509 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -699px -448px;
+ background-position: -273px -1666px;
width: 90px;
height: 90px;
}
@@ -198,7 +204,7 @@
}
.promo_enchanted_armoire_201601 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -182px -1666px;
+ background-position: -1128px -927px;
width: 90px;
height: 90px;
}
@@ -252,19 +258,19 @@
}
.promo_mystery_201405 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -455px -1666px;
+ background-position: -546px -1666px;
width: 90px;
height: 90px;
}
.promo_mystery_201406 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1123px -648px;
+ background-position: -982px -542px;
width: 90px;
height: 96px;
}
.promo_mystery_201407 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1493px -1036px;
+ background-position: -1495px -1036px;
width: 42px;
height: 62px;
}
@@ -276,7 +282,7 @@
}
.promo_mystery_201409 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -637px -1666px;
+ background-position: -728px -1666px;
width: 90px;
height: 90px;
}
@@ -288,13 +294,13 @@
}
.promo_mystery_201411 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -728px -1666px;
+ background-position: -910px -1666px;
width: 90px;
height: 90px;
}
.promo_mystery_201412 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1495px -924px;
+ background-position: -1496px -924px;
width: 42px;
height: 66px;
}
@@ -306,13 +312,13 @@
}
.promo_mystery_201502 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -819px -1666px;
+ background-position: -1128px -745px;
width: 90px;
height: 90px;
}
.promo_mystery_201503 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1128px -745px;
+ background-position: -1128px -836px;
width: 90px;
height: 90px;
}
@@ -324,7 +330,7 @@
}
.promo_mystery_201505 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -546px -1666px;
+ background-position: -637px -1666px;
width: 90px;
height: 90px;
}
@@ -342,25 +348,25 @@
}
.promo_mystery_201508 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -982px -624px;
+ background-position: -699px -448px;
width: 93px;
height: 90px;
}
.promo_mystery_201509 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -364px -1666px;
+ background-position: -455px -1666px;
width: 90px;
height: 90px;
}
.promo_mystery_201510 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -982px -533px;
+ background-position: -982px -639px;
width: 93px;
height: 90px;
}
.promo_mystery_201511 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -273px -1666px;
+ background-position: -364px -1666px;
width: 90px;
height: 90px;
}
@@ -378,43 +384,43 @@
}
.promo_mystery_201602 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -91px -1666px;
+ background-position: -182px -1666px;
width: 90px;
height: 90px;
}
.promo_mystery_201603 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1128px -1018px;
+ background-position: -91px -1666px;
width: 90px;
height: 90px;
}
.promo_mystery_201604 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -982px -442px;
+ background-position: -1123px -654px;
width: 93px;
height: 90px;
}
.promo_mystery_201605 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1128px -927px;
+ background-position: 0px -1666px;
width: 90px;
height: 90px;
}
.promo_mystery_201606 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1264px -986px;
+ background-position: -1123px -548px;
width: 90px;
height: 105px;
}
.promo_mystery_201607 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1128px -836px;
+ background-position: -1128px -1018px;
width: 90px;
height: 90px;
}
.promo_mystery_201608 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1264px -1092px;
+ background-position: -1264px -1096px;
width: 93px;
height: 90px;
}
@@ -432,7 +438,7 @@
}
.promo_mystery_201611 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1123px -548px;
+ background-position: -982px -442px;
width: 90px;
height: 99px;
}
@@ -444,7 +450,7 @@
}
.promo_mystery_3014 {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1687px -823px;
+ background-position: -1687px -732px;
width: 217px;
height: 90px;
}
@@ -504,7 +510,7 @@
}
.promo_rainbow_armor {
background-image: url(/static/sprites/spritesmith-largeSprites-0.png);
- background-position: -1264px -882px;
+ background-position: -1264px -992px;
width: 92px;
height: 103px;
}
diff --git a/website/common/locales/en/character.json b/website/common/locales/en/character.json
index 6164b205e1..a0e8561530 100644
--- a/website/common/locales/en/character.json
+++ b/website/common/locales/en/character.json
@@ -42,6 +42,7 @@
"spookySkins": "Spooky Skins",
"supernaturalSkins": "Supernatural Skins",
"splashySkins": "Splashy Skins",
+ "winterySkins": "Wintery Skins",
"rainbowColors": "Rainbow Colors",
"shimmerColors": "Shimmer Colors",
"hauntedColors": "Haunted Colors",
diff --git a/website/common/locales/en/gear.json b/website/common/locales/en/gear.json
index 9b3150e011..254de854d9 100644
--- a/website/common/locales/en/gear.json
+++ b/website/common/locales/en/gear.json
@@ -91,6 +91,8 @@
"weaponSpecialBardInstrumentNotes": "Strum a merry tune on this magical lute! Increases Intelligence and Perception by <%= attrs %> each.",
"weaponSpecialLunarScytheText": "Lunar Scythe",
"weaponSpecialLunarScytheNotes": "Wax this scythe regularly, or its power will wane. Increases Strength and Perception by <%= attrs %> each.",
+ "weaponSpecialMammothRiderSpearText": "Mammoth Rider Spear",
+ "weaponSpecialMammothRiderSpearNotes": "This rose quartz-tipped spear will imbue you with ancient spell-casting power. Increases Intelligence by <%= int %>.",
"weaponSpecialYetiText": "Yeti-Tamer Spear",
"weaponSpecialYetiNotes": "This spear allows its user to command any yeti. Increases Strength by <%= str %>. Limited Edition 2013-2014 Winter Gear.",
@@ -329,6 +331,8 @@
"armorSpecialBardRobesNotes": "These colorful robes may be conspicuous, but you can sing your way out of any situation. Increases Perception by <%= per %>.",
"armorSpecialLunarWarriorArmorText": "Lunar Warrior Armor",
"armorSpecialLunarWarriorArmorNotes": "This armor is forged of moonstone and magical steel. Increases Strength and Constitution by <%= attrs %> each.",
+ "armorSpecialMammothRiderArmorText": "Mammoth Rider Armor",
+ "armorSpecialMammothRiderArmorNotes": "This suit of fur and leather includes a snazzy cape studded with rose quartz gems. It will protect you from bitter winds as you adventure in the coldest climes. Increases Constitution by <%= con %>.",
"armorSpecialYetiText": "Yeti-Tamer Robe",
"armorSpecialYetiNotes": "Fuzzy and fierce. Increases Constitution by <%= con %>. Limited Edition 2013-2014 Winter Gear.",
@@ -624,6 +628,8 @@
"headSpecialBardHatNotes": "Stick a feather in your cap and call it \"productivity\"! Increases Intelligence by <%= int %>.",
"headSpecialLunarWarriorHelmText": "Lunar Warrior Helm",
"headSpecialLunarWarriorHelmNotes": "The power of the moon will strengthen you in battle! Increases Strength and Intelligence by <%= attrs %> each.",
+ "headSpecialMammothRiderHelmText": "Mammoth Rider Helm",
+ "headSpecialMammothRiderHelmNotes": "Don't let its fluffiness fool you--this hat will grant you piercing powers of perception! Increases Perception by <%= per %>.",
"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.",
@@ -907,6 +913,8 @@
"shieldSpecialTakeThisNotes": "This shield was earned by participating in a sponsored Challenge made by Take This. Congratulations! Increases all attributes by <%= attrs %>.",
"shieldSpecialMoonpearlShieldText": "Moonpearl Shield",
"shieldSpecialMoonpearlShieldNotes": "Designed for fast swimming, and also some defense. Increases Constitution by <%= con %>.",
+ "shieldSpecialMammothRiderHornText": "Mammoth Rider's Horn",
+ "shieldSpecialMammothRiderHornNotes": "One blow on this mighty rose quartz horn and you'll summon powerful magical forces. Increases Strength by <%= str %>.",
"shieldSpecialGoldenknightText": "Mustaine's Milestone Mashing Morning Star",
"shieldSpecialGoldenknightNotes": "Meetings, monsters, malaise: managed! Mash! Increases Constitution and Perception by <%= attrs %> each.",
diff --git a/website/common/script/content/gear/sets/special/index.js b/website/common/script/content/gear/sets/special/index.js
index 30431b5f9d..0e7d16faab 100644
--- a/website/common/script/content/gear/sets/special/index.js
+++ b/website/common/script/content/gear/sets/special/index.js
@@ -42,6 +42,13 @@ let armor = {
value: 130,
canOwn: ownsItem('armor_special_lunarWarriorArmor'),
},
+ mammothRiderArmor: {
+ text: t('armorSpecialMammothRiderArmorText'),
+ notes: t('armorSpecialMammothRiderArmorNotes', { con: 15 }),
+ con: 15,
+ value: 130,
+ canOwn: ownsItem('armor_special_mammothRiderArmor'),
+ },
yeti: {
event: EVENTS.winter,
specialClass: 'warrior',
@@ -676,6 +683,13 @@ let head = {
value: 130,
canOwn: ownsItem('head_special_lunarWarriorHelm'),
},
+ mammothRiderHelm: {
+ text: t('headSpecialMammothRiderHelmText'),
+ notes: t('headSpecialMammothRiderHelmNotes', { per: 15 }),
+ per: 15,
+ value: 130,
+ canOwn: ownsItem('head_special_mammothRiderHelm'),
+ },
nye: {
event: EVENTS.nye,
text: t('headSpecialNyeText'),
@@ -1347,6 +1361,13 @@ let shield = {
value: 130,
canOwn: ownsItem('shield_special_moonpearlShield'),
},
+ mammothRiderHorn: {
+ text: t('shieldSpecialMammothRiderHornText'),
+ notes: t('shieldSpecialMammothRiderHornNotes', { str: 15 }),
+ str: 15,
+ value: 130,
+ canOwn: ownsItem('shield_special_mammothRiderHorn'),
+ },
yeti: {
event: EVENTS.winter,
specialClass: 'warrior',
@@ -1729,6 +1750,14 @@ let weapon = {
value: 130,
canOwn: ownsItem('weapon_special_lunarScythe'),
},
+ mammothRiderSpear: {
+ text: t('weaponSpecialMammothRiderSpearText'),
+ notes: t('weaponSpecialMammothRiderSpearNotes', { int: 15 }),
+ twoHanded: true,
+ int: 15,
+ value: 130,
+ canOwn: ownsItem('weapon_special_mammothRiderSpear'),
+ },
yeti: {
event: EVENTS.winter,
specialClass: 'warrior',
diff --git a/website/server/libs/cron.js b/website/server/libs/cron.js
index a7f03c096a..7364158258 100644
--- a/website/server/libs/cron.js
+++ b/website/server/libs/cron.js
@@ -171,7 +171,7 @@ function awardLoginIncentives (user) {
notificationData.message = i18n.t('unlockedCheckInReward', user.preferences.language);
}
- notificationData.nextRewardAt = loginIncentives[user.loginIncentives].nextRewardAt;
+ notificationData.nextRewardAt = loginIncentives[user.loginIncentives].nextRewardAt || 0;
user.addNotification('LOGIN_INCENTIVE', notificationData);
}
diff --git a/website/static/sprites/spritesmith-largeSprites-0.png b/website/static/sprites/spritesmith-largeSprites-0.png
index 8722b39c7b..f24dd43edd 100644
Binary files a/website/static/sprites/spritesmith-largeSprites-0.png and b/website/static/sprites/spritesmith-largeSprites-0.png differ
diff --git a/website/static/sprites/spritesmith-main-15.png b/website/static/sprites/spritesmith-main-15.png
index 511ef1c0a1..491249d719 100644
Binary files a/website/static/sprites/spritesmith-main-15.png and b/website/static/sprites/spritesmith-main-15.png differ
diff --git a/website/views/shared/modals/login-incentives-reward-unlocked.jade b/website/views/shared/modals/login-incentives-reward-unlocked.jade
index c5b28e5087..91986aa96d 100644
--- a/website/views/shared/modals/login-incentives-reward-unlocked.jade
+++ b/website/views/shared/modals/login-incentives-reward-unlocked.jade
@@ -16,7 +16,7 @@ script(id='modals/login-incentives-reward-unlocked.html', type='text/ng-template
.row(style="font-size: 1.5rem;")
.col-md-8.col-md-offset-2.text-center
p {{env.t('earnedRewardForDevotion', {reward: data.rewardText})}}
- .col-md-12.text-center(ng-show="user.loginIncentives < 50")
+ .col-md-12.text-center(ng-show="data.nextRewardAt")
h4 {{env.t('nextRewardUnlocksIn', {numberOfCheckinsLeft: data.nextRewardAt - user.loginIncentives})}}
.modal-footer
.row
diff --git a/website/views/shared/modals/login-incentives.jade b/website/views/shared/modals/login-incentives.jade
index 22450b3b29..d8d9a14d2e 100644
--- a/website/views/shared/modals/login-incentives.jade
+++ b/website/views/shared/modals/login-incentives.jade
@@ -11,12 +11,12 @@ script(id='modals/login-incentives.html', type='text/ng-template')
.row
div(ng-if="nextReward.rewardKey.length === 1" class="{{nextReward.rewardKey[0]}}", style="margin: 0 auto;")
div(ng-repeat="reward in nextReward.rewardKey", ng-if="nextReward.rewardKey.length > 1" class="{{reward}}", style="float: left;")
- .row
+ .row(ng-show="data.nextRewardAt")
h4 {{env.t('countLeft', {count: data.nextRewardAt - user.loginIncentives})}}
.row(style="font-size: 1.5rem;")
.col-md-8.col-md-offset-2.text-center
p=env.t('incentivesDescription')
- .col-md-12.text-center(ng-show="user.loginIncentives < 50")
+ .col-md-12.text-center(ng-show="data.nextRewardAt")
h3 {{env.t('nextRewardUnlocksIn', {numberOfCheckinsLeft: data.nextRewardAt - user.loginIncentives})}}
.modal-footer
a.btn.btn-primary.col-md-6.col-md-offset-3(ng-click='$close()')=env.t('awesome')
diff --git a/website/views/shared/new-stuff.jade b/website/views/shared/new-stuff.jade
index b74713edf1..a02db843ec 100644
--- a/website/views/shared/new-stuff.jade
+++ b/website/views/shared/new-stuff.jade
@@ -1,18 +1,25 @@
-h2 1/10/2017 - NEW PET QUEST: TRICERATOPS!
+h2 1/12/2017 - CONTRIBUTOR SPOTLIGHT: MEGAN!
hr
tr
td
- .quest_triceratops.pull-right
- h3 Triceratops Pet Quest!
- p An enchanted Triceratops is causing the Stoïkalm Volcanoes to erupt! Get the latest pet quest, the Trampling Triceratops, and earn some tricky Triceratops pets by completing your real-life tasks.
- p.small.muted Art by McCoyly, plumilla, *~Seraphina~*, PainterProphet, and beffymaroo
- p.small.muted Written by Lillith of Alfheim
+ .promo_contrib_spotlight_megan.pull-right
+ h3 Habitica Blog: Contributor Spotlight on Megan
+ p We've posted a new Contributor Spotlight on the blog! Check out our latest interview with Megan, a moderator and pixel artist, to learn more about she uses Habitica.
+ p.small.muted by Megan, Beffymaroo, and Lemoness
if menuItem !== 'oldNews'
hr
a(href='/static/old-news', target='_blank') Read older news
mixin oldNews
+ h2 1/10/2017 - NEW PET QUEST: TRICERATOPS!
+ tr
+ td
+ .quest_triceratops.pull-right
+ h3 Triceratops Pet Quest!
+ p An enchanted Triceratops is causing the Stoïkalm Volcanoes to erupt! Get the latest pet quest, the Trampling Triceratops, and earn some tricky Triceratops pets by completing your real-life tasks.
+ p.small.muted Art by McCoyly, plumilla, *~Seraphina~*, PainterProphet, and beffymaroo
+ p.small.muted Written by Lillith of Alfheim
h2 1/5/2017 - NEW YEAR'S RESOLUTION CHALLENGE, LAST CHANCE FOR GIFT-1-GET-1 SUBSCRIPTIONS, AND USE CASE SPOTLIGHT
tr
td