From 74fc543ef2f545cddffc280e7ccc772ff05a0925 Mon Sep 17 00:00:00 2001 From: Fiz <34069775+Hafizzle@users.noreply.github.com> Date: Thu, 12 Mar 2026 14:51:48 -0500 Subject: [PATCH] Orb of Rebirth Updates (Count usage) (#15629) * Update orb of rebirth to count every usage * Orb of rebirth modal UI updates * Fix rebirth modal showing again after page refresh * remove unused MAX_LEVEL * scale orb of rebirth on modal * UI & wording updates for Orb of Rebirth * UI & wording updates for Orb of Rebirth cont. * Orb of rebirth UI tweaks * Orb of rebirth UI tweaks * Orb of Rebirth modal UI tweak * Extend modal waves * Continued Orb of Rebirth UI Updates * Orb of rebirth margin tweak * rebirth-orb asset --- test/common/ops/rebirth.js | 25 +- .../client/src/assets/images/rebirth-orb.png | Bin 0 -> 375 bytes .../client/src/assets/svg/purple-waves.svg | 5 + .../src/components/achievements/rebirth.vue | 237 +++++++++++++++--- .../achievements/rebirthEnabled.vue | 185 ++++++++++++-- .../client/src/components/notifications.vue | 16 +- website/common/locales/en/rebirth.json | 11 +- website/common/script/ops/rebirth.js | 5 +- 8 files changed, 412 insertions(+), 72 deletions(-) create mode 100644 website/client/src/assets/images/rebirth-orb.png create mode 100644 website/client/src/assets/svg/purple-waves.svg diff --git a/test/common/ops/rebirth.js b/test/common/ops/rebirth.js index 5193126c6a..d7accbfd43 100644 --- a/test/common/ops/rebirth.js +++ b/test/common/ops/rebirth.js @@ -211,22 +211,32 @@ describe('shared.ops.rebirth', () => { expect(user.achievements.rebirthLevel).to.equal(2); }); - it('does not increment rebirth achievements when level is lower than previous', async () => { + it('increments rebirth achievements even when level is lower than previous', async () => { user.stats.lvl = 2; user.achievements.rebirths = 1; user.achievements.rebirthLevel = 3; await rebirth(user); - expect(user.achievements.rebirths).to.equal(1); + expect(user.achievements.rebirths).to.equal(2); expect(user.achievements.rebirthLevel).to.equal(3); }); - it('always increments rebirth achievements when level is MAX_LEVEL', async () => { + it('updates rebirthLevel when current level is higher than previous', async () => { + user.stats.lvl = 5; + user.achievements.rebirths = 1; + user.achievements.rebirthLevel = 3; + + await rebirth(user); + + expect(user.achievements.rebirths).to.equal(2); + expect(user.achievements.rebirthLevel).to.equal(5); + }); + + it('increments rebirth achievements when level is MAX_LEVEL', async () => { user.stats.lvl = MAX_LEVEL; user.achievements.rebirths = 1; - // this value is not actually possible (actually capped at MAX_LEVEL) but makes a good test - user.achievements.rebirthLevel = MAX_LEVEL + 1; + user.achievements.rebirthLevel = MAX_LEVEL; await rebirth(user); @@ -234,11 +244,10 @@ describe('shared.ops.rebirth', () => { expect(user.achievements.rebirthLevel).to.equal(MAX_LEVEL); }); - it('always increments rebirth achievements when level is greater than MAX_LEVEL', async () => { + it('increments rebirth achievements when level is greater than MAX_LEVEL', async () => { user.stats.lvl = MAX_LEVEL + 1; user.achievements.rebirths = 1; - // this value is not actually possible (actually capped at MAX_LEVEL) but makes a good test - user.achievements.rebirthLevel = MAX_LEVEL + 2; + user.achievements.rebirthLevel = MAX_LEVEL; await rebirth(user); diff --git a/website/client/src/assets/images/rebirth-orb.png b/website/client/src/assets/images/rebirth-orb.png new file mode 100644 index 0000000000000000000000000000000000000000..daf89541bf0cbea55c76fe9e8dcb334755fa2191 GIT binary patch literal 375 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|e-2k5uS0G)e!29(O2axf#LB2D| z{g6NRnHgFC|NsB_c7wgT!s{cv+Z6fkd9r@J&9O30^CM6le@T#EFauBp5_sA>Zy8YP zm8XkiNX4AJlX(RX8Su2;SIH6TYEfM1!N9$_fko#Glg9#~87-kqn;kyw%4=wt9$WSE zXVG`Pw^A3Pbbf4&%5-r!UGg*YdKcRZU5*(u=AD&isY+3jIxxAR#Ut~dYT8U^t_52* z@0{*X*q0Kf&KYn`WR0k#YB764u6t=iv_ey;Qbz_uyzl9)cM4+U&v1u_iN#N0nPC|5 z>qz47TqUO{y2g^cb%Y+%^IeP4EW;f=?0DaBi>FVdQ I&MBb@0N~Y^kN^Mx literal 0 HcmV?d00001 diff --git a/website/client/src/assets/svg/purple-waves.svg b/website/client/src/assets/svg/purple-waves.svg new file mode 100644 index 0000000000..737de7058a --- /dev/null +++ b/website/client/src/assets/svg/purple-waves.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/website/client/src/components/achievements/rebirth.vue b/website/client/src/components/achievements/rebirth.vue index 174b5cd4c3..4bb514c9c9 100644 --- a/website/client/src/components/achievements/rebirth.vue +++ b/website/client/src/components/achievements/rebirth.vue @@ -1,53 +1,228 @@ - + +