diff --git a/migrations/20150130_birthday_goodies.js b/migrations/20150130_birthday_goodies.js new file mode 100644 index 0000000000..6c7c2e08c5 --- /dev/null +++ b/migrations/20150130_birthday_goodies.js @@ -0,0 +1,36 @@ +db.users.update( + {'items.gear.owned.armor_special_birthday':{$ne:null}}, + {$set:{'items.gear.owned.armor_special_birthday2015':false}}, + {multi:1} +) + +db.users.update( + {'items.gear.owned.armor_special_birthday':null}, + {$set:{'items.gear.owned.armor_special_birthday':false}}, + {multi:1} +) + +db.users.update({},{$inc:{ + 'items.food.Cake_Skeleton':1, + 'items.food.Cake_Base':1, + 'items.food.Cake_CottonCandyBlue':1, + 'items.food.Cake_CottonCandyPink':1, + 'items.food.Cake_Shade':1, + 'items.food.Cake_White':1, + 'items.food.Cake_Golden':1, + 'items.food.Cake_Zombie':1, + 'items.food.Cake_Desert':1, + 'items.food.Cake_Red':1 +}},{multi:1}) + +db.users.update( + {'achievements.habitBirthday':true}, + {$set:{'achievements.habitBirthdays':1}}, + {multi:1} +) + +db.users.update( + {}, + {$inc:{'achievements.habitBirthdays':1}}, + {multi:1} +) \ No newline at end of file diff --git a/src/models/user.js b/src/models/user.js index f33984417e..16959f126a 100644 --- a/src/models/user.js +++ b/src/models/user.js @@ -49,7 +49,8 @@ var UserSchema = new Schema({ rebirths: Number, rebirthLevel: Number, perfect: Number, - habitBirthday: Boolean, + habitBirthday: Boolean, // TODO: Deprecate this. Superseded by habitBirthdays + habitBirthdays: Number, valentine: Number, costumeContest: Boolean, nye: Number diff --git a/views/shared/new-stuff.jade b/views/shared/new-stuff.jade index 727135e69d..b79c09166b 100644 --- a/views/shared/new-stuff.jade +++ b/views/shared/new-stuff.jade @@ -1,32 +1,53 @@ -h5 1/26/2015 - SUBSCRIBER OUTFIT REVEALED, NEW AUDIO THEME, QUEST SCROLL REDESIGN, AND SPREAD THE WORD CHALLENGE REMINDER +h5 1/30/2015 - HABITRPG BIRTHDAY BASH AND PARTY ROBES! PLUS, LAST CHANCE FOR STARRY KNIGHT ITEM SET, AND WINTER WONDERLAND OUTFITS AND HAIR COLORS! hr tr td - h5 Subscriber Outfit Revealed - .promo_mystery_201501.pull-right - p The January Subscriber Item has been revealed: the Starry Knight Item Set! All January subscribers will receive the Starry Helm and the Starry Armor. You still have five days to subscribe and receive the item set! Thank you so much for your support - we really do rely on you to keep HabitRPG free to use and running smoothly. - p.small.muted by Lemoness + .npc_alex.pull-left + h5 HabitRPG Birthday Bash + p January 31st is HabitRPG's Birthday! All of the NPCs are celebrating, and we've awarded you a bunch of cake for your pets and mounts! tr td - h5 New Audio Theme - p A new audio theme is available: Watts' Theme! You can toggle between Watts' Theme and Daniel the Bard's Theme by selecting the megaphone in the upper right-hand corner. Watts' Theme was created by Harry Pepe. You can visit his LinkedIn page here. - p.small.muted by Hpepe4 and Blade + h5 Party Robes + .shop_armor_special_birthday.pull-right + .shop_armor_special_birthday2015.pull-right + p Until February 1st only, there are Party Robes available for free in the Rewards store! If this is your first Birthday bash with us, you can find some Absurd Party Robes; if you already got some last year, then you will find the Silly Party Robes. tr td - h5 Quest Scroll Redesign - p We've redesigned the quest scrolls so that they are visually unique! Quest type and difficulty is determined by the scroll lining (Easy Boss = Green, Medium Boss = Yellow, Hard Boss = Red, Collection Quest = Blue, Rage Bar Boss = Purple speckles), and an icon symbolizing the quest is located in the lower left. - p.small.muted by UncommonCriminal and Rattify + .promo_mystery_201501.pull-left + h5 Last Chance for Starry Knight Item Set + p Reminder: this is the final day to subscribe and receive the Starry Knight Item Set! If you want the Starry Helm or the Starry Armor, now's the time! Thanks so much for your support <3 tr td - h5 Spread the Word Challenge Ending Soon - p Reminder: January 31st is the last day to enter the Spread the Word Challenge for your chance at winning 100 gems! We will stop accepting new applications on February 1st, but it will be some time before the winners are announced because we have to go over all the entries ourselves. Good luck! + h5 Last Chance for Winter Wonderland Outfits + Hair Colors + .promo_winterclasses2015.pull-right + p Tomorrow everything will be back to normal in Habitica, so if you still have any remaining Winter Wonderland Items that you want to buy, you'd better do it now! The Seasonal Edition items and Hair Colors won't be back until next December, and if the Limited Edition items return they will have increased prices or changed art, so strike while the iron is hot! hr a(href='/static/old-news', target='_blank') Read older news mixin oldNews + h5 1/26/2015 + tr + td + h5 Subscriber Outfit Revealed + .promo_mystery_201501.pull-right + p The January Subscriber Item has been revealed: the Starry Knight Item Set! All January subscribers will receive the Starry Helm and the Starry Armor. You still have five days to subscribe and receive the item set! Thank you so much for your support - we really do rely on you to keep HabitRPG free to use and running smoothly. + p.small.muted by Lemoness + tr + td + h5 New Audio Theme + p A new audio theme is available: Watts' Theme! You can toggle between Watts' Theme and Daniel the Bard's Theme by selecting the megaphone in the upper right-hand corner. Watts' Theme was created by Harry Pepe. You can visit his LinkedIn page here. + p.small.muted by Hpepe4 and Blade + tr + td + h5 Quest Scroll Redesign + p We've redesigned the quest scrolls so that they are visually unique! Quest type and difficulty is determined by the scroll lining (Easy Boss = Green, Medium Boss = Yellow, Hard Boss = Red, Collection Quest = Blue, Rage Bar Boss = Purple speckles), and an icon symbolizing the quest is located in the lower left. + p.small.muted by UncommonCriminal and Rattify + tr + td + h5 Spread the Word Challenge Ending Soon + p Reminder: January 31st is the last day to enter the Spread the Word Challenge for your chance at winning 100 gems! We will stop accepting new applications on February 1st, but it will be some time before the winners are announced because we have to go over all the entries ourselves. Good luck! h5 1/23/2015 - hr tr td h5 The Abominable Stressbeast is DEFEATED! diff --git a/views/shared/profiles/achievements.jade b/views/shared/profiles/achievements.jade index e2c1d052ec..c00fd417a1 100644 --- a/views/shared/profiles/achievements.jade +++ b/views/shared/profiles/achievements.jade @@ -169,11 +169,13 @@ div(ng-if='profile.achievements.spookDust') =env.t('alarmingFriendsText', {spookDust: "{{profile.achievements.spookDust}}"}) hr -div(ng-if='::profile.achievements.habitBirthday') +div(ng-if='::profile.achievements.habitBirthdays') .achievement.achievement-habitBirthday h5=env.t('habitBirthday') - small + small(ng-if='::profile.achievements.habitBirthdays == 1') =env.t('habitBirthdayText') + small(ng-if='::profile.achievements.habitBirthdays > 1') + =env.t('habitBirthdayPluralText', {number: "{{profile.achievements.habitBirthdays}}"}) hr div(ng-if='::profile.achievements.valentine')