From 9fa864676857341e5539673b6c71ae8c35df81fb Mon Sep 17 00:00:00 2001 From: Etryn Date: Tue, 28 Jan 2014 01:13:24 -0800 Subject: [PATCH 1/6] Fixed unnecessary margin on button group buttons Buttons in groups in bootstrap are styled to touch on inside edges to appear joined, so should not have a 5 px margin between them. --- public/css/index.styl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/css/index.styl b/public/css/index.styl index fb2d74a615..60ff774125 100644 --- a/public/css/index.styl +++ b/public/css/index.styl @@ -181,6 +181,10 @@ a .btn margin-right: 5px +// Buttons in groups should not have a 5px margin between them; suppress margin for buttons in groups. +.btn-group .btn + margin-right: 0px + .modal-indented-list margin-left: 10px; padding-left: 10px; From 36f21196f466260b7cd52b283c50b9e16943f668 Mon Sep 17 00:00:00 2001 From: Cole Gleason Date: Sat, 1 Feb 2014 12:14:24 -0600 Subject: [PATCH 2/6] fix(challenges): challenge csv export now has proper filename This sets the Content-disposition filename for the Challenge CSV export to be {challenge_id}.csv. Fixes #2689. --- src/controllers/challenges.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/controllers/challenges.js b/src/controllers/challenges.js index bb1eff241d..c0be3cc8e6 100644 --- a/src/controllers/challenges.js +++ b/src/controllers/challenges.js @@ -98,6 +98,7 @@ api.csv = function(req, res) { }) output.push(uData); }); + res.header('Content-disposition', 'attachment; filename='+cid+'.csv'); res.csv(output); }) } From 8843577858e8ce334c2b47351bb05aadd802dddf Mon Sep 17 00:00:00 2001 From: deilann Date: Sat, 1 Feb 2014 15:17:14 -0800 Subject: [PATCH 3/6] show mage not wizard in inventory and member modal --- views/shared/modals/members.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/shared/modals/members.jade b/views/shared/modals/members.jade index c0b3b9388d..925d9267df 100644 --- a/views/shared/modals/members.jade +++ b/views/shared/modals/members.jade @@ -16,7 +16,7 @@ div(ng-controller='MemberModalCtrl') li(ng-show='profile.auth.timestamps.loggedin')=env.t('lastLoggedIn') | {{timestamp(profile.auth.timestamps.loggedin)}} - h3=env.t('stats') - .label.label-info {{profile.stats.class}} + .label.label-info {{ {warrior:'Warrior',wizard:'Mage',healer:'Healer',rogue:'Rogue'}[user.stats.class] }} include ../profiles/stats .span6 include ../header/avatar From dafd0151736d66c21b2df29242ac561a14378d1f Mon Sep 17 00:00:00 2001 From: deilann Date: Sat, 1 Feb 2014 15:20:02 -0800 Subject: [PATCH 4/6] wizard to mage in inventory --- views/options/inventory/inventory.jade | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/views/options/inventory/inventory.jade b/views/options/inventory/inventory.jade index ee228041dc..09a3635f0b 100644 --- a/views/options/inventory/inventory.jade +++ b/views/options/inventory/inventory.jade @@ -4,7 +4,7 @@ script(type='text/ng-template', id='partials/options.inventory.equipment.html') h3=env.t('battleGear') small=env.t('battleGearText') li.customize-menu.inventory-gear - menu.pets-menu(label='{{label}}', ng-repeat='(klass,label) in {base:"Base", warrior:"Warrior", wizard:"Wizard", rogue:"Rogue", healer:"Healer", special:"Special"}', ng-show='gear[klass]') + menu.pets-menu(label='{{label}}', ng-repeat='(klass,label) in {base:"Base", warrior:"Warrior", wizard:"Mage", rogue:"Rogue", healer:"Healer", special:"Special"}', ng-show='gear[klass]') div(ng-repeat='item in gear[klass]') button.customize-option(popover='{{item.notes}}', popover-title='{{item.text}}', popover-trigger='mouseenter', popover-placement='right', ng-click='user.ops.equip({params:{key:item.key}})', class='shop_{{item.key}}', ng-class='{selectableInventory: user.items.gear.equipped[item.type] == item.key}') .span6 @@ -15,7 +15,7 @@ script(type='text/ng-template', id='partials/options.inventory.equipment.html') input(type="checkbox", ng-model="user.preferences.costume", ng-click='set({"preferences.costume":!user.preferences.costume})') =env.t('useCostume') li.customize-menu(ng-if='user.preferences.costume') - menu.pets-menu(label='{{label}}', ng-repeat='(klass,label) in {base:"Base", warrior:"Warrior", wizard:"Wizard", rogue:"Rogue", healer:"Healer", special:"Special"}', ng-show='gear[klass]') + menu.pets-menu(label='{{label}}', ng-repeat='(klass,label) in {base:"Base", warrior:"Warrior", wizard:"Mage", rogue:"Rogue", healer:"Healer", special:"Special"}', ng-show='gear[klass]') div(ng-repeat='item in gear[klass]') button.customize-option(popover='{{item.notes}}', popover-title='{{item.text}}', popover-trigger='mouseenter', popover-placement='right', ng-click='user.ops.equip({params:{type:"costume", key:item.key}})', class='shop_{{item.key}}', ng-class='{selectableInventory: user.items.gear.costume[item.type] == item.key}') From 78315d828ba9a1033526b9a72b7c385281e6ad0a Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Sat, 1 Feb 2014 16:15:20 -0800 Subject: [PATCH 5/6] feat(quests): add flags.levelDrops for dropping items at certain levels --- src/models/user.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/models/user.js b/src/models/user.js index 506fb505b7..b442980d0b 100644 --- a/src/models/user.js +++ b/src/models/user.js @@ -99,7 +99,8 @@ var UserSchema = new Schema({ contributor: Boolean, classSelected: {type: Boolean, 'default': false}, mathUpdates: Boolean, - rebirthEnabled: {type: Boolean, 'default': false} + rebirthEnabled: {type: Boolean, 'default': false}, + levelDrops: {type:Schema.Types.Mixed, 'default':{}} }, history: { exp: Array, // [{date: Date, value: Number}], // big peformance issues if these are defined From dab9ddbda27f5e10e4545fea703deebfe2dd9975 Mon Sep 17 00:00:00 2001 From: Cole Gleason Date: Sun, 2 Feb 2014 01:51:51 -0600 Subject: [PATCH 6/6] fix(quests): quests with a level cap cannot be bought before that level. Users were buying the vice quest hoping to play it, not realizing it would drop at that level. Let's restrict buying the quest (at least in the short term) until you reach that level. Fixes #2707. --- public/js/controllers/inventoryCtrl.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/public/js/controllers/inventoryCtrl.js b/public/js/controllers/inventoryCtrl.js index 6d769ca47f..122295ddb9 100644 --- a/public/js/controllers/inventoryCtrl.js +++ b/public/js/controllers/inventoryCtrl.js @@ -142,6 +142,8 @@ habitrpg.controller("InventoryCtrl", ['$rootScope', '$scope', '$window', 'User', } $scope.buyQuest = function(quest) { var item = Content.quests[quest]; + if (item.lvl && item.lvl > user.stats.lvl) + return alert("You must be level " + item.lvl + ' to buy this quest!'); var completedPrevious = !item.previous || (User.user.achievements.quests && User.user.achievements.quests[item.previous]); if (!completedPrevious) return $scope.purchase("quests", item);