- ingame/crafting/gamepad/alchemy_gamepad.lua:188 --
self.inventory:SetCustomExtraData(
function(bagId, slotIndex, data)
self:UpdateItemOnWorkbench(data)
end
)
- ingame/crafting/gamepad/enchanting_gamepad.lua:67 --
self.inventory:SetCustomExtraData(function(bagId, slotIndex, data)
if self.enchantingMode == ENCHANTING_MODE_CREATION then
local itemName = GetItemName(bagId, slotIndex)
local itemLink = GetItemLink(bagId, slotIndex)
local known, name = GetItemLinkEnchantingRuneName(itemLink)
local _, _, runeType, rankRequirement, rarityRequirement = GetItemCraftingInfo(bagId, slotIndex)
data.meetsUsageRequirement = DoesRunePassRequirements(runeType, rankRequirement, rarityRequirement)
local requirementString = ""
if known == true then
data.name = zo_strformat(SI_GAMEPAD_ENCHANTING_TRANSLATION_KNOWN, itemName, name)
else
data.name = zo_strformat(SI_GAMEPAD_ENCHANTING_TRANSLATION_KNOWN, itemName, GetString(SI_ENCHANTING_TRANSLATION_UNKNOWN))
end
local traitSubLabel = name and zo_strformat(name) or zo_strformat(GetString(SI_ENCHANTING_TRANSLATION_UNKNOWN))
data:AddSubLabel(traitSubLabel)
if runeType == ENCHANTING_RUNE_POTENCY then
requirementString = zo_strformat(SI_ENCHANTING_REQUIRES_POTENCY_IMPROVEMENT, rankRequirement)
elseif runeType == ENCHANTING_RUNE_ASPECT then
requirementString = zo_strformat(SI_ENCHANTING_REQUIRES_ASPECT_IMPROVEMENT, rarityRequirement)
end
if(requirementString ~= "") then
if data.meetsUsageRequirement then
data:AddSubLabel(ZO_SUCCEEDED_TEXT:Colorize(requirementString))
else
data:AddSubLabel(ZO_ERROR_COLOR:Colorize(requirementString))
end
end
end
end
)
- ingame/crafting/gamepad/smithingextraction_gamepad.lua:174 --
self.inventory:SetCustomExtraData(function(bagId, slotIndex, data)
if self:GetFilterType() == SMITHING_FILTER_TYPE_RAW_MATERIALS then
-- turn refinement stacks red if they don't have a large enough quantity in them to be refineable
data.meetsUsageRequirement = data.stackCount >= GetRequiredSmithingRefinementStackSize()
end
ZO_GamepadCraftingUtils_SetEntryDataSlotted(data, self.extractionSlot:ContainsBagAndSlot(data.bagId, data.slotIndex))
if self:GetFilterType() == SMITHING_FILTER_TYPE_RAW_MATERIALS then
data.hasCraftingQuestPin = self:CanRefineToQuestItem(bagId, slotIndex)
--If there is an override status indicator icon, we need to explicitly add the quest pin here
if data.overrideStatusIndicatorIcons and data.hasCraftingQuestPin then
data.overrideStatusIndicatorIcons = {"EsoUI/Art/Inventory/Gamepad/gp_inventory_icon_equipped.dds", "EsoUI/Art/WritAdvisor/Gamepad/gp_advisor_trackedPin_icon.dds"}
end
else
data.hasCraftingQuestPin = false
end
end
)
- ingame/crafting/gamepad/smithingimprovement_gamepad.lua:264 --
self.inventory:SetCustomExtraData(function(bagId, slotIndex, data)
local itemId = GetItemId(bagId, slotIndex)
local improvementQuestInfo = self.inventory.improvementQuestInfo
local shouldShowQuestPin = false
if itemId == improvementQuestInfo.desiredItemId and itemId ~= nil then
shouldShowQuestPin = DoesItemMatchSmithingMaterialTraitAndStyle(bagId, slotIndex, improvementQuestInfo.desiredMaterial, improvementQuestInfo.desiredTrait, improvementQuestInfo.desiredStyle) and (data.functionalQuality < improvementQuestInfo.desiredQuality)
end
data.hasCraftingQuestPin = shouldShowQuestPin
data:SetIgnoreTraitInformation(true)
end)