a.pull-right.gem-wallet(popover-trigger='mouseenter', popover-title='Guild Bank', popover='Gems which your guild leader can use for challenge prizes.', popover-placement='left', popover-html='true') // span.task-action-btn.tile.flush.neutral .Pet_Currency_Gem2x.Gems | {{group.balance * 4 | number:0 }} Guild Gems .row-fluid .span4 // ------ Bosses ------- .modal.inline-modal(bindonce='group', ng-if='group.type==="party" && group.quest.key') .modal-header h3(ng-if='group.quest.active==false') Quest Invitation: {{Content.quests[group.quest.key].text}} h3(ng-if='group.quest.active==true') {{Content.quests[group.quest.key].text}} .modal-body 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 ? 'Accepted' : group.quest.members[member._id] === false ? 'Rejected' : 'Pending'}} hr .npc_ian.pull-left p Once all members have either accepted or rejected, the quest begins. Only those that clicked "accept" will be able to participate in the quest and recieve the drops. If members are pending too long (inactive?), you can start without them by clicking "Begin". button.btn.btn-small.btn-warning(ng-click='party.$questAccept({"force":true})') 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(style="height:10px") .bar(style='width: {{Shared.percent(group.quest.hp, Content.quests[group.quest.key].hp)}}%;') span.meter-text i.icon-heart | {{group.quest.hp | number:0}} / {{Content.quests[group.quest.key].hp}} .hero-stats .meter.health(title='Boss Health') .bar(style='width: {{Shared.percent(group.quest.progress.hp, Content.quests[group.quest.key].boss.hp)}}%;') span.meter-text i.icon-heart | {{group.quest.progress.hp | number:0}} / {{Content.quests[group.quest.key].boss.hp}} div(ng-if='Content.quests[group.quest.key].collect') h4 Collected: table.table.table-striped tr(ng-repeat='(k,v) in group.quest.progress.collect') td div(class='{{group.quest.key}}_k') {{Content.quests[group.quest.key].collect[k].text}} td {{v}} / {{Content.quests[group.quest.key].collect[k].count}} p {{Content.quests[group.quest.key].notes}} hr h5 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 To hurt a boss, complete your Dailies and To-Dos. Higher task-damage (completing reds, Wizard spells, Warrior attacks...) translates to high Boss damage. br p At the end of each day, every daily you missed will be tallied up, and the boss will deal that much damage (multiplied by the bosses Strength) to the party. So help your friends by completing your dailies! br p Only participants will fight the boss and share in the quest loot. If you die during a boss-battle, you get booted from the battle. If everyone dies once, the quest fails. div(ng-if='Content.quests[group.quest.key].collect') .npc_ian.pull-left p To collect items, do your positive tasks. Quest items drop just like normal items; however, you won't see the drops until the next day, then everything you've found will be tallied up and contributed to the pile. br p Only participants can collect items and share in the quest loot. If you die during a quest, you get booted from the quest. If everyone dies once, the quest fails. button.btn.btn-mini.btn-danger(ng-click='questAbort()') Abort // ------ Information ------- .modal.inline-modal .modal-header(bindonce='group') span(ng-if='group.leader == user.id') button.btn.btn-primary.pull-right(ng-click='save(group)', ng-show='group._editing') Save button.btn.btn-default.pull-right(ng-click='group._editing = true', ng-hide='group._editing') Edit Group h3 {{group.name}} .modal-body div.whatever-options(ng-show='group._editing') .control-group.option-large label.control-label Group Name input.option-content(type='text', ng-model='group.name', placeholder='Group Name') .control-group.option-large label.control-label Description textarea.option-content(style='height:15em;', placeholder='Description shown in public Guilds list (Markdown OK)', ng-model='group.description') .control-group.option-large label.control-label Logo URL input.option-content(type='url', placeholder='Logo URL', ng-model='group.logo') h4 Assign Group Leader select#group-leader-selection(ng-model='group._newLeader', ng-options='member.profile.name for member in group.members') div(ng-show='!group._editing') img.pull-right(ng-show='group.logo', style='max-width:150px', ng-src='{{group.logo}}') markdown(ng-model='group.description') hr small.muted Group ID: {{group._id}} include ./challenge-box // ------ Members ------- .modal.inline-modal .modal-header h3 Members .modal-body span | Party Members list ordering select#partyOrder( style='width:140px', ng-model='user.party.order', ng-controller='ChatCtrl', ng-options='k as v for (k , v) in partyOrderChoices', ng-change='set({"party.order": user.party.order})' ) table.table.table-striped(bindonce='group') tr(ng-repeat='member in group.members') td // allow leaders to ban members div(ng-show='group.leader == user.id && user.id!=member._id') a(ng-click='removeMember(group, member, true)') i.icon-ban-circle(tooltip='Boot Member') a span(ng-class='{"badge badge-info": group.leader==member._id}', ng-click='clickMember(member._id, true)') | {{member.profile.name}} tr(ng-if='group.memberCount > group.members.length') td. {{group.memberCount - group.members.length}} more members h4(ng-show='group.invites.length > 0') Invited table.table.table-striped tr(ng-repeat='invite in group.invites') td // allow leaders to ban members div(ng-show='group.leader == user.id') a(ng-click='removeMember(group, invite, false)') i.icon-ban-circle(tooltip='Boot Member') a span(ng-click='clickMember(invite._id, true)') | {{invite.profile.name}} .modal-footer.whatever-options form.form-inline(ng-submit='invite(group)') //.alert.alert-danger(ng-show='_groupError') {{_groupError}} .control-group.option-large input.option-content(type='text', placeholder='User Id', ng-model='group.invitee') input.btn(type='submit', value='Invite') a.btn.btn-danger(data-id='{{group.id}}', ng-click='leave(group)') Leave .span8 div.blah-options(ng-show='group._editing') .option-large textarea.option-content(style='height:15em;', placeholder='Message from group leader (Markdown OK)', ng-model='group.leaderMessage') table(ng-show='group.leaderMessage') tr td .popover.static-popover.fade.right.in.wide-popover .arrow h3.popover-title {{Members.members[group.leader].profile.name}} .popover-content markdown(ng-model='group.leaderMessage') div(ng-controller='ChatCtrl') h3 Chat include ./chat-box include ../../shared/formatting-help ul.unstyled.tavern-chat include ./chat-message