BullseiWoWAddons / BattleGroundEnemies

A enemy display for battlegrounds
https://www.curseforge.com/wow/addons/battlegroundenemies
19 stars 11 forks source link

Several issues in Cataclysm Classic after Patch 4.4.1 (Firelands) #52

Closed Bloodleh closed 1 week ago

Bloodleh commented 1 week ago

The addon is not working in battlegrounds after the new patch 4.4.1 (Firelands) in Cataclysm Classic. Several LUA errors occur when loading into the game:

16x BattleGroundEnemies/Data.lua:1132: table index is nil
[string "@BattleGroundEnemies/Data.lua"]:1132: in main chunk
16x BattleGroundEnemies/Main.lua:77: Cannot find a library instance of "LibGroupInSpecT-1.1".
[string "=[C]"]: in function `error'
[string "@AllTheThings/lib/LibStub/LibStub.lua"]:38: in function `GetLibrary'
[string "@BattleGroundEnemies/Main.lua"]:77: in main chunk
16x BattleGroundEnemies/Messaging.lua:24: attempt to index local 'BattleGroundEnemies' (a nil value)
[string "@BattleGroundEnemies/Messaging.lua"]:24: in main chunk
16x BattleGroundEnemies/ImportExport.lua:97: attempt to index local 'BattleGroundEnemies' (a nil value)
[string "@BattleGroundEnemies/ImportExport.lua"]:97: in main chunk
16x ...ns/BattleGroundEnemies/Modules/ContainerTemplate.lua:4: attempt to index global 'BattleGroundEnemies' (a nil value)
[string "@BattleGroundEnemies/Modules/ContainerTemplate.lua"]:4: in main chunk
16x BattleGroundEnemies/Modules/Auras.lua:352: attempt to index global 'BattleGroundEnemies' (a nil value)
[string "@BattleGroundEnemies/Modules/Auras.lua"]:352: in main chunk
16x ...rfaceBattleGroundEnemies/Modules/CastBar.lua:42: attempt to index local 'BattleGroundEnemies' (a nil value)
[string "@BattleGroundEnemies/Modules/CastBar.lua"]:42: in main chunk
16x ...dOns/BattleGroundEnemies/Modules/CombatIndicator.lua:97: attempt to index local 'BattleGroundEnemies' (a nil value)
[string "@BattleGroundEnemies/Modules/CombatIndicator.lua"]:97: in main chunk
16x ...faceBattleGroundEnemies/Modules/Covenant.lua:24: attempt to index local 'BattleGroundEnemies' (a nil value)
[string "@BattleGroundEnemies/Modules/Covenant.lua"]:24: in main chunk
16x BattleGroundEnemies/Modules/DR.lua:132: attempt to index local 'BattleGroundEnemies' (a nil value)
[string "@BattleGroundEnemies/Modules/DR.lua"]:132: in main chunk

It seems the root issue for all of them is in Main.lua:70:

local HasSpeccs = not not GetSpecializationInfoByID  -- Mists of Pandaria

returns true. I am not familiar with the specifics but I assume that GetSpecializationInfoByID was supposed to be available only after MoP but it is now added in 4.4.1 by mistake and HasSpeccs resolves to true. Because of that the addon tries to load LibGroupInSpecT-1.1 library and do some other stuff as well which is not supported in Cataclysm and Cataclysm version of the addon.

Changing the line 70 into:

local HasSpeccs = false

fixed all of the above errors (except the first one) and made the addon work again in battlegrounds (I only did one random BG test though). Of course the fix is not very good and should probably do some other way to detect MoP specs thing.

The first error is also related to this. In Data.lua:1128 the addon checks for function support for specs thing again:

if GetNumSpecializationsForClassID and GetSpecializationInfoByID then --HasSpeccs

and because the functions are now available the data is messed up. It should have a different check for MoP specs, same thing as with Main.lua:70. I just added and false to the if-statement temporarily to fix it.

bullsei commented 1 week ago

yeah, seems like they added stuff once again :D i will change it to GetSpecialization instead, this doesn't seem to exist on wrath and classic but works fine on retail. Thank you for your detailed report :)

bullsei commented 1 week ago

should be fixed in latest version 10.0.5.0. if you still notice an issue let me know