Download
(918 Kb)
Download
Updated: 02-27-14 12: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 12:33 PM
Created:07-03-09 12:57 AM
Downloads:31,653
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 06: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
Old 12-11-09, 01: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 08:47 AM.
Julchen is offline Report comment to moderator  
Reply With Quote
Old 12-11-09, 11:45 AM  
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
Old 12-11-09, 11:05 AM  
Aschker
A Murloc Raider
AddOn Compiler - Click to view compilations

Forum posts: 6
File comments: 116
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
Old 12-11-09, 06: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 07:43 AM.
Julchen is offline Report comment to moderator  
Reply With Quote
Old 12-11-09, 06:24 AM  
ballagarba
A Fallenroot Satyr
 
ballagarba's Avatar

Forum posts: 22
File comments: 345
Uploads: 0
Re: nMinimap

Originally posted by Julchen
The banner is only shown when you are in an instance or not? So it doesnt play a role that the banner overlap the lfg icon?!
What is the task of the banner? Does he only show if heroic or not and does the number tell how much member in group?

btw... you can find the banner texture under this name: 'UI-DungeonDifficulty-Button' under minimap so there is the posibbility to change the style and the position
Well I was mostly thinking of that you use the LFG button to exit (and enter?) dungeons instead of hearthstoning.

Ah cool...
Last edited by ballagarba : 12-11-09 at 06:24 AM.
ballagarba is offline Report comment to moderator  
Reply With Quote
Old 12-11-09, 06:16 AM  
Julchen
A Deviate Faerie Dragon

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

The banner is only shown when you are in an instance or not? So it doesnt play a role that the banner overlap the lfg icon?!
What is the task of the banner? Does it only shows if heroic or not and does the number tell how much member in group?

btw... you can find the banner texture under this name: 'UI-DungeonDifficulty-Button' under minimap so there is the posibbility to change the style and the position
Last edited by Julchen : 12-11-09 at 06:23 AM.
Julchen is offline Report comment to moderator  
Reply With Quote
Old 12-11-09, 05:22 AM  
ballagarba
A Fallenroot Satyr
 
ballagarba's Avatar

Forum posts: 22
File comments: 345
Uploads: 0
Re: Re: nBuff

Originally posted by neenee
I added a wee bit of code to nMinimap.lua, to move the LFG minimap icon to the top-left corner.
Since you can't enter the BG queue and the LFG queue at the same time, the two associated icons can occupy the same space in the .lua without messing up your display/functionality in-game.

beneath:

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

Code:
MiniMapLFGFrame:ClearAllPoints()
MiniMapLFGFrame:SetPoint('TOPLEFT', Minimap, -2, 1)
Sounds smart, but doesn't the LFG minimap icon overlap/gets overlapped by that new banner thing that tells you what kind of dungeon/raid you're currently in? Or do you have any way of moving that to? I couldn't get any frame name from it.
Last edited by ballagarba : 12-11-09 at 05:52 AM.
ballagarba is offline Report comment to moderator  
Reply With Quote
Old 12-11-09, 04:47 AM  
neenee
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 4
File comments: 32
Uploads: 1
Re: nBuff

I added a wee bit of code to nMinimap.lua, to move the LFG minimap icon to the top-left corner.
Since you can't enter the BG queue and the LFG queue at the same time, the two associated icons can occupy the same space in the .lua without messing up your display/functionality in-game.

beneath:

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

Code:
MiniMapLFGFrame:ClearAllPoints()
MiniMapLFGFrame:SetPoint('TOPLEFT', Minimap, -2, 1)
neenee is offline Report comment to moderator  
Reply With Quote
Old 12-10-09, 02:50 AM  
Julchen
A Deviate Faerie Dragon

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

I add ConsolidatedBuffs support. It seems to work but I havnt tested it for a long time.

You need the following texture
http://hotfile.com/dl/20096195/bd87d...rface.zip.html
and you have to replace the code in your nBuff.lua with this one
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 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
					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/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)
