Skip to content

Commit

Permalink
The War Within support
Browse files Browse the repository at this point in the history
  • Loading branch information
TravisSpomer committed Jun 6, 2024
1 parent aa5e65d commit 5285e4d
Show file tree
Hide file tree
Showing 5 changed files with 61 additions and 52 deletions.
54 changes: 27 additions & 27 deletions Pawn.lua
Original file line number Diff line number Diff line change
Expand Up @@ -503,11 +503,11 @@ function PawnInitialize()
PawnIsInitialized = true

-- If any of our dependencies have already loaded, pretend that they just loaded now.
if IsAddOnLoaded("Blizzard_ArtifactUI") then PawnOnAddonLoaded("Blizzard_ArtifactUI") end
if IsAddOnLoaded("Blizzard_EncounterJournal") then PawnOnAddonLoaded("Blizzard_EncounterJournal") end
if IsAddOnLoaded("Blizzard_InspectUI") then PawnOnAddonLoaded("Blizzard_InspectUI") end
if IsAddOnLoaded("Blizzard_ItemSocketingUI") then PawnOnAddonLoaded("Blizzard_ItemSocketingUI") end
if IsAddOnLoaded("Blizzard_ReforgingUI") then PawnOnAddonLoaded("Blizzard_ReforgingUI") end
if C_AddOns.IsAddOnLoaded("Blizzard_ArtifactUI") then PawnOnAddonLoaded("Blizzard_ArtifactUI") end
if C_AddOns.IsAddOnLoaded("Blizzard_EncounterJournal") then PawnOnAddonLoaded("Blizzard_EncounterJournal") end
if C_AddOns.IsAddOnLoaded("Blizzard_InspectUI") then PawnOnAddonLoaded("Blizzard_InspectUI") end
if C_AddOns.IsAddOnLoaded("Blizzard_ItemSocketingUI") then PawnOnAddonLoaded("Blizzard_ItemSocketingUI") end
if C_AddOns.IsAddOnLoaded("Blizzard_ReforgingUI") then PawnOnAddonLoaded("Blizzard_ReforgingUI") end

-- Now, load any plugins that are ready to be loaded.
PawnInitializePlugins()
Expand Down Expand Up @@ -913,7 +913,7 @@ function PawnIsItemDefinitivelyAnUpgrade(ItemLink, CheckLevel)

if not PawnIsInitialized then VgerCore.Fail("Can't check to see if items are upgrades until Pawn is initialized") return nil end

local _, _, _, _, MinLevel = GetItemInfo(ItemLink)
local _, _, _, _, MinLevel = C_Item.GetItemInfo(ItemLink)

-- If it doesn't have a minlevel, we don't care because it isn't gear
if MinLevel == nil then return nil end
Expand Down Expand Up @@ -993,15 +993,15 @@ function PawnCommand(Command)
if ItemLink2 and strlen(ItemLink2) == 0 then ItemLink2 = nil end
if ItemLink1 or ItemLink2 then
if ItemLink2 then
local IsReady2 = (GetItemInfo(ItemLink2) ~= nil)
local IsReady2 = (C_Item.GetItemInfo(ItemLink2) ~= nil)
if IsReady2 then
PawnUI_SetCompareItemAndShow(2, ItemLink2)
else
C_Timer.After(1, function() PawnUI_SetCompareItemAndShow(2, ItemLink2) end)
end
end
if ItemLink1 then
local IsReady1 = (GetItemInfo(ItemLink1) ~= nil)
local IsReady1 = (C_Item.GetItemInfo(ItemLink1) ~= nil)
if IsReady1 then
PawnUI_SetCompareItemAndShow(1, ItemLink1)
else
Expand Down Expand Up @@ -1281,7 +1281,7 @@ function PawnRecreateAnnotationFormats()
end

