diff --git a/public/js/controllers/inventoryCtrl.js b/public/js/controllers/inventoryCtrl.js index 1c6be06f36..6d769ca47f 100644 --- a/public/js/controllers/inventoryCtrl.js +++ b/public/js/controllers/inventoryCtrl.js @@ -132,6 +132,7 @@ habitrpg.controller("InventoryCtrl", ['$rootScope', '$scope', '$window', 'User', $scope.closeQuest = function(){ $rootScope.selectedQuest = undefined; $rootScope.modals.showQuest = false; + $rootScope.modals.buyQuest = false; } $scope.questInit = function(){ $rootScope.party.$questAccept({key:$scope.selectedQuest.key}, function(){ @@ -139,5 +140,13 @@ habitrpg.controller("InventoryCtrl", ['$rootScope', '$scope', '$window', 'User', }); $scope.closeQuest(); } + $scope.buyQuest = function(quest) { + var item = Content.quests[quest]; + var completedPrevious = !item.previous || (User.user.achievements.quests && User.user.achievements.quests[item.previous]); + if (!completedPrevious) + return $scope.purchase("quests", item); + $rootScope.selectedQuest = item; + $rootScope.modals.buyQuest = true; + } } ]); diff --git a/views/options/inventory/inventory.jade b/views/options/inventory/inventory.jade index c428be3c7d..cc0c8d0d56 100644 --- a/views/options/inventory/inventory.jade +++ b/views/options/inventory/inventory.jade @@ -125,10 +125,10 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html') menu.pets-menu(label=env.t('quests')) p.muted!=env.t('scrollsText1') + ' ' + env.t('scrollsText2') + '' div(ng-repeat='quest in Content.quests') - button.customize-option(popover='{{quest.text}}', popover-trigger='mouseenter', popover-placement='left', ng-click='purchase("quests", quest)', class='inventory_quest_scroll', ng-class='{locked: quest.previous && !user.achievements.quests[quest.previous]}') - p - | {{quest.value}} - span.Pet_Currency_Gem1x.inline-gems + button.customize-option(popover="{{quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : quest.notes}}", popover-title='{{quest.text}}', popover-trigger='mouseenter', popover-placement='left', ng-click='buyQuest(quest.key)', class='inventory_quest_scroll', ng-class='{locked: quest.previous && !user.achievements.quests[quest.previous]}') + p + | {{quest.value}} + span.Pet_Currency_Gem1x.inline-gems li.customize-menu menu.pets-menu(label=env.t('special')) diff --git a/views/shared/modals/quests.jade b/views/shared/modals/quests.jade index f5fdcc8cc9..2849d230f2 100644 --- a/views/shared/modals/quests.jade +++ b/views/shared/modals/quests.jade @@ -36,6 +36,17 @@ div(modal='modals.showQuest', ng-controller='InventoryCtrl') button.btn.btn-default.btn-small.btn-cancel(ng-click='closeQuest()')=env.t('cancel') button.btn.btn-default.btn-primary(ng-click='questInit()')=env.t('inviteParty') +div(modal='modals.buyQuest', ng-controller='InventoryCtrl') + .modal-header + h3 {{selectedQuest.text}} + .modal-body + .pull-right(class='quest_{{selectedQuest.key}}') + p {{selectedQuest.notes}} + quest-rewards(key='{{selectedQuest.key}}') + .modal-footer + button.btn.btn-large.cancel(ng-click='closeQuest()')=env.t('neverMind') + button.btn.btn-default.btn-large.btn-primary(ng-click='purchase("quests", quest);closeQuest()')=env.t('buyQuest') + div(modal='party.quest.key && !party.quest.active && !questHold && party.quest.members[user._id] == undefined') .modal-header h3=env.t('questInvitation')