edit debuffposition fixed
Last edited by Julchen : 12-10-09 at 03:27 AM.
Julchen is offline Report comment to moderator  
Reply With Quote
Old 12-09-09, 12:48 PM  
pekaziz
A Kobold Labourer
 
pekaziz's Avatar

Forum posts: 0
File comments: 126
Uploads: 0
Thanks so much Julchen
pekaziz is offline Report comment to moderator  
Reply With Quote
Old 12-09-09, 12:41 PM  
Julchen
A Deviate Faerie Dragon

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

nMinimap work actually properly by me with this code
Code:
local function Minimap_GetTrackType()
    local track = nil
    for i = 1, GetNumTrackingTypes() do
        local name, _, isActive = GetTrackingInfo(i)
        if (isActive) then
            track = isActive
            MinimapTrackingText:SetText(name)
        end
        
        if (not track) then
            MinimapTrackingText:SetText(NONE)
        end
    end
end

for i = 1, select('#', GameTimeFrame:GetRegions()) do
    local texture = select(i, GameTimeFrame:GetRegions())
    if (texture and texture:GetObjectType() == 'Texture') then
        texture:SetTexture(nil)
    end
end

GameTimeFrame:SetWidth(14)
GameTimeFrame:SetHeight(14)
GameTimeFrame:SetHitRectInsets(0, 0, 0, 0)
GameTimeFrame:ClearAllPoints()
GameTimeFrame:SetPoint('TOPRIGHT', Minimap, -3.5, -3.5)

GameTimeFrame:GetFontString():SetFont('Fonts\\ARIALN.ttf', 16, 'OUTLINE')
GameTimeFrame:GetFontString():SetShadowOffset(0, 0)
GameTimeFrame:GetFontString():SetPoint('TOPRIGHT', GameTimeFrame)

if (not IsAddOnLoaded('Blizzard_TimeManager')) then
    LoadAddOn('Blizzard_TimeManager')
end
    
for _, texture in pairs({
    GameTimeCalendarEventAlarmTexture,
    GameTimeCalendarInvitesTexture,
    GameTimeCalendarInvitesGlow,
}) do
    texture.Show = function()
        GameTimeFrame:GetFontString():SetTextColor(1, 0, 1)
    end
    
    texture.Hide = function() 
        local classColor = RAID_CLASS_COLORS[select(2, UnitClass('player'))]
        GameTimeFrame:GetFontString():SetTextColor(classColor.r, classColor.g, classColor.b)
    end
end

MinimapZoomIn:Hide()
MinimapZoomOut:Hide()

MinimapBorder:Hide()
MinimapBorderTop:Hide()

MinimapZoneText:Hide()
MinimapZoneTextButton:Hide()

MiniMapWorldMapButton:Hide()

MiniMapTracking:Hide()
MiniMapBattlefieldBorder:Hide()
MiniMapMailBorder:Hide()
BattlegroundShine:Hide()
DurabilityFrame:Hide()

MinimapNorthTag:SetAlpha(0)

MinimapCluster:SetScale(1.1)
MinimapCluster:EnableMouse(false)

Minimap:EnableMouseWheel(true)
Minimap:ClearAllPoints()
Minimap:SetPoint('TOPRIGHT', UIParent, -26, -26)
Minimap:SetMaskTexture('Interface\\ChatFrame\\ChatFrameBackground')

CreateBorder(Minimap, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)

MiniMapMailText = MiniMapMailFrame:CreateFontString('MiniMapMailText', 'OVERLAY')
MiniMapMailText:SetParent(MiniMapMailFrame)
MiniMapMailText:SetFont('Fonts\\ARIALN.ttf', 16, 'OUTLINE')
MiniMapMailText:SetPoint('BOTTOMRIGHT', MiniMapMailFrame)
MiniMapMailText:SetTextColor(1, 0, 1)
MiniMapMailText:SetText('new')

