From f488400e7800f5b0059e8a1eddd228c0532d0cb0 Mon Sep 17 00:00:00 2001 From: cosmo Date: Sun, 26 Apr 2026 20:52:41 +0200 Subject: [PATCH] feat: implement purge logic for undefined Ikonis weapon features to ensure data consistency --- scripts/ikonis-data.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/scripts/ikonis-data.js b/scripts/ikonis-data.js index 9f011fa..e1e8803 100644 --- a/scripts/ikonis-data.js +++ b/scripts/ikonis-data.js @@ -46,10 +46,19 @@ export async function seedIkonisHomebrew() { if (!homebrew.itemFeatures.weaponFeatures) homebrew.itemFeatures.weaponFeatures = {}; let updates = false; + const recognizedIds = DEFAULT_AUGMENTS.map(aug => `ikonis-${aug.id}`); + + // Purge undefined Ikonis features + for (const [id, feature] of Object.entries(homebrew.itemFeatures.weaponFeatures)) { + if (id.startsWith('ikonis-') && !recognizedIds.includes(id)) { + console.log(`DH-Ikonis | Purging undefined feature: ${id}`); + delete homebrew.itemFeatures.weaponFeatures[id]; + updates = true; + } + } + for (const aug of DEFAULT_AUGMENTS) { const nativeId = `ikonis-${aug.id}`; - const existing = homebrew.itemFeatures.weaponFeatures[nativeId]; - // Force update to ensure 16-character IDs and correct mechanical effects are synced console.log(`DH-Ikonis | Seeding/Updating feature: ${aug.name}`); homebrew.itemFeatures.weaponFeatures[nativeId] = {