local function PawnCheckItemTypeCore(ItemLink, AllowEquippable, AllowStatGems, AllowRelics)
local _, _, _, InvType, _, ItemClassID, ItemSubClassID = GetItemInfoInstant(ItemLink)
local _, _, _, InvType, _, ItemClassID, ItemSubClassID = C_Item.GetItemInfoInstant(ItemLink)
if (InvType == nil or InvType == "") then
-- If the item isn't equippable don't bother parsing it, unless it's a gem or relic.
return
Expand Down Expand Up @@ -1328,8 +1328,8 @@ function PawnGetItemData(ItemLink)
-- If we have an item link, we can extract basic data from it from the user's WoW cache (not the Pawn item cache).
-- We get a new, normalized version of ItemLink so that items don't end up in the cache multiple times if they're requested
-- using different styles of links that all point to the same item.
local ItemID, _, _, InvType, ItemTexture = GetItemInfoInstant(ItemLink)
local ItemName, NewItemLink, ItemRarity, ItemLevel = GetItemInfo(ItemLink)
local ItemID, _, _, InvType, ItemTexture = C_Item.GetItemInfoInstant(ItemLink)
local ItemName, NewItemLink, ItemRarity, ItemLevel = C_Item.GetItemInfo(ItemLink)
if NewItemLink then
ItemLink = NewItemLink
else
Expand Down Expand Up @@ -1362,7 +1362,7 @@ function PawnGetItemData(ItemLink)
if not Item then
Item = PawnGetEmptyCachedItem(ItemLink, ItemName)
Item.Rarity = ItemRarity
Item.Level = GetDetailedItemLevelInfo(ItemLink) or ItemLevel -- The level from GetItemInfo doesn't take into effect upgrades or heirloom scaling
Item.Level = C_Item.GetDetailedItemLevelInfo(ItemLink) or ItemLevel -- The level from GetItemInfo doesn't take into effect upgrades or heirloom scaling
Item.ID = ItemID
if InvType ~= "" then Item.InvType = InvType end
Item.Texture = ItemTexture
Expand Down Expand Up @@ -1530,7 +1530,7 @@ function PawnGetGemData(GemData)
if GemData.Item then return GemData.Item end

local ItemID = GemData.ID
local ItemName, ItemLink, ItemRarity, ItemLevel, _, _, _, _, _, ItemTexture = GetItemInfo(ItemID)
local ItemName, ItemLink, ItemRarity, ItemLevel, _, _, _, _, _, ItemTexture = C_Item.GetItemInfo(ItemID)
if ItemLink == nil or ItemName == nil then
-- If the gem doesn't exist in the user's local cache, we'll have to fake up some info for it.
ItemLink = format(PawnLocal.GenericGemLink, ItemID, ItemID)
Expand All @@ -1539,7 +1539,7 @@ function PawnGetGemData(GemData)
local Item = PawnGetEmptyCachedItem(ItemLink, ItemName)
Item.ID = ItemID
Item.Rarity = ItemRarity
Item.Level = GetDetailedItemLevelInfo(ItemLink) or ItemLevel
Item.Level = C_Item.GetDetailedItemLevelInfo(ItemLink) or ItemLevel
Item.Texture = ItemTexture
Item.UnenchantedStats = GemData.Stats or { }
PawnRecalculateItemValuesIfNecessary(Item, true) -- Ignore the user's normalization factor when determining these gem values.
Expand Down Expand Up @@ -1625,7 +1625,7 @@ function PawnGetItemDataForInventorySlot(Slot, Unenchanted, UnitName)
if Slot == INVSLOT_OFFHAND and Item and Item.Rarity == 6 then
local MainHandLink = GetInventoryItemLink("player", INVSLOT_MAINHAND)
if MainHandLink then
Item.Level = GetDetailedItemLevelInfo(MainHandLink) or Item.Level
Item.Level = C_Item.GetDetailedItemLevelInfo(MainHandLink) or Item.Level
end
end

Expand Down Expand Up @@ -2026,7 +2026,7 @@ function PawnGetInventoryItemValues(UnitName)
return
end
if Slot == 16 then
local _, _, _, _, _, _, _, _, InvType = GetItemInfo(GetInventoryItemLink(UnitName, Slot))
local _, _, _, _, _, _, _, _, InvType = C_Item.GetItemInfo(GetInventoryItemLink(UnitName, Slot))
if (InvType == "INVTYPE_2HWEAPON" or InvType == "INVTYPE_RANGED" or InvType == "INVTYPE_RANGEDRIGHT") and GetInventoryItemID(UnitName, 17) == nil then
-- Some ranged weapons are now two-handed too. If they're using a ranged weapon with no off-hand, count it as a two-hander.
ThisItemLevel = ThisItemLevel * 2
Expand All @@ -2051,7 +2051,7 @@ function PawnGetInventoryItemValues(UnitName)
-- (Same with the relic slot in WoW Classic.)
local ItemLink = GetInventoryItemLink(UnitName, Slot)
if ItemLink then
local ThisItemLevel = GetDetailedItemLevelInfo(ItemLink)
local ThisItemLevel = C_Item.GetDetailedItemLevelInfo(ItemLink)
if ThisItemLevel then
TotalItemLevel = TotalItemLevel + ThisItemLevel
end
Expand Down Expand Up @@ -3341,7 +3341,7 @@ function PawnAttachIconToTooltip(Tooltip, AttachAbove, ItemLink)
_, ItemLink = Tooltip:GetItem()
end
if ItemLink then
TextureName = GetItemIcon(ItemLink)
TextureName = C_Item.GetItemIcon(ItemLink)
end
end

