Download
(918 Kb)
Download
Updated: 02-27-14 01:33 PM
Pictures
File Info
Compatibility:
Siege of Orgrimmar (5.4)
Escalation (5.3)
Thunder Isle (5.2)
Landfall (5.1)
Mists of Pandaria (5.0.4)
Updated:02-27-14 01:33 PM
Created:07-03-09 12:57 AM
Downloads:32,375
Favorites:191
MD5:
5.4
Neav UI  Popular! (More than 5000 hits)
Version: 5.4.1
by: Neal, ballagarba
Neav UI
This UI complication will work on all resolution.
But be warned.

I will not help with questions
Most of the addons in this compilation is only configurable through Lua, so some basic programming knowledge is highly recommended but not required. A lot of the options are basically setting the value to either true or false depending on if you want to enable or disable the feature.

AddOns include
!Beautycase
!Colorz
ActionButtonText (by kerrang) *
nBuff
nChat
nCore
nMainbar
nMinimap
nPlates
nPower
nTooltip
OmniCC (by Tuller)
oUF (by Haste)
oUF_Neav
oUF_NeavRaid

* some changes by me

Tanks to Haste, kerrang, zork, Tuller, and many more for their great AddOns.

Information
A lot of the addons have a config.lua file where you can change some settings. So look first into this file before you ask something!

How can I move the Pet-, Stance- or Possessbar?
It's very simple!
ShiftKey + AltKey + Leftclick on the first button of the Pet-, Stance- or Possessbar to move the them.

Commands
/neavrt to move the raid frames.
/wm, /worldmarkers, /rm or /raidmarkers to show world raid markers.
/rolecheck or /rcheck to do a role check.

Great extensions
For a improved totem frame check out ImprovedTotemFrame
If you want a small, not overload threat addon. Check out zorks rThreat
Some other decent and good ui improvements are tekability, oGlow and Combuctor

The latest updates and changes can be found on Github.
v. 5.4.1

- Added Siege of Orgrimmar raid debuffs to the raid frames
- Added option to hide unit tooltips during combat
- Added option to show the chat input box above the chat window (default: true)
- Option to hide the coalesced/interactive realm text from the tooltip
- Fix the error when clicking the Player vs. Player option in the picomenu
- Add absorb bar to player, target, focus and pet frame
- Fix tooltip concatenation error in scenarios

v. 5.4.0

