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