diff --git a/.github/workflows/webiste.yml b/.github/workflows/webiste.yml
index a8f0d19b..d38d00df 100644
--- a/.github/workflows/webiste.yml
+++ b/.github/workflows/webiste.yml
@@ -8,7 +8,7 @@ on:
paths: ["src/**", ".github/workflows/website.yml"]
env:
- NODE_VERSION: "19"
+ NODE_VERSION: "21"
CONTAINER_REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
diff --git a/src/lib/components/Item.svelte b/src/lib/components/Item.svelte
index 2b161301..b20950cf 100644
--- a/src/lib/components/Item.svelte
+++ b/src/lib/components/Item.svelte
@@ -6,7 +6,7 @@
import { Avatar, Tooltip } from "bits-ui";
import Image from "lucide-svelte/icons/image";
- export let piece: ProcessedItem;
+ export let piece: ProcessedItem | ProcessedPet;
export let isInventory = false;
export let showCount = true;
@@ -16,7 +16,7 @@
const bgColor = piece.rarity ? getRarityClass(piece.rarity.toLowerCase() as string, "bg") : "bg-background";
const enchanted = isEnchanted(piece as ProcessedItem);
- const showNumbers = showCount && piece.Count > 1;
+ const showNumbers = showCount && (piece as ProcessedItem).Count > 1;
const processedItem = piece as ProcessedItem;
const processedPet = piece as unknown as ProcessedPet;
@@ -33,7 +33,7 @@
{#if showNumbers}
- {piece.Count}
+ {processedItem.Count}
{/if}
diff --git a/src/lib/constants/NotEnoughUpdates-REPO b/src/lib/constants/NotEnoughUpdates-REPO
index f73d9d05..e3bdcf63 160000
--- a/src/lib/constants/NotEnoughUpdates-REPO
+++ b/src/lib/constants/NotEnoughUpdates-REPO
@@ -1 +1 @@
-Subproject commit f73d9d055f133e93ccd7af162be74c529c8b7bfa
+Subproject commit e3bdcf63a01b1123598edc901a9ab2c4621c3d68
diff --git a/src/lib/sections/stats/Accessories.svelte b/src/lib/sections/stats/Accessories.svelte
index abc567c7..98b82657 100644
--- a/src/lib/sections/stats/Accessories.svelte
+++ b/src/lib/sections/stats/Accessories.svelte
@@ -102,9 +102,9 @@
+{accessories.magicalPower.riftPrism} MP
{/if}
- {#if accessories.magicalPower.hegemony > 0}
+ {#if accessories.magicalPower.hegemony.amount > 0 && accessories.magicalPower.hegemony.rarity !== null}
- Hegemony Artifact:
+ Hegemony Artifact:
=
+{accessories.magicalPower.hegemony} MP
diff --git a/src/lib/stats/items/stats.ts b/src/lib/stats/items/stats.ts
index af71ff50..3bbf26a2 100644
--- a/src/lib/stats/items/stats.ts
+++ b/src/lib/stats/items/stats.ts
@@ -1,7 +1,7 @@
-import { getRawLore } from "$lib/helper";
-import type { ProcessedItem } from "$types/stats";
import * as constants from "$constants/constants";
+import { getRawLore } from "$lib/helper";
import type { ItemStats } from "$types/processed/profile/stats";
+import type { ProcessedItem } from "$types/stats";
export function getStatsFromItem(item: ProcessedItem) {
const regex = /^([A-Za-z ]+): ([+-]([0-9]+(?:,[0-9]{3})*(?:\.[0-9]{0,2})?))/;
@@ -25,7 +25,6 @@ export function getStatsFromItem(item: ProcessedItem) {
if (statName) {
stats[statName] = 0;
- // @ts-expect-error: Object is possibly 'null'.
stats[statName] += statValue;
}
}
diff --git a/src/lib/stats/missing.ts b/src/lib/stats/missing.ts
index 2c78e84a..d5f2477e 100644
--- a/src/lib/stats/missing.ts
+++ b/src/lib/stats/missing.ts
@@ -186,6 +186,10 @@ export async function getMissingAccessories(items: Accessories, userProfile: Mem
accessories: activeAccessories.reduce((a, b) => a + helper.getMagicalPower(b.rarity, helper.getId(b)), 0),
abiphone: abiphoneContacts ? Math.floor(abiphoneContacts / 2) : 0,
riftPrism: riftPrism ? 11 : 0,
+ hegemony: {
+ rarity: activeAccessories.find((a) => helper.getId(a) === "HEGEMONY")?.rarity ?? null,
+ amount: helper.getMagicalPower(activeAccessories.find((a) => helper.getId(a) === "HEGEMONY")?.rarity ?? "", "HEGEMONY_ARTIFACT")
+ },
rarities: {}
};
diff --git a/src/lib/stats/player_stats.ts b/src/lib/stats/player_stats.ts
index 5e105b23..bdc92b14 100644
--- a/src/lib/stats/player_stats.ts
+++ b/src/lib/stats/player_stats.ts
@@ -91,7 +91,7 @@ export function getPlayerStats(profile: Stats) {
}
}
- if (profile.slayer.data) {
+ if (profile.slayer?.data) {
for (const [slayer, data] of Object.entries(profile.slayer.data)) {
const bonusStats = getBonusStat(data.level.level, `slayer_${slayer}`, data.level.maxLevel);
@@ -106,7 +106,7 @@ export function getPlayerStats(profile: Stats) {
}
}
- if (profile.dungeons.level.level > 0) {
+ if (profile.dungeons?.level?.level !== undefined) {
const bonusStats = getBonusStat(profile.dungeons.level.level, "skill_dungeoneering", 50);
for (const [name, value] of Object.entries(bonusStats)) {
diff --git a/src/lib/stats/slayer.ts b/src/lib/stats/slayer.ts
index 0d7476a7..b76e85aa 100644
--- a/src/lib/stats/slayer.ts
+++ b/src/lib/stats/slayer.ts
@@ -1,6 +1,5 @@
-import type { Member, SlayerBoss } from "$types/global";
import * as constants from "$constants/constants";
-import type { Slayer } from "$types/processed/profile/slayer";
+import type { Member, SlayerBoss, SlayerData } from "$types/global";
function getKills(slayer: SlayerBoss) {
if (slayer === undefined) {
@@ -64,7 +63,7 @@ export function getSlayer(userProfile: Member) {
return null;
}
- const output = { data: {} } as Slayer;
+ const output = { data: {} } as SlayerData;
for (const id of constants.SLAYERS) {
const data = slayerData[id];
output.data[id] = {
diff --git a/src/types/processed/profile/items.d.ts b/src/types/processed/profile/items.d.ts
index 07d23265..ecc8fb2f 100644
--- a/src/types/processed/profile/items.d.ts
+++ b/src/types/processed/profile/items.d.ts
@@ -242,6 +242,10 @@ export type AccessoriesOutput = {
accessories: number;
abiphone: number;
riftPrism: number;
+ hegemony: {
+ rarity: string | null;
+ amount: number;
+ };
rarities: Record;
};
};
diff --git a/src/types/stats.d.ts b/src/types/stats.d.ts
index fb1f2eaa..423a7fc1 100644
--- a/src/types/stats.d.ts
+++ b/src/types/stats.d.ts
@@ -39,7 +39,7 @@ export type Stats = {
mining: MiningStats;
farming: Farming;
fishing: Fishing;
- slayer: SlayerData;
+ slayer: SlayerData | null;
dungeons: DungeonsStats | null;
minions: Minions;
bestiary: BestiaryStats;