From 8427c53d90b185906ae7d6993f0cf4f95abd8360 Mon Sep 17 00:00:00 2001 From: deilann Date: Mon, 29 Sep 2014 13:35:38 -0700 Subject: [PATCH] release pets feature --- public/js/controllers/settingsCtrl.js | 9 +++++++++ src/models/user.js | 5 ++++- views/options/inventory/inventory.jade | 5 +++++ views/shared/modals/drops.jade | 27 ++++++++++++++++++++++++- views/shared/profiles/achievements.jade | 2 ++ 5 files changed, 46 insertions(+), 2 deletions(-) diff --git a/public/js/controllers/settingsCtrl.js b/public/js/controllers/settingsCtrl.js index bff15f4911..b468a85cfd 100644 --- a/public/js/controllers/settingsCtrl.js +++ b/public/js/controllers/settingsCtrl.js @@ -142,5 +142,14 @@ habitrpg.controller('SettingsCtrl', window.location.href = '/api/v2/coupons?limit='+codes.count+'&_id='+User.user._id+'&apiToken='+User.user.apiToken; }) } + $scope.release = function() { + User.user.ops.release({}); + $rootScope.$state.go('tasks'); + } + + $scope.release2 = function() { + User.user.ops.release2({}); + $rootScope.$state.go('tasks'); + } } ]); diff --git a/src/models/user.js b/src/models/user.js index 2877256b14..0129e116ca 100644 --- a/src/models/user.js +++ b/src/models/user.js @@ -34,6 +34,7 @@ var UserSchema = new Schema({ helpedHabit: Boolean, ultimateGear: Boolean, beastMaster: Boolean, + beastMasterCount: Number, veteran: Boolean, snowball: Number, streak: Number, @@ -400,7 +401,9 @@ UserSchema.pre('save', function(next) { if(_.isFunction(v)) return m; return m+(v?1:0)},0), this.items.pets); - this.achievements.beastMaster = petCount >= 90; + if (petCount >= 90 || this.achievements.beastMasterCount > 0) { + this.achievements.beastMaster = true + } //our own version incrementer this._v++; diff --git a/views/options/inventory/inventory.jade b/views/options/inventory/inventory.jade index 2502ab08e9..e5489f4c83 100644 --- a/views/options/inventory/inventory.jade +++ b/views/options/inventory/inventory.jade @@ -152,6 +152,11 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html') p(ng-show='user.stats.lvl < 100') | 8 span.Pet_Currency_Gem1x.inline-gems + div(ng-show='petCount >= 90') + button.customize-option(popover=env.t('petKeyPop'), popover-title=env.t('petKeyName'), popover-trigger='mouseenter', popover-placement='left', ng-click='openModal("pet-key")', class='pet_key') + p + | 4 + span.Pet_Currency_Gem1x.inline-gems div(ng-if='user.purchased.plan.planId') button.customize-option(ng-click='user.ops.purchase({params:{type:"gems",key:"gem"}})') span.Pet_Currency_Gem.inline-gems diff --git a/views/shared/modals/drops.jade b/views/shared/modals/drops.jade index 7c12e4212b..38ed79208a 100644 --- a/views/shared/modals/drops.jade +++ b/views/shared/modals/drops.jade @@ -12,4 +12,29 @@ script(type='text/ng-template', id='modals/dropsEnabled.html') .item-drop-icon(class='Pet_Currency_Gem') span!=env.t('useGems') .modal-footer - button.btn.btn-default(ng-click='$close()')=env.t('close') \ No newline at end of file + button.btn.btn-default(ng-click='$close()')=env.t('close') + +script(type='text/ng-template', id='modals/pet-key.html') + .modal-header + h4=env.t('petKeyBegin') + .modal-body + include ../gems + figure + .npc_alex + p=env.t('petKeyInfo') + br + p=env.t('petKeyInfo2') + br + p=env.t('petKeyInfo3') + .modal-footer + button.btn.btn-default(ng-click='$close()')=env.t('petKeyNeverMind') + span(ng-if='user.balance < 1') + a.btn.btn-success(ng-click='openModal("buyGems")')=env.t('buyMoreGems') + span.gem-cost=env.t('notEnoughGems') + span(ng-if='user.balance >= 1', ng-controller='SettingsCtrl') + a.btn.btn-danger(ng-click='$close(); release()')=env.t('petKeyPets') + span(ng-if='user.balance >= 1', ng-controller='SettingsCtrl') + a.btn.btn-danger(ng-click='$close(); release2()')=env.t('petKeyMounts') + span.gem-cost + | 4  + =env.t('gemsEach') \ No newline at end of file diff --git a/views/shared/profiles/achievements.jade b/views/shared/profiles/achievements.jade index ff58cbcc57..26c4384298 100644 --- a/views/shared/profiles/achievements.jade +++ b/views/shared/profiles/achievements.jade @@ -83,6 +83,8 @@ div(ng-if='profile.achievements.beastMaster || user._id == profile._id') div(ng-class='{muted: !profile.achievements.beastMaster}') h5=env.t('beastMastName') small=env.t('beastMastText') + small(ng-if='profile.achievements.beastMasterCount') + =env.t('beastMastText2', {count: "{{profile.achievements.beastMasterCount}}"}) hr div(ng-if='profile.achievements.rebirths')