feat(content): new Gold quests (#8418)

and Wintery Skins, and fixes #8412
This commit is contained in:
Sabe Jones
2017-01-17 16:03:10 -08:00
committed by GitHub
parent 69cac7e504
commit 6169b9d0ae
42 changed files with 160 additions and 11 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 921 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 888 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 753 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 717 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1014 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 996 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 813 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 771 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 945 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 936 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 699 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 687 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 636 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -94,12 +94,14 @@ habitrpg.controller("UserCtrl", ['$rootScope', '$scope', '$location', 'User', '$
$scope.getProgressDisplay = function () { $scope.getProgressDisplay = function () {
var currentLoginDay = Content.loginIncentives[$scope.profile.loginIncentives]; var currentLoginDay = Content.loginIncentives[$scope.profile.loginIncentives];
var nextRewardAt = currentLoginDay.nextRewardAt; var nextRewardAt = currentLoginDay.nextRewardAt;
if (!currentLoginDay || !nextRewardAt) return env.t('moreIncentivesComingSoon');
if (!currentLoginDay.prevRewardKey) currentLoginDay.prevRewardKey = 0; if (!currentLoginDay.prevRewardKey) currentLoginDay.prevRewardKey = 0;
return ' ' + ($scope.profile.loginIncentives - currentLoginDay.prevRewardKey) + '/' + (nextRewardAt - currentLoginDay.prevRewardKey); return env.t('checkinProgressTitle') + ' ' + ($scope.profile.loginIncentives - currentLoginDay.prevRewardKey) + '/' + (nextRewardAt - currentLoginDay.prevRewardKey);
}; };
$scope.incentivesProgress = function () { $scope.incentivesProgress = function () {
var currentLoginDay = Content.loginIncentives[$scope.profile.loginIncentives]; var currentLoginDay = Content.loginIncentives[$scope.profile.loginIncentives];
if (!currentLoginDay) return 0;
var previousRewardDay = currentLoginDay.prevRewardKey; var previousRewardDay = currentLoginDay.prevRewardKey;
var nextRewardAt = currentLoginDay.nextRewardAt; var nextRewardAt = currentLoginDay.nextRewardAt;
return ($scope.profile.loginIncentives - previousRewardDay)/(nextRewardAt - previousRewardDay) * 100; return ($scope.profile.loginIncentives - previousRewardDay)/(nextRewardAt - previousRewardDay) * 100;
@@ -107,6 +109,6 @@ habitrpg.controller("UserCtrl", ['$rootScope', '$scope', '$location', 'User', '$
$scope.achievements = Shared.achievements.getAchievementsForProfile($scope.profile); $scope.achievements = Shared.achievements.getAchievementsForProfile($scope.profile);
$scope.achievPopoverPlacement = 'right'; $scope.achievPopoverPlacement = 'right';
$scope.achievAppendToBody = 'true'; // append-to-body breaks popovers in modal windows $scope.achievAppendToBody = 'true'; // append-to-body breaks popovers in modal windows
} }
]); ]);

View File

@@ -11,5 +11,6 @@
"unlockedCheckInReward": "You unlocked a Check-In Prize!", "unlockedCheckInReward": "You unlocked a Check-In Prize!",
"totalCheckinsTitle": "Total Check-Ins", "totalCheckinsTitle": "Total Check-Ins",
"checkinProgressTitle": "Progress until next", "checkinProgressTitle": "Progress until next",
"incentiveBackgroundsUnlockedWithCheckins": "These backgrounds will unlock with Daily Check-Ins." "incentiveBackgroundsUnlockedWithCheckins": "These backgrounds will unlock with Daily Check-Ins.",
"moreIncentivesComingSoon": "New check-in incentives will be added soon!"
} }

View File

