diff --git a/public/js/services/guideServices.js b/public/js/services/guideServices.js index 9ba3831bab..78eada0674 100644 --- a/public/js/services/guideServices.js +++ b/public/js/services/guideServices.js @@ -156,11 +156,6 @@ angular.module('guideServices', []). title: "Auto Allocate", placement: 'left', content: "If 'automatic allocation' is checked, your avatar gains stats automatically based on your tasks' attributes, which you can find in TASK > Edit > Advanced > Attributes. Eg, if you hit the gym often, and your 'Gym' Daily is set to 'Physical', you'll gain STR auotmatically.", - }, { - element: ".auto-allocate", - title: "Auto Allocate", - placement: 'left', - content: "We recommend auto-allocate if you (a) want to 'role play' your avatar, or (b) can't be bothered with the class system. For other players who desire maximum control, leave 'auto allocate' unchecked.", }, { element: ".meter.mana", title: "Spells", diff --git a/src/models/user.js b/src/models/user.js index 2600253e83..08ff43960c 100644 --- a/src/models/user.js +++ b/src/models/user.js @@ -217,7 +217,8 @@ var UserSchema = new Schema({ automaticAllocation: Boolean, costume: Boolean, sleep: {type: Boolean, 'default': false}, - stickyHeader: {type: Boolean, 'default': true} + stickyHeader: {type: Boolean, 'default': true}, + disableClasses: {type: Boolean, 'default': false} }, profile: { blurb: String, diff --git a/views/options/profile.jade b/views/options/profile.jade index 61ef3fff80..13640cc4de 100644 --- a/views/options/profile.jade +++ b/views/options/profile.jade @@ -126,9 +126,9 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template') script(id='partials/options.profile.stats.html', type='text/ng-template') .row-fluid - .border-right(ng-class='user.stats.lvl < 5 ? "span6" : "span4"') + .border-right(ng-class='user.flags.classSelected && !user.preferences.disableClasses ? "span4" : "span6"') include ../shared/profiles/stats - .span4.border-right.allocate-stats(ng-show='user.stats.lvl >= 5') + .span4.border-right.allocate-stats(ng-if='user.flags.classSelected && !user.preferences.disableClasses') h4 | {{user.stats.class}}  a.btn.btn-danger.btn-mini(ng-click='changeClass(null)') @@ -166,7 +166,7 @@ script(id='partials/options.profile.stats.html', type='text/ng-template') |  INT: {{user.stats.int}} td a.btn.btn-primary(ng-show='user.stats.points', ng-click='allocate("int")') + - .border-right(ng-class='user.stats.lvl < 5 ? "span6" : "span4"') + div(ng-class='user.flags.classSelected && !user.preferences.disableClasses ? "span4" : "span6"') include ../shared/profiles/achievements script(id='partials/options.profile.profile.html', type='text/ng-template') diff --git a/views/options/settings.jade b/views/options/settings.jade index 131a537ba0..0f3eae0e74 100644 --- a/views/options/settings.jade +++ b/views/options/settings.jade @@ -43,6 +43,8 @@ script(type='text/ng-template', id='partials/options.settings.settings.html') button.btn(ng-click='showBailey()', popover-trigger='mouseenter', popover-placement='right', popover='Bring Bailey the Town Crier out of hiding so you can review past news.') Show Bailey br button.btn(ng-click='modals.restore = true', popover-trigger='mouseenter', popover-placement='right', popover='Manually change values like Health, Level, and Gold.') Fix Character Values + br + button.btn(ng-click='user.ops.changeClass({})', ng-if='user.preferences.disableClasses==true' popover-trigger='mouseenter', popover-placement='right', popover="You opted out of the class system initially. Would you like now to opt-in?") Enable Class System div(ng-show='user.auth.local') hr diff --git a/views/shared/header/header.jade b/views/shared/header/header.jade index fe987be28a..d8a8ae1e76 100644 --- a/views/shared/header/header.jade +++ b/views/shared/header/header.jade @@ -24,7 +24,7 @@ span(ng-show='user.history.exp') a(ng-click='toggleChart("exp")', tooltip='Progress') i.icon-signal - .meter.mana(title='Mana', ng-if='user.flags.classSelected') + .meter.mana(title='Mana', ng-if='user.flags.classSelected && !user.preferences.disableClasses') .bar(style='width: {{user.stats.mp / user._statsComputed.maxMP * 100}}%;') span.meter-text i.icon-fire diff --git a/views/shared/modals/classes.jade b/views/shared/modals/classes.jade index 6f3316a029..69ef8e4f6d 100644 --- a/views/shared/modals/classes.jade +++ b/views/shared/modals/classes.jade @@ -67,4 +67,5 @@ .well(ng-show='selectedClass=="healer"') Healers have high defense against damage, and can heal themselves and other players in the party, as well as buff players. .modal-footer - button.btn.btn-default.cancel(ng-click='selectedClass && changeClass(selectedClass)') Select \ No newline at end of file + button.btn.btn-small.btn-danger.cancel(ng-click='user.ops.disableClasses({})', popover-placement='top', popover-trigger='mouseenter', popover="Can't be bothered with classes? Opt out - you'll be a warrior and your points handled automatically. You can enable classes later under Settings") Opt Out + button.btn.btn-primary.cancel(ng-click='selectedClass && changeClass(selectedClass)') Select \ No newline at end of file diff --git a/views/shared/tasks/lists.jade b/views/shared/tasks/lists.jade index 03cada1496..99677d4012 100644 --- a/views/shared/tasks/lists.jade +++ b/views/shared/tasks/lists.jade @@ -61,7 +61,7 @@ script(id='templates/habitrpg-tasks.html', type="text/ng-template") p.task-text {{item.text}} // Spells - ul.items(ng-if='main && list.type=="reward" && user.stats.class') + ul.items(ng-if='main && list.type=="reward" && user.stats.class && !user.preferences.disableClasses') li.task.reward-item(ng-repeat='(k,spell) in Content.spells[user.stats.class]', ng-show='user.stats.lvl >= spell.lvl') .task-meta-controls span.task-notes(popover-trigger='mouseenter', popover-placement='left', popover='{{spell.notes}}', popover-title='{{spell.text}}')