diff --git a/public/css/index.styl b/public/css/index.styl index 62a14fd6ac..cf640817dd 100644 --- a/public/css/index.styl +++ b/public/css/index.styl @@ -159,6 +159,10 @@ a span.glyphicon .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; 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); 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); }) } 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 diff --git a/views/options/inventory/inventory.jade b/views/options/inventory/inventory.jade index 641b48e7b1..3fab6be8c2 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}') diff --git a/views/shared/modals/members.jade b/views/shared/modals/members.jade index 4816c817f2..47b3f0b03f 100644 --- a/views/shared/modals/members.jade +++ b/views/shared/modals/members.jade @@ -18,7 +18,7 @@ script(type='text/ng-template', id='modals/member.html') 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