From f491e1fcbe9888df4a8ebc71c669d2361641a137 Mon Sep 17 00:00:00 2001 From: Ben Hollis Date: Tue, 17 Sep 2024 23:35:58 -0700 Subject: [PATCH] Subclass vs class gets me one last time --- docs/CHANGELOG.md | 3 +++ src/app/inventory/store/d1-item-factory.ts | 3 ++- src/app/inventory/store/d2-item-factory.ts | 7 ++++--- src/app/organizer/Columns.tsx | 14 +++++++++++++- .../search/items/search-filters/known-values.ts | 2 +- 5 files changed, 23 insertions(+), 6 deletions(-) diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index cf0147be1e..3ad9f3c551 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -1,5 +1,8 @@ ## Next +* Renamed `is:class` to `is:subclass`. +* Fixed D1 item category searches such as `is:primary` and `is:horn`. Now they're up to parity with the D2 categories. + ## 8.37.0 (2024-09-15) ## 8.36.1 (2024-09-12) diff --git a/src/app/inventory/store/d1-item-factory.ts b/src/app/inventory/store/d1-item-factory.ts index 6f4184301f..5d56b2559d 100644 --- a/src/app/inventory/store/d1-item-factory.ts +++ b/src/app/inventory/store/d1-item-factory.ts @@ -24,6 +24,7 @@ import { ItemBindStatus, ItemLocation, ItemState, + TierType, TransferStatuses, } from 'bungie-api-ts/destiny2'; import missingSources from 'data/d1/missing_sources.json'; @@ -291,7 +292,7 @@ function makeItem( hash: item.itemHash, itemCategoryHashes: itemDef.itemCategoryHashes || [], tier: tiers[itemDef.tierType] || 'Common', - isExotic: tiers[itemDef.tierType] === 'Exotic', + isExotic: itemDef.tierType === TierType.Exotic, name: itemDef.itemName, description: itemDef.itemDescription || '', // Added description for Bounties for now JFLAY2015 icon: itemDef.icon, diff --git a/src/app/inventory/store/d2-item-factory.ts b/src/app/inventory/store/d2-item-factory.ts index 65e22991de..17adb9c3a5 100644 --- a/src/app/inventory/store/d2-item-factory.ts +++ b/src/app/inventory/store/d2-item-factory.ts @@ -36,6 +36,7 @@ import { ItemPerkVisibility, ItemState, SingleComponentResponse, + TierType, TransferStatuses, } from 'bungie-api-ts/destiny2'; import enhancedIntrinsics from 'data/d2/crafting-enhanced-intrinsics'; @@ -347,7 +348,7 @@ export function makeItem( let primaryStat: DimItem['primaryStat'] = null; if ( itemInstanceData.primaryStat && - normalBucket.hash !== BucketHashes.ClassArmor && + normalBucket.hash !== BucketHashes.Subclass && !itemDef.stats?.disablePrimaryStatDisplay ) { primaryStat = itemInstanceData.primaryStat; @@ -452,7 +453,7 @@ export function makeItem( hash: item.itemHash, itemCategoryHashes: getItemCategoryHashes(itemDef), tier: D2ItemTiers[itemDef.inventory!.tierType] || 'Common', - isExotic: D2ItemTiers[itemDef.inventory!.tierType] === 'Exotic', + isExotic: itemDef.inventory!.tierType === TierType.Exotic, name, description: displayProperties.description, icon: overrideStyleItem?.displayProperties.icon || displayProperties.icon || d2MissingIcon, @@ -489,7 +490,7 @@ export function makeItem( tracked: Boolean(item.state & ItemState.Tracked), locked: Boolean(item.state & ItemState.Locked), masterwork: - Boolean(item.state & ItemState.Masterwork) && normalBucket.hash !== BucketHashes.ClassArmor, + Boolean(item.state & ItemState.Masterwork) && normalBucket.hash !== BucketHashes.Subclass, crafted: item.state & ItemState.Crafted ? 'crafted' : false, highlightedObjective: Boolean(item.state & ItemState.HighlightedObjective), classified: Boolean(itemDef.redacted), diff --git a/src/app/organizer/Columns.tsx b/src/app/organizer/Columns.tsx index a7ae55b7be..5196095f76 100644 --- a/src/app/organizer/Columns.tsx +++ b/src/app/organizer/Columns.tsx @@ -67,6 +67,7 @@ import clsx from 'clsx'; import { D2EventInfo } from 'data/d2/d2-event-info-v2'; import { BreakerTypeHashes, + BucketHashes, ItemCategoryHashes, PlugCategoryHashes, StatHashes, @@ -482,7 +483,18 @@ export function getColumns( id: 'Category', header: 'Category', csv: 'Category', - value: (i) => i.bucket.name, + value: (i) => { + switch (i.bucket.hash) { + case BucketHashes.KineticWeapons: + return i.destinyVersion === 2 ? 'KineticSlot' : 'Primary'; + case BucketHashes.EnergyWeapons: + return i.destinyVersion === 2 ? 'Energy' : 'Special'; + case BucketHashes.PowerWeapons: + return i.destinyVersion === 2 ? 'Power' : 'Heavy'; + default: + return i.bucket.name; + } + }, }), isSpreadsheet && c({ diff --git a/src/app/search/items/search-filters/known-values.ts b/src/app/search/items/search-filters/known-values.ts index 80beeef735..2fcf2d115f 100644 --- a/src/app/search/items/search-filters/known-values.ts +++ b/src/app/search/items/search-filters/known-values.ts @@ -155,7 +155,7 @@ const d1BucketToType: LookupTable = { [BucketHashes.LegArmor]: 'leg', [BucketHashes.ClassArmor]: 'classitem', - [BucketHashes.Subclass]: 'class', + [BucketHashes.Subclass]: 'subclass', [D1BucketHashes.Artifact]: 'artifact', [BucketHashes.Ghost]: 'ghost', [BucketHashes.Consumables]: 'consumables',