Expand Down Expand Up @@ -3514,7 +3514,7 @@ function PawnRefreshCachedItem(Item)
end

-- Request the new information.
local ItemName, _, _, _, _, _, _, _, _, ItemTexture = GetItemInfo(Item.ID)
local ItemName, _, _, _, _, _, _, _, _, ItemTexture = C_Item.GetItemInfo(Item.ID)
if not ItemName then
-- The client doesn't have any further information on this item yet, so bail out.
return false
Expand Down Expand Up @@ -4012,10 +4012,10 @@ function PawnFindBestItems(ScaleName, InventoryOnly)
--VgerCore.Message(" ")
--local InvType, BestOfType
--for InvType, BestOfType in pairs(BestItems) do
-- local _, ItemLink = GetItemInfo(BestOfType[2])
-- local _, ItemLink = C_Item.GetItemInfo(BestOfType[2])
-- VgerCore.Message(InvType .. ": " .. ItemLink .. " = " .. tostring(BestOfType[1]))
-- if BestOfType[4] then
-- _, ItemLink = GetItemInfo(BestOfType[5])
-- _, ItemLink = C_Item.GetItemInfo(BestOfType[5])
-- VgerCore.Message(" and " .. ItemLink .. " = " .. BestOfType[4])
-- end
--end
Expand Down Expand Up @@ -4141,7 +4141,7 @@ function PawnOnItemLost(ItemLink)
if not ItemLink then return end
ItemLink = PawnUnenchantItemLink(ItemLink, true)
if not ItemLink then return end -- If it's, say, a battle pet.
local _, _, _, _, _, _, _, _, InvType = GetItemInfo(ItemLink)
local _, _, _, _, _, _, _, _, InvType = C_Item.GetItemInfo(ItemLink)
if not InvType or InvType == "" or InvType == "INVTYPE_TRINKET" or InvType == "INVTYPE_BAG" or InvType == "INVTYPE_QUIVER" or InvType == "INVTYPE_TABARD" or InvType == "INVTYPE_BODY" then return end
if InvType == "INVTYPE_SHIELD" or InvType == "INVTYPE_HOLDABLE" then
InvType = "INVTYPE_WEAPONOFFHAND"
Expand Down Expand Up @@ -4245,7 +4245,7 @@ function PawnFindInterestingItems(List)
-- If we haven't already found a choice item upgrade, and this is a choice item, see
-- if it's the best thing to vendor.
if Info.Item.Link then
local _, _, _, _, _, _, _, _, _, _, Value = GetItemInfo(Info.Item.Link)
local _, _, _, _, _, _, _, _, _, _, Value = C_Item.GetItemInfo(Info.Item.Link)
if Value and Value > HighestValue then
HighestValue = Value
HighestValueInfo = Info
Expand Down Expand Up @@ -4622,7 +4622,7 @@ function PawnGetItemLevelIncreaseProvidedByRelic(ItemLink)

local Stats = Parts
wipe(Stats)
Stats = GetItemStats(ItemLink, Stats)
Stats = C_Item.GetItemStats(ItemLink, Stats)
return Stats.RELIC_ITEM_LEVEL_INCREASE
end

Expand Down Expand Up @@ -4668,7 +4668,7 @@ function PawnGetRelicUpgradeInfo(RelicItemLink)
-- If we haven't cached any artifacts yet, this can't possibly be an upgrade.
if not PawnOptions.Artifacts then return end

