Compare commits

...

4 Commits

Author SHA1 Message Date
Phillip Thelen 192d649ffa fix giving gear to contributors 2025-01-23 17:30:31 +01:00
Phillip Thelen e7aae55eca Give contributors gear immediately 2025-01-21 11:10:29 +01:00
Phillip Thelen 36b03613e1 adjust contributor tests 2025-01-21 11:10:16 +01:00
Phillip Thelen 2de9a16a2c adjust gems per tier 2025-01-21 11:02:19 +01:00
2 changed files with 15 additions and 5 deletions
@@ -60,12 +60,12 @@ describe('PUT /heroes/:heroId', () => {
expect(heroRes.profile).to.have.all.keys(['name']);
// test response values
expect(heroRes.balance).to.equal(3 + 0.75); // 3+0.75 for first contrib level
expect(heroRes.balance).to.equal(3 + 2.5); // 3+2.5 for first contrib level
expect(heroRes.contributor.level).to.equal(1);
expect(heroRes.purchased.ads).to.equal(true);
// test hero values
await hero.sync();
expect(hero.balance).to.equal(3 + 0.75); // 3+0.75 for first contrib level
expect(hero.balance).to.equal(3 + 2.5); // 3+2.5 for first contrib level
expect(hero.contributor.level).to.equal(1);
expect(hero.purchased.ads).to.equal(true);
expect(hero.auth.blocked).to.equal(prevBlockState);
@@ -136,12 +136,12 @@ describe('PUT /heroes/:heroId', () => {
expect(heroRes.profile).to.have.all.keys(['name']);
// test response values
expect(heroRes.balance).to.equal(1); // 0+1 for sixth contrib level
expect(heroRes.balance).to.equal(15); // 0+15 for sixth contrib level
expect(heroRes.contributor.level).to.equal(6);
expect(heroRes.items.pets['Dragon-Hydra']).to.equal(5);
// test hero values
await hero.sync();
expect(hero.balance).to.equal(1); // 0+1 for sixth contrib level
expect(hero.balance).to.equal(15); // 0+15 for sixth contrib level
expect(hero.contributor.level).to.equal(6);
expect(hero.items.pets['Dragon-Hydra']).to.equal(5);
});
+11 -1
View File
@@ -208,7 +208,7 @@ api.getHero = {
// e.g., tier 5 gives 4 gems. Tier 8 = moderator. Tier 9 = staff
const gemsPerTier = {
1: 3, 2: 3, 3: 3, 4: 4, 5: 4, 6: 4, 7: 4, 8: 0, 9: 0,
1: 10, 2: 20, 3: 30, 4: 40, 5: 50, 6: 60, 7: 70, 8: 0, 9: 0,
};
/**
@@ -326,9 +326,19 @@ api.updateHero = {
let tierDiff = newTier - oldTier; // can be 2+ tier increases at once
while (tierDiff) {
await hero.updateBalance(gemsPerTier[newTier] / 4, 'contribution', newTier); // eslint-disable-line no-await-in-loop
if (newTier === 2 || newTier === '2') {
hero.items.gear.owned.armor_special_1 = true;
} else if (newTier === 3 || newTier === '3') {
hero.items.gear.owned.head_special_1 = true;
} else if (newTier === 4 || newTier === '4') {
hero.items.gear.owned.weapon_special_1 = true;
} else if (newTier === 5 || newTier === '5') {
hero.items.gear.owned.shield_special_1 = true;
}
tierDiff -= 1;
newTier -= 1; // give them gems for the next tier down if they weren't already that tier
}
hero.markModified('items.gear.owned');
hero.addNotification('NEW_CONTRIBUTOR_LEVEL');
}