MiniMapMailFrame:SetWidth((MiniMapMailText:GetStringWidth()))
MiniMapMailFrame:SetHeight(18)
MiniMapMailFrame:ClearAllPoints()
MiniMapMailFrame:SetPoint('BOTTOMRIGHT', Minimap, -4, 5)

MiniMapMailIcon:SetTexture(nil)

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

MinimapTrackingText = Minimap:CreateFontString('$parentTrackingText', 'OVERLAY')
MinimapTrackingText:SetFont('Fonts\\ARIALN.ttf', 15)
MinimapTrackingText:SetShadowOffset(1, -1)
MinimapTrackingText:SetPoint('CENTER', Minimap, 0, 35)
MinimapTrackingText:SetWidth((Minimap:GetWidth() - 25))
MinimapTrackingText:SetAlpha(0)

Minimap:SetScript('OnEnter', function()
    Minimap_GetTrackType()
    UIFrameFadeIn(MinimapTrackingText, 0.15, MinimapTrackingText:GetAlpha(), 1)
end)

Minimap:SetScript('OnLeave', function()
    Minimap_GetTrackType()
    UIFrameFadeOut(MinimapTrackingText, 0.15, MinimapTrackingText:GetAlpha(), 0)
end)

Minimap:SetScript('OnMouseUp', function(self, button)
    if (button == 'RightButton') then
        ToggleDropDownMenu(1, nil, MiniMapTrackingDropDown, self, - (Minimap:GetWidth() * 0.7), -3)
    else
        Minimap_OnClick(self)
    end
end)

Minimap:SetScript('OnMouseWheel', function()
    if (arg1 > 0) then
        Minimap_ZoomIn()
    else
        Minimap_ZoomOut()
    end
end)
Julchen is offline Report comment to moderator  
Reply With Quote
Old 12-09-09, 12:11 PM  
Aschker
A Murloc Raider
AddOn Compiler - Click to view compilations

Forum posts: 6
File comments: 116
Uploads: 1
OOPS!! ignore me here :P I changed to many lines Got nbuff fixed, and nminimap lovely
Last edited by Aschker : 12-09-09 at 03:39 PM.
Aschker is offline Report comment to moderator  
Reply With Quote
Old 12-09-09, 11:30 AM  
pekaziz
A Kobold Labourer
 
pekaziz's Avatar

Forum posts: 0
File comments: 126
Uploads: 0
Anyone can pm me the fixed nMinimap.lua? I couldn't make it work since some lines of codes are missing.
pekaziz is offline Report comment to moderator  
Reply With Quote
Old 12-09-09, 11:06 AM  
Julchen
A Deviate Faerie Dragon

Forum posts: 17
File comments: 49
Uploads: 0
Originally posted by ballagarba
Same here, or rather, the debuffs overlaps the map.
I also spend some attention to my debuffs and dont see any overlaps with the map right now...
you can test your buffs/debuffs easialy
you only have put this
Code:
function UnitAura() return "TestAura", nil, "Interface\\Icons\\Spell_Nature_RavenForm", 9, nil, 120, 120, 1, 0 end
in one of your wow addons an reload your ui
Last edited by Julchen : 12-09-09 at 11:07 AM.
Julchen is offline Report comment to moderator  
Reply With Quote
Old 12-09-09, 10:47 AM  
Lanerra
A Kobold Labourer
 
Lanerra's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1
File comments: 79
Uploads: 1
Originally posted by ballagarba
Same here, or rather, the debuffs overlaps the map.
That is because I believe a similar trick has to be done to the debuff anchors as was done to the buff anchors, I believe. My buffs sit fine, scale fine, and skin fine, and haven't noticed any thing wrong with the debuffs yet, but haven't really paid close enough attention. Will have a peep.

Also, thanks for that, Ballagarba
Last edited by Lanerra : 12-09-09 at 10:48 AM.
Lanerra is offline Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: