mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-07-13 15:38:59 +00:00
Refactored inventory into separate files
This commit is contained in:
parent
c33a22ceb3
commit
066206f41c
10 changed files with 434 additions and 383 deletions
185
website/views/options/inventory/drops.jade
Normal file
185
website/views/options/inventory/drops.jade
Normal 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}}
|
||||
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') + ' <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}}
|
||||
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')
|
||||
46
website/views/options/inventory/equipment.jade
Normal file
46
website/views/options/inventory/equipment.jade
Normal 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})')
|
||||
|
|
||||
=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)')
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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:"<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}}
|
||||
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: "<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}}
|
||||
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') + ' <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}}
|
||||
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')
|
||||
23
website/views/options/inventory/menu.jade
Normal file
23
website/views/options/inventory/menu.jade
Normal 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)
|
||||
39
website/views/options/inventory/mounts.jade
Normal file
39
website/views/options/inventory/mounts.jade
Normal 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')
|
||||
55
website/views/options/inventory/pets.jade
Normal file
55
website/views/options/inventory/pets.jade
Normal 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()}}
|
||||
40
website/views/options/inventory/seasonalShop.jade
Normal file
40
website/views/options/inventory/seasonalShop.jade
Normal 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}}
|
||||
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')
|
||||
|
|
@ -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()}}
|
||||
28
website/views/options/inventory/timeTravelers.jade
Normal file
28
website/views/options/inventory/timeTravelers.jade
Normal 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}}')
|
||||
Loading…
Reference in a new issue