mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-17 22:57:21 +01:00
Move gear counting to counting script
This commit is contained in:
@@ -378,10 +378,6 @@ api.appliedTags = (userTags, taskTags) ->
|
|||||||
arr.push(t.name) if taskTags?[t.id]
|
arr.push(t.name) if taskTags?[t.id]
|
||||||
arr.join(', ')
|
arr.join(', ')
|
||||||
|
|
||||||
api.countArmoire = (gear) ->
|
|
||||||
count = _.size(_.filter(content.gear.flat, ((i)->i.klass is 'armoire' and !gear[i.key])))
|
|
||||||
count
|
|
||||||
|
|
||||||
###
|
###
|
||||||
Various counting functions
|
Various counting functions
|
||||||
###
|
###
|
||||||
@@ -884,7 +880,7 @@ api.wrap = (user, main=true) ->
|
|||||||
user.items.gear.owned[drop.key] = true
|
user.items.gear.owned[drop.key] = true
|
||||||
user.flags.armoireOpened = true
|
user.flags.armoireOpened = true
|
||||||
message = i18n.t('armoireEquipment', {image: '<span class="shop_'+drop.key+' pull-left"></span>', dropText: drop.text(req.language)}, req.language)
|
message = i18n.t('armoireEquipment', {image: '<span class="shop_'+drop.key+' pull-left"></span>', 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
|
else if (!_.isEmpty(eligibleEquipment) and armoireResult < .8) or armoireResult < .5
|
||||||
drop = user.fns.randomVal _.where(content.food, {canDrop:true})
|
drop = user.fns.randomVal _.where(content.food, {canDrop:true})
|
||||||
user.items.food[drop.key] ?= 0
|
user.items.food[drop.key] ?= 0
|
||||||
|
|||||||
@@ -541,7 +541,7 @@ describe 'User', ->
|
|||||||
|
|
||||||
it 'counts all available equipment before any are claimed', ->
|
it 'counts all available equipment before any are claimed', ->
|
||||||
sinon.stub(user.fns, 'predictableRandom').returns 0
|
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', ->
|
it 'does not open without paying', ->
|
||||||
sinon.stub(user.fns, 'predictableRandom').returns 0
|
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.achievements.ultimateGearSets = {'healer':false,'wizard':false,'rogue':true,'warrior':false}
|
||||||
user.ops.buy({params: {key: 'armoire'}})
|
user.ops.buy({params: {key: 'armoire'}})
|
||||||
expect(user.items.gear.owned).to.eql {'weapon_warrior_0': true, 'shield_armoire_gladiatorShield':true}
|
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.items.food).to.eql {}
|
||||||
expect(user.stats.exp).to.eql 0
|
expect(user.stats.exp).to.eql 0
|
||||||
expect(user.stats.gp).to.eql 400
|
expect(user.stats.gp).to.eql 400
|
||||||
@@ -590,7 +590,7 @@ describe 'User', ->
|
|||||||
sinon.stub(user.fns, 'predictableRandom', cycle [.5,.5])
|
sinon.stub(user.fns, 'predictableRandom', cycle [.5,.5])
|
||||||
user.ops.buy({params: {key: 'armoire'}})
|
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(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.items.food).to.eql {'Honey': 1}
|
||||||
expect(user.stats.exp).to.eql 30
|
expect(user.stats.exp).to.eql 30
|
||||||
expect(user.stats.gp).to.eql 100
|
expect(user.stats.gp).to.eql 100
|
||||||
@@ -600,7 +600,7 @@ describe 'User', ->
|
|||||||
user.items.gear.owned = fullArmoire
|
user.items.gear.owned = fullArmoire
|
||||||
user.ops.buy({params: {key: 'armoire'}})
|
user.ops.buy({params: {key: 'armoire'}})
|
||||||
expect(user.items.gear.owned).to.eql fullArmoire
|
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.items.food).to.eql {'Honey': 1}
|
||||||
expect(user.stats.exp).to.eql 60
|
expect(user.stats.exp).to.eql 60
|
||||||
expect(user.stats.gp).to.eql 0
|
expect(user.stats.gp).to.eql 0
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ habitrpg.controller("TasksCtrl", ['$scope', '$rootScope', '$location', 'User','N
|
|||||||
$scope.user = User.user;
|
$scope.user = User.user;
|
||||||
|
|
||||||
$scope.armoireCount = function(gear) {
|
$scope.armoireCount = function(gear) {
|
||||||
return Shared.countArmoire(gear);
|
return Shared.count.remainingGearInSet(gear, 'armoire');
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.score = function(task, direction) {
|
$scope.score = function(task, direction) {
|
||||||
|
|||||||
Reference in New Issue
Block a user