Refactored inventory into separate files

This commit is contained in:
Blade Barringer 2015-07-11 13:13:00 -05:00
parent c33a22ceb3
commit 066206f41c
10 changed files with 434 additions and 383 deletions

View file

@ -0,0 +1,185 @@
.container-fluid
.row
.col-md-6
h2=env.t('inventory')
p.well=env.t('inventoryText')
menu.inventory-list(type='list')
li.customize-menu
menu.pets-menu(label=(env.t('eggs') + ' ({{eggCount}})'))
p.muted(ng-show='eggCount < 1')=env.t('noEggs')
div(ng-repeat='(egg,points) in ownedItems(user.items.eggs)')
//TODO move positioning this styling to css
button.customize-option(popover='{{::Content.eggs[egg].notes()}}', popover-title!=env.t("egg", {eggType: "{{::Content.eggs[egg].text()}}"}), popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='chooseEgg(egg)', class='Pet_Egg_{{::egg}}', ng-class='{selectableInventory: selectedPotion && !(user.items.pets[egg+"-"+selectedPotion.key]>0)}')
.badge.badge-info.stack-count {{points}}
//-p {{Content.eggs[egg].text()}}
li.customize-menu
menu.hatchingPotion-menu(label=(env.t('hatchingPotions') + ' ({{potCount}})'))
p.muted(ng-show='potCount < 1')=env.t('noHatchingPotions')
div(ng-repeat='(pot,points) in ownedItems(user.items.hatchingPotions)')
button.customize-option(popover='{{::Content.hatchingPotions[pot].notes()}}', popover-title!=env.t("potion", {potionType: "{{::Content.hatchingPotions[pot].text()}}"}), popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='choosePotion(pot)', class='Pet_HatchingPotion_{{::pot}}', ng-class='{selectableInventory: selectedEgg && !(user.items.pets[selectedEgg.key+"-"+pot]>0)}')
.badge.badge-info.stack-count {{points}}
li.customize-menu
menu.pets-menu(label=(env.t('quests') + ' ({{questCount}})'))
p.muted(ng-show='questCount < 1')=env.t('noScrolls')
p.muted!=env.t('scrollsText1') + ' <a href="/#/options/groups/party">' + env.t('scrollsText2') + '</a>'
div(ng-repeat='(quest_key,points) in ownedItems(user.items.quests)', ng-init='quest = Content.quests[quest_key]')
button.customize-option(data-popover-html="{{:: quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : questPopover(quest) | markdown}}", popover-title='{{::quest.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='showQuest(quest_key)', ng-class='(quest.previous && !user.achievements.quests[quest.previous]) ? "inventory_quest_scroll_locked inventory_quest_scroll_{{::quest.key}}_locked locked" : "inventory_quest_scroll inventory_quest_scroll_{{::quest.key}}"')
.badge.badge-info.stack-count {{points}}
li.customize-menu
menu.pets-menu(label=env.t('food') + ' ({{foodCount}})')
p.muted(ng-show='foodCount < 1')=env.t('noFood')
div(ng-repeat='(food,points) in ownedItems(user.items.food)')
button.customize-option(popover='{{::Content.food[food].notes()}}', popover-title='{{::Content.food[food].text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='chooseFood(food)', class='Pet_Food_{{::food}}')
.badge.badge-info.stack-count {{points}}
li.customize-menu
menu.pets-menu(label=env.t('special'))
mixin specialItem(k)
div(ng-if='user.items.special.#{k}')
button.customize-option(popover='{{::Content.special.#{k}.notes()}}', popover-title='{{::Content.special.#{k}.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='castStart(Content.special.#{k})', class='inventory_special_#{k}')
.badge.badge-info.stack-count {{user.items.special.#{k}}}
+specialItem('snowball')
+specialItem('spookDust')
+specialItem('shinySeed')
div(ng-if='user.items.special.valentineReceived[0]')
button.customize-option(popover="Valentine's Day Card from {{User.user.items.special.valentineReceived[0]}}", popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='openModal("valentine")', class='inventory_special_valentine')
.badge.badge-info.stack-count {{user.items.special.valentineReceived.length}}
div(ng-if='user.purchased.plan.customerId || user.purchased.plan.mysteryItems.length')
button.customize-option(popover=env.t('subscriberItemText'), popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', class='inventory_present inventory_present_{{moment().format("MM")}}', ng-click="user.ops.openMysteryItem({})")
.badge.badge-info.stack-count {{user.purchased.plan.mysteryItems.length}}
div(ng-if='user.purchased.plan.consecutive.trinkets')
button.customize-option(popover=env.t('mysticHourglassPopover'), popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', class='inventory_special_trinket', ng-click="$state.go('options.inventory.timetravelers')")
.badge.badge-info.stack-count {{user.purchased.plan.consecutive.trinkets}}
div(ng-if='user.items.special.nyeReceived[0]')
button.customize-option(popover="New Year's Card from {{User.user.items.special.nyeReceived[0]}}", popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='openModal("nye")', class='inventory_special_nye')
.badge.badge-info.stack-count {{user.items.special.nyeReceived.length}}
.col-md-6.border-left
h2=env.t('market')
.row-fluid
table.npc_alex_container
tr
td
.pull-left(class="#{env.worldDmg.market ? 'npc_alex_broken' : 'npc_alex'}")
td
.popover.static-popover.fade.right.in
.arrow
h3.popover-title
a(target='_blank', href='http://www.kickstarter.com/profile/523661924')=env.t('alexander')
.popover-content
p=env.t('welcomeMarket')
p
button.btn.btn-primary(ng-show='selectedEgg', ng-click='sellInventory()')=env.t('sellEggForGold', {itemType: "{{selectedEgg.text()}}", gold: "{{selectedEgg.value}}"})
button.btn.btn-primary(ng-show='selectedPotion', ng-click='sellInventory()')=env.t('sellPotionForGold', {itemType: "{{selectedPotion.text()}}", gold: "{{selectedPotion.value}}"})
button.btn.btn-primary(ng-show='selectedFood', ng-click='sellInventory()')=env.t('sellForGold', {item: "{{selectedFood.text()}}", gold: "{{selectedFood.value}}"})
menu.inventory-list(type='list')
li.customize-menu
menu.pets-menu(label=env.t('eggs'))
p.muted!=env.t('dropsExplanation')
div(ng-repeat='egg in Content.eggs', ng-if='egg.canBuy')
button.customize-option(class='Pet_Egg_{{::egg.key}}',
popover='{{::egg.notes()}}', popover-append-to-body='true',
popover-title!=env.t("egg", {eggType: "{{::egg.text()}}"}),
popover-trigger='mouseenter', popover-placement='top',
ng-click='purchase("eggs", egg)', )
p {{::egg.value}}&nbsp;
span.Pet_Currency_Gem1x.inline-gems
//- buyable quest eggs. TODO: Get this from a collection so we don't have to maintain this ridiculous comma-delimited list
//- The hard part will be the trex stuff, since it is allowed to exist with two quests
each egg,quest in {gryphon:'Gryphon',hedgehog:'Hedgehog',ghost_stag:'Deer',rat:'Rat',octopus:'Octopus',dilatory_derby:'Seahorse',harpy:'Parrot',rooster:'Rooster',spider:'Spider',owl:'Owl',penguin:'Penguin',rock:'Rock',bunny:'Bunny',slime:'Slime',sheep:'Sheep',kraken:'Cuttlefish'}
div(ng-show='user.achievements.quests.#{quest} > 0')
button.customize-option(class='Pet_Egg_#{egg}',
popover='{{::Content.eggs.#{egg}.notes()}}', popover-append-to-body='true',
popover-title!=env.t("egg", {eggType: "{{::Content.eggs.#{egg}.text()}}"}),
popover-trigger='mouseenter', popover-placement='top',
ng-click='purchase("eggs", Content.eggs.#{egg})')
p {{::Content.eggs.#{egg}.value}}&nbsp;
span.Pet_Currency_Gem1x.inline-gems
div(ng-show='(user.achievements.quests.trex + user.achievements.quests.trex_undead) > 0')
button.customize-option(class='Pet_Egg_TRex',
popover='{{::Content.eggs.TRex.notes()}}', popover-append-to-body='true',
popover-title!=env.t("egg", {eggType: "{{Content.eggs.TRex.text()}}"}),
popover-trigger='mouseenter', popover-placement='top',
ng-click='purchase("eggs", Content.eggs.TRex)')
p {{::Content.eggs.TRex.value}}&nbsp;
span.Pet_Currency_Gem1x.inline-gems
li.customize-menu
menu.pets-menu(label=env.t('hatchingPotions'))
p.muted!=env.t('dropsExplanation')
div(ng-repeat='pot in Content.hatchingPotions')
button.customize-option(class='Pet_HatchingPotion_{{::pot.key}}',
popover='{{::pot.notes()}}', popover-append-to-body='true',
popover-title!=env.t("potion", {potionType: "{{::pot.text()}}"}),
popover-trigger='mouseenter', popover-placement='top',
ng-click='purchase("hatchingPotions", pot)')
p
| {{::pot.value}}&nbsp;
span.Pet_Currency_Gem1x.inline-gems
li.customize-menu
menu.pets-menu(label=env.t('food'))
p.muted!=env.t('dropsExplanation')
div(ng-repeat='food in Content.food', ng-if='food.canBuy')
button.customize-option(class='Pet_Food_{{::food.key}}',
popover='{{::food.notes()}}', popover-title='{{::food.text()}}',
popover-trigger='mouseenter', popover-placement='top',
popover-append-to-body='true',
ng-click='purchase("food", food)')
p
| {{::food.value}}&nbsp;
span.Pet_Currency_Gem1x.inline-gems
li.customize-menu
menu.pets-menu(label=env.t('quests'))
p.muted!=env.t('scrollsText1') + ' <a href="/#/options/groups/party">' + env.t('scrollsText2') + '</a>'
div(ng-repeat='quest in Content.quests', ng-if='quest.canBuy')
button.customize-option(data-popover-html="{{::quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : questPopover(quest) | markdown}}", popover-title='{{::quest.text()}}', popover-append-to-body="true", popover-trigger='mouseenter', ng-click='buyQuest(quest.key)', ng-class='(quest.previous && !user.achievements.quests[quest.previous]) ? "inventory_quest_scroll_locked inventory_quest_scroll_{{::quest.key}}_locked locked" : "inventory_quest_scroll inventory_quest_scroll_{{::quest.key}}"')
p
| {{::quest.value}}&nbsp;
span.Pet_Currency_Gem1x.inline-gems
li.customize-menu
menu.pets-menu(label=env.t('special'))
div
button.customize-option(popover=env.t('fortifyPop'), popover-title=env.t('fortifyName'), popover-trigger='mouseenter', popover-placement='top', popover-append-to-body='true', ng-click='openModal("reroll")', class='inventory_special_fortify')
p
| 4&nbsp;
span.Pet_Currency_Gem1x.inline-gems
div(ng-show='user.flags.rebirthEnabled')
button.customize-option(popover=env.t('rebirthPop'), popover-title=env.t('rebirthName'), popover-trigger='mouseenter', popover-placement='top', popover-append-to-body='true', ng-click='openModal("rebirth")', class='rebirth_orb')
p(ng-show='user.stats.lvl < 100')
| 8&nbsp;
span.Pet_Currency_Gem1x.inline-gems
div(ng-show='petCount >= 90 || mountCount >= 90')
button.customize-option(popover=env.t('petKeyPop'), popover-title=env.t('petKeyName'), popover-trigger='mouseenter', popover-placement='top', popover-append-to-body='true', ng-click='openModal("pet-key", {size:"lg"})', class='pet_key')
p(ng-show='petCount < 90 || mountCount < 90 || !user.achievements.triadBingo')
| 4&nbsp;
span.Pet_Currency_Gem1x.inline-gems
div(ng-if='user.purchased.plan.customerId', ng-class='::{transparent:(Shared.planGemLimits.convCap + User.user.purchased.plan.consecutive.gemCapExtra - User.user.purchased.plan.gemsBought) < 1}')
button.customize-option(popover=env.t('subGemPop'), popover-title=env.t('subGemName'),
popover-trigger='mouseenter', popover-placement='top',
popover-append-to-body='true',
ng-click='user.ops.purchase({params:{type:"gems",key:"gem"}})')
span.Pet_Currency_Gem.inline-gems
.badge.badge-success.stack-count {{Shared.planGemLimits.convCap + User.user.purchased.plan.consecutive.gemCapExtra - User.user.purchased.plan.gemsBought}}
p
| 20&nbsp;
span.shop_gold
// div
button.customize-option(popover='{{::Content.spells.special.valentine.notes()}}', popover-title='{{::Content.spells.special.valentine.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='castStart(Content.spells.special.valentine)', class='inventory_special_valentine')
p
| {{Content.spells.special.valentine.value}}
span(class='shop_gold')

View file

@ -0,0 +1,46 @@
.container-fluid
.row
.col-md-6.border-right
h3.equipment-title.hint(popover-trigger='mouseenter',
popover-placement='right', popover-append-to-body='true',
popover=env.t('battleGearText'))=env.t('battleGear')
div
button.btn.btn-default(type="button", ng-click='dequip("battleGear");') {{env.t("unequipBattleGear")}}
li.customize-menu.inventory-gear
menu.pets-menu(label='{{::label}}', ng-show='gear[klass]',
ng-repeat='(klass,label) in {warrior:env.t("warrior"), wizard:env.t("mage"), rogue:env.t("rogue"), healer:env.t("healer"), special:env.t("special"), mystery:env.t("mystery"), armoire:env.t("armoireText")}')
div(ng-repeat='item in gear[klass]')
button.customize-option(class='shop_{{::item.key}}',
ng-class='{selectableInventory: user.items.gear.equipped[item.type] == item.key}',
ng-click='equip(item.key)',
popover='{{::item.notes()}}', popover-title='{{::item.text()}}',
popover-trigger='mouseenter', popover-placement='right',
popover-append-to-body='true')
.col-md-6
h3.equipment-title.hint(popover-trigger='mouseenter',
popover-placement='right', popover-append-to-body='true',
popover=env.t('costumeText'))=env.t('costume')
.checkbox.equipment-title
label
input(type="checkbox", ng-model="user.preferences.costume",
ng-change='set({"preferences.costume":user.preferences.costume ? true : false})')
|&nbsp;
=env.t('useCostume')
div
button.btn.btn-default(type="button", ng-click='dequip("costume");') {{env.t("unequipCostume")}}
button.btn.btn-default(type="button", ng-click='dequip("petMountBackground");') {{env.t("unequipPetMountBackground")}}
li.customize-menu(ng-if='user.preferences.costume')
menu.pets-menu(label='{{::label}}', ng-show='gear[klass]',
ng-repeat='(klass,label) in {warrior:env.t("warrior"), wizard:env.t("mage"), rogue:env.t("rogue"), healer:env.t("healer"), special:env.t("special"), mystery:env.t("mystery"), armoire:env.t("armoireText")}')
div(ng-repeat='item in gear[klass]')
button.customize-option(class='shop_{{::item.key}}',
ng-class='{selectableInventory: user.items.gear.costume[item.type] == item.key}',
popover='{{::item.notes()}}',
popover-title='{{::item.text()}}', popover-trigger='mouseenter',
popover-placement='right', popover-append-to-body='true',
ng-click='equip(item.key)')

View file

@ -1,27 +1,20 @@
include ./inventory
include ./stable
script(type='text/ng-template', id='partials/options.inventory.html')
ul.options-menu
li(ng-class="{ active: $state.includes('options.inventory.drops') }")
a(ui-sref='options.inventory.drops')
=env.t('market')
li(ng-class="{ active: $state.includes('options.inventory.pets') }")
a(ui-sref='options.inventory.pets')
=env.t('pets')
li(ng-class="{ active: $state.includes('options.inventory.mounts') }")
a(ui-sref='options.inventory.mounts')
=env.t('mounts')
li.equipment-tab(ng-class="{ active: $state.includes('options.inventory.equipment') }")
a(ui-sref='options.inventory.equipment')
=env.t('equipment')
li(ng-class="{ active: $state.includes('options.inventory.timetravelers') }")
a(ui-sref='options.inventory.timetravelers')
=env.t('timeTravelers')
li(ng-class="{ active: $state.includes('options.inventory.seasonalshop') }")
a(ui-sref='options.inventory.seasonalshop')
=env.t('seasonalShop')
include ./menu
.tab-content
.tab-pane.active
div(ui-view)
script(type='text/ng-template', id='partials/options.inventory.equipment.html')
include ./equipment
script(type='text/ng-template', id='partials/options.inventory.seasonalshop.html')
include ./seasonalShop
script(type='text/ng-template', id='partials/options.inventory.timetravelers.html')
include ./timeTravelers
script(type='text/ng-template', id='partials/options.inventory.drops.html')
include ./drops
script(type='text/ng-template', id='partials/options.inventory.pets.html')
include ./pets
script(type='text/ng-template', id='partials/options.inventory.mounts.html')
include ./mounts

View file

@ -1,260 +0,0 @@
script(type='text/ng-template', id='partials/options.inventory.equipment.html')
.container-fluid
.row
.col-md-6.border-right
h3.equipment-title.hint(popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', popover=env.t('battleGearText'))=env.t('battleGear')
div
button.btn.btn-default(type="button", ng-click='dequip("battleGear");') {{env.t("unequipBattleGear")}}
li.customize-menu.inventory-gear
menu.pets-menu(label='{{::label}}', ng-repeat='(klass,label) in {warrior:env.t("warrior"), wizard:env.t("mage"), rogue:env.t("rogue"), healer:env.t("healer"), special:env.t("special"), mystery:env.t("mystery"), armoire:env.t("armoireText")}', ng-show='gear[klass]')
div(ng-repeat='item in gear[klass]')
button.customize-option(popover='{{::item.notes()}}', popover-title='{{::item.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='user.ops.equip({params:{key:item.key}})', class='shop_{{::item.key}}', ng-class='{selectableInventory: user.items.gear.equipped[item.type] == item.key}')
.col-md-6
h3.equipment-title.hint(popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', popover=env.t('costumeText'))=env.t('costume')
.checkbox.equipment-title
label
input(type="checkbox", ng-model="user.preferences.costume", ng-change='set({"preferences.costume":user.preferences.costume ? true : false})')
|&nbsp;
=env.t('useCostume')
div
button.btn.btn-default(type="button", ng-click='dequip("costume");') {{env.t("unequipCostume")}}
button.btn.btn-default(type="button", ng-click='dequip("petMountBackground");') {{env.t("unequipPetMountBackground")}}
li.customize-menu(ng-if='user.preferences.costume')
menu.pets-menu(label='{{::label}}', ng-repeat='(klass,label) in {warrior:env.t("warrior"), wizard:env.t("mage"), rogue:env.t("rogue"), healer:env.t("healer"), special:env.t("special"), mystery:env.t("mystery"), armoire:env.t("armoireText")}', ng-show='gear[klass]')
div(ng-repeat='item in gear[klass]')
button.customize-option(popover='{{::item.notes()}}', popover-title='{{::item.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='user.ops.equip({params:{type:"costume", key:item.key}})', class='shop_{{::item.key}}', ng-class='{selectableInventory: user.items.gear.costume[item.type] == item.key}')
script(type='text/ng-template', id='partials/options.inventory.seasonalshop.html')
.container-fluid
.stable.row
.col-md-2
.seasonalshop_summer2015
.col-md-10
.popover.static-popover.fade.right.in
.arrow
h3.popover-title!=env.t('seasonalShopTitle', {linkStart:"<a href='http://blog.habitrpg.com/who' target='_blank'>", linkEnd: "</a>"})
.popover-content
p!=env.t('seasonalShopSummerText')
.well(ng-if='User.user.achievements.rebirths > 0')=env.t('seasonalShopRebirth')
li.customize-menu.inventory-gear
menu.pets-menu(label='{{::label}}', ng-repeat='(set,label) in ::{summerWarrior:env.t("daringSwashbucklerSet"), summerMage:env.t("emeraldMermageSet"), summerHealer:env.t("reefSeahealerSet"), summerRogue:env.t("roguishPirateSet")}')
div(ng-repeat='item in ::getSeasonalShopArray(set)' ng-class="{transparent: user.items.gear.owned[item.key] === true ||user.items.gear.owned[item.key] === false}")
button.customize-option(popover='{{::item.notes()}}', popover-title='{{::item.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='purchase(item.type,item)', class='shop_{{::item.key}}')
.text-left
| {{((item.specialClass == "wizard") && (item.type == "weapon")) + 1}}&nbsp;
span.Pet_Currency_Gem1x.inline-gems
// menu.pets-menu(label=env.t('quests'))
div(ng-repeat='quest in ::getSeasonalShopQuests()')
button.customize-option(data-popover-html="{{::quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : questPopover(quest) | markdown}}", popover-append-to-body='true', popover-title='{{::quest.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='buyQuest(quest.key)', ng-class='(quest.previous && !user.achievements.quests[quest.previous]) ? "inventory_quest_scroll_locked inventory_quest_scroll_{{::quest.key}}_locked locked" : "inventory_quest_scroll inventory_quest_scroll_{{::quest.key}}"')
p
| {{::quest.value}}&nbsp;
span.Pet_Currency_Gem1x.inline-gems
// menu.pets-menu(label=env.t('seasonalItems'))
div
button.customize-option(popover='{{::Content.spells.special.shinySeed.notes()}}', popover-title='{{::Content.spells.special.shinySeed.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='purchase("special", Content.spells.special.shinySeed)', class='inventory_special_shinySeed')
p
| {{::Content.spells.special.shinySeed.value}}
span(class='shop_gold')
// div
button.customize-option(popover='{{::Content.spells.special.snowball.notes()}}', popover-title='{{::Content.spells.special.snowball.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='purchase("special", Content.spells.special.snowball)', class='inventory_special_snowball')
p
| {{::Content.spells.special.snowball.value}}
span(class='shop_gold')
// 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')
p
| {{Content.spells.special.nye.value}}
span(class='shop_gold')
script(type='text/ng-template', id='partials/options.inventory.timetravelers.html')
.container-fluid
.stable.row(ng-if='user.purchased.plan.consecutive.trinkets <= 0')
.col-md-2
.npc_timetravelers
.col-md-10
.popover.static-popover.fade.right.in
.arrow
h3.popover-title!=env.t('timeTravelersTitleNoSub', {linkStartTyler: "<a href='https://github.com/lefnire' target='_blank'>", linkStartVicky: "<a href='http://blog.habitrpg.com/who' target='_blank'>", linkEnd: "</a>"})
.popover-content
p!=env.t('timeTravelersPopoverNoSub', {linkStart: "<a href='https://habitrpg.com/#/options/settings/subscription' target='_blank'>", linkEnd: "</a>"})
.row.stable(ng-if='user.purchased.plan.consecutive.trinkets > 0')
.col-md-2
.npc_timetravelers_active
.col-md-10
.popover.static-popover.fade.right.in
.arrow
h3.popover-title=env.t('timeTravelersTitle')
.popover-content
.pull-right
span.inventory_special_trinket.inline-gems
b x{{user.purchased.plan.consecutive.trinkets}}
p!=env.t('timeTravelersPopover', {linkStart: "<a href='http://habitrpg.wikia.com/wiki/Mystery_Item' target='_blank'>", linkEnd: "</a>"})
.col-md-12
li.customize-menu.inventory-gear
menu.pets-menu(label='{{::set.text}}', ng-repeat='set in Content.timeTravelerStore(user.items.gear.owned)')
div(ng-repeat='item in set.items')
button.customize-option(popover='{{::item.notes()}}', popover-title='{{::item.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='user.ops.buyMysterySet({params:{key:set.key}})', class='shop_{{::item.key}}')
script(type='text/ng-template', id='partials/options.inventory.drops.html')
.container-fluid
.row
.col-md-6
h2=env.t('inventory')
p.well=env.t('inventoryText')
menu.inventory-list(type='list')
li.customize-menu
menu.pets-menu(label=(env.t('eggs') + ' ({{eggCount}})'))
p.muted(ng-show='eggCount < 1')=env.t('noEggs')
div(ng-repeat='(egg,points) in ownedItems(user.items.eggs)')
//TODO move positioning this styling to css
button.customize-option(popover='{{::Content.eggs[egg].notes()}}', popover-title!=env.t("egg", {eggType: "{{::Content.eggs[egg].text()}}"}), popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='chooseEgg(egg)', class='Pet_Egg_{{::egg}}', ng-class='{selectableInventory: selectedPotion && !(user.items.pets[egg+"-"+selectedPotion.key]>0)}')
.badge.badge-info.stack-count {{points}}
//-p {{Content.eggs[egg].text()}}
li.customize-menu
menu.hatchingPotion-menu(label=(env.t('hatchingPotions') + ' ({{potCount}})'))
p.muted(ng-show='potCount < 1')=env.t('noHatchingPotions')
div(ng-repeat='(pot,points) in ownedItems(user.items.hatchingPotions)')
button.customize-option(popover='{{::Content.hatchingPotions[pot].notes()}}', popover-title!=env.t("potion", {potionType: "{{::Content.hatchingPotions[pot].text()}}"}), popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='choosePotion(pot)', class='Pet_HatchingPotion_{{::pot}}', ng-class='{selectableInventory: selectedEgg && !(user.items.pets[selectedEgg.key+"-"+pot]>0)}')
.badge.badge-info.stack-count {{points}}
li.customize-menu
menu.pets-menu(label=(env.t('quests') + ' ({{questCount}})'))
p.muted(ng-show='questCount < 1')=env.t('noScrolls')
p.muted!=env.t('scrollsText1') + ' <a href="/#/options/groups/party">' + env.t('scrollsText2') + '</a>'
div(ng-repeat='(quest_key,points) in ownedItems(user.items.quests)', ng-init='quest = Content.quests[quest_key]')
button.customize-option(data-popover-html="{{:: quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : questPopover(quest) | markdown}}", popover-title='{{::quest.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='showQuest(quest_key)', ng-class='(quest.previous && !user.achievements.quests[quest.previous]) ? "inventory_quest_scroll_locked inventory_quest_scroll_{{::quest.key}}_locked locked" : "inventory_quest_scroll inventory_quest_scroll_{{::quest.key}}"')
.badge.badge-info.stack-count {{points}}
li.customize-menu
menu.pets-menu(label=env.t('food') + ' ({{foodCount}})')
p.muted(ng-show='foodCount < 1')=env.t('noFood')
div(ng-repeat='(food,points) in ownedItems(user.items.food)')
button.customize-option(popover='{{::Content.food[food].notes()}}', popover-title='{{::Content.food[food].text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='chooseFood(food)', class='Pet_Food_{{::food}}')
.badge.badge-info.stack-count {{points}}
li.customize-menu
menu.pets-menu(label=env.t('special'))
mixin specialItem(k)
div(ng-if='user.items.special.#{k}')
button.customize-option(popover='{{::Content.special.#{k}.notes()}}', popover-title='{{::Content.special.#{k}.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='castStart(Content.special.#{k})', class='inventory_special_#{k}')
.badge.badge-info.stack-count {{user.items.special.#{k}}}
+specialItem('snowball')
+specialItem('spookDust')
+specialItem('shinySeed')
div(ng-if='user.items.special.valentineReceived[0]')
button.customize-option(popover="Valentine's Day Card from {{User.user.items.special.valentineReceived[0]}}", popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='openModal("valentine")', class='inventory_special_valentine')
.badge.badge-info.stack-count {{user.items.special.valentineReceived.length}}
div(ng-if='user.purchased.plan.customerId || user.purchased.plan.mysteryItems.length')
button.customize-option(popover=env.t('subscriberItemText'), popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', class='inventory_present inventory_present_{{moment().format("MM")}}', ng-click="user.ops.openMysteryItem({})")
.badge.badge-info.stack-count {{user.purchased.plan.mysteryItems.length}}
div(ng-if='user.purchased.plan.consecutive.trinkets')
button.customize-option(popover=env.t('mysticHourglassPopover'), popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', class='inventory_special_trinket', ng-click="$state.go('options.inventory.timetravelers')")
.badge.badge-info.stack-count {{user.purchased.plan.consecutive.trinkets}}
div(ng-if='user.items.special.nyeReceived[0]')
button.customize-option(popover="New Year's Card from {{User.user.items.special.nyeReceived[0]}}", popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='openModal("nye")', class='inventory_special_nye')
.badge.badge-info.stack-count {{user.items.special.nyeReceived.length}}
.col-md-6.border-left
h2=env.t('market')
.row-fluid
table.npc_alex_container
tr
td
.pull-left(class="#{env.worldDmg.market ? 'npc_alex_broken' : 'npc_alex'}")
td
.popover.static-popover.fade.right.in
.arrow
h3.popover-title
a(target='_blank', href='http://www.kickstarter.com/profile/523661924')=env.t('alexander')
.popover-content
p=env.t('welcomeMarket')
p
button.btn.btn-primary(ng-show='selectedEgg', ng-click='sellInventory()')=env.t('sellEggForGold', {itemType: "{{selectedEgg.text()}}", gold: "{{selectedEgg.value}}"})
button.btn.btn-primary(ng-show='selectedPotion', ng-click='sellInventory()')=env.t('sellPotionForGold', {itemType: "{{selectedPotion.text()}}", gold: "{{selectedPotion.value}}"})
button.btn.btn-primary(ng-show='selectedFood', ng-click='sellInventory()')=env.t('sellForGold', {item: "{{selectedFood.text()}}", gold: "{{selectedFood.value}}"})
menu.inventory-list(type='list')
li.customize-menu
menu.pets-menu(label=env.t('eggs'))
p.muted!=env.t('dropsExplanation')
div(ng-repeat='egg in Content.eggs', ng-if='egg.canBuy')
button.customize-option(popover='{{::egg.notes()}}', popover-title!=env.t("egg", {eggType: "{{::egg.text()}}"}), popover-trigger='mouseenter', popover-placement='top', popover-append-to-body='true', ng-click='purchase("eggs", egg)', class='Pet_Egg_{{::egg.key}}')
p
| {{::egg.value}}&nbsp;
span.Pet_Currency_Gem1x.inline-gems
//- buyable quest eggs. TODO: Get this from a collection so we don't have to maintain this ridiculous comma-delimited list
each egg,quest in {gryphon:'Gryphon',hedgehog:'Hedgehog',ghost_stag:'Deer',rat:'Rat',octopus:'Octopus',dilatory_derby:'Seahorse',harpy:'Parrot',rooster:'Rooster',spider:'Spider',owl:'Owl',penguin:'Penguin',rock:'Rock',bunny:'Bunny',slime:'Slime',sheep:'Sheep',kraken:'Cuttlefish'}
div(ng-show='user.achievements.quests.#{quest} > 0')
button.customize-option(popover='{{::Content.eggs.#{egg}.notes()}}', popover-title!=env.t("egg", {eggType: "{{::Content.eggs.#{egg}.text()}}"}), popover-trigger='mouseenter', popover-placement='top', popover-append-to-body='true', ng-click='purchase("eggs", Content.eggs.#{egg})', class='Pet_Egg_#{egg}')
p
| {{::Content.eggs.#{egg}.value}}&nbsp;
span.Pet_Currency_Gem1x.inline-gems
div(ng-show='(user.achievements.quests.trex + user.achievements.quests.trex_undead) > 0')
button.customize-option(popover='{{::Content.eggs.TRex.notes()}}', popover-title!=env.t("egg", {eggType: "{{Content.eggs.TRex.text()}}"}), popover-trigger='mouseenter', popover-placement='top', popover-append-to-body='true', ng-click='purchase("eggs", Content.eggs.TRex)', class='Pet_Egg_TRex')
p
| {{::Content.eggs.TRex.value}}&nbsp;
span.Pet_Currency_Gem1x.inline-gems
li.customize-menu
menu.pets-menu(label=env.t('hatchingPotions'))
p.muted!=env.t('dropsExplanation')
div(ng-repeat='pot in Content.hatchingPotions')
button.customize-option(popover='{{::pot.notes()}}', popover-title!=env.t("potion", {potionType: "{{::pot.text()}}"}), popover-trigger='mouseenter', popover-placement='top', popover-append-to-body='true', ng-click='purchase("hatchingPotions", pot)', class='Pet_HatchingPotion_{{::pot.key}}')
p
| {{::pot.value}}&nbsp;
span.Pet_Currency_Gem1x.inline-gems
li.customize-menu
menu.pets-menu(label=env.t('food'))
p.muted!=env.t('dropsExplanation')
div(ng-repeat='food in Content.food', ng-if='food.canBuy')
button.customize-option(popover='{{::food.notes()}}', popover-title='{{::food.text()}}', popover-trigger='mouseenter', popover-placement='top', popover-append-to-body='true', ng-click='purchase("food", food)', class='Pet_Food_{{::food.key}}')
p
| {{::food.value}}&nbsp;
span.Pet_Currency_Gem1x.inline-gems
li.customize-menu
menu.pets-menu(label=env.t('quests'))
p.muted!=env.t('scrollsText1') + ' <a href="/#/options/groups/party">' + env.t('scrollsText2') + '</a>'
div(ng-repeat='quest in Content.quests', ng-if='quest.canBuy')
button.customize-option(data-popover-html="{{::quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : questPopover(quest) | markdown}}", popover-title='{{::quest.text()}}', popover-append-to-body="true", popover-trigger='mouseenter', ng-click='buyQuest(quest.key)', ng-class='(quest.previous && !user.achievements.quests[quest.previous]) ? "inventory_quest_scroll_locked inventory_quest_scroll_{{::quest.key}}_locked locked" : "inventory_quest_scroll inventory_quest_scroll_{{::quest.key}}"')
p
| {{::quest.value}}&nbsp;
span.Pet_Currency_Gem1x.inline-gems
li.customize-menu
menu.pets-menu(label=env.t('special'))
div
button.customize-option(popover=env.t('fortifyPop'), popover-title=env.t('fortifyName'), popover-trigger='mouseenter', popover-placement='top', popover-append-to-body='true', ng-click='openModal("reroll")', class='inventory_special_fortify')
p
| 4&nbsp;
span.Pet_Currency_Gem1x.inline-gems
div(ng-show='user.flags.rebirthEnabled')
button.customize-option(popover=env.t('rebirthPop'), popover-title=env.t('rebirthName'), popover-trigger='mouseenter', popover-placement='top', popover-append-to-body='true', ng-click='openModal("rebirth")', class='rebirth_orb')
p(ng-show='user.stats.lvl < 100')
| 8&nbsp;
span.Pet_Currency_Gem1x.inline-gems
div(ng-show='petCount >= 90 || mountCount >= 90')
button.customize-option(popover=env.t('petKeyPop'), popover-title=env.t('petKeyName'), popover-trigger='mouseenter', popover-placement='top', popover-append-to-body='true', ng-click='openModal("pet-key", {size:"lg"})', class='pet_key')
p(ng-show='petCount < 90 || mountCount < 90 || !user.achievements.triadBingo')
| 4&nbsp;
span.Pet_Currency_Gem1x.inline-gems
div(ng-if='user.purchased.plan.customerId', ng-class='::{transparent:(Shared.planGemLimits.convCap + User.user.purchased.plan.consecutive.gemCapExtra - User.user.purchased.plan.gemsBought) < 1}')
button.customize-option(popover=env.t('subGemPop'), popover-title=env.t('subGemName'), popover-trigger='mouseenter', popover-placement='top', popover-append-to-body='true', ng-click='user.ops.purchase({params:{type:"gems",key:"gem"}})')
span.Pet_Currency_Gem.inline-gems
.badge.badge-success.stack-count {{Shared.planGemLimits.convCap + User.user.purchased.plan.consecutive.gemCapExtra - User.user.purchased.plan.gemsBought}}
p
| 20&nbsp;
span.shop_gold
// div
button.customize-option(popover='{{::Content.spells.special.valentine.notes()}}', popover-title='{{::Content.spells.special.valentine.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='castStart(Content.spells.special.valentine)', class='inventory_special_valentine')
p
| {{Content.spells.special.valentine.value}}
span(class='shop_gold')

View file

@ -0,0 +1,23 @@
ul.options-menu
li(ng-class="{ active: $state.includes('options.inventory.drops') }")
a(ui-sref='options.inventory.drops')
=env.t('market')
li(ng-class="{ active: $state.includes('options.inventory.pets') }")
a(ui-sref='options.inventory.pets')
=env.t('pets')
li(ng-class="{ active: $state.includes('options.inventory.mounts') }")
a(ui-sref='options.inventory.mounts')
=env.t('mounts')
li.equipment-tab(ng-class="{ active: $state.includes('options.inventory.equipment') }")
a(ui-sref='options.inventory.equipment')
=env.t('equipment')
li(ng-class="{ active: $state.includes('options.inventory.timetravelers') }")
a(ui-sref='options.inventory.timetravelers')
=env.t('timeTravelers')
li(ng-class="{ active: $state.includes('options.inventory.seasonalshop') }")
a(ui-sref='options.inventory.seasonalshop')
=env.t('seasonalShop')
.tab-content
.tab-pane.active
div(ui-view)

View file

@ -0,0 +1,39 @@
mixin mountList(source)
menu.pets(type='list')
each egg in source
-if(!egg.noMount) {
li.customize-menu
menu
each potion in env.Content.hatchingPotions
- mount = egg.key+"-"+potion.key
div(popover-trigger='mouseenter', popover=env.t('mountName', {potion: potion.text(env.language.code), mount: egg.mountText(env.language.code)}), popover-placement='bottom')
button(class="pet-button Mount_Head_#{mount}", ng-show='user.items.mounts["#{mount}"]', ng-class='{active: user.items.currentMount == "#{mount}"}', ng-click='chooseMount("#{egg.key}", "#{potion.key}")')
//div(class='Mount_Head_{{mount}}')
button(class="pet-button mount-not-owned", ng-hide='user.items.mounts["#{mount}"]')
.PixelPaw
-}
.container-fluid
.stable.row
.col-md-2
div(class="#{env.worldDmg.stables ? 'npc_matt_broken' : 'npc_matt'}")
.col-md-10
.popover.static-popover.fade.right.in
.arrow
h3.popover-title
a(target='_blank', href='http://www.kickstarter.com/profile/mattboch')=env.t('mattBoch')
.popover-content
p=env.t('mattShall', {name: "{{user.profile.name}}"})
h4= env.t('mountMasterProgress') + ': {{mountCount}} / {{totalMounts}} ' + env.t('mountsTamed')
.col-md-12
+mountList(env.Content.dropEggs)
.col-md-12
h4=env.t('questMounts')
+mountList(env.Content.questEggs)
.col-md-12
h4=env.t('rareMounts')
menu
div
each t,k in env.Content.specialMounts
- var animal = k.split('-')[0], color = k.split('-')[1]
button(ng-if='user.items.mounts["#{animal}-#{color}"]', class="pet-button Mount_Head_#{animal}-#{color}", ng-class='{active: user.items.currentMount == "#{animal}-#{color}"}', ng-click='chooseMount("#{animal}", "#{color}")', popover=env.t(t), popover-trigger='mouseenter', popover-placement='bottom')

View file

@ -0,0 +1,55 @@
mixin petList(source)
menu.pets(type='list')
each egg in source
li.customize-menu
menu
each potion in env.Content.hatchingPotions
- pet = egg.key+"-"+potion.key
div(popover-trigger='mouseenter', popover=env.t('petName', {potion: potion.text(env.language.code), egg: egg.text(env.language.code)}), popover-placement='bottom')
button(class="pet-button Pet-#{pet}", ng-if='user.items.pets["#{pet}"]>0', ng-class='{active: user.items.currentPet == "#{pet}", selectableInventory: #{!egg.noMount} && selectedFood && !user.items.mounts["#{pet}"]}', ng-click='choosePet("#{egg.key}", "#{potion.key}")')
.progress(ng-show='!user.items.mounts["#{pet}"]')
.progress-bar.progress-bar-success(style='width:{{user.items.pets["#{pet}"]/.5}}%')
button(class="pet-button pet-not-owned", ng-if='!user.items.pets["#{pet}"]')
.PixelPaw
button(class="pet-evolved pet-button Pet-#{pet}", ng-if='user.items.pets["#{pet}"]<0')
.container-fluid
.stable.row
.col-md-2
div(class="#{env.worldDmg.stables ? 'npc_matt_broken' : 'npc_matt'}")
.col-md-10
.popover.static-popover.fade.right.in
.arrow
h3.popover-title
a(target='_blank', href='http://www.kickstarter.com/profile/mattboch')=env.t('mattBoch')
.popover-content
p=env.t('mattBochText1')
h4= env.t('beastMasterProgress') + ': {{petCount}} / {{totalPets}} ' + env.t('petsFound')
.col-md-12
+petList(env.Content.dropEggs)
.col-md-12
h4=env.t('questPets')
+petList(env.Content.questEggs)
.col-md-12
h4=env.t('rarePets')
menu
div
each t,k in env.Content.specialPets
- var egg = k.split('-')[0], pot = k.split('-')[1]
button(ng-if='user.items.pets["#{egg}-#{pot}"]', class="pet-button Pet-#{egg}-#{pot}", ng-class='{active: user.items.currentPet == "#{egg}-#{pot}"}', ng-click='choosePet("#{egg}", "#{pot}")', popover=env.t(t), popover-trigger='mouseenter', popover-placement='bottom')
a(target='_blank', href='http://habitrpg.wikia.com/wiki/Contributing_to_HabitRPG')
button(ng-if='!user.items.pets["Dragon-Hydra"]', class="pet-button pet-not-owned", popover-trigger='mouseenter', popover-placement='right', popover=env.t('rarePetPop1'), popover-title=env.t('rarePetPop2'))
.PixelPaw-Gold
.well.food-tray
p(ng-show='foodCount < 1')=env.t('noFood')
menu.inventory-list(type='list', ng-if='foodCount > 0')
li.customize-menu
menu.pets-menu(label=env.t('food'))
div(ng-repeat='(food,points) in ownedItems(user.items.food)')
button.customize-option(popover-append-to-body='true', popover='{{:: Content.food[food].notes()}}', popover-title='{{:: Content.food[food].text()}}', popover-trigger='mouseenter', popover-placement='top', ng-click='chooseFood(food)', ng-class='{selectableInventory: selectedFood == Content.food[food]}', class='Pet_Food_{{::food}}')
.badge.badge-info.stack-count {{points}}
// Remove this once we have images in
p {{:: Content.food[food].text()}}

View file

@ -0,0 +1,40 @@
.container-fluid
.stable.row
.col-md-2
.seasonalshop_summer2015
.col-md-10
.popover.static-popover.fade.right.in
.arrow
h3.popover-title!=env.t('seasonalShopTitle', {linkStart:"<a href='http://blog.habitrpg.com/who' target='_blank'>", linkEnd: "</a>"})
.popover-content
p!=env.t('seasonalShopSummerText')
.well(ng-if='User.user.achievements.rebirths > 0')=env.t('seasonalShopRebirth')
li.customize-menu.inventory-gear
menu.pets-menu(label='{{::label}}', ng-repeat='(set,label) in ::{summerWarrior:env.t("daringSwashbucklerSet"), summerMage:env.t("emeraldMermageSet"), summerHealer:env.t("reefSeahealerSet"), summerRogue:env.t("roguishPirateSet")}')
div(ng-repeat='item in ::getSeasonalShopArray(set)' ng-class="{transparent: user.items.gear.owned[item.key] === true ||user.items.gear.owned[item.key] === false}")
button.customize-option(popover='{{::item.notes()}}', popover-title='{{::item.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='purchase(item.type,item)', class='shop_{{::item.key}}')
.text-left
| {{((item.specialClass == "wizard") && (item.type == "weapon")) + 1}}&nbsp;
span.Pet_Currency_Gem1x.inline-gems
// menu.pets-menu(label=env.t('quests'))
div(ng-repeat='quest in ::getSeasonalShopQuests()')
button.customize-option(data-popover-html="{{::quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : questPopover(quest) | markdown}}", popover-append-to-body='true', popover-title='{{::quest.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='buyQuest(quest.key)', ng-class='(quest.previous && !user.achievements.quests[quest.previous]) ? "inventory_quest_scroll_locked inventory_quest_scroll_{{::quest.key}}_locked locked" : "inventory_quest_scroll inventory_quest_scroll_{{::quest.key}}"')
p
| {{::quest.value}}&nbsp;
span.Pet_Currency_Gem1x.inline-gems
// menu.pets-menu(label=env.t('seasonalItems'))
div
button.customize-option(popover='{{::Content.spells.special.shinySeed.notes()}}', popover-title='{{::Content.spells.special.shinySeed.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='purchase("special", Content.spells.special.shinySeed)', class='inventory_special_shinySeed')
p
| {{::Content.spells.special.shinySeed.value}}
span(class='shop_gold')
// div
button.customize-option(popover='{{::Content.spells.special.snowball.notes()}}', popover-title='{{::Content.spells.special.snowball.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='purchase("special", Content.spells.special.snowball)', class='inventory_special_snowball')
p
| {{::Content.spells.special.snowball.value}}
span(class='shop_gold')
// 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')
p
| {{Content.spells.special.nye.value}}
span(class='shop_gold')

View file

@ -1,98 +0,0 @@
mixin petList(source)
menu.pets(type='list')
each egg in source
li.customize-menu
menu
each potion in env.Content.hatchingPotions
- pet = egg.key+"-"+potion.key
div(popover-trigger='mouseenter', popover=env.t('petName', {potion: potion.text(env.language.code), egg: egg.text(env.language.code)}), popover-placement='bottom')
button(class="pet-button Pet-#{pet}", ng-if='user.items.pets["#{pet}"]>0', ng-class='{active: user.items.currentPet == "#{pet}", selectableInventory: #{!egg.noMount} && selectedFood && !user.items.mounts["#{pet}"]}', ng-click='choosePet("#{egg.key}", "#{potion.key}")')
.progress(ng-show='!user.items.mounts["#{pet}"]')
.progress-bar.progress-bar-success(style='width:{{user.items.pets["#{pet}"]/.5}}%')
button(class="pet-button pet-not-owned", ng-if='!user.items.pets["#{pet}"]')
.PixelPaw
button(class="pet-evolved pet-button Pet-#{pet}", ng-if='user.items.pets["#{pet}"]<0')
mixin mountList(source)
menu.pets(type='list')
each egg in source
-if(!egg.noMount) {
li.customize-menu
menu
each potion in env.Content.hatchingPotions
- mount = egg.key+"-"+potion.key
div(popover-trigger='mouseenter', popover=env.t('mountName', {potion: potion.text(env.language.code), mount: egg.mountText(env.language.code)}), popover-placement='bottom')
button(class="pet-button Mount_Head_#{mount}", ng-show='user.items.mounts["#{mount}"]', ng-class='{active: user.items.currentMount == "#{mount}"}', ng-click='chooseMount("#{egg.key}", "#{potion.key}")')
//div(class='Mount_Head_{{mount}}')
button(class="pet-button mount-not-owned", ng-hide='user.items.mounts["#{mount}"]')
.PixelPaw
-}
script(type='text/ng-template', id='partials/options.inventory.mounts.html')
.container-fluid
.stable.row
.col-md-2
div(class="#{env.worldDmg.stables ? 'npc_matt_broken' : 'npc_matt'}")
.col-md-10
.popover.static-popover.fade.right.in
.arrow
h3.popover-title
a(target='_blank', href='http://www.kickstarter.com/profile/mattboch')=env.t('mattBoch')
.popover-content
p=env.t('mattShall', {name: "{{user.profile.name}}"})
h4= env.t('mountMasterProgress') + ': {{mountCount}} / {{totalMounts}} ' + env.t('mountsTamed')
.col-md-12
+mountList(env.Content.dropEggs)
.col-md-12
h4=env.t('questMounts')
+mountList(env.Content.questEggs)
.col-md-12
h4=env.t('rareMounts')
menu
div
each t,k in env.Content.specialMounts
- var animal = k.split('-')[0], color = k.split('-')[1]
button(ng-if='user.items.mounts["#{animal}-#{color}"]', class="pet-button Mount_Head_#{animal}-#{color}", ng-class='{active: user.items.currentMount == "#{animal}-#{color}"}', ng-click='chooseMount("#{animal}", "#{color}")', popover=env.t(t), popover-trigger='mouseenter', popover-placement='bottom')
script(type='text/ng-template', id='partials/options.inventory.pets.html')
.container-fluid
.stable.row
.col-md-2
div(class="#{env.worldDmg.stables ? 'npc_matt_broken' : 'npc_matt'}")
.col-md-10
.popover.static-popover.fade.right.in
.arrow
h3.popover-title
a(target='_blank', href='http://www.kickstarter.com/profile/mattboch')=env.t('mattBoch')
.popover-content
p=env.t('mattBochText1')
h4= env.t('beastMasterProgress') + ': {{petCount}} / {{totalPets}} ' + env.t('petsFound')
.col-md-12
+petList(env.Content.dropEggs)
.col-md-12
h4=env.t('questPets')
+petList(env.Content.questEggs)
.col-md-12
h4=env.t('rarePets')
menu
div
each t,k in env.Content.specialPets
- var egg = k.split('-')[0], pot = k.split('-')[1]
button(ng-if='user.items.pets["#{egg}-#{pot}"]', class="pet-button Pet-#{egg}-#{pot}", ng-class='{active: user.items.currentPet == "#{egg}-#{pot}"}', ng-click='choosePet("#{egg}", "#{pot}")', popover=env.t(t), popover-trigger='mouseenter', popover-placement='bottom')
a(target='_blank', href='http://habitrpg.wikia.com/wiki/Contributing_to_HabitRPG')
button(ng-if='!user.items.pets["Dragon-Hydra"]', class="pet-button pet-not-owned", popover-trigger='mouseenter', popover-placement='right', popover=env.t('rarePetPop1'), popover-title=env.t('rarePetPop2'))
.PixelPaw-Gold
.well.food-tray
p(ng-show='foodCount < 1')=env.t('noFood')
menu.inventory-list(type='list', ng-if='foodCount > 0')
li.customize-menu
menu.pets-menu(label=env.t('food'))
div(ng-repeat='(food,points) in ownedItems(user.items.food)')
button.customize-option(popover-append-to-body='true', popover='{{:: Content.food[food].notes()}}', popover-title='{{:: Content.food[food].text()}}', popover-trigger='mouseenter', popover-placement='top', ng-click='chooseFood(food)', ng-class='{selectableInventory: selectedFood == Content.food[food]}', class='Pet_Food_{{::food}}')
.badge.badge-info.stack-count {{points}}
// Remove this once we have images in
p {{:: Content.food[food].text()}}

View file

@ -0,0 +1,28 @@
.container-fluid
.stable.row(ng-if='user.purchased.plan.consecutive.trinkets <= 0')
.col-md-2
.npc_timetravelers
.col-md-10
.popover.static-popover.fade.right.in
.arrow
h3.popover-title!=env.t('timeTravelersTitleNoSub', {linkStartTyler: "<a href='https://github.com/lefnire' target='_blank'>", linkStartVicky: "<a href='http://blog.habitrpg.com/who' target='_blank'>", linkEnd: "</a>"})
.popover-content
p!=env.t('timeTravelersPopoverNoSub', {linkStart: "<a href='https://habitrpg.com/#/options/settings/subscription' target='_blank'>", linkEnd: "</a>"})
.row.stable(ng-if='user.purchased.plan.consecutive.trinkets > 0')
.col-md-2
.npc_timetravelers_active
.col-md-10
.popover.static-popover.fade.right.in
.arrow
h3.popover-title=env.t('timeTravelersTitle')
.popover-content
.pull-right
span.inventory_special_trinket.inline-gems
b x{{user.purchased.plan.consecutive.trinkets}}
p!=env.t('timeTravelersPopover', {linkStart: "<a href='http://habitrpg.wikia.com/wiki/Mystery_Item' target='_blank'>", linkEnd: "</a>"})
.col-md-12
li.customize-menu.inventory-gear
menu.pets-menu(label='{{::set.text}}', ng-repeat='set in Content.timeTravelerStore(user.items.gear.owned)')
div(ng-repeat='item in set.items')
button.customize-option(popover='{{::item.notes()}}', popover-title='{{::item.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='user.ops.buyMysterySet({params:{key:set.key}})', class='shop_{{::item.key}}')