From fffbe17bcc97ac9a79f5267a8eb92bdda4aa40c0 Mon Sep 17 00:00:00 2001 From: Kalista Payne Date: Thu, 23 Jan 2025 12:41:06 -0600 Subject: [PATCH] Squashed commit of the following: commit 3746ccb2fdfb23276f49a9aee25e00ca366be14c Author: Phillip Thelen Date: Thu Jan 23 17:30:31 2025 +0100 fix giving gear to contributors commit 557cb582df47abb75331794e2af5c69da5548a90 Author: Phillip Thelen Date: Tue Jan 21 11:10:29 2025 +0100 Give contributors gear immediately commit 8d25bef6e1c6e48aa4d5a3b0cde49844d3164ed9 Author: Phillip Thelen Date: Tue Jan 21 11:10:16 2025 +0100 adjust contributor tests commit d918738533fe059db65d9020adb0126b43aaf0b3 Author: Phillip Thelen Date: Tue Jan 21 11:02:19 2025 +0100 adjust gems per tier --- .../hall/PUT-hall_heores_heroId.test.js | 8 ++++---- website/server/controllers/api-v3/hall.js | 14 ++++++++++++-- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/test/api/v3/integration/hall/PUT-hall_heores_heroId.test.js b/test/api/v3/integration/hall/PUT-hall_heores_heroId.test.js index 2c27536a61..020b5a56ae 100644 --- a/test/api/v3/integration/hall/PUT-hall_heores_heroId.test.js +++ b/test/api/v3/integration/hall/PUT-hall_heores_heroId.test.js @@ -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); }); diff --git a/website/server/controllers/api-v3/hall.js b/website/server/controllers/api-v3/hall.js index 0c3e6e0090..0303764d0c 100644 --- a/website/server/controllers/api-v3/hall.js +++ b/website/server/controllers/api-v3/hall.js @@ -206,9 +206,9 @@ api.getHero = { }, }; -// e.g., tier 5 gives 4 gems. Tier 8 = moderator. Tier 9 = staff +// e.g., tier 5 gives 50 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'); }