Merge branch 'develop' into api-v3

This commit is contained in:
Matteo Pagliazzi
2016-04-01 11:50:41 +02:00
45 changed files with 9218 additions and 9036 deletions

View File

@@ -60,7 +60,7 @@ module.exports = function(grunt) {
{expand: true, cwd: '', src: 'common/dist/sprites/spritesmith*.png', dest: 'website/build/'},
{expand: true, cwd: '', src: 'common/img/sprites/backer-only/*.gif', dest: 'website/build/'},
{expand: true, cwd: '', src: 'common/img/sprites/npc_ian.gif', dest: 'website/build/'},
{expand: true, cwd: '', src: 'common/img/sprites/quest_burnout.gif', dest: 'website/build/'},
{expand: true, cwd: '', src: 'common/img/sprites/quest_*.gif', dest: 'website/build/'},
{expand: true, cwd: 'website/public/', src: 'bower_components/bootstrap/dist/fonts/*', dest: 'website/build/'}
]
}
@@ -80,7 +80,7 @@ module.exports = function(grunt) {
'website/build/common/dist/sprites/*.png',
'website/build/common/img/sprites/backer-only/*.gif',
'website/build/common/img/sprites/npc_ian.gif',
'website/build/common/img/sprites/quest_burnout.gif',
'website/build/common/img/sprites/quest_*.gif',
'website/build/bower_components/bootstrap/dist/fonts/*'
],
dest: 'website/build/*.css'

View File

