You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
186 lines
6.3 KiB
186 lines
6.3 KiB
local addonName, addon = ...
|
|
---addon = LibStub("AceAddon-3.0"):NewAddon(addon, addonName, "AceEvent-3.0", "AceConsole-3.0", "AceHook-3.0")
|
|
addon = LibStub("AceAddon-3.0"):GetAddon(addonName)
|
|
local Camera = {}
|
|
addon.Camera = Camera
|
|
local L = LibStub("AceLocale-3.0"):GetLocale(addonName)
|
|
|
|
local _, playerRace, playerRaceID = UnitRace("player")
|
|
local genders = {
|
|
[2] = "Male",
|
|
[3] = "Female",
|
|
}
|
|
local gender = genders[UnitSex("player")]
|
|
|
|
function Camera:GetCameraID(item, force)
|
|
local GetItemInfoInstant = C_Item and C_Item.GetItemInfoInstant
|
|
local cameraType, isWeapon, cameraID
|
|
local itemid, _, _, slot, _, class, subclass = GetItemInfoInstant(item)
|
|
slot = addon.Globals.INVENTORY_SLOT_NAMES[slot]
|
|
slot = addon.Globals.INVENTORY_SLOT_NAMES[slot]
|
|
|
|
if addon.Globals.CAMERAS[class][subclass] and not Camera.lookupItems[slot] then
|
|
isWeapon = true
|
|
cameraID = addon.Globals.CAMERAS[class][subclass]
|
|
|
|
else
|
|
local race = playerRace
|
|
local force = addon.Profile.TooltipPreview_SwapModifier ~= L["None"] and addon.Globals.mods[addon.Profile.TooltipPreview_SwapModifier]()
|
|
|
|
local inAltForm = select(2, C_PlayerInfo.GetAlternateFormInfo())
|
|
|
|
if race == 'Worgen' and addon.Profile.TooltipPreview_SwapDefault or (force and not inAltForm) or (not force and inAltForm) then
|
|
race = 'WorgenAlt'
|
|
end
|
|
|
|
if race == 'Dracthyr' and addon.Profile.TooltipPreview_SwapDefault or (force and not inAltForm) or (not force and inAltForm) then
|
|
race = 'DracthyrAlt'
|
|
end
|
|
|
|
local cameraItem = Camera.lookupItems[slot]
|
|
local itemAppearanceID, itemModifiedAppearanceID = C_TransmogCollection.GetItemInfo(cameraItem)
|
|
cameraID = C_TransmogCollection.GetAppearanceCameraID(itemAppearanceID)
|
|
|
|
cameraType = ("%s-%s-%s"):format(race, gender, slot)
|
|
end
|
|
|
|
return Camera.raceCameraIDs[cameraType] or cameraID, isWeapon
|
|
end
|
|
|
|
function Camera:GetCameraIDBySlot(slotID, force)
|
|
local slot = addon.Globals.CATEGORYID_TO_NAME[slotID]
|
|
local cameraType
|
|
local race = playerRace
|
|
|
|
if not addon.useNativeForm or force then
|
|
if race == 'Worgen' then
|
|
race = 'WorgenAlt'
|
|
end
|
|
|
|
if race == 'Dracthyr' then
|
|
race = 'DracthyrAlt'
|
|
end
|
|
end
|
|
|
|
cameraType = ("%s-%s-%s"):format(race, gender, slot)
|
|
|
|
local cameraItem = Camera.lookupItems[slot]
|
|
local itemAppearanceID, itemModifiedAppearanceID = C_TransmogCollection.GetItemInfo(cameraItem)
|
|
local cameraID = C_TransmogCollection.GetAppearanceCameraID(itemAppearanceID)
|
|
return Camera.raceCameraIDs[cameraType] or cameraID, false
|
|
end
|
|
|
|
addon.Globals.CAMERAS = {[2]={243,251,252,244,245,247,238,239,624,246,248,241,253,253,241,253,247,253,240,818,[0] = 242}, [4] = { [0] = 250, [6]=249}} --
|
|
|
|
Camera.lookupItems={
|
|
["HEADSLOT"] = 191616,
|
|
["SHOULDERSLOT"] = 191620,
|
|
["BACKSLOT"] = 200763,
|
|
["CHESTSLOT"] = 191617,
|
|
["SHIRTSLOT"] = 6833,
|
|
["TABARDSLOT"] = 142504,
|
|
["WRISTSLOT"] = 200687,
|
|
["HANDSSLOT"] = 191774,
|
|
["WAISTSLOT"] = 191621,
|
|
["LEGSSLOT"] = 191618,
|
|
["FEETSLOT"] = 191622,
|
|
}
|
|
|
|
Camera.raceCameraIDs = {
|
|
["Dracthyr-Female-HEADSLOT"] = 1702,
|
|
["Dracthyr-Female-SHOULDERSLOT"] = 1704,
|
|
["Dracthyr-Female-BACKSLOT"] = 1706,
|
|
["Dracthyr-Female-CHESTSLOT"] = 1698,
|
|
["Dracthyr-Female-SHIRTSLOT"] = 1709,
|
|
["Dracthyr-Female-TABARDSLOT"] = 1707,
|
|
["Dracthyr-Female-WRISTSLOT"] = 1711,
|
|
["Dracthyr-Female-HANDSSLOT"] = 1708,
|
|
["Dracthyr-Female-WAISTSLOT"] = 1700,
|
|
["Dracthyr-Female-LEGSSLOT"] = 1701,
|
|
["Dracthyr-Female-FEETSLOT"] = 1705,
|
|
|
|
["DracthyrAlt-Female-HEADSLOT"] = 274,
|
|
["DracthyrAlt-Female-SHOULDERSLOT"] = 275,
|
|
["DracthyrAlt-Female-BACKSLOT"] = 276,
|
|
["DracthyrAlt-Female-CHESTSLOT"] = 278,
|
|
["DracthyrAlt-Female-SHIRTSLOT"] = 278,
|
|
["DracthyrAlt-Female-TABARDSLOT"] = 279,
|
|
["DracthyrAlt-Female-WRISTSLOT"] = 280,
|
|
["DracthyrAlt-Female-HANDSSLOT"] = 281,
|
|
["DracthyrAlt-Female-WAISTSLOT"] = 282,
|
|
["DracthyrAlt-Female-LEGSSLOT"] = 283,
|
|
["DracthyrAlt-Female-FEETSLOT"] = 284,
|
|
|
|
["Dracthyr-Male-HEADSLOT"] = 1702,
|
|
["Dracthyr-Male-SHOULDERSLOT"] = 1704,
|
|
["Dracthyr-Male-BACKSLOT"] = 1706,
|
|
["Dracthyr-Male-CHESTSLOT"] = 1698,
|
|
["Dracthyr-Male-SHIRTSLOT"] = 1709,
|
|
["Dracthyr-Male-TABARDSLOT"] = 1707,
|
|
["Dracthyr-Male-WRISTSLOT"] = 1711,
|
|
["Dracthyr-Male-HANDSSLOT"] = 1708,
|
|
["Dracthyr-Male-WAISTSLOT"] = 1700,
|
|
["Dracthyr-Male-LEGSSLOT"] = 1701,
|
|
["Dracthyr-Male-FEETSLOT"] = 1705,
|
|
|
|
["DracthyrAlt-Male-HEADSLOT"] = 1713,
|
|
["DracthyrAlt-Male-SHOULDERSLOT"] = 455,
|
|
["DracthyrAlt-Male-BACKSLOT"] = 1714,
|
|
["DracthyrAlt-Male-CHESTSLOT"] = 457,
|
|
["DracthyrAlt-Male-SHIRTSLOT"] = 458,
|
|
["DracthyrAlt-Male-TABARDSLOT"] = 1715,
|
|
["DracthyrAlt-Male-WRISTSLOT"] = 460,
|
|
["DracthyrAlt-Male-HANDSSLOT"] = 461,
|
|
["DracthyrAlt-Male-WAISTSLOT"] = 462,
|
|
["DracthyrAlt-Male-LEGSSLOT"] = 463,
|
|
["DracthyrAlt-Male-FEETSLOT"] = 464,
|
|
|
|
["Worgen-Male-HEADSLOT"] = 309,
|
|
["Worgen-Male-SHOULDERSLOT"] = 310,
|
|
["Worgen-Male-BACKSLOT"] = 311,
|
|
["Worgen-Male-CHESTSLOT"] = 312,
|
|
["Worgen-Male-SHIRTSLOT"] = 313,
|
|
["Worgen-Male-TABARDSLOT"] = 314,
|
|
["Worgen-Male-WRISTSLOT"] = 315,
|
|
["Worgen-Male-HANDSSLOT"] = 316,
|
|
["Worgen-Male-WAISTSLOT"] = 317,
|
|
["Worgen-Male-LEGSSLOT"] = 318,
|
|
["Worgen-Male-FEETSLOT"] = 319,
|
|
|
|
["WorgenAlt-Male-HEADSLOT"] = 236,
|
|
["WorgenAlt-Male-SHOULDERSLOT"] = 221,
|
|
["WorgenAlt-Male-BACKSLOT"] = 235,
|
|
["WorgenAlt-Male-CHESTSLOT"] = 674,
|
|
["WorgenAlt-Male-SHIRTSLOT"] = 229,
|
|
["WorgenAlt-Male-TABARDSLOT"] = 230,
|
|
["WorgenAlt-Male-WRISTSLOT"] = 237,
|
|
["WorgenAlt-Male-HANDSSLOT"] = 226,
|
|
["WorgenAlt-Male-WAISTSLOT"] = 234,
|
|
["WorgenAlt-Male-LEGSSLOT"] = 228,
|
|
["WorgenAlt-Male-FEETSLOT"] = 227,
|
|
|
|
["Worgen-Female-HEADSLOT"] = 320,
|
|
["Worgen-Female-SHOULDERSLOT"] = 321,
|
|
["Worgen-Female-BACKSLOT"] = 322,
|
|
["Worgen-Female-CHESTSLOT"] = 324,
|
|
["Worgen-Female-SHIRTSLOT"] = 324,
|
|
["Worgen-Female-TABARDSLOT"] = 325,
|
|
["Worgen-Female-WRISTSLOT"] = 326,
|
|
["Worgen-Female-HANDSSLOT"] = 327,
|
|
["Worgen-Female-WAISTSLOT"] = 328,
|
|
["Worgen-Female-LEGSSLOT"] = 329,
|
|
["Worgen-Female-FEETSLOT"] = 330,
|
|
|
|
["WorgenAlt-Female-HEADSLOT"] = 274,
|
|
["WorgenAlt-Female-SHOULDERSLOT"] = 275,
|
|
["WorgenAlt-Female-BACKSLOT"] = 276,
|
|
["WorgenAlt-Female-CHESTSLOT"] = 278,
|
|
["WorgenAlt-Female-SHIRTSLOT"] = 278,
|
|
["WorgenAlt-Female-TABARDSLOT"] = 279,
|
|
["WorgenAlt-Female-WRISTSLOT"] = 280,
|
|
["WorgenAlt-Female-HANDSSLOT"] = 281,
|
|
["WorgenAlt-Female-WAISTSLOT"] = 282,
|
|
["WorgenAlt-Female-LEGSSLOT"] = 283,
|
|
["WorgenAlt-Female-FEETSLOT"] = 284,
|
|
|
|
}
|
|
|