@@ -480,5 +480,30 @@
"questTriceratopsCompletion": "With quick thinking, you herd the creature towards the soothing Stoïkalm Steppes so that @*~Seraphina~* and @PainterProphet can reverse the lava spell without distraction. The calming aura of the Steppes takes effect, and the Triceratops curls up as the volcanoes go dormant once more. @PainterProphet passes you some eggs that were rescued from the lava. \"Without you, we wouldn't have been able to concentrate to stop the eruptions. Give these pets a good home.\"", "questTriceratopsCompletion": "With quick thinking, you herd the creature towards the soothing Stoïkalm Steppes so that @*~Seraphina~* and @PainterProphet can reverse the lava spell without distraction. The calming aura of the Steppes takes effect, and the Triceratops curls up as the volcanoes go dormant once more. @PainterProphet passes you some eggs that were rescued from the lava. \"Without you, we wouldn't have been able to concentrate to stop the eruptions. Give these pets a good home.\"",
"questTriceratopsBoss": "Trampling Triceratops", "questTriceratopsBoss": "Trampling Triceratops",
"questTriceratopsDropTriceratopsEgg": "Triceratops (Egg)", "questTriceratopsDropTriceratopsEgg": "Triceratops (Egg)",
"questTriceratopsUnlockText": "Unlocks purchasable Triceratops eggs in the Market" "questTriceratopsUnlockText": "Unlocks purchasable Triceratops eggs in the Market",
"questStoikalmCalamity1Text": "Stoïkalm Calamity, Part 1: Earthen Enemies",
"questStoikalmCalamity1Notes": "A terse missive arrives from @Kiwibot, and the frost-crusted scroll chills your heart as well as your fingertips. \"Visiting Stoikalm Steppes -- monsters bursting from earth -- send help!\" You gather your party and ride north, but as soon as you venture down from the mountains, the snow beneath your feet explodes and gruesomely grinning skulls surround you!<br><br>Suddenly, a spear sails past, burying itself in a skull that was burrowing through the snow in an attempt to catch you unawares. A tall woman in finely-crafted armor gallops into the fray on the back of a mastodon, her long braid swinging as she yanks the spear unceremoniously from the crushed beast. It's time to fight off these foes with the help of Lady Glaciate, the leader of the Mammoth Riders!",
"questStoikalmCalamity1Completion": "As you deliver a final blow to the skulls, they dissipate in a puff of magic. \"The dratted swarm may be gone,\" Lady Glaciate says, \"but we have bigger problems. Follow me.\" She tosses you a cloak to protect you from the chill air, and you ride off after her.",
"questStoikalmCalamity1Boss": "Earth Skull Swarm",
"questStoikalmCalamity1RageTitle": "Swarm Respawn",
"questStoikalmCalamity1RageDescription": "Swarm Respawn: This bar fills when you don't complete your Dailies. When it is full, the Earth Skull Swarm will heal 30% of its remaining health!",
"questStoikalmCalamity1RageEffect": "`Earth Skull Swarm uses SWARM RESPAWN!`\n\nMore skulls break free from the ground, their teeth chattering in the cold!",
"questStoikalmCalamity1DropSkeletonPotion": "Skeleton Hatching Potion",
"questStoikalmCalamity1DropDesertPotion": "Desert Hatching Potion",
"questStoikalmCalamity1DropArmor": "Mammoth Rider Armor",
"questStoikalmCalamity2Text": "Stoïkalm Calamity, Part 2: Seek the Icicle Caverns",
"questStoikalmCalamity2Notes": "The stately hall of the Mammoth Riders is an austere masterpiece of architecture, but it is also entirely empty. There's no furniture, the weapons are missing, and even the columns were picked clean of their inlays.<br><br>\"Those skulls scoured the place,\" Lady Glaciate says, and there is a blizzard brewing in her tone. \"Humiliating. Not a soul is to mention this to the April Fool, or I will never hear the end of it.\"<br><br>\"How mysterious!\" says @Beffymaroo. \"But where did they--\"<br><br>\"The icicle drake caverns.\" Lady Glaciate gestures at shining coins spilled in the snow outside. \"Sloppy.\"<br><br>\"But aren't icicle drakes honorable creatures with their own treasure hoards?\" @Beffymaroo asks. \"Why would they possibly--\"<br><br>\"Mind control,\" says Lady Glaciate, utterly unphased. \"Or something equally melodramatic and inconvenient.\" She begins to stride from the hall. \"Why are you just standing there?\"<br><br>Quickly, go follow the trail of Icicle Coins!",
"questStoikalmCalamity2Completion": "The Icicle Coins lead you straight to the buried entrance of a cleverly hidden cavern. Though the weather outside is calm and lovely, with the sunlight sparkling across the expanse of snow, there is a howling within like a fierce winter wind. Lady Glaciate grimaces and hands you a Mammoth Rider helm. \"Wear this,\" she says. \"You'll need it.\"",
"questStoikalmCalamity2CollectIcicleCoins": "Icicle Coins",
"questStoikalmCalamity2DropHeadgear": "Mammoth Rider Helm (Headgear)",
"questStoikalmCalamity3Text": "Stoïkalm Calamity, Part 3: Icicle Drake Quake",
"questStoikalmCalamity3Notes": "The twining tunnels of the icicle drake caverns shimmer with frost... and with untold riches. You gape, but Lady Glaciate strides past without a glance. \"Excessively flashy,\" she says. \"Obtained admirably, though, from respectable mercenary work and prudent banking investments. Look further.\" Squinting, you spot a towering pile of stolen items hidden in the shadows.<br><br>A sibilant voice hisses as you approach. \"My delicious hoard! You shall not steal it back from me!\" A sinuous body slides from the heap: the Icicle Drake Queen herself! You have just enough time to note the strange bracelets glittering on her wrists and the wildness glinting in her eyes before she lets out a howl that shakes the earth around you.",
"questStoikalmCalamity3Completion": "You subdue the Icicle Drake Queen, giving Lady Glaciate time to shatter the glowing bracelets. The Queen stiffens in apparent mortification, then quickly covers it with a haughty pose. \"Feel free to remove these extraneous items,\" she says. \"I'm afraid they simply don't fit our decor.\"<br><br>\"Also, you stole them,\" @Beffymaroo says. \"By summoning monsters from the earth.\"<br><br>The Icicle Drake Queen looks miffed. \"Take it up with that wretched bracelet saleswoman,\" she says. \"It's Tzina you want. I was essentially unaffiliated.\"<br><br>Lady Glaciate claps you on the arm. \"You did well today,\" she says, handing you a spear and a horn from the pile. \"Be proud.\"",
"questStoikalmCalamity3Boss": "Icicle Drake Queen",
"questStoikalmCalamity3DropBlueCottonCandy": "Blue Cotton Candy (Food)",
"questStoikalmCalamity3DropShield": "Mammoth Rider's Horn (Shield)",
"questStoikalmCalamity3DropWeapon": "Mammoth Rider Spear (Weapon)"
} }