@@ -11,6 +11,12 @@
height: 249px;
}
.quest_bewilder {
background: url("/common/img/sprites/quest_bewilder.gif") no-repeat;
width: 219px;
height: 219px;
}
.Gems {
display:inline-block;
margin-right:5px;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 247 KiB

After

Width:  |  Height:  |  Size: 246 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 291 KiB

After

Width:  |  Height:  |  Size: 293 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 60 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 KiB

After

Width:  |  Height:  |  Size: 145 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 158 KiB

After

Width:  |  Height:  |  Size: 157 KiB

View File

@@ -1,354 +1,420 @@
.Pet-TRex-Base {
background-image: url(spritesmith-main-12.png);
background-position: -164px 0px;
width: 81px;
height: 99px;
}
.Pet-TRex-CottonCandyBlue {
background-image: url(spritesmith-main-12.png);
background-position: 0px -100px;
width: 81px;
height: 99px;
}
.Pet-TRex-CottonCandyPink {
background-image: url(spritesmith-main-12.png);
background-position: -82px -100px;
width: 81px;
height: 99px;
}
.Pet-TRex-Desert {
background-image: url(spritesmith-main-12.png);
background-position: -164px -100px;
width: 81px;
height: 99px;
}
.Pet-TRex-Golden {
background-image: url(spritesmith-main-12.png);
background-position: -246px 0px;
width: 81px;
height: 99px;
}
.Pet-TRex-Red {
background-image: url(spritesmith-main-12.png);
background-position: -246px -100px;
width: 81px;
height: 99px;
}
.Pet-TRex-Shade {
background-image: url(spritesmith-main-12.png);
background-position: 0px -200px;
width: 81px;
height: 99px;
}
.Pet-TRex-Skeleton {
background-image: url(spritesmith-main-12.png);
background-position: -82px -200px;
width: 81px;
height: 99px;
}
.Pet-TRex-White {
background-image: url(spritesmith-main-12.png);
background-position: -164px -200px;
width: 81px;
height: 99px;
}
.Pet-TRex-Zombie {
background-image: url(spritesmith-main-12.png);
background-position: -246px -200px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-White {
background-image: url(spritesmith-main-12.png);
background-position: -82px 0px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Zombie {
background-image: url(spritesmith-main-12.png);
background-position: -82px -400px;
width: 81px;
height: 99px;
}
.Pet-Turkey-Base {
background-image: url(spritesmith-main-12.png);
background-position: -328px 0px;
width: 81px;
height: 99px;
}
.Pet-Turkey-Gilded {
background-image: url(spritesmith-main-12.png);
background-position: -328px -100px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-Base {
.Pet-TRex-CottonCandyBlue {
background-image: url(spritesmith-main-12.png);
background-position: -328px -200px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-CottonCandyBlue {
.Pet-TRex-CottonCandyPink {
background-image: url(spritesmith-main-12.png);
background-position: 0px -300px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-CottonCandyPink {
.Pet-TRex-Desert {
background-image: url(spritesmith-main-12.png);
background-position: -82px -300px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-Desert {
.Pet-TRex-Golden {
background-image: url(spritesmith-main-12.png);
background-position: -164px -300px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-Golden {
.Pet-TRex-Red {
background-image: url(spritesmith-main-12.png);
background-position: -246px -300px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-Red {
.Pet-TRex-Shade {
background-image: url(spritesmith-main-12.png);
background-position: -328px -300px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-Shade {
.Pet-TRex-Skeleton {
background-image: url(spritesmith-main-12.png);
background-position: -410px 0px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-Skeleton {
.Pet-TRex-White {
background-image: url(spritesmith-main-12.png);
background-position: -410px -100px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-White {
.Pet-TRex-Zombie {
background-image: url(spritesmith-main-12.png);
background-position: -410px -200px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-Zombie {
.Pet-Tiger-Veteran {
background-image: url(spritesmith-main-12.png);
background-position: -410px -300px;
background-position: -82px 0px;
width: 81px;
height: 99px;
}
.Pet-Whale-Base {
background-image: url(spritesmith-main-12.png);
background-position: -492px 0px;
width: 81px;
height: 99px;
}
.Pet-Whale-CottonCandyBlue {
background-image: url(spritesmith-main-12.png);
background-position: -492px -100px;
width: 81px;
height: 99px;
}
.Pet-Whale-CottonCandyPink {
background-image: url(spritesmith-main-12.png);
background-position: -492px -200px;
width: 81px;
height: 99px;
}
.Pet-Whale-Desert {
background-image: url(spritesmith-main-12.png);
background-position: -492px -300px;
width: 81px;
height: 99px;
}
.Pet-Whale-Golden {
background-image: url(spritesmith-main-12.png);
background-position: 0px -400px;
width: 81px;
height: 99px;
}
.Pet-Whale-Red {
background-image: url(spritesmith-main-12.png);
background-position: 0px 0px;
width: 81px;
height: 99px;
}
.Pet-Whale-Shade {
background-image: url(spritesmith-main-12.png);
background-position: -164px -400px;
width: 81px;
height: 99px;
}
.Pet-Whale-Skeleton {
background-image: url(spritesmith-main-12.png);
background-position: -246px -400px;
width: 81px;
height: 99px;
}
.Pet-Whale-White {
background-image: url(spritesmith-main-12.png);
background-position: -328px -400px;
width: 81px;
height: 99px;
}
.Pet-Whale-Zombie {
background-image: url(spritesmith-main-12.png);
background-position: -410px -400px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Base {
background-image: url(spritesmith-main-12.png);
background-position: -492px -400px;
width: 81px;
height: 99px;
}
.Pet-Wolf-CottonCandyBlue {
.Pet-TigerCub-Base {
background-image: url(spritesmith-main-12.png);
background-position: -574px 0px;
width: 81px;
height: 99px;
}
.Pet-Wolf-CottonCandyPink {
.Pet-TigerCub-CottonCandyBlue {
background-image: url(spritesmith-main-12.png);
background-position: -164px 0px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-CottonCandyPink {
background-image: url(spritesmith-main-12.png);
background-position: 0px -100px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Desert {
background-image: url(spritesmith-main-12.png);
background-position: -82px -100px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Golden {
background-image: url(spritesmith-main-12.png);
background-position: -164px -100px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Peppermint {
background-image: url(spritesmith-main-12.png);
background-position: -246px 0px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Red {
background-image: url(spritesmith-main-12.png);
background-position: -246px -100px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Shade {
background-image: url(spritesmith-main-12.png);
background-position: 0px -200px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Skeleton {
background-image: url(spritesmith-main-12.png);
background-position: -82px -200px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Spooky {
background-image: url(spritesmith-main-12.png);
background-position: -164px -200px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-White {
background-image: url(spritesmith-main-12.png);
background-position: -246px -200px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Zombie {
background-image: url(spritesmith-main-12.png);
background-position: -328px 0px;
width: 81px;
height: 99px;
}
.Pet-Turkey-Base {
background-image: url(spritesmith-main-12.png);
background-position: -410px -300px;
width: 81px;
height: 99px;
}
.Pet-Turkey-Gilded {
background-image: url(spritesmith-main-12.png);
background-position: -492px 0px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-Base {
background-image: url(spritesmith-main-12.png);
background-position: -492px -100px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-CottonCandyBlue {
background-image: url(spritesmith-main-12.png);
background-position: -492px -200px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-CottonCandyPink {
background-image: url(spritesmith-main-12.png);
background-position: -492px -300px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-Desert {
background-image: url(spritesmith-main-12.png);
background-position: 0px -400px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-Golden {
background-image: url(spritesmith-main-12.png);
background-position: -82px -400px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-Red {
background-image: url(spritesmith-main-12.png);
background-position: -164px -400px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-Shade {
background-image: url(spritesmith-main-12.png);
background-position: -246px -400px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-Skeleton {
background-image: url(spritesmith-main-12.png);
background-position: -328px -400px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-White {
background-image: url(spritesmith-main-12.png);
background-position: -410px -400px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-Zombie {
background-image: url(spritesmith-main-12.png);
background-position: -492px -400px;
width: 81px;
height: 99px;
}
.Pet-Whale-Base {
background-image: url(spritesmith-main-12.png);
background-position: 0px 0px;
width: 81px;
height: 99px;
}
.Pet-Whale-CottonCandyBlue {
background-image: url(spritesmith-main-12.png);
background-position: -574px -100px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Desert {
.Pet-Whale-CottonCandyPink {
background-image: url(spritesmith-main-12.png);
background-position: -574px -200px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Golden {
.Pet-Whale-Desert {
background-image: url(spritesmith-main-12.png);
background-position: -574px -300px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Peppermint {
.Pet-Whale-Golden {
background-image: url(spritesmith-main-12.png);
background-position: -574px -400px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Red {
.Pet-Whale-Red {
background-image: url(spritesmith-main-12.png);
background-position: 0px -500px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Shade {
.Pet-Whale-Shade {
background-image: url(spritesmith-main-12.png);
background-position: -82px -500px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Skeleton {
.Pet-Whale-Skeleton {
background-image: url(spritesmith-main-12.png);
background-position: -164px -500px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Spooky {
.Pet-Whale-White {
background-image: url(spritesmith-main-12.png);
background-position: -246px -500px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Veteran {
.Pet-Whale-Zombie {
background-image: url(spritesmith-main-12.png);
background-position: -328px -500px;
width: 81px;
height: 99px;
}
.Pet-Wolf-White {
.Pet-Wolf-Base {
background-image: url(spritesmith-main-12.png);
background-position: -410px -500px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Zombie {
.Pet-Wolf-CottonCandyBlue {
background-image: url(spritesmith-main-12.png);
background-position: -492px -500px;
width: 81px;
height: 99px;
}
.Pet_HatchingPotion_Base {
.Pet-Wolf-CottonCandyPink {
background-image: url(spritesmith-main-12.png);
background-position: -574px -500px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Desert {
background-image: url(spritesmith-main-12.png);
background-position: -656px 0px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Golden {
background-image: url(spritesmith-main-12.png);
background-position: -656px -100px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Peppermint {
background-image: url(spritesmith-main-12.png);
background-position: -656px -200px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Red {
background-image: url(spritesmith-main-12.png);
background-position: -656px -300px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Shade {
background-image: url(spritesmith-main-12.png);
background-position: -656px -400px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Skeleton {
background-image: url(spritesmith-main-12.png);
background-position: -656px -500px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Spooky {
background-image: url(spritesmith-main-12.png);
background-position: 0px -600px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Veteran {
background-image: url(spritesmith-main-12.png);
background-position: -82px -600px;
width: 81px;
height: 99px;
}
.Pet-Wolf-White {
background-image: url(spritesmith-main-12.png);
background-position: -164px -600px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Zombie {
background-image: url(spritesmith-main-12.png);
background-position: -246px -600px;
width: 81px;
height: 99px;
}
.Pet_HatchingPotion_Base {
background-image: url(spritesmith-main-12.png);
background-position: -377px -600px;
width: 48px;
height: 51px;
}
.Pet_HatchingPotion_CottonCandyBlue {
background-image: url(spritesmith-main-12.png);
background-position: -245px -600px;
background-position: -622px -600px;
width: 48px;
height: 51px;
}
.Pet_HatchingPotion_CottonCandyPink {
background-image: url(spritesmith-main-12.png);
background-position: -49px -600px;
background-position: -426px -600px;
width: 48px;
height: 51px;
}
.Pet_HatchingPotion_Desert {
background-image: url(spritesmith-main-12.png);
background-position: -98px -600px;
background-position: -475px -600px;
width: 48px;
height: 51px;
}
.Pet_HatchingPotion_Golden {
background-image: url(spritesmith-main-12.png);
background-position: -147px -600px;
background-position: -524px -600px;
width: 48px;
height: 51px;
}
.Pet_HatchingPotion_Peppermint {
background-image: url(spritesmith-main-12.png);
background-position: -196px -600px;
background-position: -573px -600px;
width: 48px;
height: 51px;
}
.Pet_HatchingPotion_Red {
background-image: url(spritesmith-main-12.png);
background-position: -574px -500px;
background-position: -328px -600px;
width: 48px;
height: 51px;
}
.Pet_HatchingPotion_Shade {
background-image: url(spritesmith-main-12.png);
background-position: -294px -600px;
background-position: -671px -600px;
width: 48px;
height: 51px;
}
.Pet_HatchingPotion_Skeleton {
background-image: url(spritesmith-main-12.png);
background-position: -343px -600px;
background-position: -738px 0px;
width: 48px;
height: 51px;
}
.Pet_HatchingPotion_Spooky {
background-image: url(spritesmith-main-12.png);
background-position: -392px -600px;
background-position: -738px -52px;
width: 48px;
height: 51px;
}
.Pet_HatchingPotion_White {
background-image: url(spritesmith-main-12.png);
background-position: -441px -600px;
background-position: -738px -104px;
width: 48px;
height: 51px;
}
.Pet_HatchingPotion_Zombie {
background-image: url(spritesmith-main-12.png);
background-position: -490px -600px;
background-position: -738px -156px;
width: 48px;
height: 51px;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 29 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 KiB

After

Width:  |  Height:  |  Size: 136 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 KiB

After

Width:  |  Height:  |  Size: 132 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 321 KiB

After

Width:  |  Height:  |  Size: 323 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 231 KiB

After

Width:  |  Height:  |  Size: 234 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 143 KiB

After

Width:  |  Height:  |  Size: 141 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 KiB

After

Width:  |  Height:  |  Size: 143 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 144 KiB

After

Width:  |  Height:  |  Size: 143 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@@ -139,6 +139,8 @@
"achievementStressbeastText": "Helped defeat the Abominable Stressbeast during the 2014 Winter Wonderland Event!",
"achievementBurnout": "Savior of the Flourishing Fields",
"achievementBurnoutText": "Helped defeat Burnout and restore the Exhaust Spirits during the 2015 Fall Festival Event!",
"achievementBewilder": "Savior of Mistiflying",
"achievementBewilderText": "Helped defeat the Be-Wilder during the 2016 Spring Fling Event!",
"checkOutProgress": "Check out my progress in Habitica!",
"cardReceived": "Received a card!",
"cardReceivedFrom": "<%= cardType %> from <%= userName %>",

View File

@@ -19,6 +19,7 @@
"orca": "Orca",
"royalPurpleGryphon": "Royal Purple Gryphon",
"phoenix": "Phoenix",
"bumblebee": "Bumblebee",
"rarePetPop1": "Click the gold paw to learn more about how you can obtain this rare pet through contributing to Habitica!",
"rarePetPop2": "How to Get this Pet!",
"potion": "<%= potionType %> Potion",

View File

@@ -38,7 +38,7 @@
"bossDmg2": "Only participants will fight the boss and share in the quest loot.",
"bossDmg1Broken": "Each completed Daily and To-Do and each positive Habit hurts the boss... Hurt it more with redder tasks or Brutal Smash and Burst of Flames... The boss will deal damage to every quest participant for every Daily you've missed (multiplied by the boss's Strength) in addition to your regular damage, so keep your party healthy by completing your Dailies... <strong>All damage to and from a boss is tallied on cron (your day roll-over)...</strong>",
"bossDmg2Broken": "Only participants will fight the boss and share in the quest loot...",
"tavernBossInfo": "Complete Dailies and To-Dos and score positive Habits to damage the World Boss! Incomplete Dailies fill the Exhaust Strike Bar. When the Exhaust Strike bar is full, the World Boss will attack an NPC. A World Boss will never damage individual players or accounts in any way. Only active accounts not resting in the Inn will have their tasks tallied.",
"tavernBossInfo": "Complete Dailies and To-Dos and score positive Habits to damage the World Boss! Incomplete Dailies fill the Rage Bar. When the Rage bar is full, the World Boss will attack an NPC. A World Boss will never damage individual players or accounts in any way. Only active accounts not resting in the Inn will have their tasks tallied.",
"tavernBossInfoBroken": "Complete Dailies and To-Dos and score positive Habits to damage the World Boss... Incomplete Dailies fill the Exhaust Strike Bar... When the Exhaust Strike bar is full, the World Boss will attack an NPC... A World Boss will never damage individual players or accounts in any way... Only active accounts not resting in the Inn will have their tasks tallied...",
"bossColl1": "To collect items, do your positive tasks. Quest items drop just like normal items; however, you won't see the drops until the next day, then everything you've found will be tallied up and contributed to the pile.",
"bossColl2": "Only participants can collect items and share in the quest loot.",

View File

@@ -346,5 +346,17 @@
"questSnailCompletion": "You bring your weapon down on the great Snail's shell, cracking it in two, releasing a flood of water. The slime is washed away, and the Habiticans around you rejoice. \"Look!\" says @Misceo. \"There's a small group of snail eggs in the remnants of the muck.\"",
"questSnailBoss": "Snail of Drudgery Sludge",
"questSnailDropSnailEgg": "Snail (Egg)",
"questSnailUnlockText": "Unlocks purchasable Snail eggs in the Market"
"questSnailUnlockText": "Unlocks purchasable Snail eggs in the Market",
"questBewilderText": "The Be-Wilder",
"questBewilderNotes": "The party begins like any other.<br><br>The appetizers are excellent, the music is swinging, and even the dancing elephants have become routine. Habiticans laugh and frolic amid the overflowing floral centerpieces, happy to have a distraction from their least-favorite tasks, and the April Fool whirls among them, eagerly providing an amusing trick here and a witty twist there.<br><br>As the Mistiflying clock tower strikes midnight, the April Fool leaps onto the stage to give a speech.<br><br>“Friends! Enemies! Tolerant acquaintances! Lend me your ears.” The crowd chuckles as animal ears sprout from their heads, and they pose with their new accessories.<br><br>“As you know,” the Fool continues, “my confusing illusions usually only last a single day. But Im pleased to announce that Ive discovered a shortcut that will guarantee us non-stop fun, without having to deal with the pesky weight of our responsibilities. Charming Habiticans, meet my magical new friend... the Be-Wilder!”<br><br>Lemoness pales suddenly, dropping her hors d'oeuvres. “Wait! Dont trust--”<br><br>But suddenly mists are pouring into the room, glittering and thick, and they swirl around the April Fool, coalescing into cloudy feathers and a stretching neck. The crowd is speechless as an monstrous bird unfolds before them, its wings shimmering with illusions. It lets out a horrible screeching laugh.<br><br>“Oh, it has been ages since a Habitican has been foolish enough to summon me! How wonderful it feels, to have a tangible form at last.”<br><br>Buzzing in terror, the magic bees of Mistiflying flee the floating city, which sags from the sky. One by one, the brilliant spring flowers wither up and wisp away.<br><br>“My dearest friends, why so alarmed?” crows the Be-Wilder, beating its wings. “Theres no need to toil for your rewards any more. Ill just give you all the things that you desire!”<br><br>A rain of coins pours from the sky, hammering into the ground with brutal force, and the crowd screams and flees for cover. “Is this a joke?” Baconsaur shouts, as the gold smashes through windows and shatters roof shingles.<br><br>PainterProphet ducks as lightning bolts crackle overhead, and fog blots out the sun. “No! This time, I dont think it is!”<br><br>Quickly, Habiticans, dont let this World Boss distract us from our goals! Stay focused on the tasks that you need to complete so we can rescue Mistiflying -- and hopefully, ourselves.",
"questBewilderCompletion": "<strong>The Be-Wilder is DEFEATED!</strong><br><br>We've done it! The Be-Wilder lets out a ululating cry as it twists in the air, shedding feathers like falling rain. Slowly, gradually, it coils into a cloud of sparkling mist. As the newly-revealed sun pierces the fog, it burns away, revealing the coughing, mercifully human forms of Bailey, Matt, Alex.... and the April Fool himself.<br><br><strong>Mistiflying is saved!</strong><br><br>The April Fool has enough shame to look a bit sheepish. “Oh, hm,” he says. “Perhaps I got a little…. carried away.”<br><br>The crowd mutters. Sodden flowers wash up on sidewalks. Somewhere in the distance, a roof collapses with a spectacular splash.<br><br>“Er, yes,” the April Fool says. “That is. What I meant to say was, Im dreadfully sorry.” He heaves a sigh. “I suppose it cant all be fun and games, after all. It might not hurt to focus occasionally. Maybe Ill get a head start on next years pranking.”<br><br>Redphoenix coughs meaningfully.<br><br>“I mean, get a head start on this years spring cleaning!” the April Fool says. “Nothing to fear, Ill have Habit City in spit-shape soon. Luckily nobody is better than I at dual-wielding mops.”<br><br>Encouraged, the marching band starts up.<br><br>It isnt long before all is back to normal in Habit City. Plus, now that the Be-Wilder has evaporated, the magical bees of Mistiflying bustle back to work, and soon the flowers are blooming and the city is floating once more.<br><br>As Habiticans cuddle the magical fuzzy bees, the April Fools eyes light up. “Oho, Ive had a thought! Why dont you all keep some of these fuzzy Bee Pets and Mounts? Its a gift that perfectly symbolizes the balance between hard work and sweet rewards, if Im going to get all boring and allegorical on you.” He winks. “Besides, they dont have stingers! Fools honor.”",
"questBewilderCompletionChat": "`The Be-Wilder is DEFEATED!`\n\nWe've done it! The Be-Wilder lets out a ululating cry as it twists in the air, shedding feathers like falling rain. Slowly, gradually, it coils into a cloud of sparkling mist. As the newly-revealed sun pierces the fog, it burns away, revealing the coughing, mercifully human forms of Bailey, Matt, Alex.... and the April Fool himself.\n\n`Mistiflying is saved!`\n\nThe April Fool has enough shame to look a bit sheepish. “Oh, hm,” he says. “Perhaps I got a little…. carried away.”\n\nThe crowd mutters. Sodden flowers wash up on sidewalks. Somewhere in the distance, a roof collapses with a spectacular splash.\n\n“Er, yes,” the April Fool says. “That is. What I meant to say was, Im dreadfully sorry.” He heaves a sigh. “I suppose it cant all be fun and games, after all. It might not hurt to focus occasionally. Maybe Ill get a head start on next years pranking.”\n\nRedphoenix coughs meaningfully.\n\n“I mean, get a head start on this years spring cleaning!” the April Fool says. “Nothing to fear, Ill have Habit City in spit-shape soon. Luckily nobody is better than I at dual-wielding mops.”\n\nEncouraged, the marching band starts up.\n\nIt isnt long before all is back to normal in Habit City. Plus, now that the Be-Wilder has evaporated, the magical bees of Mistiflying bustle back to work, and soon the flowers are blooming and the city is floating once more.\n\nAs Habiticans cuddle the magical fuzzy bees, the April Fools eyes light up. “Oho, Ive had a thought! Why dont you all keep some of these fuzzy Bee Pets and Mounts? Its a gift that perfectly symbolizes the balance between hard work and sweet rewards, if Im going to get all boring and allegorical on you.” He winks. “Besides, they dont have stingers! Fools honor.”",
"questBewilderBossRageTitle": "Beguilement Strike",
"questBewilderBossRageDescription": "When this gauge fills, The Be-Wilder will unleash its Beguilement Strike on Habitica!",
"questBewilderDropBumblebeePet": "Bumblebee (Pet)",
"questBewilderDropBumblebeeMount": "Bumblebee (Mount)",
"questBewilderBossRageMarket": "`The Be-Wilder uses BEGUILEMENT STRIKE!`\n\nOh no! Despite our best efforts, we've gotten distracted by the Be-Wilders charming illusions and have forgotten to do some of our Dailies! With a cackling cry, the shining bird beats its wings, raising a swarm of mist around Alex the Merchant. When the fog clears, he has been possessed! “Have some free samples!” he shouts gleefully, and begins to hurl exploding eggs and potions at fleeing Habiticans. Not the most favorable of sales, to be sure.\n\nHurry! Let's stay focused on our Dailies to defeat this monster before it possesses someone else.",
"questBewilderBossRageStables": "`The Be-Wilder uses BEGUILEMENT STRIKE!`\n\nAhh!!! Once again the Be-Wilder has dazzled us into neglecting our Dailies, and now it has attacked Matt the Beast Master! With a swirl of mist, Matt transforms into a terrifying winged creature, and all the pets and mounts howl sadly in their stables. Quickly, stay focused on your tasks to defeat this dastardly distraction!",
"questBewilderBossRageBailey": "`The Be-Wilder uses BEGUILEMENT STRIKE!`\n\nLook out! In the middle of reporting the news, Bailey the Town Crier has been possessed by the Be-Wilder! She lets out an evil, uninformative screech as she rises into the air. Now how will we know whats going on?\n\nDon't give up... we're so close to defeating this bothersome bird for once and for all!"
}

View File

@@ -411,6 +411,7 @@ api.specialPets = {
'Tiger-Veteran': 'veteranTiger',
'Phoenix-Base': 'phoenix',
'Turkey-Gilded': 'gildedTurkey',
'Bumblebee-Base': 'bumblebee',
};
api.specialMounts = {
@@ -422,7 +423,8 @@ api.specialMounts = {
'Orca-Base': 'orca',
'Gryphon-RoyalPurple': 'royalPurpleGryphon',
'Phoenix-Base': 'phoenix',
'JackOLantern-Base': 'jackolantern'
'JackOLantern-Base': 'jackolantern',
'Bumblebee-Base': 'bumblebee',
};
api.timeTravelStable = {
@@ -2527,6 +2529,86 @@ api.quests = {
unlock: t('questSnailUnlockText')
}
},
bewilder: {
text: t("questBewilderText"),
notes: t("questBewilderNotes"),
completion: t("questBewilderCompletion"),
completionChat: t('questBewilderCompletionChat'),
value: 0,
canBuy: (function() {
return false;
}),
category: 'world',
boss: {
name: t("questBewilderText"),
hp: 20000000,
str: 1,
def: 1,
rage: {
title: t("questBewilderBossRageTitle"),
description: t("questBewilderBossRageDescription"),
value: 800000,
bailey: t('questBewilderBossRageBailey'),
stables: t('questBewilderBossRageStables'),
market: t('questBewilderBossRageMarket')
}
},
drop: {
items: [
{
type: 'pets',
key: 'Bumblebee-Base',
text: t('questBewilderDropBumblebeePet')
}, {
type: 'mounts',
key: 'Bumblebee-Base',
text: t('questBewilderDropBumblebeeMount')
}, {
type: 'food',
key: 'Meat',
text: t('foodMeat')
}, {
type: 'food',
key: 'Milk',
text: t('foodMilk')
}, {
type: 'food',
key: 'Potatoe',
text: t('foodPotatoe')
}, {
type: 'food',
key: 'Strawberry',
text: t('foodStrawberry')
}, {
type: 'food',
key: 'Chocolate',
text: t('foodChocolate')
}, {
type: 'food',
key: 'Fish',
text: t('foodFish')
}, {
type: 'food',
key: 'RottenMeat',
text: t('foodRottenMeat')
}, {
type: 'food',
key: 'CottonCandyPink',
text: t('foodCottonCandyPink')
}, {
type: 'food',
key: 'CottonCandyBlue',
text: t('foodCottonCandyBlue')
}, {
type: 'food',
key: 'Honey',
text: t('foodHoney')
},
],
gp: 0,
exp: 0,
},
},
};
_.each(api.quests, function(v, key) {

View File

@@ -591,7 +591,8 @@ schema.statics.tavernBoss = async function tavernBoss (user, progress) {
let wd = tavern.quest.extra.worldDmg;
// Burnout attacks Ian, Seasonal Sorceress, tavern
let scene = wd.quests ? wd.seasonalShop ? wd.tavern ? false : 'tavern' : 'seasonalShop' : 'quests'; // eslint-disable-line no-nested-ternary
// Be-Wilder attacks Alex, Matt, Bailey
let scene = wd.market ? wd.stables ? wd.bailey ? false : 'bailey' : 'stables' : 'market'; // eslint-disable-line no-nested-ternary
if (!scene) {
tavern.sendChat(`\`${quest.boss.name('en')} tries to unleash ${quest.boss.rage.title('en')} but is too tired.\``);

View File

@@ -280,4 +280,4 @@ nav.toolbar(ng-controller='MenuCtrl')
ul.toolbar-bailey(ng-class='{inactive: !_expandedMenu.menu}')
li.toolbar-bailey-container(ng-if='user.flags.newStuff')
.npc_bailey.npc_bailey_head(popover=env.t('psst'), popover-trigger='mouseenter', popover-placement='right', ng-click='openModal("newStuff",{size:"lg"})')
div(class="#{env.worldDmg.bailey ? 'npc_bailey_broken' : 'npc_bailey'}" popover=env.t('psst'), popover-trigger='mouseenter', popover-placement='right', ng-click='openModal("newStuff",{size:"lg"})').npc_bailey_head

View File

@@ -1,5 +1,46 @@
h2 3/30/2016 - LAST CHANCE FOR MARCH SUBSCRIBER ITEMS! ALSO, EQUIPMENT SORTING AND WHEELCHAIRS FOR AVATARS
h2 4/1/2016 - WORLD BOSS REVEALED: THE BE-WILDER!
hr
tr
td
.quest_bewilder.pull-right
h3 World Boss: The Be-Wilder
p Complete Dailies and To-Dos to damage the World Boss! Incomplete Dailies fill the Beguilement Strike Bar. When the Beguilement Strike bar is full, the World Boss will attack an NPC. A World Boss will never damage individual players or accounts in any way. Only active accounts who are not resting in the inn will have their incomplete Dailies tallied.
br
p.text-center ~*~
br
p The party begins like any other.
br
p The appetizers are excellent, the music is swinging, and even the dancing elephants have become routine. Habiticans laugh and frolic amid the overflowing floral centerpieces, happy to have a distraction from their least-favorite tasks, and the April Fool whirls among them, eagerly providing an amusing trick here and a witty twist there.
br
p As the Mistiflying clock tower strikes midnight, the April Fool leaps onto the stage to give a speech.
br
p “Friends! Enemies! Tolerant acquaintances! Lend me your ears.” The crowd chuckles as animal ears sprout from their heads, and they pose with their new accessories.
br
.npc_aprilFool.pull-left.slight-right-margin
p “As you know,” the Fool continues, “my confusing illusions usually only last a single day. But Im pleased to announce that Ive discovered a shortcut that will guarantee us non-stop fun, without having to deal with the pesky weight of our responsibilities. Charming Habiticans, meet my magical new friend... the Be-Wilder!”
br
p Lemoness pales suddenly, dropping her hors d'oeuvres. “Wait! Dont trust--”
br
p But suddenly mists are pouring into the room, glittering and thick, and they swirl around the April Fool, coalescing into cloudy feathers and a stretching neck. The crowd is speechless as an monstrous bird unfolds before them, its wings shimmering with illusions. It lets out a horrible screeching laugh.
br
p “Oh, it has been ages since a Habitican has been foolish enough to summon me! How wonderful it feels, to have a tangible form at last.”
br
p Buzzing in terror, the magic bees of Mistiflying flee the floating city, which sags from the sky. One by one, the brilliant spring flowers wither up and wisp away.
br
p “My dearest friends, why so alarmed?” crows the Be-Wilder, beating its wings. “Theres no need to toil for your rewards any more. Ill just give you all the things that you desire!”
br
p A rain of coins pours from the sky, hammering into the ground with brutal force, and the crowd screams and flees for cover. “Is this a joke?” Baconsaur shouts, as the gold smashes through windows and shatters roof shingles.
br
p PainterProphet ducks as lightning bolt crackle overhead, and fog blots out the sun. “No! This time, I dont think it is!”
br
p Quickly, Habiticans, dont let this World Boss distract us from our goals! Stay focused on the tasks that you need to complete so we can rescue Mistiflying -- and hopefully, ourselves.
if menuItem !== 'oldNews'
hr
a(href='/static/old-news', target='_blank') Read older news
mixin oldNews
h2 3/30/2016 - LAST CHANCE FOR MARCH SUBSCRIBER ITEMS! ALSO, EQUIPMENT SORTING AND WHEELCHAIRS FOR AVATARS
tr
td
.promo_mystery_201603.pull-right
@@ -17,12 +58,6 @@ h2 3/30/2016 - LAST CHANCE FOR MARCH SUBSCRIBER ITEMS! ALSO, EQUIPMENT SORTING A
h3 Wheelchairs for Avatars
p There is a new free <a href='/#/options/profile/avatar'>avatar customization</a> option on the website: a wheelchair! We hope that our wheelchair-using Habiticans will appreciate this avatar option.
p.small.muted by Balduranne, Sinble, and Blade
if menuItem !== 'oldNews'
hr
a(href='/static/old-news', target='_blank') Read older news
mixin oldNews
h2 3/24/2016 - MARCH SUBSCRIBER ITEMS, SPRING AVATAR CUSTOMIZATIONS, ANDROID UPDATE, AND SPRING PLOT-LINE CONTINUES!
tr
td

View File

@@ -243,6 +243,13 @@ div(ng-if='::profile.achievements.quests.burnout')
=env.t('achievementBurnoutText')
hr
div(ng-if='::profile.achievements.quests.bewilder')
.achievement.achievement-bewilder
h5=env.t('achievementBewilder')
small
=env.t('achievementBewilderText')
hr
div(ng-if='::profile.achievements.costumeContests')
.achievement.achievement-costumeContest
h5=env.t('costumeContest')