chore(event): end Winter Wonderland
@@ -1,9 +1,9 @@
|
|||||||
/* Comment out for holiday events */
|
/* Comment out for holiday events */
|
||||||
/* .npc_ian {
|
.npc_ian {
|
||||||
background: url("/common/img/sprites/npc_ian.gif") no-repeat;
|
background: url("/common/img/sprites/npc_ian.gif") no-repeat;
|
||||||
width: 78px;
|
width: 78px;
|
||||||
height: 135px;
|
height: 135px;
|
||||||
} */
|
}
|
||||||
|
|
||||||
.quest_burnout {
|
.quest_burnout {
|
||||||
background: url("/common/img/sprites/quest_burnout.gif") no-repeat;
|
background: url("/common/img/sprites/quest_burnout.gif") no-repeat;
|
||||||
|
|||||||
540
common/dist/sprites/spritesmith-main-5.css
vendored
BIN
common/dist/sprites/spritesmith-main-5.png
vendored
|
Before Width: | Height: | Size: 371 KiB After Width: | Height: | Size: 364 KiB |
|
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 8.8 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 5.7 KiB |
@@ -25,7 +25,7 @@
|
|||||||
"polarBearPup": "Polar Bear Cub",
|
"polarBearPup": "Polar Bear Cub",
|
||||||
"jackolantern": "Jack-O-Lantern",
|
"jackolantern": "Jack-O-Lantern",
|
||||||
"seasonalShop": "Seasonal Shop",
|
"seasonalShop": "Seasonal Shop",
|
||||||
"seasonalShopClosedTitle": "<%= linkStart %>Siena Leslie<%= linkEnd %>",
|
"seasonalShopClosedTitle": "<%= linkStart %>Leslie<%= linkEnd %>",
|
||||||
"seasonalShopTitle": "<%= linkStart %>Seasonal Sorceress<%= linkEnd %>",
|
"seasonalShopTitle": "<%= linkStart %>Seasonal Sorceress<%= linkEnd %>",
|
||||||
"seasonalShopClosedText": "The Seasonal Shop is currently closed!! I don't know where the Seasonal Sorceress is now, but I bet she'll be back during the next <a href='http://habitica.wikia.com/wiki/Grand_Galas' target='_blank'>Grand Gala</a>!",
|
"seasonalShopClosedText": "The Seasonal Shop is currently closed!! I don't know where the Seasonal Sorceress is now, but I bet she'll be back during the next <a href='http://habitica.wikia.com/wiki/Grand_Galas' target='_blank'>Grand Gala</a>!",
|
||||||
"seasonalShopText": "Welcome to the Seasonal Shop!! We're stocking springtime <a href='http://habitica.wikia.com/wiki/Item_Availability' target='_blank'>Seasonal Edition</a> goodies at the moment. Everything here will be available to purchase during the Spring Fling event each year, but we're only open until April 30th, so be sure to stock up now, or you'll have to wait a year to buy these items again!",
|
"seasonalShopText": "Welcome to the Seasonal Shop!! We're stocking springtime <a href='http://habitica.wikia.com/wiki/Item_Availability' target='_blank'>Seasonal Edition</a> goodies at the moment. Everything here will be available to purchase during the Spring Fling event each year, but we're only open until April 30th, so be sure to stock up now, or you'll have to wait a year to buy these items again!",
|
||||||
|
|||||||
@@ -25,9 +25,6 @@ let armor = {
|
|||||||
notes: t('armorSpecialYetiNotes', { con: 9 }),
|
notes: t('armorSpecialYetiNotes', { con: 9 }),
|
||||||
con: 9,
|
con: 9,
|
||||||
value: 90,
|
value: 90,
|
||||||
canBuy: () => {
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
ski: {
|
ski: {
|
||||||
event: EVENTS.winter,
|
event: EVENTS.winter,
|
||||||
@@ -36,9 +33,6 @@ let armor = {
|
|||||||
notes: t('armorSpecialSkiNotes', { per: 15 }),
|
notes: t('armorSpecialSkiNotes', { per: 15 }),
|
||||||
per: 15,
|
per: 15,
|
||||||
value: 90,
|
value: 90,
|
||||||
canBuy: () => {
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
candycane: {
|
candycane: {
|
||||||
event: EVENTS.winter,
|
event: EVENTS.winter,
|
||||||
@@ -47,9 +41,6 @@ let armor = {
|
|||||||
notes: t('armorSpecialCandycaneNotes', { int: 9 }),
|
notes: t('armorSpecialCandycaneNotes', { int: 9 }),
|
||||||
int: 9,
|
int: 9,
|
||||||
value: 90,
|
value: 90,
|
||||||
canBuy: () => {
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
snowflake: {
|
snowflake: {
|
||||||
event: EVENTS.winter,
|
event: EVENTS.winter,
|
||||||
@@ -58,9 +49,6 @@ let armor = {
|
|||||||
notes: t('armorSpecialSnowflakeNotes', { con: 15 }),
|
notes: t('armorSpecialSnowflakeNotes', { con: 15 }),
|
||||||
con: 15,
|
con: 15,
|
||||||
value: 90,
|
value: 90,
|
||||||
canBuy: () => {
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
birthday: {
|
birthday: {
|
||||||
event: EVENTS.birthday,
|
event: EVENTS.birthday,
|
||||||
@@ -138,9 +126,6 @@ let armor = {
|
|||||||
notes: t('armorSpecialFallRogueNotes', { per: 15 }),
|
notes: t('armorSpecialFallRogueNotes', { per: 15 }),
|
||||||
value: 90,
|
value: 90,
|
||||||
per: 15,
|
per: 15,
|
||||||
canBuy: () => {
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
fallWarrior: {
|
fallWarrior: {
|
||||||
event: EVENTS.fall,
|
event: EVENTS.fall,
|
||||||
@@ -149,9 +134,6 @@ let armor = {
|
|||||||
notes: t('armorSpecialFallWarriorNotes', { con: 9 }),
|
notes: t('armorSpecialFallWarriorNotes', { con: 9 }),
|
||||||
value: 90,
|
value: 90,
|
||||||
con: 9,
|
con: 9,
|
||||||
canBuy: () => {
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
fallMage: {
|
fallMage: {
|
||||||
event: EVENTS.fall,
|
event: EVENTS.fall,
|
||||||
@@ -160,9 +142,6 @@ let armor = {
|
|||||||
notes: t('armorSpecialFallMageNotes', { int: 9 }),
|
notes: t('armorSpecialFallMageNotes', { int: 9 }),
|
||||||
value: 90,
|
value: 90,
|
||||||
int: 9,
|
int: 9,
|
||||||
canBuy: () => {
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
fallHealer: {
|
fallHealer: {
|
||||||
event: EVENTS.fall,
|
event: EVENTS.fall,
|
||||||
@@ -171,9 +150,6 @@ let armor = {
|
|||||||
notes: t('armorSpecialFallHealerNotes', { con: 15 }),
|
notes: t('armorSpecialFallHealerNotes', { con: 15 }),
|
||||||
value: 90,
|
value: 90,
|
||||||
con: 15,
|
con: 15,
|
||||||
canBuy: () => {
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
winter2015Rogue: {
|
winter2015Rogue: {
|
||||||
event: EVENTS.winter2015,
|
event: EVENTS.winter2015,
|
||||||
@@ -182,9 +158,6 @@ let armor = {
|
|||||||
notes: t('armorSpecialWinter2015RogueNotes', { per: 15 }),
|
notes: t('armorSpecialWinter2015RogueNotes', { per: 15 }),
|
||||||
value: 90,
|
value: 90,
|
||||||
per: 15,
|
per: 15,
|
||||||
canBuy: () => {
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
winter2015Warrior: {
|
winter2015Warrior: {
|
||||||
event: EVENTS.winter2015,
|
event: EVENTS.winter2015,
|
||||||
@@ -193,9 +166,6 @@ let armor = {
|
|||||||
notes: t('armorSpecialWinter2015WarriorNotes', { con: 9 }),
|
notes: t('armorSpecialWinter2015WarriorNotes', { con: 9 }),
|
||||||
value: 90,
|
value: 90,
|
||||||
con: 9,
|
con: 9,
|
||||||
canBuy: () => {
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
winter2015Mage: {
|
winter2015Mage: {
|
||||||
event: EVENTS.winter2015,
|
event: EVENTS.winter2015,
|
||||||
@@ -204,9 +174,6 @@ let armor = {
|
|||||||
notes: t('armorSpecialWinter2015MageNotes', { int: 9 }),
|
notes: t('armorSpecialWinter2015MageNotes', { int: 9 }),
|
||||||
value: 90,
|
value: 90,
|
||||||
int: 9,
|
int: 9,
|
||||||
canBuy: () => {
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
winter2015Healer: {
|
winter2015Healer: {
|
||||||
event: EVENTS.winter2015,
|
event: EVENTS.winter2015,
|
||||||
@@ -215,9 +182,6 @@ let armor = {
|
|||||||
notes: t('armorSpecialWinter2015HealerNotes', { con: 15 }),
|
notes: t('armorSpecialWinter2015HealerNotes', { con: 15 }),
|
||||||
value: 90,
|
value: 90,
|
||||||
con: 15,
|
con: 15,
|
||||||
canBuy: () => {
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
birthday2015: {
|
birthday2015: {
|
||||||
text: t('armorSpecialBirthday2015Text'),
|
text: t('armorSpecialBirthday2015Text'),
|
||||||
|
|||||||
@@ -1180,52 +1180,92 @@ api.food = {
|
|||||||
Meat: {
|
Meat: {
|
||||||
text: t('foodMeat'),
|
text: t('foodMeat'),
|
||||||
target: 'Base',
|
target: 'Base',
|
||||||
article: ''
|
article: '',
|
||||||
|
canBuy: (function() {
|
||||||
|
return true;
|
||||||
|
}),
|
||||||
|
canDrop: true,
|
||||||
},
|
},
|
||||||
Milk: {
|
Milk: {
|
||||||
text: t('foodMilk'),
|
text: t('foodMilk'),
|
||||||
target: 'White',
|
target: 'White',
|
||||||
article: ''
|
article: '',
|
||||||
|
canBuy: (function() {
|
||||||
|
return true;
|
||||||
|
}),
|
||||||
|
canDrop: true,
|
||||||
},
|
},
|
||||||
Potatoe: {
|
Potatoe: {
|
||||||
text: t('foodPotatoe'),
|
text: t('foodPotatoe'),
|
||||||
target: 'Desert',
|
target: 'Desert',
|
||||||
article: 'a '
|
article: 'a ',
|
||||||
|
canBuy: (function() {
|
||||||
|
return true;
|
||||||
|
}),
|
||||||
|
canDrop: true,
|
||||||
},
|
},
|
||||||
Strawberry: {
|
Strawberry: {
|
||||||
text: t('foodStrawberry'),
|
text: t('foodStrawberry'),
|
||||||
target: 'Red',
|
target: 'Red',
|
||||||
article: 'a '
|
article: 'a ',
|
||||||
|
canBuy: (function() {
|
||||||
|
return true;
|
||||||
|
}),
|
||||||
|
canDrop: true,
|
||||||
},
|
},
|
||||||
Chocolate: {
|
Chocolate: {
|
||||||
text: t('foodChocolate'),
|
text: t('foodChocolate'),
|
||||||
target: 'Shade',
|
target: 'Shade',
|
||||||
article: ''
|
article: '',
|
||||||
|
canBuy: (function() {
|
||||||
|
return true;
|
||||||
|
}),
|
||||||
|
canDrop: true,
|
||||||
},
|
},
|
||||||
Fish: {
|
Fish: {
|
||||||
text: t('foodFish'),
|
text: t('foodFish'),
|
||||||
target: 'Skeleton',
|
target: 'Skeleton',
|
||||||
article: 'a '
|
article: 'a ',
|
||||||
|
canBuy: (function() {
|
||||||
|
return true;
|
||||||
|
}),
|
||||||
|
canDrop: true,
|
||||||
},
|
},
|
||||||
RottenMeat: {
|
RottenMeat: {
|
||||||
text: t('foodRottenMeat'),
|
text: t('foodRottenMeat'),
|
||||||
target: 'Zombie',
|
target: 'Zombie',
|
||||||
article: ''
|
article: '',
|
||||||
|
canBuy: (function() {
|
||||||
|
return true;
|
||||||
|
}),
|
||||||
|
canDrop: true,
|
||||||
},
|
},
|
||||||
CottonCandyPink: {
|
CottonCandyPink: {
|
||||||
text: t('foodCottonCandyPink'),
|
text: t('foodCottonCandyPink'),
|
||||||
target: 'CottonCandyPink',
|
target: 'CottonCandyPink',
|
||||||
article: ''
|
article: '',
|
||||||
|
canBuy: (function() {
|
||||||
|
return true;
|
||||||
|
}),
|
||||||
|
canDrop: true,
|
||||||
},
|
},
|
||||||
CottonCandyBlue: {
|
CottonCandyBlue: {
|
||||||
text: t('foodCottonCandyBlue'),
|
text: t('foodCottonCandyBlue'),
|
||||||
target: 'CottonCandyBlue',
|
target: 'CottonCandyBlue',
|
||||||
article: ''
|
article: '',
|
||||||
|
canBuy: (function() {
|
||||||
|
return true;
|
||||||
|
}),
|
||||||
|
canDrop: true,
|
||||||
},
|
},
|
||||||
Honey: {
|
Honey: {
|
||||||
text: t('foodHoney'),
|
text: t('foodHoney'),
|
||||||
target: 'Golden',
|
target: 'Golden',
|
||||||
article: ''
|
article: '',
|
||||||
|
canBuy: (function() {
|
||||||
|
return true;
|
||||||
|
}),
|
||||||
|
canDrop: true,
|
||||||
},
|
},
|
||||||
Saddle: {
|
Saddle: {
|
||||||
canBuy: (function() {
|
canBuy: (function() {
|
||||||
@@ -1238,91 +1278,51 @@ api.food = {
|
|||||||
Cake_Skeleton: {
|
Cake_Skeleton: {
|
||||||
text: t('foodCakeSkeleton'),
|
text: t('foodCakeSkeleton'),
|
||||||
target: 'Skeleton',
|
target: 'Skeleton',
|
||||||
canBuy: (function() {
|
|
||||||
return true;
|
|
||||||
}),
|
|
||||||
canDrop: true,
|
|
||||||
article: ''
|
article: ''
|
||||||
},
|
},
|
||||||
Cake_Base: {
|
Cake_Base: {
|
||||||
text: t('foodCakeBase'),
|
text: t('foodCakeBase'),
|
||||||
target: 'Base',
|
target: 'Base',
|
||||||
canBuy: (function() {
|
|
||||||
return true;
|
|
||||||
}),
|
|
||||||
canDrop: true,
|
|
||||||
article: ''
|
article: ''
|
||||||
},
|
},
|
||||||
Cake_CottonCandyBlue: {
|
Cake_CottonCandyBlue: {
|
||||||
text: t('foodCakeCottonCandyBlue'),
|
text: t('foodCakeCottonCandyBlue'),
|
||||||
target: 'CottonCandyBlue',
|
target: 'CottonCandyBlue',
|
||||||
canBuy: (function() {
|
|
||||||
return true;
|
|
||||||
}),
|
|
||||||
canDrop: true,
|
|
||||||
article: ''
|
article: ''
|
||||||
},
|
},
|
||||||
Cake_CottonCandyPink: {
|
Cake_CottonCandyPink: {
|
||||||
text: t('foodCakeCottonCandyPink'),
|
text: t('foodCakeCottonCandyPink'),
|
||||||
target: 'CottonCandyPink',
|
target: 'CottonCandyPink',
|
||||||
canBuy: (function() {
|
|
||||||
return true;
|
|
||||||
}),
|
|
||||||
canDrop: true,
|
|
||||||
article: ''
|
article: ''
|
||||||
},
|
},
|
||||||
Cake_Shade: {
|
Cake_Shade: {
|
||||||
text: t('foodCakeShade'),
|
text: t('foodCakeShade'),
|
||||||
target: 'Shade',
|
target: 'Shade',
|
||||||
canBuy: (function() {
|
|
||||||
return true;
|
|
||||||
}),
|
|
||||||
canDrop: true,
|
|
||||||
article: ''
|
article: ''
|
||||||
},
|
},
|
||||||
Cake_White: {
|
Cake_White: {
|
||||||
text: t('foodCakeWhite'),
|
text: t('foodCakeWhite'),
|
||||||
target: 'White',
|
target: 'White',
|
||||||
canBuy: (function() {
|
|
||||||
return true;
|
|
||||||
}),
|
|
||||||
canDrop: true,
|
|
||||||
article: ''
|
article: ''
|
||||||
},
|
},
|
||||||
Cake_Golden: {
|
Cake_Golden: {
|
||||||
text: t('foodCakeGolden'),
|
text: t('foodCakeGolden'),
|
||||||
target: 'Golden',
|
target: 'Golden',
|
||||||
canBuy: (function() {
|
|
||||||
return true;
|
|
||||||
}),
|
|
||||||
canDrop: true,
|
|
||||||
article: ''
|
article: ''
|
||||||
},
|
},
|
||||||
Cake_Zombie: {
|
Cake_Zombie: {
|
||||||
text: t('foodCakeZombie'),
|
text: t('foodCakeZombie'),
|
||||||
target: 'Zombie',
|
target: 'Zombie',
|
||||||
canBuy: (function() {
|
|
||||||
return true;
|
|
||||||
}),
|
|
||||||
canDrop: true,
|
|
||||||
article: ''
|
article: ''
|
||||||
},
|
},
|
||||||
Cake_Desert: {
|
Cake_Desert: {
|
||||||
text: t('foodCakeDesert'),
|
text: t('foodCakeDesert'),
|
||||||
target: 'Desert',
|
target: 'Desert',
|
||||||
canBuy: (function() {
|
|
||||||
return true;
|
|
||||||
}),
|
|
||||||
canDrop: true,
|
|
||||||
article: ''
|
article: ''
|
||||||
},
|
},
|
||||||
Cake_Red: {
|
Cake_Red: {
|
||||||
text: t('foodCakeRed'),
|
text: t('foodCakeRed'),
|
||||||
target: 'Red',
|
target: 'Red',
|
||||||
canBuy: (function() {
|
|
||||||
return true;
|
|
||||||
}),
|
|
||||||
canDrop: true,
|
|
||||||
article: ''
|
article: ''
|
||||||
},
|
},
|
||||||
Candy_Skeleton: {
|
Candy_Skeleton: {
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
.container-fluid
|
.container-fluid
|
||||||
.stable.row: .col-xs-12
|
.stable.row: .col-xs-12
|
||||||
div(class="#{env.worldDmg.seasonalShop ? 'seasonalshop_broken' : 'seasonalshop_open'}").pull-left-sm.col-centered
|
div(class="#{env.worldDmg.seasonalShop ? 'seasonalshop_broken' : 'seasonalshop_closed'}").pull-left-sm.col-centered
|
||||||
.popover.static-popover.fade.right.in.pull-left-sm.col-centered
|
.popover.static-popover.fade.right.in.pull-left-sm.col-centered
|
||||||
.arrow.hidden-xs
|
.arrow.hidden-xs
|
||||||
h3.popover-title!=env.t('seasonalShopTitle', {linkStart:"<a href='http://blog.habitrpg.com/who' target='_blank'>", linkEnd: "</a>"})
|
h3.popover-title!=env.t('seasonalShopClosedTitle', {linkStart:"<a href='http://blog.habitrpg.com/who' target='_blank'>", linkEnd: "</a>"})
|
||||||
.popover-content
|
.popover-content
|
||||||
p(ng-if='!env.worldDmg.seasonalShop')!=env.t('seasonalShopWinterText')
|
p(ng-if='!env.worldDmg.seasonalShop')!=env.t('seasonalShopClosedText')
|
||||||
p(ng-if='env.worldDmg.seasonalShop')!=env.t('seasonalShopFallTextBroken')
|
p(ng-if='env.worldDmg.seasonalShop')!=env.t('seasonalShopClosedText')
|
||||||
|
|
||||||
.well(ng-if='User.user.achievements.rebirths > 0')=env.t('seasonalShopRebirth')
|
// .well(ng-if='User.user.achievements.rebirths > 0')=env.t('seasonalShopRebirth')
|
||||||
|
|
||||||
li.customize-menu.inventory-gear
|
// li.customize-menu.inventory-gear
|
||||||
menu.pets-menu(label='{{::label}}', ng-repeat='(set,label) in ::{yeti:env.t("yetiSet"), candycane:env.t("candycaneSet"), snowflake:env.t("snowflakeSet"), ski:env.t("skiSet"), winter2015Warrior:env.t("gingerbreadSet"), winter2015Mage:env.t("northMageSet"), winter2015Healer:env.t("soothingSkaterSet"), winter2015Rogue:env.t("icicleDrakeSet")}')
|
menu.pets-menu(label='{{::label}}', ng-repeat='(set,label) in ::{yeti:env.t("yetiSet"), candycane:env.t("candycaneSet"), snowflake:env.t("snowflakeSet"), ski:env.t("skiSet"), winter2015Warrior:env.t("gingerbreadSet"), winter2015Mage:env.t("northMageSet"), winter2015Healer:env.t("soothingSkaterSet"), winter2015Rogue:env.t("icicleDrakeSet")}')
|
||||||
div(ng-repeat='item in ::getSeasonalShopArray(set)',
|
div(ng-repeat='item in ::getSeasonalShopArray(set)',
|
||||||
ng-class="{transparent: user.items.gear.owned[item.key] !== undefined}")
|
ng-class="{transparent: user.items.gear.owned[item.key] !== undefined}")
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
ng-click='purchase("special", Content.spells.special.snowball)')
|
ng-click='purchase("special", Content.spells.special.snowball)')
|
||||||
p {{::Content.spells.special.snowball.value}}
|
p {{::Content.spells.special.snowball.value}}
|
||||||
span(class='shop_gold')
|
span(class='shop_gold')
|
||||||
// div
|
div
|
||||||
button.customize-option(class='Pet_HatchingPotion_Peppermint',
|
button.customize-option(class='Pet_HatchingPotion_Peppermint',
|
||||||
popover='{{::Content.hatchingPotions.Peppermint.notes()}}',
|
popover='{{::Content.hatchingPotions.Peppermint.notes()}}',
|
||||||
popover-title!=env.t("potion", {potionType: "{{::Content.hatchingPotions.Peppermint.text()}}"}),
|
popover-title!=env.t("potion", {potionType: "{{::Content.hatchingPotions.Peppermint.text()}}"}),
|
||||||
@@ -51,7 +51,7 @@
|
|||||||
ng-click='purchase("hatchingPotions", Content.hatchingPotions.Peppermint)')
|
ng-click='purchase("hatchingPotions", Content.hatchingPotions.Peppermint)')
|
||||||
p {{::Content.hatchingPotions.Peppermint.value}}
|
p {{::Content.hatchingPotions.Peppermint.value}}
|
||||||
span.Pet_Currency_Gem1x.inline-gems
|
span.Pet_Currency_Gem1x.inline-gems
|
||||||
// div
|
div
|
||||||
button.customize-option(popover='{{::Content.spells.special.nye.notes()}}', popover-title='{{::Content.spells.special.nye.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='castStart(Content.spells.special.nye)', class='inventory_special_nye')
|
button.customize-option(popover='{{::Content.spells.special.nye.notes()}}', popover-title='{{::Content.spells.special.nye.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='castStart(Content.spells.special.nye)', class='inventory_special_nye')
|
||||||
p {{Content.spells.special.nye.value}}
|
p {{Content.spells.special.nye.value}}
|
||||||
span(class='shop_gold')
|
span(class='shop_gold')
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ mixin customizeProfile(mobile)
|
|||||||
+buyPref('hair.color', ['rainbow','yellow','green','purple','blue','TRUred'], 'rainbowColors')
|
+buyPref('hair.color', ['rainbow','yellow','green','purple','blue','TRUred'], 'rainbowColors')
|
||||||
+buyPref('hair.color', ['pblue2','pgreen2','porange2','ppink2','ppurple2','pyellow2'], 'shimmerColors', 'disabled')
|
+buyPref('hair.color', ['pblue2','pgreen2','porange2','ppink2','ppurple2','pyellow2'], 'shimmerColors', 'disabled')
|
||||||
+buyPref('hair.color', ['candycorn','ghostwhite','halloween','midnight','pumpkin','zombie'], 'hauntedColors', 'disabled')
|
+buyPref('hair.color', ['candycorn','ghostwhite','halloween','midnight','pumpkin','zombie'], 'hauntedColors', 'disabled')
|
||||||
+buyPref('hair.color', ['aurora','festive','hollygreen','peppermint','snowy','winterstar'], 'winteryColors')
|
+buyPref('hair.color', ['aurora','festive','hollygreen','peppermint','snowy','winterstar'], 'winteryColors', 'disabled')
|
||||||
|
|
||||||
li.customize-menu
|
li.customize-menu
|
||||||
menu(label=env.t('bodyHair'))
|
menu(label=env.t('bodyHair'))
|
||||||
|
|||||||
@@ -1,5 +1,28 @@
|
|||||||
h2 1/29/2016 - HABITICA BIRTHDAY BASH: CAKE, ACHIEVEMENTS, BIRTHDAY CARDS, AND PARTY ROBES! PLUS, LAST CHANCE FOR JANUARY AND WINTER WONDERLAND ITEMS
|
h2 2/1/2016 - FEBRUARY MYSTERY BOX, VIDEO CHALLENGE WINNER, AND OFFICIAL MOBILE APP CHALLENGE
|
||||||
hr
|
hr
|
||||||
|
tr
|
||||||
|
td
|
||||||
|
.inventory_present_02.pull-right
|
||||||
|
h3 February Mystery Box
|
||||||
|
p Ooh... What could it be? All Habiticans who are <a href='/#/options/settings/subscription'>subscribed</a> during the month of February will receive the February Mystery Item Set! It will be revealed on the 24th, so keep your eyes peeled. Thanks for supporting the site <3
|
||||||
|
p.small.muted by Lemoness
|
||||||
|
tr
|
||||||
|
td
|
||||||
|
h3 Video Challenge Winner
|
||||||
|
p The winner of the Official Challenge for sharing the video has been randomly selected, and the lucky Habitican is... Baggs98! Thanks so much to everyone who helped us spread the word. You guys are the best.
|
||||||
|
tr
|
||||||
|
td
|
||||||
|
h3 Official Mobile App Challenge
|
||||||
|
p We’ve launched another Official Challenge: the <a href='/#/options/groups/challenges/c14e8130-b22f-4e60-9bcb-7a34e5756829'>Mobile App Download Challenge</a>! In case you missed it, Habitica now has both an <a href='https://itunes.apple.com/us/app/habitica/id994882113?ls=1&mt=8' target='_blank'>iOS app</a> and an <a href='https://play.google.com/store/apps/details?id=com.habitrpg.android.habitica' target='_blank'>Android app</a> so that you can easily use Habitica on the go, and we hope that everyone who has one of those devices will give them a try!
|
||||||
|
br
|
||||||
|
p All you have to do to be eligible for the prize is have downloaded our iOS or Android app. The contest ends on February 29th, and the 10 randomly-selected winners will each get 10 Gems! For the full rules, <a href='/#/options/groups/challenges/c14e8130-b22f-4e60-9bcb-7a34e5756829'>check out the challenge here</a>.
|
||||||
|
|
||||||
|
if menuItem !== 'oldNews'
|
||||||
|
hr
|
||||||
|
a(href='/static/old-news', target='_blank') Read older news
|
||||||
|
|
||||||
|
mixin oldNews
|
||||||
|
h2 1/29/2016 - HABITICA BIRTHDAY BASH: CAKE, ACHIEVEMENTS, BIRTHDAY CARDS, AND PARTY ROBES! PLUS, LAST CHANCE FOR JANUARY AND WINTER WONDERLAND ITEMS
|
||||||
tr
|
tr
|
||||||
td
|
td
|
||||||
.npc_matt.pull-right
|
.npc_matt.pull-right
|
||||||
@@ -36,12 +59,6 @@ h2 1/29/2016 - HABITICA BIRTHDAY BASH: CAKE, ACHIEVEMENTS, BIRTHDAY CARDS, AND P
|
|||||||
td
|
td
|
||||||
h3 Last Chance for Winter Wonderland Outfits & Hair Colors
|
h3 Last Chance for Winter Wonderland Outfits & Hair Colors
|
||||||
p On February 1st, 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 <a href='/#/options/inventory/seasonalshop'>Seasonal Edition items</a> and <a href='/#/options/profile/avatar'>Hair Colors</a> 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!
|
p On February 1st, 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 <a href='/#/options/inventory/seasonalshop'>Seasonal Edition items</a> and <a href='/#/options/profile/avatar'>Hair Colors</a> 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!
|
||||||
|
|
||||||
if menuItem !== 'oldNews'
|
|
||||||
hr
|
|
||||||
a(href='/static/old-news', target='_blank') Read older news
|
|
||||||
|
|
||||||
mixin oldNews
|
|
||||||
h2 1/26/2016 - JANUARY SUBSCRIBER ITEM AND AVATAR CUSTOMIZATION IN THE ANDROID APP
|
h2 1/26/2016 - JANUARY SUBSCRIBER ITEM AND AVATAR CUSTOMIZATION IN THE ANDROID APP
|
||||||
tr
|
tr
|
||||||
td
|
td
|
||||||
|
|||||||