Skip to content

Commit

Permalink
Merge pull request #2169 from DuckySoLucky/fixAccessoriesv59105ibu2qh…
Browse files Browse the repository at this point in the history
…85u0iaojtnia

fix: unqiue accessories count & dupes
  • Loading branch information
metalcupcake5 authored Jan 20, 2024
2 parents 0c5e8c0 + 365a7a4 commit 6d43853
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 17 deletions.
2 changes: 1 addition & 1 deletion src/lib.js
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@ export async function getStats(
user_data: { fn: stats.getUserData, args: { userProfile } },
currencies: { fn: stats.getCurrenciesData, args: { userProfile, profile } },
weight: { fn: stats.getWeight, args: { output }, promise: true },
accessories: { fn: stats.getMissingAccessories, args: { output, items, packs } },
accessories: { fn: stats.getMissingAccessories, args: { output, items, packs }, promise: true },
temp_stats: { fn: stats.getTempStats, args: { userProfile } },
rift: { fn: stats.getRift, args: { userProfile } },
networth: { fn: getPreDecodedNetworth, args: { userProfile, networthItems, bank, networthOptions }, promise: true },
Expand Down
28 changes: 20 additions & 8 deletions src/stats/missing.js
Original file line number Diff line number Diff line change
Expand Up @@ -141,28 +141,40 @@ export async function getMissingAccessories(calculated, items, packs) {
}

const accessories = items.accessories.accessories;
const activeAccessories = accessories.filter((a) => a.isInactive === false);

output.unique = accessories.filter((a) => a.isUnique === true).length;
output.total = constants.UNIQUE_ACCESSORIES_COUNT;

output.recombobulated = accessories.filter((a) => a?.extra?.recombobulated === true).length;
output.recombobulated = activeAccessories.filter((a) => a?.extra?.recombobulated === true).length;
output.total_recombobulated = constants.RECOMBABLE_ACCESSORIES_COUNT;

const activeAccessories = accessories.filter((a) => a.isUnique === true && a.isInactive === false);
const hegemonyArtifact = accessoryIds.find((a) => a.id === "HEGEMONY_ARTIFACT");
const abiphoneContacts = calculated.crimson_isle?.abiphone?.active;
const riftPrism = accessoryIds.find((a) => a.id === "RIFT_PRISM");
if (riftPrism) {
output.unique += 1;
}

output.magical_power = {
accessories: activeAccessories.reduce((a, b) => a + helper.getMagicalPower(b.rarity, helper.getId(b)), 0),
abiphone: calculated.crimson_isle?.abiphone?.active ? Math.floor(calculated.crimson_isle.abiphone.active / 2) : 0,
rift_prism: accessoryIds.find((a) => a.id === "RIFT_PRISM") ? 11 : 0,
abiphone: abiphoneContacts ? Math.floor(abiphoneContacts / 2) : 0,
rift_prism: riftPrism ? 11 : 0,
hegemony: hegemonyArtifact ? helper.getMagicalPower(hegemonyArtifact.rarity, hegemonyArtifact.id) : 0,
};

output.magical_power.total = Object.values(output.magical_power).reduce((a, b) => a + b, 0);
output.magical_power.total = Object.keys(output.magical_power)
.filter((a) => a !== "hegemony")
.reduce((a, b) => a + output.magical_power[b], 0);

output.magical_power.rarities = {};
for (const rarity in constants.MAGICAL_POWER) {
output.magical_power.rarities[rarity] = activeAccessories
.filter((a) => a.rarity === rarity)
.reduce((a, b) => a + helper.getMagicalPower(rarity, helper.getId(b)), 0);
const accessories = activeAccessories.filter((a) => a.rarity === rarity);

output.magical_power.rarities[rarity] = {
amount: accessories.length,
magical_power: accessories.reduce((a, b) => a + helper.getMagicalPower(rarity, helper.getId(b)), 0),
};
}

return output;
Expand Down
21 changes: 13 additions & 8 deletions views/sections/stats/items/accessories.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -98,14 +98,14 @@ function itemIcon(item, classes) { %>
<span data-tippy-content="
Accessories Breakdown<br>
<span style='color: var(--§8);' class='grey-text'>From your accessory bag</span><br><br>
<span style='color: var(--§6);' class='grey-text'>22 MP</span> × <span style='color: var(--§d);' class='grey-text'><%= rarities.mythic / 22 %> Accs.</span> = <span style='color: var(--§6);' class='grey-text'><%= rarities.mythic.toLocaleString() %> MP</span><br>
<span style='color: var(--§6);' class='grey-text'>16 MP</span> × <span style='color: var(--§6);' class='grey-text'><%= rarities.legendary / 16 %> Accs.</span> = <span style='color: var(--§6);' class='grey-text'><%= rarities.legendary.toLocaleString() %> MP</span><br>
<span style='color: var(--§6);' class='grey-text'>12 MP</span> × <span style='color: var(--§5);' class='grey-text'><%= rarities.epic / 12 %> Accs.</span> = <span style='color: var(--§6);' class='grey-text'><%= rarities.epic.toLocaleString() %> MP</span><br>
<span style='color: var(--§6);' class='grey-text'>8 MP</span> × <span style='color: var(--§1);' class='grey-text'><%= rarities.rare / 8 %> Accs.</span> = <span style='color: var(--§6);' class='grey-text'><%= rarities.rare.toLocaleString() %> MP</span><br>
<span style='color: var(--§6);' class='grey-text'>5 MP</span> × <span style='color: var(--§a);' class='grey-text'><%= rarities.uncommon / 5 %> Accs.</span> = <span style='color: var(--§6);' class='grey-text'><%= rarities.uncommon.toLocaleString() %> MP</span><br>
<span style='color: var(--§6);' class='grey-text'>3 MP</span> × <span style='color: var(--§f);' class='grey-text'><%= rarities.common / 3 %> Accs.</span> = <span style='color: var(--§6);' class='grey-text'><%= rarities.common.toLocaleString() %> MP</span><br>
<span style='color: var(--§6);' class='grey-text'>3 MP</span> × <span style='color: var(--§c);' class='grey-text'><%= rarities.special /3 %> Accs.</span> = <span style='color: var(--§6);' class='grey-text'><%= rarities.special.toLocaleString() %> MP</span><br>
<span style='color: var(--§6);' class='grey-text'>5 MP</span> × <span style='color: var(--§c);' class='grey-text'><%= rarities.very_special / 5 %> Accs.</span> = <span style='color: var(--§6);' class='grey-text'><%= rarities.very_special.toLocaleString() %> MP</span><br>
<span style='color: var(--§6);' class='grey-text'>22 MP</span> × <span style='color: var(--§d);' class='grey-text'><%= rarities.mythic.amount%> Accs.</span> = <span style='color: var(--§6);' class='grey-text'><%= rarities.mythic.magical_power.toLocaleString() %> MP</span><br>
<span style='color: var(--§6);' class='grey-text'>16 MP</span> × <span style='color: var(--§6);' class='grey-text'><%= rarities.legendary.amount %> Accs.</span> = <span style='color: var(--§6);' class='grey-text'><%= rarities.legendary.magical_power.toLocaleString() %> MP</span><br>
<span style='color: var(--§6);' class='grey-text'>12 MP</span> × <span style='color: var(--§5);' class='grey-text'><%= rarities.epic.amount %> Accs.</span> = <span style='color: var(--§6);' class='grey-text'><%= rarities.epic.magical_power.toLocaleString() %> MP</span><br>
<span style='color: var(--§6);' class='grey-text'>8 MP</span> × <span style='color: var(--§1);' class='grey-text'><%= rarities.rare.amount %> Accs.</span> = <span style='color: var(--§6);' class='grey-text'><%= rarities.rare.magical_power.toLocaleString() %> MP</span><br>
<span style='color: var(--§6);' class='grey-text'>5 MP</span> × <span style='color: var(--§a);' class='grey-text'><%= rarities.uncommon.amount %> Accs.</span> = <span style='color: var(--§6);' class='grey-text'><%= rarities.uncommon.magical_power.toLocaleString() %> MP</span><br>
<span style='color: var(--§6);' class='grey-text'>3 MP</span> × <span style='color: var(--§f);' class='grey-text'><%= rarities.common.amount %> Accs.</span> = <span style='color: var(--§6);' class='grey-text'><%= rarities.common.magical_power.toLocaleString() %> MP</span><br>
<span style='color: var(--§6);' class='grey-text'>3 MP</span> × <span style='color: var(--§c);' class='grey-text'><%= rarities.special.amount %> Accs.</span> = <span style='color: var(--§6);' class='grey-text'><%= rarities.special.magical_power.toLocaleString() %> MP</span><br>
<span style='color: var(--§6);' class='grey-text'>5 MP</span> × <span style='color: var(--§c);' class='grey-text'><%= rarities.very_special.amount %> Accs.</span> = <span style='color: var(--§6);' class='grey-text'><%= rarities.very_special.magical_power.toLocaleString() %> MP</span><br>
<br>
<% if (calculated.accessories.magical_power.abiphone) { %>
<span style='color: var(--§<%= constants.RARITY_COLORS["rare"] %>);' class='grey-text'>Abicase</span> = <span style='color: var(--§6);' class='grey-text'>+<%= calculated.accessories.magical_power.abiphone %> MP</span><br>
Expand All @@ -114,6 +114,11 @@ function itemIcon(item, classes) { %>
<% if (calculated.accessories.magical_power.rift_prism) { %>
<span style='color: var(--§<%= constants.RARITY_COLORS["rare"] %>);' class='grey-text'>Rift Prism:</span> = <span style='color: var(--§6);' class='grey-text'>+<%= calculated.accessories.magical_power.rift_prism %> MP</span><br>
<% } %>
<% const hegemonyArtifact = items.accessories.accessory_ids.find((a) => a.id === "HEGEMONY_ARTIFACT"); %>
<% if (calculated.accessories.magical_power.hegemony) { %>
<span style='color: var(--§<%= constants.RARITY_COLORS[hegemonyArtifact.rarity] %>);' class='grey-text'>Hegemony Artifact:</span> = <span style='color: var(--§6);' class='grey-text'>+<%= calculated.accessories.magical_power.hegemony %> MP</span><br>
<% } %>
<br>
Total: <span style='color: var(--§6);' class='grey-text'><%= calculated.accessories.magical_power.total.toLocaleString() %> Magical Power</span>
">
Expand Down

0 comments on commit 6d43853

Please sign in to comment.