- TOC updates (50400)
- Added an absorb bar to the raid frames (like incoming heals, except yellow)
- Option to show a border around the chat frame (#28)
- Show a tooltip on the watchframe describing how to move it (#34)

v. 5.3.0

- Abbreviate Instance chat type in nChat.
- Lower frame strata for the warlock power frame, so it doesn't obscure the map.
- Add skiplist to autogreed in nCore. See nCore/modules/autogreed.lua.
- Added Throne of Tunder debuffs to oUF_NeavRaid.
- Other minor fixes and tweaks.

v. 5.1.0

- Nameplate updates.
- Chi fixes for nPower.
- Mostly TOC updates.

v. 5.0.6

- Open mail module now shows amount of money collected.
- Nameplate threat highlight should now be correctly hidden out of combat.
- Abbreviate some more num pad keys for example: Num Pad / => Nu/ and Num Pad * => Nu*
- Correctly display the dungeon/raid difficulty on the minimap.
- Unit frames should now hide during pet battle.
- NEW: Added a threat indicator on the target frame, identical to the one Blizzard uses. You can turn it off in the config.

v. 5.0.5

- Fixes for the arena frames (hopefully shouldn't throw anymore errors at least).
- There's now a whitelist filter for buffs on the arena frames.
- Demonic Gateway timers for warlock (Blizzard style).
- Fix the "ghost buff" buff on targets.
- MoP raid debuffs.
- Fix the battletag bug on friendslist.
- Added symbiosis info and spec to tooltip.
- Now correctly display item level on tooltip.
- Correctly skin editbox on all chat windows.
- Minor tweaks...

v. 5.0.4b

- Battle.Net fixes for friends tab on nMinimap.
- oUF_SpellRange now reports out of range correctly.
- Fixes for the colorPlayerDebuffsOnly option.

v. 5.0.4

- Updated for patch 5.0.4.
- nMainbar now supports a minimum alpha on bars using mouseover.
- Minor tweaks here and there.

v. 4.3.0_1

- updated nMainbar
- updated oUF_Neav and oUF_NeavRaid
- updated nChat
- updated nMinimap
- updated nCore
- updated nBuff
- some small changes and additions

v. 4.3.0

- 4.3 compatible version
- changed version numbering scheme

v. 1.6.4

- updated for patch 4.2
Optional Files (2)
File Name
Version
Size
Author
Date
Type
5.4.7
290kB
05-04-14 11:53 AM
Addon
5.4.1
82kB
11-17-13 07:21 AM
Addon


Archived Files (2)
File Name
Version
Size
Author
Date
5.4.0
934kB
Neal
09-11-13 09:47 AM
5.3.0
1MB
Neal
05-22-13 05:10 AM


Post A Reply Comment Options
Unread 12-15-09, 12:57 AM  
neenee
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 4
File comments: 32
Uploads: 1
Is there a way to show party pets with OUF_Neav? Thus far, I have been disabling it since pets did not show up, but I preferred its look and function to the default Blizzard unit frames and would like to use it again.
neenee is offline Report comment to moderator  
Reply With Quote
Unread 12-14-09, 08:05 PM  
ballagarba
A Fallenroot Satyr
 
ballagarba's Avatar

Forum posts: 22
File comments: 349
Uploads: 0
Originally posted by Anastari
If this could be updated, by anyone, you'll have my thanks and love forever.
Think this should fix everything, did for me.

1. Update oUF

2. Edit the following line in oUF_Neav\modules\oUF_CombatFeedback.lua
object:RegisterEvent("UNIT_COMBAT")
to
object:RegisterEvent("UNIT_COMBAT", combat)

3. Remove MinimapToggleButton:Hide() from nMinimap\nMinimap.lua

4. Replace your entire nBuff\nBuff.lua with this code:
Code:
_G.MINUTE_ONELETTER_ABBR = '|cffffffff%dm|r'
_G.HOUR_ONELETTER_ABBR = '|cffffffff%dh|r'
_G.DAY_ONELETTER_ABBR = '|cffffffff%dd|r'
_G.SECOND_ONELETTER_ABBR = '|cffffffff%d|r'

local function BuffFrame_SetPoint(self)
    local hasMainHandEnchant, _, _, hasOffHandEnchant = GetWeaponEnchantInfo()
    if (self and self:IsShown()) then
        self:ClearAllPoints()
        if (hasMainHandEnchant and hasOffHandEnchant) then
            self:SetPoint('TOPRIGHT', TempEnchant2, 'TOPLEFT', -nBuff.padding.x, 0)
            return
        elseif (hasMainHandEnchant or hasOffHandEnchant) then            
            self:SetPoint('TOPRIGHT', TempEnchant1, 'TOPLEFT', -nBuff.padding.x, 0)
            return
        elseif (not hasMainHandEnchant and not hasOffHandEnchant) then
            self:SetPoint('TOPRIGHT', TempEnchant1)
            return
        end
    end
end

TemporaryEnchantFrame:ClearAllPoints()
TemporaryEnchantFrame:SetPoint('TOPRIGHT', Minimap, 'TOPLEFT', -15, 0)
TemporaryEnchantFrame.SetPoint = function() end

TempEnchant2:ClearAllPoints()
TempEnchant2:SetPoint('TOPRIGHT', TempEnchant1, 'TOPLEFT', -nBuff.padding.x, 0)

for i = 1, 2 do
    local button = _G['TempEnchant'..i]
    button:SetScale(nBuff.button.scale)
    button:SetWidth(32)
    button:SetHeight(32)

    local icon = _G['TempEnchant'..i..'Icon']
    icon:SetTexCoord(0.03, 0.97, 0.03, 0.97)

    local duration = _G['TempEnchant'..i..'Duration']
    duration:ClearAllPoints()
    duration:SetPoint('BOTTOM', button, 'BOTTOM', 0, -2)
    duration:SetFont(nBuff.button.durationFont, nBuff.button.durationFontsize,'OUTLINE')
    duration:SetShadowOffset(0, 0)
    duration:SetDrawLayer('OVERLAY')

    local border = _G['TempEnchant'..i..'Border']
    border:SetTexture(nBuff.button.borderDebuff)
    border:SetTexCoord(0, 1, 0, 1)
    border:SetVertexColor(0.9, 0.25, 0.9)
    border:ClearAllPoints()
    border:SetPoint('TOPRIGHT', button, 1, 1)
    border:SetPoint('BOTTOMLEFT', button, -1, -1)    
    
    button.Background = button:CreateTexture('$parentBackground', 'BACKGROUND')
    button.Background:SetPoint('TOPRIGHT', border, 3.35, 3.35)
    button.Background:SetPoint('BOTTOMLEFT', border, -3.35, -3.35)
    button.Background:SetTexture('Interface\\AddOns\\nBuff\\media\\textureBackground')
    button.Background:SetVertexColor(0, 0, 0, 1)
end

function UpdateBuffAnchors()    
	local buff, previousBuff, aboveBuff;
	local numBuffs = 0;

	for i = 1, BUFF_ACTUAL_DISPLAY do
		buff = _G["BuffButton"..i];
		if ( buff.consolidated ) then
			if ( buff.parent == BuffFrame ) then
				buff:SetParent(ConsolidatedBuffsContainer);
				buff.parent = ConsolidatedBuffsContainer;
			end
		else
			numBuffs = numBuffs + 1;
			index = numBuffs;
			if ( buff.parent ~= BuffFrame ) then
				buff.count:SetFontObject(NumberFontNormal);
				buff:SetParent(BuffFrame);
				buff.parent = BuffFrame;
			end
			buff:ClearAllPoints();
				if (index > 1 and mod(index, nBuff.button.buffPerRow) == 1) then
					if (index == nBuff.button.buffPerRow + 1) then
						buff:SetPoint('TOP', TempEnchant1, 'BOTTOM', 0, -nBuff.padding.y)
					else
						buff:SetPoint('TOP', aboveBuff, 'BOTTOM', 0, -nBuff.padding.y)
					end
					aboveBuff = buff;
				elseif (index == 1) then
					BuffFrame_SetPoint(buff)
				else
					buff:SetPoint('RIGHT',previousBuff, 'LEFT', -nBuff.padding.x, 0)
				end
				previousBuff = buff;
		end
	end
	
	ConsolidatedBuffs:ClearAllPoints()
	ConsolidatedBuffs:SetPoint("TOPLEFT", Minimap, "TOPLEFT",-10,10)
	ConsolidatedBuffsIcon:SetAlpha(0)
	
	-- A bug found by garagar on shaman character 
	-- need to reset enchant weapon each time there is an update on windfury for enhancement shaman (temp fix)
	-- else the weapon buff will move anywhere on screen 
	
	TemporaryEnchantFrame:ClearAllPoints()
	TemporaryEnchantFrame:SetPoint("TOPRIGHT", -22, -180)
end

function UpdateDebuffAnchors(self, index)
    local space = 31 + nBuff.padding.y
	local row = ceil(BUFF_ACTUAL_DISPLAY/nBuff.button.buffPerRow)
    
    if (row and row > 1) then
        rowspacing = -row * space
    else
        rowspacing = -space
    end
	
	local debuff = _G[self..index];
	debuff:ClearAllPoints()
	
	if (index > 1 and mod(index, nBuff.button.buffPerRow) == 1) then
		debuff:SetPoint('TOP', _G[self..(index-nBuff.button.buffPerRow)], 'BOTTOM', 0, -nBuff.padding.y)
	elseif (index == 1) then
        debuff:SetPoint('TOPRIGHT', TempEnchant1, 'BOTTOMRIGHT', 0, rowspacing)
	else
		debuff:SetPoint('RIGHT', _G[self..(index-1)], 'LEFT', -nBuff.padding.x, 0)
	end
end

hooksecurefunc("BuffFrame_UpdateAllBuffAnchors", UpdateBuffAnchors)  
hooksecurefunc("DebuffButton_UpdateAnchors", UpdateDebuffAnchors)

hooksecurefunc('AuraButton_Update', function(self, index)
    local button = _G[self..index]
    if (button) then
        button:SetScale(nBuff.button.scale)
        button:SetWidth(32)
        button:SetHeight(32)
    end
        
    local icon = _G[self..index..'Icon']
    if (icon) then
        icon:SetTexCoord(0.03, 0.97, 0.03, 0.97)
    end
        
    local duration = _G[self..index..'Duration']
    if (duration) then
        duration:ClearAllPoints()
        duration:SetPoint('BOTTOM', button, 'BOTTOM', 0, -2)
        duration:SetFont(nBuff.button.durationFont, nBuff.button.durationFontsize,'OUTLINE')
        duration:SetShadowOffset(0, 0)
        duration:SetDrawLayer('OVERLAY')
    end

    local count = _G[self..index..'Count']
    if (count) then
        count:ClearAllPoints()
        count:SetPoint('TOPRIGHT', button)
        count:SetFont(nBuff.button.countFont, nBuff.button.countFontsize, 'OUTLINE')
        count:SetShadowOffset(0, 0)
        count:SetDrawLayer('OVERLAY')
    end
        
    local border = _G[self..index..'Border']
    if (border) then
        border:SetTexture(nBuff.button.borderDebuff)
        border:SetPoint('TOPRIGHT', button, 1, 1)
        border:SetPoint('BOTTOMLEFT', button, -1, -1)
        border:SetTexCoord(0, 1, 0, 1)
    end
    
    if (button and not border) then
        if (not button.texture) then
            button.texture = button:CreateTexture('$parentOverlay', 'ARTWORK')
            button.texture:SetParent(button)
            button.texture:SetTexture(nBuff.button.borderBuff)
            button.texture:SetVertexColor(unpack(nBuff.button.buffBorderColor))
            button.texture:SetPoint('TOPRIGHT', button, 1, 1)
            button.texture:SetPoint('BOTTOMLEFT', button, -1, -1)
        end
        
        local name = UnitAura('player', index)
        if (name == select(1, GetSpellInfo(34477)) or name == select(1, GetSpellInfo(57934))) then
            button.texture:SetVertexColor(1, 0, 1)
            button.texture:SetTexture(nBuff.button.borderDebuff)
        else
            button.texture:SetVertexColor(unpack(nBuff.button.buffBorderColor))
            button.texture:SetTexture(nBuff.button.borderBuff)
        end
    end
    
    if (button and not button.Background) then
        button.Background = button:CreateTexture('$parentBackground', 'BACKGROUND')
        button.Background:SetPoint('TOPRIGHT', button.texture or border, 3.35, 3.35)
        button.Background:SetPoint('BOTTOMLEFT', button.texture or border, -3.35, -3.35)
        button.Background:SetTexture('Interface\\AddOns\\nBuff\\media\\textureBackground')
        button.Background:SetVertexColor(0, 0, 0, 1)
    end
end)

-- TEST CALL
--function UnitAura() return "TestAura", nil, "Interface\\Icons\\Spell_Nature_RavenForm", 9, nil, 120, 120, 1, 0 end

5. And this is some personal changes I did for moving the LFG button to where the PvP button is and the dungeon difficulty banner to the bottom right corner of the minimap, put it somewhere in nMinimap\nMinimap.lua

Code:
MiniMapLFGFrame:ClearAllPoints()
MiniMapLFGFrame:SetPoint('TOPLEFT', Minimap, -2, 1)

MiniMapInstanceDifficulty:ClearAllPoints()
MiniMapInstanceDifficulty:SetPoint('BOTTOMRIGHT', Minimap, 0, -40)
Last edited by ballagarba : 12-14-09 at 08:17 PM.
ballagarba is offline Report comment to moderator  
Reply With Quote
Unread 12-14-09, 02:40 PM  
Anastari
A Kobold Labourer

Forum posts: 0
File comments: 11
Uploads: 1
If this could be updated, by anyone, you'll have my thanks and love forever.
Anastari is offline Report comment to moderator  
Reply With Quote
Unread 12-14-09, 02:48 AM  
Slaxi81
A Murloc Raider
 
Slaxi81's Avatar
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 176
Uploads: 2
Hello,

someone knows how i change the color of the minimap border?
and why the action bar buttons and the buff buttons not really become raid class color when i change the color in the lua? its always much darker.


sorry for bad english an have a nice day


slaxi
Slaxi81 is offline Report comment to moderator  
Reply With Quote
Unread 12-13-09, 10:41 PM  
Tanque
A Kobold Labourer

Forum posts: 1
File comments: 170
Uploads: 0
So has anyone heard from the author lately? Last I read was that he fried his computer but that was months ago.
Tanque is offline Report comment to moderator  
Reply With Quote
Unread 12-13-09, 03:13 PM  
Korack
A Kobold Labourer
 
Korack's Avatar
AddOn Compiler - Click to view compilations

Forum posts: 0
File comments: 6
Uploads: 3
I just disabled nBuffs completely, then added player auras to oUF and moved them over to the minimap and scaled them up
Korack is offline Report comment to moderator  
Reply With Quote
Unread 12-13-09, 12:27 PM  
Generizer
A Kobold Labourer

Forum posts: 1
File comments: 11
Uploads: 0
Question about nBuff ... is there a way in the consolidated setup to not show debuffs? I have beduffs being show a different way.

Thanks in advance.
Generizer is offline Report comment to moderator  
Reply With Quote
Unread 12-13-09, 11:46 AM  
Aschker
A Murloc Raider
AddOn Compiler - Click to view compilations

Forum posts: 6
File comments: 115
Uploads: 1
Something strange just popped up, noticed it on debuffs first. Timer doesnt display time properly for some reason, but not on the same buffs all the time, or from the same time remaining.. seems completely random.

Aschker is offline Report comment to moderator  
Reply With Quote
Unread 12-12-09, 04:21 PM  
ballagarba
A Fallenroot Satyr
 
ballagarba's Avatar

Forum posts: 22
File comments: 349
Uploads: 0
Originally posted by Julchen
you cant remove the border by code... its the texture you have to edit
Oh, right. Thanks.

And for those who updated to the latest oUF and got the following errors:
oUF: Error: Handler for event [UNIT_COMBAT] on unit [player] does not exist.
oUF: Error: Handler for event [UNIT_COMBAT] on unit [target] does not exist.
oUF: Error: Handler for event [UNIT_COMBAT] on unit [focus] does not exist.

Here's a fix. In oUF_Neav\modules\oUF_CombatFeedback.lua change from
Code:
object:RegisterEvent("UNIT_COMBAT")
to
Code:
object:RegisterEvent("UNIT_COMBAT", combat)
ballagarba is offline Report comment to moderator  
Reply With Quote
Unread 12-12-09, 12:21 PM  
Julchen
A Deviate Faerie Dragon

Forum posts: 17
File comments: 49
Uploads: 0
Originally posted by ballagarba
MiniMapInstanceDifficulty is the banner frame name if you want to move/hide it.

Personally I did
Code:
MiniMapInstanceDifficulty:ClearAllPoints()
MiniMapInstanceDifficulty:SetPoint('BOTTOMRIGHT', Minimap, 0, -40)
Anyone got the code for removing that top border?
you cant remove the border by code... its the texture you have to edit
Julchen is offline Report comment to moderator  
Reply With Quote
Unread 12-12-09, 11:21 AM  
ballagarba
A Fallenroot Satyr
 
ballagarba's Avatar

Forum posts: 22
File comments: 349
Uploads: 0
MiniMapInstanceDifficulty is the banner frame name if you want to move/hide it.

Personally I did
Code:
MiniMapInstanceDifficulty:ClearAllPoints()
MiniMapInstanceDifficulty:SetPoint('BOTTOMRIGHT', Minimap, 0, -40)
Anyone got the code for removing that top border?
Last edited by ballagarba : 12-12-09 at 12:18 PM.
ballagarba is offline Report comment to moderator  
Reply With Quote
Unread 12-11-09, 02:15 PM  
Julchen
A Deviate Faerie Dragon

Forum posts: 17
File comments: 49
Uploads: 0
nBuff

I think the issue is in line139: we have tu subtract the buffs which are consilidated...
so the correct line is:
Code:
local row = ceil((BUFF_ACTUAL_DISPLAY-buff.consolidated)/nBuff.button.buffPerRow)
i didnt test it
edit: doesnt work this way
edit2: the debuffposition should now work properly but im not 100 percent sure
Code:
_G.MINUTE_ONELETTER_ABBR = '|cffffffff%dm|r'
_G.HOUR_ONELETTER_ABBR = '|cffffffff%dh|r'
_G.DAY_ONELETTER_ABBR = '|cffffffff%dd|r'
_G.SECOND_ONELETTER_ABBR = '|cffffffff%d|r'

local CBuffs = false;
local numCBuffs = 0;

local function BuffFrame_SetPoint(self)
    local hasMainHandEnchant, _, _, hasOffHandEnchant = GetWeaponEnchantInfo()
    if (self and self:IsShown()) then
        self:ClearAllPoints()
        if (hasMainHandEnchant and hasOffHandEnchant) then
            self:SetPoint('TOPRIGHT', TempEnchant2, 'TOPLEFT', -nBuff.padding.x, 0)
            return
        elseif (hasMainHandEnchant or hasOffHandEnchant) then            
            self:SetPoint('TOPRIGHT', TempEnchant1, 'TOPLEFT', -nBuff.padding.x, 0)
            return
        elseif (not hasMainHandEnchant and not hasOffHandEnchant) then
            self:SetPoint('TOPRIGHT', TempEnchant1)
            return
        end
    end
end

	local button = ConsolidatedBuffs--Icon
    button:SetScale(nBuff.button.scale)
    button:SetWidth(32)
    button:SetHeight(32)
	
	ConsolidatedBuffsIcon:SetTexCoord(0.02	, 0.48, 0.02, .98)
	--(left,right,top,bottom) 
	
	local border = ConsolidatedBuffs:CreateTexture('$parentOverlay', 'ARTWORK')
	border:SetTexture(nBuff.button.borderBuff)
    border:SetTexCoord(0, 1, 0, 1)
    border:SetVertexColor(unpack(nBuff.button.buffBorderColor))
    border:ClearAllPoints()
    border:SetPoint('TOPRIGHT', button, 1, 1)
    border:SetPoint('BOTTOMLEFT', button, -1, -1)    
	
	button.Background = button:CreateTexture('$parentBackground', 'BACKGROUND')
    button.Background:SetPoint('TOPRIGHT', button.texture or border, 3.35, 3.35)
    button.Background:SetPoint('BOTTOMLEFT', button.texture or border, -3.35, -3.35)
    button.Background:SetTexture('Interface\\AddOns\\nBuff\\media\\textureBackground')
    button.Background:SetVertexColor(0, 0, 0, 1)
	
	ConsolidatedBuffsCount:ClearAllPoints()
    ConsolidatedBuffsCount:SetPoint('TOPRIGHT', button)
    ConsolidatedBuffsCount:SetFont(nBuff.button.countFont, nBuff.button.countFontsize, 'OUTLINE')
    ConsolidatedBuffsCount:SetShadowOffset(0, 0)
    ConsolidatedBuffsCount:SetDrawLayer('OVERLAY')
	
	ConsolidatedBuffs:ClearAllPoints()
    ConsolidatedBuffs:SetPoint('TOPRIGHT', Minimap, 'TOPLEFT', -15, 0)
    ConsolidatedBuffsIcon:SetAlpha(1)
	
if CBuffs then
	TemporaryEnchantFrame:SetPoint('TOPRIGHT', ConsolidatedBuffs, 'TOPLEFT', -nBuff.padding.x, 0)
else
	TemporaryEnchantFrame:SetPoint('TOPRIGHT', Minimap, 'TOPLEFT', -15, 0)
end

TempEnchant2:ClearAllPoints()
TempEnchant2:SetPoint('TOPRIGHT', TempEnchant1, 'TOPLEFT', -nBuff.padding.x, 0)

for i = 1, 2 do
    local button = _G['TempEnchant'..i]
    button:SetScale(nBuff.button.scale)
    button:SetWidth(32)
    button:SetHeight(32)

    local icon = _G['TempEnchant'..i..'Icon']
    icon:SetTexCoord(0.03, 0.97, 0.03, 0.97)

    local duration = _G['TempEnchant'..i..'Duration']
    duration:ClearAllPoints()
    duration:SetPoint('BOTTOM', button, 'BOTTOM', 0, -2)
    duration:SetFont(nBuff.button.durationFont, nBuff.button.durationFontsize,'OUTLINE')
    duration:SetShadowOffset(0, 0)
    duration:SetDrawLayer('OVERLAY')

    local border = _G['TempEnchant'..i..'Border']
    border:SetTexture(nBuff.button.borderDebuff)
    border:SetTexCoord(0, 1, 0, 1)
    border:SetVertexColor(0.9, 0.25, 0.9)
    border:ClearAllPoints()
    border:SetPoint('TOPRIGHT', button, 1, 1)
    border:SetPoint('BOTTOMLEFT', button, -1, -1)    
    
    button.Background = button:CreateTexture('$parentBackground', 'BACKGROUND')
    button.Background:SetPoint('TOPRIGHT', border, 3.35, 3.35)
    button.Background:SetPoint('BOTTOMLEFT', border, -3.35, -3.35)
    button.Background:SetTexture('Interface\\AddOns\\nBuff\\media\\textureBackground')
    button.Background:SetVertexColor(0, 0, 0, 1)
end 
	
function UpdateBuffAnchors()	
		local buff, previousBuff, aboveBuff;
		local numBuffs = 0;
		

		for i = 1, BUFF_ACTUAL_DISPLAY do
			buff = _G["BuffButton"..i];
			if ( buff.consolidated ) then
				if ( buff.parent == BuffFrame ) then
					numCBuffs = numCBuffs + 1;
					buff:SetParent(ConsolidatedBuffsContainer);
					buff.parent = ConsolidatedBuffsContainer;
					CBuffs = true;
				end
			else
				numBuffs = numBuffs + 1;
				index = numBuffs;
				if ( buff.parent ~= BuffFrame ) then
					buff.count:SetFontObject(NumberFontNormal);
					buff:SetParent(BuffFrame);
					buff.parent = BuffFrame;
				end
				buff:ClearAllPoints();
					if (index > 1 and mod(index, nBuff.button.buffPerRow) == 1) then
						if (index == nBuff.button.buffPerRow + 1) then
							buff:SetPoint('TOP', ConsolidatedBuffs, 'BOTTOM', 0, -nBuff.padding.y)
						else
							buff:SetPoint('TOP', aboveBuff, 'BOTTOM', 0, -nBuff.padding.y)
						end
						aboveBuff = buff;
					elseif (index == 1) then
						BuffFrame_SetPoint(buff)
					else
						buff:SetPoint('RIGHT',previousBuff, 'LEFT', -nBuff.padding.x, 0)
					end
					previousBuff = buff;
			end
		end
	end
hooksecurefunc("BuffFrame_UpdateAllBuffAnchors", UpdateBuffAnchors)


hooksecurefunc('DebuffButton_UpdateAnchors', function(self, index)
    local space = 31 + nBuff.padding.y
	local row = ceil((BUFF_ACTUAL_DISPLAY-numCBuffs)/nBuff.button.buffPerRow)
    
    if (row and row > 1) then
        rowspacing = -row * space
    else
        rowspacing = -space
    end
    
    local buff = _G[self..index]
    buff:ClearAllPoints()
	if (index > 1 and mod(index, nBuff.button.buffPerRow) == 1) then
		buff:SetPoint('TOP', _G[self..(index-nBuff.button.buffPerRow)], 'BOTTOM', 0, -nBuff.padding.y)
	elseif (index == 1) then
        buff:SetPoint('TOPRIGHT', ConsolidatedBuffs, 'BOTTOMRIGHT', 0, rowspacing)
	else
		buff:SetPoint('RIGHT', _G[self..(index-1)], 'LEFT', -nBuff.padding.x, 0)
	end
end)

hooksecurefunc('AuraButton_Update', function(self, index)
    local button = _G[self..index]
    if (button) then
        button:SetScale(nBuff.button.scale)
        button:SetWidth(32)
        button:SetHeight(32)
    end
        
    local icon = _G[self..index..'Icon']
    if (icon) then
        icon:SetTexCoord(0.03, 0.97, 0.03, 0.97)
    end
	
    local duration = _G[self..index..'Duration']
    if (duration) then
        duration:ClearAllPoints()
        duration:SetPoint('BOTTOM', button, 'BOTTOM', 0, -2)
        duration:SetFont(nBuff.button.durationFont, nBuff.button.durationFontsize,'OUTLINE')
        duration:SetShadowOffset(0, 0)
        duration:SetDrawLayer('OVERLAY')
    end

    local count = _G[self..index..'Count']
    if (count) then
        count:ClearAllPoints()
        count:SetPoint('TOPRIGHT', button)
        count:SetFont(nBuff.button.countFont, nBuff.button.countFontsize, 'OUTLINE')
        count:SetShadowOffset(0, 0)
        count:SetDrawLayer('OVERLAY')
    end
        
    local border = _G[self..index..'Border']
    if (border) then
        border:SetTexture(nBuff.button.borderDebuff)
        border:SetPoint('TOPRIGHT', button, 1, 1)
        border:SetPoint('BOTTOMLEFT', button, -1, -1)
        border:SetTexCoord(0, 1, 0, 1)
    end
    
    if (button and not border) then
        if (not button.texture) then
            button.texture = button:CreateTexture('$parentOverlay', 'ARTWORK')
            button.texture:SetParent(button)
            button.texture:SetTexture(nBuff.button.borderBuff)
            button.texture:SetVertexColor(unpack(nBuff.button.buffBorderColor))
            button.texture:SetPoint('TOPRIGHT', button, 1, 1)
            button.texture:SetPoint('BOTTOMLEFT', button, -1, -1)
        end
        
        local name = UnitAura('player', index)
        if (name == select(1, GetSpellInfo(34477)) or name == select(1, GetSpellInfo(57934))) then
            button.texture:SetVertexColor(1, 0, 1)
            button.texture:SetTexture(nBuff.button.borderDebuff)
        else
            button.texture:SetVertexColor(unpack(nBuff.button.buffBorderColor))
            button.texture:SetTexture(nBuff.button.borderBuff)
        end
    end
    
    if (button and not button.Background) then
        button.Background = button:CreateTexture('$parentBackground', 'BACKGROUND')
        button.Background:SetPoint('TOPRIGHT', button.texture or border, 3.35, 3.35)
        button.Background:SetPoint('BOTTOMLEFT', button.texture or border, -3.35, -3.35)
        button.Background:SetTexture('Interface\\AddOns\\nBuff\\media\\textureBackground')
        button.Background:SetVertexColor(0, 0, 0, 1)
    end
end)

--function UnitAura() return "TestAura", nil, "Interface\\Icons\\Spell_Nature_RavenForm", 9, nil, 120, 120, 1, 0 end
Last edited by Julchen : 12-12-09 at 09:47 AM.
Julchen is offline Report comment to moderator  
Reply With Quote
Unread 12-11-09, 12:45 PM  
Hammerzan
A Kobold Labourer

Forum posts: 0
File comments: 2
Uploads: 0
Thx too Julchen

Julchen, thx! :-)

...for nBuff Consolidator and nMinimap
Hammerzan is offline Report comment to moderator  
Reply With Quote
Unread 12-11-09, 12:05 PM  
Aschker
A Murloc Raider
AddOn Compiler - Click to view compilations

Forum posts: 6
File comments: 115
Uploads: 1
Thx for the name of the texture. Was looking for it.. I think im gonna anchor it to oUV_Neav_Player, then somewhere under the portrait.. Minimap is too far away :P Anchored debuffs to player frame too.. Might be usefull info for most of you, but maybe it will give you some ideas
Aschker is offline Report comment to moderator  
Reply With Quote
Unread 12-11-09, 07:31 AM  
Julchen
A Deviate Faerie Dragon

Forum posts: 17
File comments: 49
Uploads: 0
Re: Re: nMinimap

Originally posted by ballagarba
Well I was mostly thinking of that you use the LFG button to exit (and enter?) dungeons instead of hearthstoning.
i mean the banner not the lfg button

edit: the debuff position looks a bit buggy
*has something todo with the debuff y-position and the number of buffs
edit2: ok I understand the banner now... I think we have to remove the ugly top of the banner; the position is good in my opinion
Last edited by Julchen : 12-11-09 at 08:43 AM.
Julchen is offline Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: