mirror of
https://github.com/sudoxnym/habitica-self-host.git
synced 2026-07-17 19:42:15 +00:00
Merge pull request #5433 from gisikw/ultimate-gear-fix
Ultimate gear fix
This commit is contained in:
commit
96162b37bd
2 changed files with 33 additions and 3 deletions
|
|
@ -698,7 +698,7 @@ api.wrap = (user, main=true) ->
|
|||
pd.push(item) unless i != -1
|
||||
|
||||
cb? null, user.pushDevices
|
||||
|
||||
|
||||
# ------
|
||||
# Inbox
|
||||
# ------
|
||||
|
|
@ -1580,7 +1580,7 @@ api.wrap = (user, main=true) ->
|
|||
_.merge plan.consecutive, {count:0, offset:0, gemCapExtra:0}
|
||||
user.markModified? 'purchased.plan'
|
||||
|
||||
# User is resting at the inn.
|
||||
# User is resting at the inn.
|
||||
# On cron, buffs are cleared and all dailies are reset without performing damage
|
||||
if user.preferences.sleep is true
|
||||
user.stats.buffs = clearBuffs
|
||||
|
|
@ -1716,7 +1716,7 @@ api.wrap = (user, main=true) ->
|
|||
owned = if window? then user.items.gear.owned else user.items.gear.owned.toObject()
|
||||
user.achievements.ultimateGearSets ?= {healer: false, wizard: false, rogue: false, warrior: false}
|
||||
content.classes.forEach (klass) ->
|
||||
if user.achievements.ultimateGearSets[klass] is not true
|
||||
if user.achievements.ultimateGearSets[klass] isnt true
|
||||
user.achievements.ultimateGearSets[klass] = _.reduce ['armor', 'shield', 'head', 'weapon'], (soFarGood, type) ->
|
||||
found = _.find content.gear.tree[type][klass], {last:true}
|
||||
soFarGood and (!found or owned[found.key]==true) #!found only true when weapon is two-handed (mages)
|
||||
|
|
|
|||
30
test/common/user.fns.js
Normal file
30
test/common/user.fns.js
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
'use strict';
|
||||
|
||||
var shared = require('../../common/script/index.coffee');
|
||||
shared.i18n.translations = require('../../website/src/i18n.js').translations
|
||||
|
||||
require('./test_helper');
|
||||
|
||||
describe('User.fns', function() {
|
||||
describe('.ultimateGear', function() {
|
||||
|
||||
it('sets armoirEnabled when partial achievement already achieved', function() {
|
||||
var user = shared.wrap({
|
||||
items: { gear: { owned: {
|
||||
toObject: function() { return {
|
||||
armor_warrior_5: true,
|
||||
shield_warrior_5: true,
|
||||
head_warrior_5: true,
|
||||
weapon_warrior_6: true
|
||||
}}
|
||||
}}},
|
||||
achievements: {
|
||||
ultimateGearSets: {}
|
||||
},
|
||||
flags: {}
|
||||
});
|
||||
user.fns.ultimateGear();
|
||||
expect(user.flags.armoireEnabled).to.equal(true);
|
||||
});
|
||||
});
|
||||
});
|
||||
Loading…
Reference in a new issue