Thread Tools Display Modes
10-31-17, 04:43 PM   #1
Maxen
A Fallenroot Satyr
Join Date: Aug 2008
Posts: 23
Question oUF Phanx

Hello,

I'm trying to fix oUF Phanx layout for 7.3 since she is MIA. I am having difficulties with the class powers. Any ideas on what's going on? She's creating "orbs" as power elements. Thanks!

Here is the error that I am getting:
Code:
2x oUF\elements\classpower.lua:77: attempt to call method 'SetStatusBarColor' (a nil value)
oUF\elements\classpower.lua:77: in function <oUF\elements\classpower.lua:72>
oUF\elements\classpower.lua:206: in function <oUF\elements\classpower.lua:174>
(tail call): ?
oUF\ouf-7.0.9.lua:200: in function <oUF\ouf.lua:189>
(tail call): ?

Locals:
element = <table> {
 1 = oUFPhanxOrb1848 {
 }
 2 = oUFPhanxOrb86227 {
 }
 3 = oUFPhanxOrb50097 {
 }
 4 = oUFPhanxOrb62062 {
 }
 5 = oUFPhanxOrb34001 {
 }
 6 = oUFPhanxOrb34421 {
 }
 ClassPowerEnable = <function> defined @oUF\elements\classpower.lua:234
 Update = <function> defined @oUF_Phanx\Features\Orbs.lua:80
 GetOrientation = <function> defined @oUF_Phanx\Features\Orbs.lua:276
 SetReverseFill = <function> defined @oUF_Phanx\Features\Orbs.lua:280
 SetOrientation = <function> defined @oUF_Phanx\Features\Orbs.lua:270
 ClassPowerDisable = <function> defined @oUF\elements\classpower.lua:247
 SetStyle = <function> defined @oUF_Phanx\Features\Orbs.lua:290
 areOrbs = true
 Hide = <function> defined @oUF_Phanx\Features\Orbs.lua:119
 __owner = oUFPhanxPlayer {
 }
 PostUpdate = <function> defined @oUF_Phanx\Functions.lua:318
 GetReverseFill = <function> defined @oUF_Phanx\Features\Orbs.lua:286
 __max = 6
 UpdateTexture = <function> defined @FrameXML\UIParent.lua:4899
 Show = <function> defined @oUF_Phanx\Features\Orbs.lua:128
 ForceUpdate = <function> defined @oUF\elements\classpower.lua:229
 GetStyle = <function> defined @oUF_Phanx\Features\Orbs.lua:296
}
powerType = "SOUL_SHARDS"
color = <table> {
 1 = 0.5
 2 = 0.32
 3 = 0.55
}
r = 0.5
g = 0.32
b = 0.55
(for index) = 1
(for limit) = 6
(for step) = 1
i = 1
bar = oUFPhanxOrb1848 {
 0 = <userdata>
 fg = <unnamed> {
 }
 style = "StatusBar"
 id = 1
 orbs = <table> {
 }
 bg = <unnamed> {
 }
 size = 20
}
(*temporary) = nil
(*temporary) = oUFPhanxOrb1848 {
 0 = <userdata>
 fg = <unnamed> {
 }
 style = "StatusBar"
 id = 1
 orbs = <table> {
 }
 bg = <unnamed> {
 }
 size = 20
}
(*temporary) = 0.5
(*temporary) = 0.32
(*temporary) = 0.55
(*temporary) = "attempt to call method 'SetStatusBarColor' (a nil value)"

Last edited by Maxen : 10-31-17 at 06:33 PM.
  Reply With Quote
10-31-17, 05:31 PM   #2
jeffy162
A Pyroguard Emberseer
 
jeffy162's Avatar
AddOn Author - Click to view addons
Join Date: May 2009
Posts: 2,364
Phanx is a woman.
__________________
Ahhhh, the vagueries of the aging mind. Wait.... What was I saying?


Carbonite <----- GitHub main module (Maps ONLY) download link. The other modules are also available on GitHub.
Carbonite-CLASSIC<----- GitHub link to Carbonite Classic. Thanks to ircdirk for this!
  Reply With Quote
11-24-17, 08:04 AM   #3
Cinedelle
A Kobold Labourer
Join Date: Nov 2017
Posts: 1
So here what I've done to "update" the layout.

Change every name reference in Frames.lua following http://www.wowinterface.com/forums/s...ad.php?t=55422

In Frames.lua :
change :
Code:
ClassIcons.UpdateTexture = nop
to
Code:
ClassPower.UpdateColor = nop
assuming every occurence of ClassIcons have been replace by ClassPower

In Functions.lua :
change :
Code:
function ns.ClassIcons_PostUpdate(element, cur, max, hasMaxChanged, event)
to
Code:
function ns.ClassPower_PostUpdate(element, cur, max, hasMaxChanged, event)
In Castbar.lua, function prototype:PostChannelStart
change :
Code:
elseif self.interrupt then
to
Code:
elseif self.notInterruptible then
to keep the color for interruptible spell

You also need to change the classpower.lua from Ouf\elements, it's the only thing I haven't track down from the Phanx Layout.
In local function Update(self, event, unit, powerType)
comment each "element[i]:SetValue" :
Code:
		local numActive = cur + 0.9
		for i = 1, max do
			if(i > numActive) then
				element[i]:Hide()
				--element[i]:SetValue(0)
			else
				element[i]:Show()
				--element[i]:SetValue(cur - i + 1)
			end
		end

		oldMax = element.__max
		if(max ~= oldMax) then
			if(max < oldMax) then
				for i = max + 1, oldMax do
					element[i]:Hide()
					--element[i]:SetValue(0)
				end
			end

			element.__max = max
		end
With these changes, for me everything works, but I don't play every classes so...
  Reply With Quote

WoWInterface » Featured Projects » oUF (Otravi Unit Frames) » oUF Phanx

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off