Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,11 @@ body:
description: What version of World of Warcraft are are you running?
options:
- Retail (Default)
- Beta (WoW 11.0)
- Classic Era
- Mists of Pandaria Classic
- Cataclysm Classic
- Titan Reforged
- Burning Crusade Anniversary
- Classic Era
validations:
required: true

Expand Down
1 change: 1 addition & 0 deletions .github/scripts/atlas_update.lua
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ print("Creating atlas file for", version)

local versionMap = {
-- wow = "_Retail",
wow_classic_titan = "_Wrath",
wow_classic = "_Cata",
wow_classic_era = "_Vanilla"
}
Expand Down
7 changes: 6 additions & 1 deletion .github/scripts/csv_to_lua.lua
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ local releases = {
output = "ModelPathsClassic.lua",
generate = true,
},
wow_classic_titan = {
input = "wow_classic_titan.csv",
output = "ModelPathsWrath.lua",
generate = true,
},
wow_classic = {
input = "wow_classic.csv",
output = "ModelPathsMists.lua",
Expand All @@ -22,7 +27,7 @@ local releases = {
require("table")

if not arg[1] or not releases[arg[1]] then
print(arg[0], "<wow|wow_classic|wow_classic_era>")
print(arg[0], "<wow|wow_classic_titan|wow_classic|wow_classic_era>")
return
end

Expand Down
3 changes: 2 additions & 1 deletion .github/scripts/update-atlas-files.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash

for version in wow_classic wow_classic_era
for version in wow_classic wow_classic_titan wow_classic_era
do
wget -O "UiTextureAtlas.csv" "https://wago.tools/db2/UiTextureAtlas/csv?branch=${version}"
wget -O "UiTextureAtlasMember.csv" "https://wago.tools/db2/UiTextureAtlasMember/csv?branch=${version}"
Expand All @@ -10,4 +10,5 @@ do
done

mv Atlas_Vanilla.lua ../../WeakAuras/
mv Atlas_Wrath.lua ../../WeakAuras/
mv Atlas_Cata.lua ../../WeakAuras/
2 changes: 1 addition & 1 deletion .github/scripts/update-model-paths.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ update_model_paths() {

download_file "https://wago.tools/api/builds/latest" ".wago_tools.json"

branches=("wow" "wow_classic" "wow_classic_era")
branches=("wow" "wow_classic_titan" "wow_classic" "wow_classic_era")

for branch in "${branches[@]}"
do
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/atlas-update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
steps:
- uses: actions/checkout@v6
- uses: leafo/gh-actions-lua@v12
- uses: leafo/gh-actions-luarocks@v5
- uses: leafo/gh-actions-luarocks@v6

- name: Install Luarocks
run: |
Expand All @@ -30,7 +30,7 @@ jobs:
rm -rf .luarocks

- name: Create Pull Request
uses: peter-evans/create-pull-request@v6
uses: peter-evans/create-pull-request@v7
with:
branch: update-atlasfiles
commit-message: Update Atlas File List from wago.tools
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/discord-update.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
path: commit-body.txt

- name: Create Pull Request
uses: peter-evans/create-pull-request@v6
uses: peter-evans/create-pull-request@v7
with:
branch: update-discordlist
commit-message: Update Discord List
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/modelpaths-update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
shell: bash

- name: Create Pull Request
uses: peter-evans/create-pull-request@v6
uses: peter-evans/create-pull-request@v7
with:
branch: update-modelpaths
commit-message: Update WeakAurasModelPaths from wago.tools
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release_notifications.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ jobs:
steps:
- name: Send Mastodon Notification
id: mastodon
uses: cbrgm/mastodon-github-action@v2.1.19
uses: cbrgm/mastodon-github-action@v2.1.22
with:
access-token: ${{ secrets.MASTODON_ACCESS_TOKEN }}
url: ${{ secrets.MASTODON_URL }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release_notifications_manual_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ jobs:
steps:
- name: Mastodon Notification
id: mastodon
uses: cbrgm/mastodon-github-action@v2.1.19
uses: cbrgm/mastodon-github-action@v2.1.22
with:
access-token: ${{ secrets.MASTODON_ACCESS_TOKEN }} # access token
url: ${{ secrets.MASTODON_URL }} # https://example.social
Expand Down
1 change: 1 addition & 0 deletions .luacheckrc
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ globals = {
"C_DateAndTime",
"C_EditMode",
"ChatFrame_AddMessageEventFilter",
"ChatFrameUtil",
"Clamp",
"COMBAT_TEXT_SCROLL_FUNCTION",
"CombatLogGetCurrentEventInfo",
Expand Down
6 changes: 3 additions & 3 deletions WeakAuras/BuffTrigger2.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2385,7 +2385,7 @@ Buff2Frame:RegisterEvent("UNIT_PET")
Buff2Frame:RegisterEvent("RAID_TARGET_UPDATE")
Buff2Frame:RegisterEvent("PLAYER_SOFT_ENEMY_CHANGED")
Buff2Frame:RegisterEvent("PLAYER_SOFT_FRIEND_CHANGED")
if WeakAuras.IsCataOrMistsOrRetail() then
if WeakAuras.IsTBCOrWrathOrCataOrMistsOrRetail() then
Buff2Frame:RegisterEvent("PLAYER_FOCUS_CHANGED")
Buff2Frame:RegisterEvent("ARENA_OPPONENT_UPDATE")
Buff2Frame:RegisterEvent("UNIT_ENTERED_VEHICLE")
Expand Down Expand Up @@ -3181,8 +3181,8 @@ function BuffTrigger.Add(data)

local groupTrigger = trigger.unit == "group" or trigger.unit == "raid" or trigger.unit == "party"
local effectiveIgnoreSelf = (groupTrigger or trigger.unit == "nameplate") and trigger.ignoreSelf
local effectiveGroupRole = WeakAuras.IsCataOrMistsOrRetail() and (groupTrigger and trigger.useGroupRole and trigger.group_role) or nil
local effectiveRaidRole = WeakAuras.IsClassicOrCataOrMists() and (groupTrigger and trigger.useRaidRole and trigger.raid_role) or nil
local effectiveGroupRole = WeakAuras.IsWrathOrCataOrMistsOrRetail() and (groupTrigger and trigger.useGroupRole and trigger.group_role) or nil
local effectiveRaidRole = WeakAuras.IsClassicOrTBCOrWrathOrCataOrMists() and (groupTrigger and trigger.useRaidRole and trigger.raid_role) or nil
local effectiveClass = groupTrigger and trigger.useClass and trigger.class
local effectiveSpecId = WeakAuras.IsCataOrMistsOrRetail() and (groupTrigger and trigger.useActualSpec and trigger.actualSpec) or nil
local effectiveArenaSpec = WeakAuras.IsRetail() and (trigger.unit == "arena" and trigger.useArenaSpec and trigger.arena_spec) or nil
Expand Down
83 changes: 61 additions & 22 deletions WeakAuras/Compatibility.lua
Original file line number Diff line number Diff line change
Expand Up @@ -76,29 +76,68 @@ else
end

if C_SpecializationInfo and C_SpecializationInfo.GetTalentInfo and not WeakAuras.IsClassicEra() then
-- copy pasta from Interface/AddOns/Blizzard_DeprecatedSpecialization/Deprecated_Specialization_Mists.lua
Private.ExecEnv.GetTalentInfo = function(tabIndex, talentIndex, isInspect, isPet, groupIndex)
-- Note: tabIndex, talentIndex, and isPet are not supported parameters in 5.5.x and onward.
local numColumns = 3
local talentInfoQuery = {}
talentInfoQuery.tier = math.ceil(talentIndex / numColumns)
talentInfoQuery.column = talentIndex % numColumns
talentInfoQuery.groupIndex = groupIndex
talentInfoQuery.isInspect = isInspect
talentInfoQuery.target = nil
local talentInfo = C_SpecializationInfo.GetTalentInfo(talentInfoQuery)
if not talentInfo then
return nil
end
if WeakAuras.IsTBC() then
Private.ExecEnv.GetTalentInfo = function(tabIndex, talentIndex, isInspect, isPet, groupIndex)
local talentInfoQuery = {}
talentInfoQuery.specializationIndex = tabIndex
talentInfoQuery.talentIndex = talentIndex
talentInfoQuery.isInspect = isInspect
talentInfoQuery.isPet = isPet
talentInfoQuery.groupIndex = groupIndex
local talentInfo = C_SpecializationInfo.GetTalentInfo(talentInfoQuery)
if not talentInfo then
return nil
end

-- Note: rank, maxRank, meetsPrereq, previewRank, meetsPreviewPrereq, isExceptional, and hasGoldBorder are not supported outputs in 5.5.x and onward.
-- They have default values not reflective of actual system state.
-- selected, available, spellID, isPVPTalentUnlocked, known, and grantedByAura are new supported outputs in 5.5.x and onward.
return talentInfo.name, talentInfo.icon, talentInfo.tier, talentInfo.column, talentInfo.selected and talentInfo.rank or 0,
talentInfo.maxRank, talentInfo.meetsPrereq, talentInfo.previewRank,
talentInfo.meetsPreviewPrereq, talentInfo.isExceptional, talentInfo.hasGoldBorder,
talentInfo.talentID
end
return talentInfo.name, talentInfo.icon, talentInfo.tier, talentInfo.column, talentInfo.rank,
talentInfo.maxRank, talentInfo.meetsPrereq, talentInfo.previewRank,
talentInfo.meetsPreviewPrereq, talentInfo.isExceptional, talentInfo.hasGoldBorder,
talentInfo.talentID
end
elseif WeakAuras.IsWrathClassic() then
-- copy pasta from Interface/AddOns/Blizzard_DeprecatedSpecialization/Deprecated_Specialization_Wrath.lua
Private.ExecEnv.GetTalentInfo = function(tabIndex, talentIndex, isInspect, isPet, groupIndex)
local talentInfoQuery = {}
talentInfoQuery.specializationIndex = tabIndex
talentInfoQuery.talentIndex = talentIndex
talentInfoQuery.isInspect = isInspect
talentInfoQuery.isPet = isPet
talentInfoQuery.groupIndex = groupIndex
local talentInfo = C_SpecializationInfo.GetTalentInfo(talentInfoQuery)
if not talentInfo then
return nil
end

return talentInfo.name, talentInfo.icon, talentInfo.tier, talentInfo.column, talentInfo.rank,
talentInfo.maxRank, talentInfo.meetsPrereq, talentInfo.previewRank,
talentInfo.meetsPreviewPrereq, talentInfo.isExceptional, talentInfo.hasGoldBorder,
talentInfo.talentID
end
else
-- copy pasta from Interface/AddOns/Blizzard_DeprecatedSpecialization/Deprecated_Specialization_Mists.lua
Private.ExecEnv.GetTalentInfo = function(tabIndex, talentIndex, isInspect, isPet, groupIndex)
-- Note: tabIndex, talentIndex, and isPet are not supported parameters in 5.5.x and onward.
local numColumns = 3
local talentInfoQuery = {}
talentInfoQuery.tier = math.ceil(talentIndex / numColumns)
talentInfoQuery.column = talentIndex % numColumns
talentInfoQuery.groupIndex = groupIndex
talentInfoQuery.isInspect = isInspect
talentInfoQuery.target = nil
local talentInfo = C_SpecializationInfo.GetTalentInfo(talentInfoQuery)
if not talentInfo then
return nil
end

-- Note: rank, maxRank, meetsPrereq, previewRank, meetsPreviewPrereq, isExceptional, and hasGoldBorder are not supported outputs in 5.5.x and onward.
-- They have default values not reflective of actual system state.
-- selected, available, spellID, isPVPTalentUnlocked, known, and grantedByAura are new supported outputs in 5.5.x and onward.
return talentInfo.name, talentInfo.icon, talentInfo.tier, talentInfo.column, talentInfo.selected and talentInfo.rank or 0,
talentInfo.maxRank, talentInfo.meetsPrereq, talentInfo.previewRank,
talentInfo.meetsPreviewPrereq, talentInfo.isExceptional, talentInfo.hasGoldBorder,
talentInfo.talentID
end
end
else
Private.ExecEnv.GetTalentInfo = GetTalentInfo
end
Expand Down
4 changes: 0 additions & 4 deletions WeakAuras/DiscordList.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,10 @@ local Private = select(2, ...)
Private.DiscordList = {
[=[AcidWeb]=],
[=[aelen]=],
[=[Alluneve]=],
[=[Azortharion]=],
[=[BadBrain]=],
[=[Bart]=],
[=[Boneshock]=],
[=[Boxthor]=],
[=[Burlis]=],
[=[Causese]=],
[=[Chab]=],
Expand All @@ -27,7 +25,6 @@ Private.DiscordList = {
[=[Fliyin]=],
[=[Gameaholic]=],
[=[Guffin]=],
[=[Ifor]=],
[=[Ironi]=],
[=[Jods]=],
[=[kanegasi]=],
Expand All @@ -38,7 +35,6 @@ Private.DiscordList = {
[=[Listefano]=],
[=[Luckyone]=],
[=[Luxthos]=],
[=[m33shoq]=],
[=[Magic]=],
[=[Manabanana]=],
[=[Murph]=],
Expand Down
22 changes: 11 additions & 11 deletions WeakAuras/GenericTrigger.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1998,7 +1998,7 @@ end
do
local mh = GetInventorySlotInfo("MainHandSlot")
local oh = GetInventorySlotInfo("SecondaryHandSlot")
local ranged = WeakAuras.IsClassicEra() and GetInventorySlotInfo("RangedSlot")
local ranged = WeakAuras.IsClassicOrTBCOrWrath() and GetInventorySlotInfo("RangedSlot")

local swingTimerFrame;
local lastSwingMain, lastSwingOff, lastSwingRange;
Expand Down Expand Up @@ -2193,7 +2193,7 @@ do
end)
end
if Private.reset_ranged_swing_spells[spell] then
if WeakAuras.IsClassicEra() then
if WeakAuras.IsClassicOrTBCOrWrath() then
swingStart("ranged")
else
swingStart("main")
Expand Down Expand Up @@ -2226,7 +2226,7 @@ do
swingTimerFrame:RegisterEvent("PLAYER_EQUIPMENT_CHANGED");
swingTimerFrame:RegisterUnitEvent("UNIT_ATTACK_SPEED", "player");
swingTimerFrame:RegisterUnitEvent("UNIT_SPELLCAST_SUCCEEDED", "player");
if WeakAuras.IsClassicEra() then
if WeakAuras.IsClassicOrTBCOrWrath() then
swingTimerFrame:RegisterUnitEvent("UNIT_SPELLCAST_START", "player")
swingTimerFrame:RegisterUnitEvent("UNIT_SPELLCAST_INTERRUPTED", "player")
swingTimerFrame:RegisterUnitEvent("UNIT_SPELLCAST_FAILED", "player")
Expand Down Expand Up @@ -2288,7 +2288,7 @@ do
local function CheckGCD()
local event;
local startTime, duration, _, modRate
if WeakAuras.IsClassicEra() then
if WeakAuras.IsClassicOrTBCOrWrath() then
startTime, duration = GetSpellCooldown(29515);
shootStart, shootDuration = GetSpellCooldown(5019)
elseif GetSpellCooldown then
Expand Down Expand Up @@ -2407,7 +2407,7 @@ do

if duration > 0 then
if (startTime == gcdStart and duration == gcdDuration)
or (WeakAuras.IsClassicEra() and duration == shootDuration and startTime == shootStart)
or (WeakAuras.IsClassicOrTBCOrWrath() and duration == shootDuration and startTime == shootStart)
then
-- GCD cooldown, this could mean that the spell reset!
if self.expirationTime[id] and self.expirationTime[id] > endTime and self.expirationTime[id] ~= 0 then
Expand Down Expand Up @@ -2724,7 +2724,7 @@ do
useExact = useExact and true or false
followoverride = followoverride and true or false

if ignoreRunes and WeakAuras.IsCataOrMistsOrRetail() then
if ignoreRunes and WeakAuras.IsWrathOrCataOrMistsOrRetail() then
for i = 1, 6 do
WeakAuras.WatchRuneCooldown(i)
end
Expand Down Expand Up @@ -2832,7 +2832,7 @@ do
cdReadyFrame:RegisterEvent("SPELLS_CHANGED");
cdReadyFrame:RegisterEvent("PLAYER_ENTERING_WORLD");
cdReadyFrame:RegisterEvent("PLAYER_LEAVING_WORLD")
if WeakAuras.IsCataClassic() then
if WeakAuras.IsWrathOrCata() then
cdReadyFrame:RegisterEvent("RUNE_POWER_UPDATE");
cdReadyFrame:RegisterEvent("RUNE_TYPE_UPDATE");
end
Expand Down Expand Up @@ -3764,7 +3764,7 @@ function WeakAuras.WatchUnitChange(unit)
end

local roleUpdate
if WeakAuras.IsClassicEra() then
if WeakAuras.IsClassicOrTBCOrWrath() then
function roleUpdate(unit, eventsToSend)
-- For classic check both raid role and group role
local oldRaidRole = watchUnitChange.unitRaidRole[unit]
Expand Down Expand Up @@ -4039,7 +4039,7 @@ function Private.ExecEnv.CheckTotemSpellId(spellId, triggerSpellId, followoverri
end

-- Queueable Spells
if WeakAuras.IsClassicEra() then
if WeakAuras.IsClassicOrTBCOrWrath() then
local queueableSpells
local classQueueableSpells = {
["WARRIOR"] = {
Expand Down Expand Up @@ -4098,7 +4098,7 @@ local GetSpellPowerCost = GetSpellPowerCost or C_Spell and C_Spell.GetSpellPower
---@return number? cost
function WeakAuras.GetSpellCost(powerTypeToCheck)
local spellID = select(9, WeakAuras.UnitCastingInfo("player"))
if WeakAuras.IsClassicEra() and not spellID then
if WeakAuras.IsClassicOrWrath() and not spellID then
spellID = WeakAuras.GetQueuedSpell()
end
if spellID then
Expand Down Expand Up @@ -4149,7 +4149,7 @@ do
tenchFrame:RegisterEvent("WEAPON_ENCHANT_CHANGED")
end
tenchFrame:RegisterUnitEvent("UNIT_INVENTORY_CHANGED", "player")
if WeakAuras.IsClassicEra() then
if WeakAuras.IsClassicOrTBCOrWrath() then
tenchFrame:RegisterEvent("PLAYER_EQUIPMENT_CHANGED");
end

Expand Down
Loading