From 70af0869c61a713fecba6f874554c940232c549e Mon Sep 17 00:00:00 2001 From: James Hsiao Date: Thu, 17 Apr 2014 10:18:43 -0400 Subject: [PATCH] Avoid modals for streaks > 1 and beastmaster > 91 --- public/css/alerts.styl | 9 ++++++++- public/js/controllers/notificationCtrl.js | 15 +++++++++++---- public/js/services/notificationServices.js | 3 +++ 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/public/css/alerts.styl b/public/css/alerts.styl index 40a7b8910b..6525f131ea 100644 --- a/public/css/alerts.styl +++ b/public/css/alerts.styl @@ -55,6 +55,8 @@ critColor = #fce5cd critText = #dc5000 dropColor = #d9ead3 dropText = #415838 +streakColor = #f5deb3 +streakText = #a0522d borderDarken = 20% // alert styles @@ -99,8 +101,13 @@ borderDarken = 20% border-color: darken(dropColor,borderDarken) color: dropText +.alert-streak + background-color: streakColor + border-color: darken(streakColor,borderDarken) + color: streakText + .undo-button z-index: 3000 position:absolute left:5px - top:5px \ No newline at end of file + top:5px diff --git a/public/js/controllers/notificationCtrl.js b/public/js/controllers/notificationCtrl.js index d5fbb3c32d..255365403f 100644 --- a/public/js/controllers/notificationCtrl.js +++ b/public/js/controllers/notificationCtrl.js @@ -67,7 +67,12 @@ habitrpg.controller('NotificationCtrl', $rootScope.$watch('user.achievements.streak', function(after, before){ if(before == undefined || after == before || after < before) return; - $rootScope.openModal('achievements/streak'); + if (User.user.achievements.streak > 1) { + Notification.streak(User.user.achievements.streak); + } + else { + $rootScope.openModal('achievements/streak'); + } }); $rootScope.$watch('user.achievements.ultimateGear', function(after, before){ @@ -76,10 +81,12 @@ habitrpg.controller('NotificationCtrl', }); $rootScope.$watch('user.items.pets', function(after, before){ - if(_.size(after) === _.size(before) || + if(_.size(after) === _.size(before) || Shared.countPets(null, after) < 90) return; - User.user.achievements.beastMaster = true; - $rootScope.openModal('achievements/beastMaster'); + if (User.user.achievements.beastMaster == false) { + User.user.achievements.beastMaster = true; + $rootScope.openModal('achievements/beastMaster'); + } }, true); $rootScope.$watch('user.achievements.rebirths', function(after, before){ diff --git a/public/js/services/notificationServices.js b/public/js/services/notificationServices.js index 0ced1e61d5..1c177eb1cb 100644 --- a/public/js/services/notificationServices.js +++ b/public/js/services/notificationServices.js @@ -72,6 +72,9 @@ angular.module("notificationServices", []) crit: function(val) { notify(window.env.t('critBonus') + Math.round(val) + "%", 'crit', 'glyphicon glyphicon-certificate'); }, + streak: function(val) { + notify(window.env.t('streakName') + ': ' + val, 'streak', 'glyphicon glyphicon-repeat'); + }, drop: function(val) { notify(val, 'drop', 'glyphicon glyphicon-gift'); }