habitica/views/options/social/boss.jade

78 lines
3.9 KiB
Text
Raw Normal View History

mixin boss(tavern, mobile)
//-.panel.panel-default(bindonce='group', ng-if='group.type==="party" && group.quest.key')
.panel.panel-default(ng-if='group.quest.key')
.panel-heading
h3.panel-title(ng-if='group.quest.active==false')=env.t('questInvitation') + ' {{::Content.quests[group.quest.key].text()}}'
h3.panel-title(ng-if='group.quest.active==true') {{::Content.quests[group.quest.key].text()}}
.panel-body.modal-fixed-height
div(ng-if='group.quest.active==false')
table.table.table-striped
tr(ng-repeat='member in group.members')
td {{::member.profile.name}}
td {{group.quest.members[member._id] === true ? env.t('accepted') : group.quest.members[member._id] === false ? env.t('rejected') : env.t('pending')}}
hr
.npc_ian.pull-left
p=env.t('questStart')
button.btn.btn-sm.btn-warning(ng-if=':: !group.quest.leader || group.quest.leader==user._id', ng-click='party.$questAccept({"force":true})')=env.t('begin')
//-TODO Cancel button
//-TODO Both force-start & cancel should only be available to quest-initiator
div(ng-if='group.quest.active==true')
div(ng-if='::Content.quests[group.quest.key].boss',ng-init='boss=Content.quests[group.quest.key].boss;progress=group.quest.progress')
div(class="quest_{{::group.quest.key}}")
//-
.progress
.bar(style='width: {{Shared.percent(group.quest.hp, Content.quests[group.quest.key].hp)}}%;')
span.meter-text
span.glyphicon.glyphicon-heart
| {{group.quest.hp | number:0}} / {{Content.quests[group.quest.key].hp}}
.hero-stats
.meter-label(tooltip=env.t('bossHP'))
span.glyphicon.glyphicon-heart
.meter.health
.bar(style='width: {{Shared.percent(progress.hp, boss.hp)}}%;')
span.meter-text.value
| {{Math.ceil(progress.hp) | goldRoundThousandsToK}} / {{boss.hp | goldRoundThousandsToK}}
.meter-label(tooltip='Rage', ng-if='boss.rage')
span.glyphicon.glyphicon-fire
.meter.mana(ng-if='boss.rage',popover="{{::boss.rage.description()}}",popover-title="{{::boss.rage.title()}}",popover-trigger='mouseenter',popover-placement='right')
.bar(style='width: {{Shared.percent(progress.rage, boss.rage.value)}}%;')
span.meter-text.value
| {{Math.ceil(progress.rage) | goldRoundThousandsToK}} / {{boss.rage.value | goldRoundThousandsToK}}
div(ng-if='::Content.quests[group.quest.key].collect')
h4=env.t('collected') + ':'
table.table.table-striped
tr(ng-repeat='(k,v) in group.quest.progress.collect', class='quest_collected_{{v >= Content.quests[group.quest.key].collect[k].count}}')
td
div.pull-left(class='quest_{{::group.quest.key}}_{{::k}}')
| {{::Content.quests[group.quest.key].collect[k].text()}}
td
{{v}} / {{Content.quests[group.quest.key].collect[k].count}}
div(ng-bind-html='::Content.quests[group.quest.key].notes()')
unless tavern
hr
h5=env.t('participants')
table.table.table-striped
tr(ng-repeat='(k,v) in group.members', ng-show='group.quest.members[v._id]')
td {{::v.profile.name}}
quest-rewards(key='{{::group.quest.key}}')
div(ng-if='::Content.quests[group.quest.key].boss')
.npc_ian.pull-left
if tavern
p!=env.t('tavernBossInfo')
else
p!=env.t('bossDmg1')
br
p=env.t('bossDmg2')
div(ng-if='::Content.quests[group.quest.key].collect')
.npc_ian.pull-left
p=env.t('bossColl1')
br
p=env.t('bossColl2')
unless tavern
button.btn.btn-xs.btn-danger(ng-if='::!group.quest.leader || group.quest.leader==user._id', ng-click='questAbort()')=env.t('abort')