View Single Post
10/15/18, 04:41 PM   #4
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,578
Originally Posted by ZOS_ChipHilseberg View Post
We can add GetItemLinkEnchantSearchCategoryType(itemlink) - search category.
That would be very helpful. For now I made a workaround:

Lua Code:
  1. local ENCHANT_CATEGORY_BY_HEADER = {}
  2. do
  3.     local SAMPLE_GLYPH_ITEM_LINK_TEMPLATE = "|H1:item:%d:366:50:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0|h|h"
  4.  
  5.     local enchantCategorySampleGlyphItemId = {
  6.         -- weapons
  7.         [ENCHANTMENT_SEARCH_CATEGORY_FIERY_WEAPON] = 26848,
  8.         [ENCHANTMENT_SEARCH_CATEGORY_FROZEN_WEAPON] = 5365,
  9.         [ENCHANTMENT_SEARCH_CATEGORY_CHARGED_WEAPON] = 26844,
  10.         [ENCHANTMENT_SEARCH_CATEGORY_POISONED_WEAPON] = 26587,
  11.         [ENCHANTMENT_SEARCH_CATEGORY_BEFOULED_WEAPON] = 26841,
  12.         [ENCHANTMENT_SEARCH_CATEGORY_DAMAGE_HEALTH] = 45869,
  13.         [ENCHANTMENT_SEARCH_CATEGORY_BERSERKER] = 54484,
  14.         [ENCHANTMENT_SEARCH_CATEGORY_REDUCE_POWER] = 26591,
  15.         [ENCHANTMENT_SEARCH_CATEGORY_DAMAGE_SHIELD] = 5366,
  16.         [ENCHANTMENT_SEARCH_CATEGORY_REDUCE_ARMOR] = 26845,
  17.         [ENCHANTMENT_SEARCH_CATEGORY_ABSORB_MAGICKA] = 45868,
  18.         [ENCHANTMENT_SEARCH_CATEGORY_ABSORB_HEALTH] = 43573,
  19.         [ENCHANTMENT_SEARCH_CATEGORY_ABSORB_STAMINA] = 45867,
  20.         -- prismatic 68344
  21.  
  22.         -- armor
  23.         [ENCHANTMENT_SEARCH_CATEGORY_MAGICKA] = 26582,
  24.         [ENCHANTMENT_SEARCH_CATEGORY_HEALTH] = 26580,
  25.         [ENCHANTMENT_SEARCH_CATEGORY_STAMINA] = 26588,
  26.         -- prismatic 68343
  27.  
  28.         -- jewelry
  29.         [ENCHANTMENT_SEARCH_CATEGORY_FIRE_RESISTANT] = 26849,
  30.         [ENCHANTMENT_SEARCH_CATEGORY_FROST_RESISTANT] = 5364,
  31.         [ENCHANTMENT_SEARCH_CATEGORY_SHOCK_RESISTANT] = 43570,
  32.         [ENCHANTMENT_SEARCH_CATEGORY_POISON_RESISTANT] = 26586,
  33.         [ENCHANTMENT_SEARCH_CATEGORY_DISEASE_RESISTANT] = 26847,
  34.         [ENCHANTMENT_SEARCH_CATEGORY_DECREASE_SPELL_DAMAGE] = 45886,
  35.         [ENCHANTMENT_SEARCH_CATEGORY_DECREASE_PHYSICAL_DAMAGE] = 45885,
  36.         [ENCHANTMENT_SEARCH_CATEGORY_INCREASE_SPELL_DAMAGE] = 45884,
  37.         [ENCHANTMENT_SEARCH_CATEGORY_INCREASE_PHYSICAL_DAMAGE] = 45883,
  38.         [ENCHANTMENT_SEARCH_CATEGORY_INCREASE_BASH_DAMAGE] = 45872,
  39.         [ENCHANTMENT_SEARCH_CATEGORY_INCREASE_POTION_EFFECTIVENESS] = 45874,
  40.         [ENCHANTMENT_SEARCH_CATEGORY_REDUCE_POTION_COOLDOWN] = 45875,
  41.         [ENCHANTMENT_SEARCH_CATEGORY_REDUCE_SPELL_COST] = 45870,
  42.         [ENCHANTMENT_SEARCH_CATEGORY_REDUCE_FEAT_COST] = 45871,
  43.         [ENCHANTMENT_SEARCH_CATEGORY_REDUCE_BLOCK_AND_BASH] = 45873,
  44.         [ENCHANTMENT_SEARCH_CATEGORY_MAGICKA_REGEN] = 26583,
  45.         [ENCHANTMENT_SEARCH_CATEGORY_HEALTH_REGEN] = 26581,
  46.         [ENCHANTMENT_SEARCH_CATEGORY_STAMINA_REGEN] = 26589,
  47.     }
  48.  
  49.     for category, id in pairs(enchantCategorySampleGlyphItemId) do
  50.         local _, enchantHeader = GetItemLinkEnchantInfo(SAMPLE_GLYPH_ITEM_LINK_TEMPLATE:format(id))
  51.         ENCHANT_CATEGORY_BY_HEADER[enchantHeader] = category
  52.     end
  53. end
  54.  
  55. local function GetItemLinkEnchantSearchCategoryType(itemLink)
  56.     local _, enchantHeader = GetItemLinkEnchantInfo(itemLink)
  57.     if(enchantHeader ~= "") then
  58.         return ENCHANT_CATEGORY_BY_HEADER[enchantHeader] or ENCHANTMENT_SEARCH_CATEGORY_OTHER
  59.     end
  60.     return nil
  61. end

I also noticed there are no enchant search categories for the prismatic glyphs. They show up in ENCHANTMENT_SEARCH_CATEGORY_OTHER at the moment and since the ability altering equipment no longer uses enchantments, it would probably make sense to remove the "other" category in favor of two new ones for the prismatic glyphs.

And I agree with what Kyoma said. A way to get the default glyph on dropped equipment would still be nice for other use cases.