SuperVillain UI

SuperVillain UI

279k Downloads

Proposing Fixes for WoW BFA

blueberryiswar opened this issue ยท 3 comments

commented

Hi!

Just working on fixing some of the errors in my local checkout, I update you here about the changes.

UnitCastingInfo has changed according to Blizzard, see here:
https://us.battle.net/forums/en/wow/topic/20762318007

The second value, originally rank, is dropped.

Had this changes in:
SVUI_UnitFrams/libs/oUF/elements/castbar.lua on line 64 (remove second field)

local name, text, texture, startTime, endTime, tradeskill, castid, interrupt = UnitCastingInfo(unit)

Same thing has happened with Aura, rank is dropped, changed here:
SVUI_Auras/SVUI_Auras.lua on line 172

local name, icon, count, dispelType, val, expires, caster = UnitAura(unit, auraIndex, filter)

See #199 on changes to make unitframe work in general (probably removing functions related to artifacts)

Will post more when I fix anything else.

Thank you for the great addon! Came back to WoW from a break since Vanilla and just love this GUI :)

commented

Two more occurences of the same, remove rank (mostly named _):

SVUI_UnitFrames/libs/oUF/elements/castbar.lua lines: 207, 253, 311
SVU_UnitFrames/libs/oUF/elements/aura.lua lines: 483, 487, 490

commented

With reputation changes, an error pops up that values are nil.

function private.COMBAT_TEXT_UPDATE(event, type, name, amount)
if (type == "FACTION") then
if IsInGuild() then
-- Check name for guild reputation
if name == GUILD then
name = (GetGuildInfo("player"))
if not name or name == "" then return end
end
end
if not reputationChanges[name] then
reputationChanges[name] = amount
else
reputationChanges[name] = reputationChanges[name] + amount
end
TimerAfter(0.5,UpdateReputationChanges)
end

Added a check here for nil value to prevent error. Have to look into how the API changed and why there are nil values here later.

	if (type == "FACTION") then
			if (name ~= nil) then 
			if IsInGuild() then
				-- Check name for guild reputation
				if name == GUILD then
					name = (GetGuildInfo("player"))
					if not name or name == "" or name == nil then return end
				end
			end
		
			if not reputationChanges[name] then
				reputationChanges[name] = amount
			else
				reputationChanges[name] = reputationChanges[name] + amount
			end

			TimerAfter(0.5,UpdateReputationChanges)
		end

	end
end
commented

Problem with error "x is a string", fixed by assuming there is one more string value in the call:

local Hook_QuestNPCModel = function(self, _, _, _, x, y)
_G.QuestNPCModel:ClearAllPoints()
_G.QuestNPCModel:SetPoint("TOPLEFT", self, "TOPRIGHT", x + 18, y)
end

local Hook_QuestNPCModel = function(self, _, _, _, _, x, y)

Added one more _, before x. seems to work now.

Then, according to blizzards post, WorldMapAreaID doesn't exist anymore and is now named uiMapId instead. Got an error after accepting quest, here:

if(not WorldMapFrame:IsShown()) then
mapID, floorNumber = GetQuestWorldMapAreaID(questID)
else
WORLDMAP_UPDATE = true;
end

Changed it to:
mapID, floorNumber = GetQuestUiMapID(questID)

Hopefully that works