View File

@@ -1753,7 +1753,6 @@ let weapon = {
mammothRiderSpear: { mammothRiderSpear: {
text: t('weaponSpecialMammothRiderSpearText'), text: t('weaponSpecialMammothRiderSpearText'),
notes: t('weaponSpecialMammothRiderSpearNotes', { int: 15 }), notes: t('weaponSpecialMammothRiderSpearNotes', { int: 15 }),
twoHanded: true,
int: 15, int: 15,
value: 130, value: 130,
canOwn: ownsItem('weapon_special_mammothRiderSpear'), canOwn: ownsItem('weapon_special_mammothRiderSpear'),

View File

@@ -2817,6 +2817,111 @@ api.quests = {
unlock: t('questTriceratopsUnlockText'), unlock: t('questTriceratopsUnlockText'),
}, },
}, },
stoikalmCalamity1: {
text: t('questStoikalmCalamity1Text'),
notes: t('questStoikalmCalamity1Notes'),
completion: t('questStoikalmCalamity1Completion'),
value: 4,
goldValue: 200,
category: 'gold',
boss: {
name: t('questStoikalmCalamity1Boss'),
hp: 500,
rage: {
title: t("questStoikalmCalamity1RageTitle"),
description: t("questStoikalmCalamity1RageDescription"),
value: 50,
healing: .3,
effect: t('questStoikalmCalamity1RageEffect')
}
},
drop: {
items: [
{
type: 'hatchingPotions',
key: 'Skeleton',
text: t('questStoikalmCalamity1DropSkeletonPotion')
}, {
type: 'hatchingPotions',
key: 'Desert',
text: t('questStoikalmCalamity1DropDesertPotion')
}, {
type: 'gear',
key: "armor_special_mammothRiderArmor",
text: t('questStoikalmCalamity1DropArmor')
}
],
gp: 0,
exp: 500
}
},
stoikalmCalamity2: {
text: t('questStoikalmCalamity2Text'),
notes: t('questStoikalmCalamity2Notes'),
completion: t('questStoikalmCalamity2Completion'),
previous: 'stoikalmCalamity1',
value: 4,
goldValue: 300,
category: 'gold',
collect: {
icicleCoin: {
text: t('questStoikalmCalamity2CollectIcicleCoins'),
count: 40
},
},
drop: {
items: [
{
type: 'gear',
key: "head_special_mammothRiderHelm",
text: t('questStoikalmCalamity2DropHeadgear')
}
],
gp: 0,
exp: 75
}
},
stoikalmCalamity3: {
text: t('questStoikalmCalamity3Text'),
notes: t('questStoikalmCalamity3Notes'),
completion: t('questStoikalmCalamity3Completion'),
previous: 'stoikalmCalamity2',
value: 4,
goldValue: 400,
category: 'gold',
boss: {
name: t('questStoikalmCalamity3Boss'),
hp: 1000,
str: 2
},
drop: {
items: [
{
type: 'food',
key: 'CottonCandyBlue',
text: t('questStoikalmCalamity3DropBlueCottonCandy')
}, {
type: 'food',
key: 'CottonCandyBlue',
text: t('questStoikalmCalamity3DropBlueCottonCandy')
}, {
type: 'food',
key: 'CottonCandyBlue',
text: t('questStoikalmCalamity3DropBlueCottonCandy')
}, {
type: 'gear',
key: "weapon_special_mammothRiderSpear",
text: t('questStoikalmCalamity3DropWeapon')
}, {
type: 'gear',
key: "shield_special_mammothRiderHorn",
text: t('questStoikalmCalamity3DropShield')
},
],
gp: 0,
exp: 650
}
},
}; };
_.each(api.quests, function(v, key) { _.each(api.quests, function(v, key) {

View File

@@ -177,6 +177,7 @@ mixin customizeProfile(mobile)
+buyPref('skin', ['monster','pumpkin','skeleton','zombie','ghost','shadow'], 'spookySkins', 'disabled') +buyPref('skin', ['monster','pumpkin','skeleton','zombie','ghost','shadow'], 'spookySkins', 'disabled')
+buyPref('skin', ['candycorn','ogre','pumpkin2','reptile','shadow2','skeleton2','transparent','zombie2'], 'supernaturalSkins', 'disabled') +buyPref('skin', ['candycorn','ogre','pumpkin2','reptile','shadow2','skeleton2','transparent','zombie2'], 'supernaturalSkins', 'disabled')
+buyPref('skin', ['clownfish','deepocean','merblue','mergold','mergreen','merruby','shark','tropicalwater'], 'splashySkins', 'disabled') +buyPref('skin', ['clownfish','deepocean','merblue','mergold','mergreen','merruby','shark','tropicalwater'], 'splashySkins', 'disabled')
+buyPref('skin', ['aurora','dapper','festive','holly','polar','sugar','snowy','winterstar'], 'winterySkins')
script(id='partials/options.profile.avatar.html', type='text/ng-template') script(id='partials/options.profile.avatar.html', type='text/ng-template')
@@ -274,7 +275,7 @@ script(id='partials/options.profile.profile.html', type='text/ng-template')
h4=env.t('totalCheckinsTitle') h4=env.t('totalCheckinsTitle')
span {{env.t('totalCheckins', {count: user.loginIncentives})}} span {{env.t('totalCheckins', {count: user.loginIncentives})}}
.col-md-6 .col-md-6
h4=env.t('checkinProgressTitle') h4
| {{::getProgressDisplay()}} | {{::getProgressDisplay()}}
.progress .progress
.progress-bar(role='progressbar', aria-valuenow='{{::incentivesProgress()}}', aria-valuemin='0', aria-valuemax='100', style='width: {{::incentivesProgress()}}%;') .progress-bar(role='progressbar', aria-valuenow='{{::incentivesProgress()}}', aria-valuemin='0', aria-valuemax='100', style='width: {{::incentivesProgress()}}%;')

View File

@@ -1,17 +1,33 @@
h2 1/12/2017 - CONTRIBUTOR SPOTLIGHT: MEGAN! h2 1/17/2017 - WINTER WONDERLAND: GOLD-PURCHASABLE QUEST LINE AND WINTERY SKINS
.promo_wintery_skins.pull-right
hr hr
tr tr
td td
.promo_contrib_spotlight_megan.pull-right .quest_stoikalmCalamity3.pull-left.slight-right-margin
h3 Habitica Blog: Contributor Spotlight on Megan h3 Gold-Purchasable Quest Line: Stoïkalm Calamity!
p We've posted a new <a href='https://habitica.wordpress.com/2017/01/12/contributor-spotlight-megan/' target='_blank'>Contributor Spotlight</a> on the blog! Check out our latest interview with Megan, a moderator and pixel artist, to learn more about she uses Habitica. p There's a new set of gold-purchasable quests available in the <a href='/#/options/inventory/quests'>Quest Shop</a>: the Stoïkalm Calamity Quest-Line! The frozen north is experiencing a rash of thefts and monster outbreaks. Can you help Lady Glaciate and the Mammoth Riders vanquish their foes and recover their valuables? If so, you'll earn the exclusive Mammoth Rider Armor Set.
p.small.muted by Megan, Beffymaroo, and Lemoness br
p As time goes on, we'll be adding more gold-purchasable quests. The Stoïkalm Calamity is not a limited-edition quest line, so you have plenty of time to save up!
p.small.muted Written by Lemoness
p.small.muted Art by Beffymaroo and Kiwibot
tr
td
h3 Wintery Skins Available!
p There's a new set of Seasonal Edition Skins available in the <a href='/#/options/profile/avatar'>Avatar Customization page</a>! You can complete your wintry avatar look with Aurora, Dapper, Festive, Holly, Polar, Sugar, or Winter Star Skins. Due to the fact that these skins released later than the rest of the Seasonal Customization items, we've decided to make a special one-time exception to their end date, so they will be available until February 3rd, rather than the festival end date of January 31st! Get these new skins while you can, or they won't be available until next year.
p.small.muted by tricksy.fox
if menuItem !== 'oldNews' if menuItem !== 'oldNews'
hr hr
a(href='/static/old-news', target='_blank') Read older news a(href='/static/old-news', target='_blank') Read older news
mixin oldNews mixin oldNews
h2 1/12/2017 - CONTRIBUTOR SPOTLIGHT: MEGAN!
tr
td
.promo_contrib_spotlight_megan.pull-right
h3 Habitica Blog: Contributor Spotlight on Megan
p We've posted a new <a href='https://habitica.wordpress.com/2017/01/12/contributor-spotlight-megan/' target='_blank'>Contributor Spotlight</a> 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
h2 1/10/2017 - NEW PET QUEST: TRICERATOPS! h2 1/10/2017 - NEW PET QUEST: TRICERATOPS!
tr tr
td td