diff --git a/website/views/options/inventory/drops.jade b/website/views/options/inventory/drops.jade new file mode 100644 index 0000000000..ddc2d4da16 --- /dev/null +++ b/website/views/options/inventory/drops.jade @@ -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') + ' ' + env.t('scrollsText2') + '' + 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}}  + 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}}  + 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}}  + 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}}  + 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}}  + span.Pet_Currency_Gem1x.inline-gems + + li.customize-menu + menu.pets-menu(label=env.t('quests')) + p.muted!=env.t('scrollsText1') + ' ' + env.t('scrollsText2') + '' + 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}}  + 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  + 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  + 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  + 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  + 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') diff --git a/website/views/options/inventory/equipment.jade b/website/views/options/inventory/equipment.jade new file mode 100644 index 0000000000..364b2fae61 --- /dev/null +++ b/website/views/options/inventory/equipment.jade @@ -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})') + |  + =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)') diff --git a/website/views/options/inventory/index.jade b/website/views/options/inventory/index.jade index 63959b1708..6df18e1e4b 100644 --- a/website/views/options/inventory/index.jade +++ b/website/views/options/inventory/index.jade @@ -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 diff --git a/website/views/options/inventory/inventory.jade b/website/views/options/inventory/inventory.jade deleted file mode 100644 index 22bb1e0001..0000000000 --- a/website/views/options/inventory/inventory.jade +++ /dev/null @@ -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})') - |  - =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:"", linkEnd: ""}) - .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}}  - 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}}  - 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: "", linkStartVicky: "", linkEnd: ""}) - .popover-content - p!=env.t('timeTravelersPopoverNoSub', {linkStart: "", linkEnd: ""}) - .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: "", linkEnd: ""}) - - .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') + ' ' + env.t('scrollsText2') + '' - 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}}  - 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}}  - 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}}  - 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}}  - 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}}  - span.Pet_Currency_Gem1x.inline-gems - - li.customize-menu - menu.pets-menu(label=env.t('quests')) - p.muted!=env.t('scrollsText1') + ' ' + env.t('scrollsText2') + '' - 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}}  - 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  - 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  - 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  - 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  - 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') diff --git a/website/views/options/inventory/menu.jade b/website/views/options/inventory/menu.jade new file mode 100644 index 0000000000..8e44151d86 --- /dev/null +++ b/website/views/options/inventory/menu.jade @@ -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) diff --git a/website/views/options/inventory/mounts.jade b/website/views/options/inventory/mounts.jade new file mode 100644 index 0000000000..8b223d7d27 --- /dev/null +++ b/website/views/options/inventory/mounts.jade @@ -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') diff --git a/website/views/options/inventory/pets.jade b/website/views/options/inventory/pets.jade new file mode 100644 index 0000000000..54a3d52390 --- /dev/null +++ b/website/views/options/inventory/pets.jade @@ -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()}} diff --git a/website/views/options/inventory/seasonalShop.jade b/website/views/options/inventory/seasonalShop.jade new file mode 100644 index 0000000000..a0295ccf3c --- /dev/null +++ b/website/views/options/inventory/seasonalShop.jade @@ -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:"", linkEnd: ""}) + .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}}  + 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}}  + 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') diff --git a/website/views/options/inventory/stable.jade b/website/views/options/inventory/stable.jade deleted file mode 100644 index 925cecd897..0000000000 --- a/website/views/options/inventory/stable.jade +++ /dev/null @@ -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()}} diff --git a/website/views/options/inventory/timeTravelers.jade b/website/views/options/inventory/timeTravelers.jade new file mode 100644 index 0000000000..3829d4d449 --- /dev/null +++ b/website/views/options/inventory/timeTravelers.jade @@ -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: "", linkStartVicky: "", linkEnd: ""}) + .popover-content + p!=env.t('timeTravelersPopoverNoSub', {linkStart: "", linkEnd: ""}) + .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: "", linkEnd: ""}) + + .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}}')