feat(content): Armoire and BGs 201608 (#7868)
Plus: beta shops API fixes and front page user count update
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 19 KiB |
@@ -207,5 +207,13 @@
|
|||||||
"backgroundDeepSeaText": "Deep Sea",
|
"backgroundDeepSeaText": "Deep Sea",
|
||||||
"backgroundDeepSeaNotes": "Dive to the Deep Sea.",
|
"backgroundDeepSeaNotes": "Dive to the Deep Sea.",
|
||||||
"backgroundDilatoryCastleText": "Castle of Dilatory",
|
"backgroundDilatoryCastleText": "Castle of Dilatory",
|
||||||
"backgroundDilatoryCastleNotes": "Swim past the Castle of Dilatory."
|
"backgroundDilatoryCastleNotes": "Swim past the Castle of Dilatory.",
|
||||||
|
|
||||||
|
"backgrounds082016": "SET 27: Released August 2016",
|
||||||
|
"backgroundIdyllicCabinText": "Idyllic Cabin",
|
||||||
|
"backgroundIdyllicCabinNotes": "Retreat to an Idyllic Cabin.",
|
||||||
|
"backgroundMountainPyramidText": "Mountain Pyramid",
|
||||||
|
"backgroundMountainPyramidNotes": "Climb the many steps of a Mountain Pyramid.",
|
||||||
|
"backgroundStormyShipText": "Stormy Ship",
|
||||||
|
"backgroundStormyShipNotes": "Hold steady against wind and wave aboard a Stormy Ship."
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -481,6 +481,8 @@
|
|||||||
"armorArmoireStripedSwimsuitNotes": "What could be more fun than battling sea monsters on the beach? Increases Constitution by <%= con %>. Enchanted Armoire: Seaside Set (Item 2 of 3).",
|
"armorArmoireStripedSwimsuitNotes": "What could be more fun than battling sea monsters on the beach? Increases Constitution by <%= con %>. Enchanted Armoire: Seaside Set (Item 2 of 3).",
|
||||||
"armorArmoireCannoneerRagsText": "Cannoneer Rags",
|
"armorArmoireCannoneerRagsText": "Cannoneer Rags",
|
||||||
"armorArmoireCannoneerRagsNotes": "These rags be tougher than they look. Increases Constitution by <%= con %>. Enchanted Armoire: Cannoneer Set (Item 2 of 3).",
|
"armorArmoireCannoneerRagsNotes": "These rags be tougher than they look. Increases Constitution by <%= con %>. Enchanted Armoire: Cannoneer Set (Item 2 of 3).",
|
||||||
|
"armorArmoireFalconerArmorText": "Falconer Armor",
|
||||||
|
"armorArmoireFalconerArmorNotes": "Keep away talon attacks with this sturdy armor! Increases Constitution by <%= con %>. Enchanted Armoire: Falconer Set (Item 1 of 3).",
|
||||||
|
|
||||||
"headgear": "headgear",
|
"headgear": "headgear",
|
||||||
"headgearCapitalized": "Headgear",
|
"headgearCapitalized": "Headgear",
|
||||||
@@ -746,6 +748,8 @@
|
|||||||
"headArmoireGreenFloppyHatNotes": "Many spells have been sewn into this simple hat, giving it a gorgeous green color. Increases Constitution, Intelligence, and Perception by <%= attrs %> each. Enchanted Armoire: Independent Item.",
|
"headArmoireGreenFloppyHatNotes": "Many spells have been sewn into this simple hat, giving it a gorgeous green color. Increases Constitution, Intelligence, and Perception by <%= attrs %> each. Enchanted Armoire: Independent Item.",
|
||||||
"headArmoireCannoneerBandannaText": "Cannoneer Bandanna",
|
"headArmoireCannoneerBandannaText": "Cannoneer Bandanna",
|
||||||
"headArmoireCannoneerBandannaNotes": "'Tis a cannoneer's life for me! Increases Intelligence and Perception by <%= attrs %> each. Enchanted Armoire: Cannoneer Set (Item 3 of 3).",
|
"headArmoireCannoneerBandannaNotes": "'Tis a cannoneer's life for me! Increases Intelligence and Perception by <%= attrs %> each. Enchanted Armoire: Cannoneer Set (Item 3 of 3).",
|
||||||
|
"headArmoireFalconerCapText": "Falconer Cap",
|
||||||
|
"headArmoireFalconerCapNotes": "This jaunty cap helps you better understand birds of prey. Increases Intelligence by <%= int %>. Enchanted Armoire: Falconer Set (Item 2 of 3).",
|
||||||
|
|
||||||
"offhand": "shield-hand item",
|
"offhand": "shield-hand item",
|
||||||
"offhandCapitalized": "Shield-Hand Item",
|
"offhandCapitalized": "Shield-Hand Item",
|
||||||
@@ -881,6 +885,8 @@
|
|||||||
"shieldArmoireFloralBouquetNotes": "Not much help in battle, but aren't they beautiful? Increases Constitution by <%= con %>. Enchanted Armoire: Independent Item.",
|
"shieldArmoireFloralBouquetNotes": "Not much help in battle, but aren't they beautiful? Increases Constitution by <%= con %>. Enchanted Armoire: Independent Item.",
|
||||||
"shieldArmoireSandyBucketText": "Sandy Bucket",
|
"shieldArmoireSandyBucketText": "Sandy Bucket",
|
||||||
"shieldArmoireSandyBucketNotes": "Good for storing all that Gold that you'll earn from completing tasks! Increases Perception by <%= per %>. Enchanted Armoire: Seaside Set (Item 3 of 3).",
|
"shieldArmoireSandyBucketNotes": "Good for storing all that Gold that you'll earn from completing tasks! Increases Perception by <%= per %>. Enchanted Armoire: Seaside Set (Item 3 of 3).",
|
||||||
|
"shieldArmoirePerchingFalconText": "Perching Falcon",
|
||||||
|
"shieldArmoirePerchingFalconNotes": "A falcon friend perches on your arm, prepared to swoop at your enemies. Increases Strength by <%= str %>. Enchanted Armoire: Falconer Set (Item 3 of 3).",
|
||||||
|
|
||||||
"back": "Back Accessory",
|
"back": "Back Accessory",
|
||||||
"backBase0Text": "No Back Accessory",
|
"backBase0Text": "No Back Accessory",
|
||||||
|
|||||||
@@ -367,6 +367,20 @@ let backgrounds = {
|
|||||||
notes: t('backgroundDeepSeaNotes'),
|
notes: t('backgroundDeepSeaNotes'),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
backgrounds082016: {
|
||||||
|
idyllic_cabin: {
|
||||||
|
text: t('backgroundIdyllicCabinText'),
|
||||||
|
notes: t('backgroundIdyllicCabinNotes'),
|
||||||
|
},
|
||||||
|
mountain_pyramid: {
|
||||||
|
text: t('backgroundMountainPyramidText'),
|
||||||
|
notes: t('backgroundMountainPyramidNotes'),
|
||||||
|
},
|
||||||
|
stormy_ship: {
|
||||||
|
text: t('backgroundStormyShipText'),
|
||||||
|
notes: t('backgroundStormyShipNotes'),
|
||||||
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
/* eslint-enable quote-props */
|
/* eslint-enable quote-props */
|
||||||
|
|
||||||
|
|||||||
@@ -150,6 +150,14 @@ let armor = {
|
|||||||
set: 'cannoneer',
|
set: 'cannoneer',
|
||||||
canOwn: ownsItem('armor_armoire_cannoneerRags'),
|
canOwn: ownsItem('armor_armoire_cannoneerRags'),
|
||||||
},
|
},
|
||||||
|
falconerArmor: {
|
||||||
|
text: t('armorArmoireFalconerArmorText'),
|
||||||
|
notes: t('armorArmoireFalconerArmorNotes', { con: 10 }),
|
||||||
|
value: 100,
|
||||||
|
con: 10,
|
||||||
|
set: 'falconer',
|
||||||
|
canOwn: ownsItem('armor_armoire_falconerArmor'),
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
let eyewear = {
|
let eyewear = {
|
||||||
@@ -380,6 +388,14 @@ let head = {
|
|||||||
set: 'cannoneer',
|
set: 'cannoneer',
|
||||||
canOwn: ownsItem('head_armoire_cannoneerBandanna'),
|
canOwn: ownsItem('head_armoire_cannoneerBandanna'),
|
||||||
},
|
},
|
||||||
|
falconerCap: {
|
||||||
|
text: t('headArmoireFalconerCapText'),
|
||||||
|
notes: t('headArmoireFalconerCapNotes', { int: 10 }),
|
||||||
|
value: 100,
|
||||||
|
int: 10,
|
||||||
|
set: 'falconer',
|
||||||
|
canOwn: ownsItem('head_armoire_falconerCap'),
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
let shield = {
|
let shield = {
|
||||||
@@ -440,6 +456,14 @@ let shield = {
|
|||||||
set: 'seaside',
|
set: 'seaside',
|
||||||
canOwn: ownsItem('shield_armoire_sandyBucket'),
|
canOwn: ownsItem('shield_armoire_sandyBucket'),
|
||||||
},
|
},
|
||||||
|
perchingFalcon: {
|
||||||
|
text: t('shieldArmoirePerchingFalconText'),
|
||||||
|
notes: t('shieldArmoirePerchingFalconNotes', { str: 16 }),
|
||||||
|
value: 100,
|
||||||
|
str: 16,
|
||||||
|
set: 'falconer',
|
||||||
|
canOwn: ownsItem('shield_armoire_perchingFalcon'),
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
let headAccessory = {
|
let headAccessory = {
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ shops.getMarketCategories = function getMarket (user, language) {
|
|||||||
value: hatchingPotion.value,
|
value: hatchingPotion.value,
|
||||||
locked: false,
|
locked: false,
|
||||||
currency: 'gems',
|
currency: 'gems',
|
||||||
purchaseType: 'hatchingpotions',
|
purchaseType: 'hatchingPotions',
|
||||||
};
|
};
|
||||||
}).sortBy('key').value();
|
}).sortBy('key').value();
|
||||||
categories.push(hatchingPotionsCategory);
|
categories.push(hatchingPotionsCategory);
|
||||||
@@ -192,14 +192,6 @@ shops.getTimeTravelersCategories = function getTimeTravelersCategories (user, la
|
|||||||
// };
|
// };
|
||||||
shops.getSeasonalShopCategories = function getSeasonalShopCategories (user, language) {
|
shops.getSeasonalShopCategories = function getSeasonalShopCategories (user, language) {
|
||||||
let availableSets = {
|
let availableSets = {
|
||||||
summerWarrior: i18n.t('daringSwashbucklerSet', language),
|
|
||||||
summerMage: i18n.t('emeraldMermageSet', language),
|
|
||||||
summerHealer: i18n.t('reefSeahealerSet', language),
|
|
||||||
summerRogue: i18n.t('roguishPirateSet', language),
|
|
||||||
summer2015Warrior: i18n.t('sunfishWarriorSet', language),
|
|
||||||
summer2015Mage: i18n.t('shipSoothsayerSet', language),
|
|
||||||
summer2015Healer: i18n.t('strappingSailorSet', language),
|
|
||||||
summer2015Rogue: i18n.t('reefRenegadeSet', language),
|
|
||||||
};
|
};
|
||||||
|
|
||||||
let categories = [];
|
let categories = [];
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ describe('GET /shops/seasonal', () => {
|
|||||||
|
|
||||||
expect(shop.identifier).to.equal('seasonalShop');
|
expect(shop.identifier).to.equal('seasonalShop');
|
||||||
expect(shop.text).to.eql(t('seasonalShop'));
|
expect(shop.text).to.eql(t('seasonalShop'));
|
||||||
expect(shop.notes).to.eql(t('seasonalShopSummerText'));
|
expect(shop.notes).to.eql(t('seasonalShopClosedText'));
|
||||||
expect(shop.imageName).to.be.a('string');
|
expect(shop.imageName).to.be.a('string');
|
||||||
expect(shop.categories).to.be.an('array');
|
expect(shop.categories).to.be.an('array');
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -111,8 +111,8 @@ api.getSeasonalShopItems = {
|
|||||||
let resObject = {
|
let resObject = {
|
||||||
identifier: 'seasonalShop',
|
identifier: 'seasonalShop',
|
||||||
text: res.t('seasonalShop'),
|
text: res.t('seasonalShop'),
|
||||||
notes: res.t('seasonalShopSummerText'),
|
notes: res.t('seasonalShopClosedText'),
|
||||||
imageName: 'seasonalshop_open',
|
imageName: 'seasonalshop_closed',
|
||||||
categories: shops.getSeasonalShopCategories(user, req.language),
|
categories: shops.getSeasonalShopCategories(user, req.language),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ const md = markdownIt({
|
|||||||
|
|
||||||
let api = {};
|
let api = {};
|
||||||
|
|
||||||
const TOTAL_USER_COUNT = '1,100,000';
|
const TOTAL_USER_COUNT = '1,500,000';
|
||||||
const LOADING_SCREEN_TIPS = 32;
|
const LOADING_SCREEN_TIPS = 32;
|
||||||
|
|
||||||
api.getFrontPage = {
|
api.getFrontPage = {
|
||||||
|
|||||||
@@ -1,5 +1,23 @@
|
|||||||
h2 8/1/2016 - TAKE THIS CHALLENGE AND GUILD SPOTLIGHT
|
h3 8/3/2016 - AUGUST BACKGROUNDS AND ARMOIRE ITEMS
|
||||||
|
.promo_backgrounds_armoire_201608.pull-right
|
||||||
hr
|
hr
|
||||||
|
tr
|
||||||
|
td
|
||||||
|
h3 AUGUST BACKGROUNDS
|
||||||
|
p We’ve added three new backgrounds: Stormy Ship, Idyllic Cabin, and Mountain Pyramid. Get them now from the <a href='/#/options/profile/backgrounds'>Background Shop</a> and show off your avatars in the Tavern!
|
||||||
|
p.small.muted by JInjooHat, KusSv, and Beffymaroo
|
||||||
|
tr
|
||||||
|
td
|
||||||
|
h3 AUGUST ARMOIRE ITEMS: FALCONER SET
|
||||||
|
p There’s new Gold-purchasable equipment in the Enchanted Armoire, including the Falconer set. The Enchanted Armoire unlocks when you achieve Ultimate Gear. Better work hard on your real-life tasks to earn all the pieces!
|
||||||
|
p.small.muted by Mako413
|
||||||
|
|
||||||
|
if menuItem !== 'oldNews'
|
||||||
|
hr
|
||||||
|
a(href='/static/old-news', target='_blank') Read older news
|
||||||
|
|
||||||
|
mixin oldNews
|
||||||
|
h2 8/1/2016 - TAKE THIS CHALLENGE AND GUILD SPOTLIGHT
|
||||||
tr
|
tr
|
||||||
td
|
td
|
||||||
.promo_takethis_armor.pull-right
|
.promo_takethis_armor.pull-right
|
||||||
@@ -15,12 +33,6 @@ h2 8/1/2016 - TAKE THIS CHALLENGE AND GUILD SPOTLIGHT
|
|||||||
h3 GUILD SPOTLIGHT
|
h3 GUILD SPOTLIGHT
|
||||||
p There's a new <a href='https://habitica.wordpress.com/category/guild-spotlight/' target='_blank'>Guild Spotlight on the blog</a>! Check it out now to learn about some awesome Habitica Guilds that highlight fun fandoms.
|
p There's a new <a href='https://habitica.wordpress.com/category/guild-spotlight/' target='_blank'>Guild Spotlight on the blog</a>! Check it out now to learn about some awesome Habitica Guilds that highlight fun fandoms.
|
||||||
p.small.muted by Lemoness
|
p.small.muted by Lemoness
|
||||||
|
|
||||||
if menuItem !== 'oldNews'
|
|
||||||
hr
|
|
||||||
a(href='/static/old-news', target='_blank') Read older news
|
|
||||||
|
|
||||||
mixin oldNews
|
|
||||||
h2 7/31/2016 - HABITICA NAMING DAY AND GRYPHON PETS/MOUNTS!
|
h2 7/31/2016 - HABITICA NAMING DAY AND GRYPHON PETS/MOUNTS!
|
||||||
tr
|
tr
|
||||||
td
|
td
|
||||||
|
|||||||