From a9d1d5bff75ee9d5f313149ea8497c22be70d894 Mon Sep 17 00:00:00 2001 From: Freddie Date: Sun, 4 Oct 2026 18:07:22 -0700 Subject: [PATCH 1/9] Merge addon sub-profession known recipes into existing data --- apps/web/Models/Api/User/ApiUserCharacter.cs | 24 +++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/apps/web/Models/Api/User/ApiUserCharacter.cs b/apps/web/Models/Api/User/ApiUserCharacter.cs index 25cdb26f5..5dd2d9183 100644 --- a/apps/web/Models/Api/User/ApiUserCharacter.cs +++ b/apps/web/Models/Api/User/ApiUserCharacter.cs @@ -140,18 +140,26 @@ public ApiUserCharacter( // Merge any addon data if (Professions != null && character.AddonData?.Professions != null) { - foreach (var (skillLineId, professionData) in character.AddonData.Professions) + foreach ((int skillLineId, var addonProfessionData) in character.AddonData.Professions) { - int parentId = 0; - // Pandaria Cooking Ways - if (skillLineId is >= 975 and <= 980) + // Pandaria Cooking Ways - API has no data so use it wholesale + if (skillLineId is >= 975 and <= 980 && + Professions.TryGetValue(185, out var cooking)) { - parentId = 185; + cooking[skillLineId] = addonProfessionData; } - - if (parentId > 0 && Professions.TryGetValue(parentId, out var parentProfession)) + else { - parentProfession[skillLineId] = professionData; + foreach ((int professionId, var professionData) in Professions) + { + if (professionData.TryGetValue(skillLineId, out var subProfessionData)) + { + subProfessionData.KnownRecipes = subProfessionData.KnownRecipes + .Concat(addonProfessionData.KnownRecipes) + .Distinct() + .ToList(); + } + } } } } From 2d0f5241ab70993e2ccb8270a62596fdd530e5e6 Mon Sep 17 00:00:00 2001 From: Freddie Date: Sun, 4 Oct 2026 18:07:40 -0700 Subject: [PATCH 2/9] Remove weird magical intrusion dampener ability IDs --- apps/tool/Data/IgnoredSkillLineAbilities.cs | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/apps/tool/Data/IgnoredSkillLineAbilities.cs b/apps/tool/Data/IgnoredSkillLineAbilities.cs index d5b7f26f9..d742cfe56 100644 --- a/apps/tool/Data/IgnoredSkillLineAbilities.cs +++ b/apps/tool/Data/IgnoredSkillLineAbilities.cs @@ -4,17 +4,6 @@ public static partial class Hardcoded { public static readonly HashSet IgnoredSkillLineAbilities = [ - // Magical Intrusion Dampener weirdness - 39964, - 39965, - 39966, - 41059, - 41060, - 41061, - 46628, - 46629, - 46630, - 50551, // Rockslide Shake that doesn't exist ]; } From c6f6d2e2a1d318d9102a49fdc2231f09056a1c16 Mon Sep 17 00:00:00 2001 From: Freddie Date: Sun, 4 Oct 2026 18:17:01 -0700 Subject: [PATCH 3/9] Hide some particularly problematic skill line abilities --- apps/frontend/data/professions/hidden.ts | 6 ++++++ .../components/collections/recipes/Ability.svelte | 6 ++++-- .../user-home/components/collections/recipes/View.svelte | 2 +- apps/frontend/user-home/state/user/derived.svelte.ts | 8 ++++++-- 4 files changed, 17 insertions(+), 5 deletions(-) create mode 100644 apps/frontend/data/professions/hidden.ts diff --git a/apps/frontend/data/professions/hidden.ts b/apps/frontend/data/professions/hidden.ts new file mode 100644 index 000000000..6d1c4c14b --- /dev/null +++ b/apps/frontend/data/professions/hidden.ts @@ -0,0 +1,6 @@ +export const hiddenSkillLineAbilitySpellIds = new Set([ + // Tailoring > Cloth Scavenging + 59390, 343634, 392396, + // Tailoring > Profession Ranks + 3908, 3909, 3910, 12180, 26790, 51309, 75156, 110426, 158758, 195126, +]); diff --git a/apps/frontend/user-home/components/collections/recipes/Ability.svelte b/apps/frontend/user-home/components/collections/recipes/Ability.svelte index f06988074..7bdaf6866 100644 --- a/apps/frontend/user-home/components/collections/recipes/Ability.svelte +++ b/apps/frontend/user-home/components/collections/recipes/Ability.svelte @@ -1,6 +1,8 @@