diff --git a/common/script/index.coffee b/common/script/index.coffee index 1670d0398a..d4e72287ba 100644 --- a/common/script/index.coffee +++ b/common/script/index.coffee @@ -378,10 +378,6 @@ api.appliedTags = (userTags, taskTags) -> arr.push(t.name) if taskTags?[t.id] arr.join(', ') -api.countArmoire = (gear) -> - count = _.size(_.filter(content.gear.flat, ((i)->i.klass is 'armoire' and !gear[i.key]))) - count - ### Various counting functions ### @@ -884,7 +880,7 @@ api.wrap = (user, main=true) -> user.items.gear.owned[drop.key] = true user.flags.armoireOpened = true message = i18n.t('armoireEquipment', {image: '', dropText: drop.text(req.language)}, req.language) - if api.countArmoire(user.items.gear.owned) is 0 then user.flags.armoireEmpty = true + if api.count.remainingGearInSet(user.items.gear.owned, 'armoire') is 0 then user.flags.armoireEmpty = true else if (!_.isEmpty(eligibleEquipment) and armoireResult < .8) or armoireResult < .5 drop = user.fns.randomVal _.where(content.food, {canDrop:true}) user.items.food[drop.key] ?= 0 diff --git a/test/common/algos.mocha.coffee b/test/common/algos.mocha.coffee index 86c989b5e8..f720d473e1 100644 --- a/test/common/algos.mocha.coffee +++ b/test/common/algos.mocha.coffee @@ -541,7 +541,7 @@ describe 'User', -> it 'counts all available equipment before any are claimed', -> sinon.stub(user.fns, 'predictableRandom').returns 0 - expect(shared.countArmoire(user.items.gear.owned)).to.eql (_.size(fullArmoire) - 1) + expect(shared.count.remainingGearInSet(user.items.gear.owned, 'armoire')).to.eql (_.size(fullArmoire) - 1) it 'does not open without paying', -> sinon.stub(user.fns, 'predictableRandom').returns 0 @@ -565,7 +565,7 @@ describe 'User', -> user.achievements.ultimateGearSets = {'healer':false,'wizard':false,'rogue':true,'warrior':false} user.ops.buy({params: {key: 'armoire'}}) expect(user.items.gear.owned).to.eql {'weapon_warrior_0': true, 'shield_armoire_gladiatorShield':true} - expect(shared.countArmoire(user.items.gear.owned)).to.eql (_.size(fullArmoire) - 2) + expect(shared.count.remainingGearInSet(user.items.gear.owned, 'armoire')).to.eql (_.size(fullArmoire) - 2) expect(user.items.food).to.eql {} expect(user.stats.exp).to.eql 0 expect(user.stats.gp).to.eql 400 @@ -590,7 +590,7 @@ describe 'User', -> sinon.stub(user.fns, 'predictableRandom', cycle [.5,.5]) user.ops.buy({params: {key: 'armoire'}}) expect(user.items.gear.owned).to.eql {'weapon_warrior_0': true, 'shield_armoire_gladiatorShield':true, 'head_armoire_blueHairbow':true} - expect(shared.countArmoire(user.items.gear.owned)).to.eql (_.size(fullArmoire) - 3) + expect(shared.count.remainingGearInSet(user.items.gear.owned, 'armoire')).to.eql (_.size(fullArmoire) - 3) expect(user.items.food).to.eql {'Honey': 1} expect(user.stats.exp).to.eql 30 expect(user.stats.gp).to.eql 100 @@ -600,7 +600,7 @@ describe 'User', -> user.items.gear.owned = fullArmoire user.ops.buy({params: {key: 'armoire'}}) expect(user.items.gear.owned).to.eql fullArmoire - expect(shared.countArmoire(user.items.gear.owned)).to.eql 0 + expect(shared.count.remainingGearInSet(user.items.gear.owned, 'armoire')).to.eql 0 expect(user.items.food).to.eql {'Honey': 1} expect(user.stats.exp).to.eql 60 expect(user.stats.gp).to.eql 0 diff --git a/website/public/js/controllers/tasksCtrl.js b/website/public/js/controllers/tasksCtrl.js index 74d4c2d642..6fecc56f57 100644 --- a/website/public/js/controllers/tasksCtrl.js +++ b/website/public/js/controllers/tasksCtrl.js @@ -6,7 +6,7 @@ habitrpg.controller("TasksCtrl", ['$scope', '$rootScope', '$location', 'User','N $scope.user = User.user; $scope.armoireCount = function(gear) { - return Shared.countArmoire(gear); + return Shared.count.remainingGearInSet(gear, 'armoire'); }; $scope.score = function(task, direction) {