diff --git a/views/options/social/boss.jade b/views/options/social/boss.jade new file mode 100644 index 0000000000..f509f92e40 --- /dev/null +++ b/views/options/social/boss.jade @@ -0,0 +1,73 @@ +mixin boss(tavern) + //-.panel.panel-default(bindonce='group', ng-if='group.type==="party" && group.quest.key') + .panel.panel-default(bindonce='group', 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') + 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.health(tooltip=env.t('bossHP')) + .bar(style='width: {{Shared.percent(group.quest.progress.hp, Content.quests[group.quest.key].boss.hp)}}%;') + span.meter-text.title + span.glyphicon.glyphicon-heart + | HP + span.meter-text.value + | {{Math.ceil(group.quest.progress.hp)}} / {{Content.quests[group.quest.key].boss.hp}} + 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') \ No newline at end of file diff --git a/views/options/social/group.jade b/views/options/social/group.jade index c3809d5507..6727f89eb3 100644 --- a/views/options/social/group.jade +++ b/views/options/social/group.jade @@ -2,7 +2,7 @@ a.pull-right.gem-wallet(popover-trigger='mouseenter', popover-title=env.t('guild // span.task-action-btn.tile.flush.neutral .Pet_Currency_Gem2x.Gems - | {{group.balance * 4 | number:0 }} + | {{group.balance * 4 | number:0 }} =env.t('guildGems') .container-fluid @@ -10,77 +10,12 @@ a.pull-right.gem-wallet(popover-trigger='mouseenter', popover-title=env.t('guild .col-md-4 // ------ Bosses ------- - .panel.panel-default(bindonce='group', ng-if='group.type==="party" && 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') - 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.health(tooltip=env.t('bossHP')) - .bar(style='width: {{Shared.percent(group.quest.progress.hp, Content.quests[group.quest.key].boss.hp)}}%;') - span.meter-text.title - span.glyphicon.glyphicon-heart - | HP - span.meter-text.value - | {{Math.ceil(group.quest.progress.hp)}} / {{Content.quests[group.quest.key].boss.hp}} - 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()') - 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 - 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') - - - button.btn.btn-xs.btn-danger(ng-if='!group.quest.leader || group.quest.leader==user._id', ng-click='questAbort()')=env.t('abort') + +boss(false) // ------ Information ------- .panel.panel-default .panel-heading(bindonce='group') - h3.panel-title + h3.panel-title | {{group.name}} span(ng-if='group.leader == user.id') button.btn.btn-primary.pull-right(ng-click='save(group)', ng-show='group._editing')=env.t('save') @@ -136,7 +71,7 @@ a.pull-right.gem-wallet(popover-trigger='mouseenter', popover-title=env.t('guild | {{member.profile.name}} tr(ng-if='group.memberCount > group.members.length') td - |{{group.memberCount - group.members.length}} + |{{group.memberCount - group.members.length}} = ' ' + env.t('moreMembers') | diff --git a/views/options/social/index.jade b/views/options/social/index.jade index 99b4dfe27d..e7b90aa529 100644 --- a/views/options/social/index.jade +++ b/views/options/social/index.jade @@ -3,14 +3,15 @@ include ./challenges.jade include ./hall.jade +include ./boss.jade script(type='text/ng-template', id='partials/options.social.tavern.html') include ./tavern script(type='text/ng-template', id='partials/options.social.party.html') - div(ng-show='group._id') + div(ng-if='group._id') include ./group - div(ng-hide='group._id') + div(ng-if='!group._id') div(ng-show='user.invitations.party.id') h2=env.t('invitedTo', {name: '{{user.invitations.party.name}}'}) a.btn.btn-success(data-type='party', ng-click='join(user.invitations.party)')=env.t('accept') diff --git a/views/options/social/tavern.jade b/views/options/social/tavern.jade index 421d8bbe5c..b75cc70ca8 100644 --- a/views/options/social/tavern.jade +++ b/views/options/social/tavern.jade @@ -1,6 +1,9 @@ .container-fluid .row .col-md-4 + + +boss(true) + table tr td