mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-17 22:57:21 +01:00
fix(pets): correct achievement logic
This commit is contained in:
@@ -72,6 +72,7 @@ describe('POST /user/feed/:pet/:food', () => {
|
|||||||
|
|
||||||
const body = server.getWebhookData(uuid);
|
const body = server.getWebhookData(uuid);
|
||||||
|
|
||||||
|
expect(user.achievements.allYourBase).to.not.equal(true);
|
||||||
expect(body.type).to.eql('mountRaised');
|
expect(body.type).to.eql('mountRaised');
|
||||||
expect(body.pet).to.eql('Wolf-Base');
|
expect(body.pet).to.eql('Wolf-Base');
|
||||||
expect(body.message).to.eql(res.message);
|
expect(body.message).to.eql(res.message);
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ describe('POST /user/hatch/:egg/:hatchingPotion', () => {
|
|||||||
expect(user.items.pets['Wolf-Base']).to.equal(5);
|
expect(user.items.pets['Wolf-Base']).to.equal(5);
|
||||||
expect(user.items.eggs.Wolf).to.equal(0);
|
expect(user.items.eggs.Wolf).to.equal(0);
|
||||||
expect(user.items.hatchingPotions.Base).to.equal(0);
|
expect(user.items.hatchingPotions.Base).to.equal(0);
|
||||||
expect(user.achievements.aridAuthority).to.not.equal(true);
|
expect(user.achievements.backToBasics).to.not.equal(true);
|
||||||
|
|
||||||
expect(res).to.eql({
|
expect(res).to.eql({
|
||||||
message: t('messageHatched'),
|
message: t('messageHatched'),
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ export default function hatch (user, req = {}) {
|
|||||||
if (!user.achievements[achievement.petAchievement]) {
|
if (!user.achievements[achievement.petAchievement]) {
|
||||||
const petIndex = findIndex(
|
const petIndex = findIndex(
|
||||||
keys(content.dropEggs),
|
keys(content.dropEggs),
|
||||||
animal => Number.isNaN(user.items.pets[`${animal}-${achievement.color}`]) || user.items.pets[`${animal}-${achievement.color}`] <= 0,
|
animal => !user.items.pets[`${animal}-${achievement.color}`] || user.items.pets[`${animal}-${achievement.color}`] <= 0,
|
||||||
);
|
);
|
||||||
if (petIndex === -1) {
|
if (petIndex === -1) {
|
||||||
user.achievements[achievement.petAchievement] = true;
|
user.achievements[achievement.petAchievement] = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user