local RelicItemID = GetItemInfoInstant(RelicItemLink)
local RelicItemID = C_Item.GetItemInfoInstant(RelicItemLink)
local _, _, RelicType = C_ArtifactUI.GetRelicInfoByItemID(RelicItemID)
if not RelicType then return end
local RelicItemLevel = PawnGetItemLevelIncreaseProvidedByRelic(RelicItemLink)
Expand Down Expand Up @@ -4891,7 +4891,7 @@ function PawnIsPlayingWith(TargetName, TargetRealm)

-- Okay, we're gonna do it!

LoadAddOn("Blizzard_TalkingHeadUI")
C_AddOns.LoadAddOn("Blizzard_TalkingHeadUI")

TalkingHeadFrame_Reset(TalkingHeadFrame, "Hello! I created your favorite addon Pawn. Looks like we're playing together, so feel free to say hi, and have a great day!", "Vger")
TalkingHeadFrame.MainFrame.Model:SetUnit("player")
Expand Down Expand Up @@ -5984,7 +5984,7 @@ function PawnShouldItemLinkHaveUpgradeArrowUnbudgeted(ItemLink, CheckLevel)

--if PawnOptions.DebugBagArrows then VgerCore.Message("Checking upgrade information for " .. tostring(ItemLink)) end

local _, _, _, _, MinLevel = GetItemInfo(ItemLink)
local _, _, _, _, MinLevel = C_Item.GetItemInfo(ItemLink)
if MinLevel == nil then return nil end
if CheckLevel and UnitLevel("player") < MinLevel then return false end
if PawnCanItemHaveStats(ItemLink) then
Expand Down
24 changes: 13 additions & 11 deletions PawnUI.lua
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ function PawnUI_SocketingPawnButton_OnClick(this)
-- Set the suggested gem quality level to the level of the current item so relevant gems will be displayed.
local ItemLevel
local _, ItemLink = ItemSocketingDescription:GetItem()
_, _, _, ItemLevel = GetItemInfo(ItemLink)
_, _, _, ItemLevel = C_Item.GetItemInfo(ItemLink)
PawnUI_SetGemQualityLevel(ItemLevel)
-- Show the Gems tab.
PawnUIShowTab(PawnUIGemsTabPage, true)
Expand Down Expand Up @@ -1022,7 +1022,7 @@ function PawnUI_CompareTab_Refresh()
-- Then, update the best in slot shortcuts.
local Item = PawnUIComparisonItems[2]
local ItemEquipLoc, _
if Item then _, _, _, _, _, _, _, _, ItemEquipLoc = GetItemInfo(Item.Link) end
if Item then _, _, _, _, _, _, _, _, ItemEquipLoc = C_Item.GetItemInfo(Item.Link) end
PawnUI_SetShortcutBestItem(3, ItemEquipLoc)
PawnUI_SetShortcutBestItem(4, ItemEquipLoc)
end
Expand Down Expand Up @@ -1072,7 +1072,7 @@ function PawnUI_SetCompareItem(Index, ItemLink)
local ItemName, ItemRarity, ItemEquipLoc, ItemTexture, _
local SlotID1, SlotID2
if ItemLink then
ItemName, _, ItemRarity, _, _, _, _, _, ItemEquipLoc, ItemTexture = GetItemInfo(ItemLink)
ItemName, _, ItemRarity, _, _, _, _, _, ItemEquipLoc, ItemTexture = C_Item.GetItemInfo(ItemLink)
SlotID1, SlotID2 = PawnGetSlotsForItemType(ItemEquipLoc)
else
ItemName = PawnUIFrame_VersusHeader_NoItem
Expand All @@ -1098,7 +1098,7 @@ function PawnUI_SetCompareItem(Index, ItemLink)
local OtherIndex
if Index == 1 then OtherIndex = 2 else OtherIndex = 1 end
if PawnUIComparisonItems[OtherIndex] then
_, _, _, _, _, _, _, _, OtherItemEquipLoc = GetItemInfo(PawnUIComparisonItems[OtherIndex].Link)
_, _, _, _, _, _, _, _, OtherItemEquipLoc = C_Item.GetItemInfo(PawnUIComparisonItems[OtherIndex].Link)
local OtherSlotID1, OtherSlotID2 = PawnGetSlotsForItemType(OtherItemEquipLoc)
if not (
(SlotID1 == nil and SlotID2 == nil and OtherSlotID1 == nil and OtherSlotID2 == nil) or
Expand Down Expand Up @@ -1220,7 +1220,7 @@ function PawnUI_SetShortcutButtonItem(ShortcutIndex)
local Item = PawnUIShortcutItems[ShortcutIndex]
if Item then
local Texture = getglobal(ButtonName .. "NormalTexture")
local _, _, _, _, _, _, _, _, _, ItemTexture = GetItemInfo(Item.Link)
local _, _, _, _, _, _, _, _, _, ItemTexture = C_Item.GetItemInfo(Item.Link)
Texture:SetTexture(ItemTexture)
ShortcutButton:Show()
else
Expand Down Expand Up @@ -2103,7 +2103,7 @@ end
------------------------------------------------------------

function PawnUIAboutTabPage_OnShow()
local Version = (C_AddOns and C_AddOns.GetAddOnMetadata or GetAddOnMetadata)("Pawn", "Version")
local Version = C_AddOns.GetAddOnMetadata("Pawn", "Version")
if Version then
PawnUIFrame_AboutVersionLabel:SetText(format(PawnUIFrame_AboutVersionLabel_Text, Version))
end
Expand Down Expand Up @@ -2363,10 +2363,10 @@ function PawnUI_GroupLootFrame_OnShow(self)
ThisText = format(PawnLocal.TooltipUpgradeAnnotation, format("|n%s%s:", PawnGetScaleColor(ScaleName), ThisUpgradeData.LocalizedScaleName), ThisUpgradeData.PercentUpgrade * 100, SetAnnotation)
end
if ShowOldItems and ThisUpgradeData.ExistingItemLink then
local ExistingItemName, _, Quality = GetItemInfo(ThisUpgradeData.ExistingItemLink)
local ExistingItemName, _, Quality = C_Item.GetItemInfo(ThisUpgradeData.ExistingItemLink)
if ExistingItemName then
-- It's possible (though rare) that the existing item isn't in the user's cache, so we can't get its quality color. In that case, don't display it in the tooltip.
local _, _, _, QualityColor = GetItemQualityColor(Quality)
local _, _, _, QualityColor = C_Item.GetItemQualityColor(Quality)
ThisText = format(PawnLocal.TooltipVersusLine, ThisText, QualityColor, ExistingItemName)
end
end
Expand Down Expand Up @@ -2592,9 +2592,11 @@ end
------------------------------------------------------------

function PawnInterfaceOptionsFrame_OnLoad()
-- Register the Interface Options page.
PawnInterfaceOptionsFrame.name = "Pawn"
InterfaceOptions_AddCategory(PawnInterfaceOptionsFrame)
if InterfaceOptions_AddCategory then
-- Register the Interface Options page. This no longer exists in The War Within / 11.0.
PawnInterfaceOptionsFrame.name = "Pawn"
InterfaceOptions_AddCategory(PawnInterfaceOptionsFrame)
end
end

------------------------------------------------------------
Expand Down
1 change: 1 addition & 0 deletions Readme.htm
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,7 @@ <h3><span style="text-decoration: underline;">In</span>compatible addons</h3>
<h2>Updates</h2>
<h3>Version 2.9.7</h3>
<ul>
<li>The War Within: Pawn now works on The War Within beta and WoW 11.0.</li>
<li>Mists of Pandaria Remix: Fixed another case where the socketing advisor could appear and give dubious advice.</li>
</ul>
<h3>Version 2.9.6</h3>
Expand Down
29 changes: 17 additions & 12 deletions VgerCore/Readme.htm
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
</head>
<body>

<h1>VgerCore 1.0.17</h1>
<h1>VgerCore</h1>

<p>
VgerCore contains functionality that is shared by mods written by Vger of
Azjol-Nerub (US).&nbsp; By default, VgerCore comes with all of the mods that
need it.&nbsp; You don&#39;t need to do anything special to install,
Azjol-Nerub (US). By default, VgerCore comes with all of the mods that
need it. You don't need to do anything special to install,
configure, or use VgerCore.</p>
<h3>
Mods that need VgerCore</h3>
Expand All @@ -23,14 +23,19 @@ <h3>
<li>Pawn</li>
</ul>
<h2>Notes</h2>
<p>I welcome your feedback.&nbsp; The best way to contact me is through
<a href="http://www.curse.com/users/VgerAN" target="_blank">Curse</a>.&nbsp; You
can also contact me through in-game mail: Vger on Azjol-Nerub (US), Horde.&nbsp;
<p>I welcome your feedback. The best way to contact me is through
<a href="http://www.curse.com/users/VgerAN" target="_blank">Curse</a>. You
can also contact me through in-game mail: Vger on Azjol-Nerub (US), Horde.
(Just make sure that you keep a character on my server and check your mail, or I
can&#39;t respond!)&nbsp; Also, check out my
can't respond!) Also, check out my
<a target="_blank" href="https://www.vgermods.com/">official site</a>, where you
can find links to all of my mods.</p>

<h2>Release history</h2>
<h3>Version 1.0.19</h3>
<ul>
<li>Added IsWarWithin.</li>
</ul>
<h3>Version 1.0.18</h3>
<ul>
<li>Added IsCataclysm and ReforgingExists.</li>
Expand Down Expand Up @@ -82,7 +87,7 @@ <h3>Version 1.0.7</h3>
</ul>
<h3>Version 1.0.6</h3>
<ul>
<li>Added the ability to pre-hook insecure functions and scripts.&nbsp; The
<li>Added the ability to pre-hook insecure functions and scripts. The
default is still to post-hook them, like hooksecurefunc.</li>
<li>Added support in StringFindReverse for find-strings of two characters.</li>
</ul>
Expand All @@ -109,8 +114,8 @@ <h3>Version 1.0.1</h3>
</ul>
<h3>Version 1.0</h3>
<ul>
<li>VgerCore is now at version 1.0!&nbsp; Instead of being a standalone mod,
it&#39;s now embedded by default.&nbsp; If you have a VgerCore folder in
<li>VgerCore is now at version 1.0! Instead of being a standalone mod,
it's now embedded by default. If you have a VgerCore folder in
your Interface\AddOns folder, you can now delete it.</li>
</ul>
<h3>Version 0.4.1</h3>
Expand All @@ -126,13 +131,13 @@ <h3>Version 0.4</h3>
<li>Message, BigMessage, Assert, and Fail will now accept non-string
messages (such as booleans and nil).</li>
<li>Added MultilineMessage to print a large message to the console as a
series of individual messages so as to not break scrolling behavior.&nbsp;
series of individual messages so as to not break scrolling behavior.
This is useful for mod usage information, for example.</li>
</ul>
<h3>Version 0.3.1</h3>
<ul>
<li>ExecuteChatCommand (used when running macros) will now no longer try to
execute protected commands such as /cast.&nbsp; This will prevent WoW from
execute protected commands such as /cast. This will prevent WoW from
asking to disable VgerCore simply due to user error.</li>
</ul>
<h3>Version 0.3</h3>
Expand Down
5 changes: 3 additions & 2 deletions VgerCore/VgerCore.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
-- www.vgermods.com
-- © 2006-2024 Travis Spomer. This mod is released under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 license.
--
-- Version 1.0.18 -- IsCataclysm, ReforgingExists
local VgerCoreThisVersion = 1.18
-- Version 1.0.19 -- IsWarWithin
local VgerCoreThisVersion = 1.19
--
-- VgerCore contains functionality that is shared by Vger's mods.
-- It can be used as a standalone add-on, or embedded within other mods.
Expand All @@ -25,6 +25,7 @@ VgerCore.IsBurningCrusade = (WOW_PROJECT_ID == WOW_PROJECT_BURNING_CRUSADE_CLASS
VgerCore.IsWrath = (WOW_PROJECT_ID == WOW_PROJECT_BURNING_CRUSADE_CLASSIC and LE_EXPANSION_WRATH_OF_THE_LICH_KING and LE_EXPANSION_LEVEL_CURRENT >= LE_EXPANSION_WRATH_OF_THE_LICH_KING) or (WOW_PROJECT_WRATH_CLASSIC and WOW_PROJECT_ID == WOW_PROJECT_WRATH_CLASSIC) -- includes pre-patch
VgerCore.IsCataclysm = (WOW_PROJECT_CATACLYSM_CLASSIC and WOW_PROJECT_ID == WOW_PROJECT_CATACLYSM_CLASSIC) -- includes pre-patch
VgerCore.IsMainline = BuildNumber >= 90000
VgerCore.IsWarWithin = VgerCore.IsMainline and BuildNumber >= 110000
VgerCore.IsDragonflight = VgerCore.IsMainline and BuildNumber >= 100000
VgerCore.IsShadowlands = VgerCore.IsMainline and BuildNumber >= 90000

Expand Down

0 comments on commit 5285e4d

Please sign in to comment.