• 0

    posted a message on ag_UnitFrames (Release 7/19/2006) alpha version
    Quote from Aileen »

    Quote from Thorndepth »

    Quote from Sariash »

    With Rev11166 the target of target sometimes isn't showing until I switch my target to something else, and then back to the mob. After a reloadui/relog it seems to work again for some time, not sure what/when it starts.


    Same here it happened a few times in my Aq40 raid. :/


    Yeah I noticed this too, with 11164 while PvPing yesterday.  Saw rev 11166 had a commit note of "fix for tot" so I figured it was fixed, but it was still happening in Naxx. :(


    i have the same problem. the tot dont change. but if i click outside of target and hit again , the tot works for a short time.
    Posted in: Unit Frames
  • 0

    posted a message on Req: Blizzard Raidframes Modded
    sry i do that the first time, and my english isnt so good.

    but do u have a idea to change the blizzard raidframes ?!
    Posted in: Addon Ideas
  • 0

    posted a message on Req: Blizzard Raidframes Modded
    sorry, but i am a really wannabe noob to code lua xml etc.
    i dont know what u mean

    can u show me an example ?!

    i can do some artworks with photoshop
    Posted in: Addon Ideas
  • 0

    posted a message on Req: Blizzard Raidframes Modded
    here is the default Addons/Blizzard_RaidUI/

    source, we must only modified to another template or something like this.
    but i have no knowlege to do that.
    Posted in: Addon Ideas
  • 0

    posted a message on Req: Blizzard Raidframes Modded
    i am noob, but if u install the kit you have the source of blizzardraidframes

    Blizzard_RaidUI.lua
    MOVING_RAID_MEMBER = nil;
    TARGET_RAID_SLOT = nil;
    RAID_SUBGROUP_LISTS = {};
    MAX_RAID_PULLOUT_BUTTONS = 15;
    MAX_RAID_PULLOUT_FRAMES = 12;
    RAID_PULLOUT_BUTTON_HEIGHT = 33;
    MOVING_RAID_PULLOUT = nil;
    
    function RaidGroupFrame_OnLoad()
    	RaidFrame:RegisterEvent("UNIT_LEVEL");
    	RaidFrame:RegisterEvent("UNIT_HEALTH");
    	RaidFrame:RegisterEvent("PLAYER_ENTERING_WORLD");
    	RaidFrame:SetScript("OnHide", RaidGroupFrame_OnHide);
    	RaidFrame:SetScript("OnEvent", RaidGroupFrame_OnEvent);
    	RaidFrame:SetScript("OnUpdate", RaidGroupFrame_OnUpdate);
    end
    
    function RaidGroupFrame_OnHide()
    	-- If there's a selected button then call the onmouseup function on it when the frame is hidden
    	if ( MOVING_RAID_MEMBER ) then
    		RaidGroupButton_OnDragStop(MOVING_RAID_MEMBER);
    	end
    end
    
    function RaidGroupFrame_OnEvent()
    	RaidFrame_OnEvent();
    	if ( event == "UNIT_LEVEL" ) then
    		local id, found = gsub(arg1, "raid([0-9]+)", "%1");
    		if ( found == 1 ) then
    			RaidGroupFrame_UpdateLevel(id);
    		end
    	end
    	if ( event == "UNIT_HEALTH" ) then
    		local id, found = gsub(arg1, "raid([0-9]+)", "%1");
    		if ( found == 1 ) then
    			RaidGroupFrame_UpdateHealth(id);
    		end
    	end
    	if ( event == "PLAYER_ENTERING_WORLD" ) then
    		RaidFrameReadyCheckButton_Update();
    		RaidFrameAddMemberButton_Update();
    	end
    end
    
    function RaidGroupFrame_Update()
    
    	-- Update raid group labels
    	if ( GetNumRaidMembers() == 0 ) then
    		for i=1, NUM_RAID_GROUPS do
    			getglobal("RaidGroup"..i):Hide();
    		end
    		RaidFrameReadyCheckButton:Hide();
    	else
    		for i=1, NUM_RAID_GROUPS do
    			getglobal("RaidGroup"..i):Show();
    		end
    	end
    
    	RaidFrameReadyCheckButton_Update();
    	RaidFrameAddMemberButton_Update();
    	if ( RaidFrameReadyCheckButton:IsShown() ) then
    		RaidFrameRaidInfoButton:SetPoint("LEFT", "RaidFrameReadyCheckButton", "RIGHT", 2, 0);
    	end
    
    
    	-- Reset group index counters;
    	for i=1, NUM_RAID_GROUPS do
    		getglobal("RaidGroup"..i).nextIndex = 1;
    	end
    	-- Clear out all the slots buttons
    	RaidGroup_ResetSlotButtons();
    
    	-- Clear out subgroup list
    	RAID_SUBGROUP_LISTS = {};
    	for i=1, NUM_RAID_GROUPS do
    		RAID_SUBGROUP_LISTS[i] = {};
    	end
    
    	-- Use the class color list to clear out the class list
    	for index, value in RAID_CLASS_COLORS do
    		RAID_SUBGROUP_LISTS[index] = {};
    	end
    
    	-- Fill out buttons
    	local numRaidMembers = GetNumRaidMembers();
    	local raidGroup, color;
    	local buttonName, buttonLevel, buttonClass, buttonRank;
    	local name, rank, subgroup, level, class, fileName, zone, online, isDead;
    	for i=1, MAX_RAID_MEMBERS do
    		button = getglobal("RaidGroupButton"..i);
    		if ( i <= numRaidMembers ) then
    			name, rank, subgroup, level, class, fileName, zone, online, isDead = GetRaidRosterInfo(i);
    			raidGroup = getglobal("RaidGroup"..subgroup);
    			-- To prevent errors when the server hiccups
    			if ( raidGroup.nextIndex <= MEMBERS_PER_RAID_GROUP ) then
    				buttonName = getglobal("RaidGroupButton"..i.."Name");
    				buttonClass = getglobal("RaidGroupButton"..i.."Class");
    				buttonLevel = getglobal("RaidGroupButton"..i.."Level");
    				buttonRank = getglobal("RaidGroupButton"..i.."Rank");
    				button.id = i;
    				
    				button.name = name;
    				button.unit = "raid"..i;
    				button.class = fileName;
    				
    				if ( level == 0 ) then
    					level = "";
    				end
    				
    				if ( not name ) then
    					name = UNKNOWN;
    				end
    				
    				-- Fill in subgroup list
    				tinsert(RAID_SUBGROUP_LISTS[subgroup], i);
    
    				-- Fill in class list
    				if ( fileName ) then
    					tinsert(RAID_SUBGROUP_LISTS[fileName], i);
    				end
    				
    				buttonName:SetText(name);
    				if ( class ) then
    					buttonClass:SetText(class);
    				else
    					buttonClass:SetText("");
    				end
    				
    				if ( level ) then
    					buttonLevel:SetText(level);
    				else
    					buttonLevel:SetText("");
    				end
    				
    				if ( online ) then
    					if ( isDead ) then
    						buttonName:SetTextColor(RED_FONT_COLOR.r, RED_FONT_COLOR.g, RED_FONT_COLOR.b);
    						buttonClass:SetTextColor(RED_FONT_COLOR.r, RED_FONT_COLOR.g, RED_FONT_COLOR.b);
    						buttonLevel:SetTextColor(RED_FONT_COLOR.r, RED_FONT_COLOR.g, RED_FONT_COLOR.b);
    					else
    						color = RAID_CLASS_COLORS[fileName];
    						if ( color ) then
    							buttonName:SetTextColor(color.r, color.g, color.b);
    							buttonClass:SetTextColor(color.r, color.g, color.b);
    							buttonLevel:SetTextColor(color.r, color.g, color.b);
    						end
    					end
    				else
    					buttonName:SetTextColor(GRAY_FONT_COLOR.r, GRAY_FONT_COLOR.g, GRAY_FONT_COLOR.b);
    					buttonClass:SetTextColor(GRAY_FONT_COLOR.r, GRAY_FONT_COLOR.g, GRAY_FONT_COLOR.b);
    					buttonLevel:SetTextColor(GRAY_FONT_COLOR.r, GRAY_FONT_COLOR.g, GRAY_FONT_COLOR.b);
    				end
    
    				if ( rank == 2 ) then
    					buttonRank:SetText(RAID_LEADER_TOKEN);
    				elseif ( rank == 1 ) then
    					buttonRank:SetText(RAID_ASSISTANT_TOKEN);
    				else 
    					buttonRank:SetText("");
    				end
    			
    				-- Anchor button to slot
    				if ( MOVING_RAID_MEMBER ~= button  ) then
    					button:SetPoint("TOPLEFT", "RaidGroup"..subgroup.."Slot"..raidGroup.nextIndex, "TOPLEFT", 0, 0);
    				end
    				
    				-- Save slot for future use
    				button.slot = "RaidGroup"..subgroup.."Slot"..raidGroup.nextIndex;
    				-- Save the button's subgroup too
    				button.subgroup = subgroup;
    				-- Tell the slot what button is in it
    				getglobal("RaidGroup"..subgroup.."Slot"..raidGroup.nextIndex).button = button:GetName();
    				raidGroup.nextIndex = raidGroup.nextIndex + 1;
    				button:SetID(i);
    				button:Show();
    			end
    		else
    			button:Hide();
    		end
    	end
    end
    
    function RaidGroupFrame_UpdateLevel(id)
    	local unit = "raid"..id;
    	local buttonLevel = getglobal("RaidGroupButton"..id.."Level");
    
    	buttonLevel:SetText(UnitLevel(unit));
    end
    
    function RaidGroupFrame_UpdateHealth(id)
    	local name, rank, subgroup, level, class, fileName, zone, online, isDead = GetRaidRosterInfo(id);
    
    	local buttonName = getglobal("RaidGroupButton"..id.."Name");
    	local buttonClass = getglobal("RaidGroupButton"..id.."Class");
    	local buttonLevel = getglobal("RaidGroupButton"..id.."Level");
    
    	if ( online ) then
    		if ( isDead ) then
    			buttonName:SetTextColor(RED_FONT_COLOR.r, RED_FONT_COLOR.g, RED_FONT_COLOR.b);
    			buttonClass:SetTextColor(RED_FONT_COLOR.r, RED_FONT_COLOR.g, RED_FONT_COLOR.b);
    			buttonLevel:SetTextColor(RED_FONT_COLOR.r, RED_FONT_COLOR.g, RED_FONT_COLOR.b);
    		else
    			color = RAID_CLASS_COLORS[fileName];
    			if ( color ) then
    				buttonName:SetTextColor(color.r, color.g, color.b);
    				buttonClass:SetTextColor(color.r, color.g, color.b);
    				buttonLevel:SetTextColor(color.r, color.g, color.b);
    			end
    		end
    	else
    		buttonName:SetTextColor(GRAY_FONT_COLOR.r, GRAY_FONT_COLOR.g, GRAY_FONT_COLOR.b);
    		buttonClass:SetTextColor(GRAY_FONT_COLOR.r, GRAY_FONT_COLOR.g, GRAY_FONT_COLOR.b);
    		buttonLevel:SetTextColor(GRAY_FONT_COLOR.r, GRAY_FONT_COLOR.g, GRAY_FONT_COLOR.b);
    	end
    end
    
    function RaidGroupFrame_OnUpdate(elapsed)
    	if ( MOVING_RAID_MEMBER ) then
    		local button, slot;
    		TARGET_RAID_SLOT = nil;
    		for i=1, NUM_RAID_GROUPS do
    			for j=1, MEMBERS_PER_RAID_GROUP do
    				slot = getglobal("RaidGroup"..i.."Slot"..j);
    				if ( MouseIsOver(slot) ) then
    					slot:LockHighlight();
    					TARGET_RAID_SLOT = slot;
    				else
    					slot:UnlockHighlight();
    				end
    			end
    		end
    	end
    end
    
    function RaidGroupButton_OnDragStart()
    	if ( not IsRaidLeader() ) then
    		return;
    	end
    	local cursorX, cursorY = GetCursorPosition();
    	this:ClearAllPoints();
    	this:SetPoint("CENTER", nil, "BOTTOMLEFT", cursorX*GetScreenWidthScale(), cursorY*GetScreenHeightScale());
    	this:StartMoving();
    	MOVING_RAID_MEMBER = this;
    	SetRaidRosterSelection(this.id);
    end
    
    function RaidGroupButton_OnDragStop(raidButton)
    	if ( not IsRaidLeader() ) then
    		return;
    	end
    	if ( not raidButton ) then
    		raidButton = this;
    	end
    	
    	raidButton:StopMovingOrSizing();
    	MOVING_RAID_MEMBER = nil;
    	if ( TARGET_RAID_SLOT and TARGET_RAID_SLOT:GetParent():GetID() ~= raidButton.subgroup ) then
    		if (TARGET_RAID_SLOT.button) then
    			local button = getglobal(TARGET_RAID_SLOT.button);
    			--button:SetPoint("TOPLEFT", this, "TOPLEFT", 0, 0);
    			SwapRaidSubgroup(raidButton:GetID(), button:GetID());
    		else
    			local slot = TARGET_RAID_SLOT:GetParent():GetName().."Slot"..TARGET_RAID_SLOT:GetParent().nextIndex;
    			raidButton:SetPoint("TOPLEFT", slot, "TOPLEFT", 0, 0);
    			TARGET_RAID_SLOT:UnlockHighlight();
    			SetRaidSubgroup(raidButton:GetID(), TARGET_RAID_SLOT:GetParent():GetID());
    		end
    	else
    		if ( TARGET_RAID_SLOT ) then
    			TARGET_RAID_SLOT:UnlockHighlight();
    		end
    		raidButton:SetPoint("TOPLEFT", raidButton.slot, "TOPLEFT", 0, 0);
    	end
    end
    
    function RaidGroupButton_OnClick(button)
    	if ( button == "LeftButton" ) then
    		local unit = "raid"..this.id;
    		if ( SpellIsTargeting() ) then
    			SpellTargetUnit(unit);
    		elseif ( CursorHasItem() ) then
    			DropItemOnUnit(unit);
    		else
    			TargetUnit(unit);
    		end
    	else
    		HideDropDownMenu(1);
    		if ( this.id and this.name ) then
    			FriendsDropDown.initialize = RaidFrameDropDown_Initialize;
    			FriendsDropDown.displayMode = "MENU";
    			ToggleDropDownMenu(1, nil, FriendsDropDown, "cursor");
    		end
    	end
    end
    
    function RaidGroupButton_OnEnter()
    	if ( SpellIsTargeting() ) then
    		if ( SpellCanTargetUnit(this.unit) ) then
    			SetCursor("CAST_CURSOR");
    		else
    			SetCursor("CAST_ERROR_CURSOR");
    		end
    	end
    
    	GameTooltip_SetDefaultAnchor(GameTooltip, this);
    	
    	if ( GameTooltip:SetUnit(this.unit) ) then
    		this.updateTooltip = TOOLTIP_UPDATE_TIME;
    	else
    		this.updateTooltip = nil;
    	end
    
    	this.r, this.g, this.b = GameTooltip_UnitColor(this.unit);
    	GameTooltipTextLeft1:SetTextColor(this.r, this.g, this.b);
    end
    
    function RaidFrameDropDown_Initialize()
    	UnitPopup_ShowMenu(getglobal(UIDROPDOWNMENU_OPEN_MENU), "RAID", this.unit, this.name, this.id);
    end
    
    function RaidGroup_ResetSlotButtons()
    	for i=1, NUM_RAID_GROUPS do
    		for j=1, MEMBERS_PER_RAID_GROUP do
    			getglobal("RaidGroup"..i.."Slot"..j).button = nil;
    		end
    	end
    end
    
    function RaidButton_OnClick()
    	SetRaidRosterSelection(this.index);
    	RaidFrame_Update();
    end
    
    ----------------- Pullout Button Functions --------------------
    function RaidPullout_OnEvent()
    	if ( event == "RAID_ROSTER_UPDATE" and this:IsVisible() ) then
    		RaidPullout_Update();
    	end
    end
    
    function RaidPullout_GenerateGroupFrame(groupID)
    	-- construct the button listing
    	if ( not groupID ) then
    		groupID = this:GetParent():GetID();
    	end
    	
    	-- Get a handle on a pullout frame
    	local pullOutFrame = RaidPullout_GetFrame(groupID);
    	if ( pullOutFrame ) then
    		pullOutFrame.filterID = groupID;
    		pullOutFrame.showBuffs = nil;
    		-- Set pullout name
    		getglobal(pullOutFrame:GetName().."Name"):SetText(GROUP.." "..groupID);
    		if ( RaidPullout_Update(pullOutFrame) ) then
    			return pullOutFrame;		
    		end
    	end
    end
    
    function RaidPullout_GenerateClassFrame(class, fileName)
    	-- construct the button listing
    	if ( not class ) then
    		class = this:GetParent().class;
    	end
    	
    	-- Get a handle on a pullout frame
    	local pullOutFrame = RaidPullout_GetFrame(fileName);
    	if ( pullOutFrame ) then
    		pullOutFrame.filterID = fileName;
    		pullOutFrame.showBuffs = nil;
    		-- Set pullout name
    		getglobal(pullOutFrame:GetName().."Name"):SetText(class);
    		if ( RaidPullout_Update(pullOutFrame) ) then
    			return pullOutFrame;		
    		end
    	end
    end
    
    function RaidPullout_Update(pullOutFrame)
    	if ( not pullOutFrame ) then
    		pullOutFrame = this;
    	end
    
    	local filterID = pullOutFrame.filterID;
    	local numPulloutEntries = 0;
    	if ( RAID_SUBGROUP_LISTS[filterID] ) then
    		numPulloutEntries = getn(RAID_SUBGROUP_LISTS[filterID]);
    	end
    	local pulloutList = RAID_SUBGROUP_LISTS[filterID];
    
    	-- Hide the pullout if no entries
    	if ( numPulloutEntries == 0 ) then
    		pullOutFrame:Hide();
    		return nil;
    	end
    
    	-- Fill out the buttons
    	local pulloutButton, pulloutButtonName, color, unit, pulloutHealthBar, pulloutManaBar, unitHPMin, unitHPMax;
    	local name, rank, subgroup, level, class, fileName, zone, online, isDead;
    	local debuff;
    
    	for i=1, MAX_RAID_PULLOUT_BUTTONS do
    		pulloutButton = getglobal(pullOutFrame:GetName().."Button"..i);
    		if ( i <= numPulloutEntries ) then
    			pulloutButtonName = getglobal(pulloutButton:GetName().."Name");
    			pulloutHealthBar = getglobal(pulloutButton:GetName().."HealthBar");
    			pulloutManaBar = getglobal(pulloutButton:GetName().."ManaBar");
    			name, rank, subgroup, level, class, fileName, zone, online, isDead = GetRaidRosterInfo(pulloutList[i]);
    			-- follow same coloration rules as the raid interface
    			pulloutButtonName:SetText(name);
    			unit = "raid"..pulloutList[i];
    			pulloutButton.unit = unit;
    			
    			-- Set for tooltip support
    			getglobal(pulloutButton:GetName().."ClearButton").unit = unit;
    			
    			pulloutButton.raidIndex = pulloutList[i];
    			pulloutButton.manabar = pulloutManaBar;
    			pulloutManaBar.unit = unit;
    			if ( online ) then
    				RaidPulloutButton_UpdateDead(pulloutButton, isDead, fileName);
    				-- Setup Health and mana bars
    				UnitFrameHealthBar_Initialize(unit, pulloutHealthBar);
    				UnitFrameHealthBar_Update(pulloutHealthBar, unit);
    				UnitFrameManaBar_Initialize(unit, pulloutManaBar);
    				UnitFrameManaBar_Update(pulloutManaBar, unit);
    			else
    				-- Offline so gray out and maxout healthbar
    				unitHPMin, unitHPMax = pulloutHealthBar:GetMinMaxValues();
    				pulloutHealthBar:SetValue(unitHPMax);
    				pulloutHealthBar:SetStatusBarColor(0.5, 0.5, 0.5);
    				pulloutButtonName:SetVertexColor(GRAY_FONT_COLOR.r, GRAY_FONT_COLOR.g, GRAY_FONT_COLOR.b);
    				UnitFrameManaBar_Update(pulloutManaBar, unit);
    			end
    			
    			-- Handle buffs/debuffs
    			RaidPulloutButton_UpdateBuffs(pulloutButton, pullOutFrame.showBuffs, unit);
    
    			pulloutButton:RegisterEvent("UNIT_HEALTH");
    			pulloutButton:RegisterEvent("UNIT_AURA");
    			pulloutButton:Show();
    		else
    			pulloutButton:UnregisterEvent("UNIT_HEALTH");
    			pulloutButton:UnregisterEvent("UNIT_AURA");
    			pulloutButton:Hide();
    		end
    	end
    	pullOutFrame:SetHeight(numPulloutEntries * RAID_PULLOUT_BUTTON_HEIGHT + 14);
    	pullOutFrame:Show();
    	return 1;
    end
    
    function RaidPulloutButton_OnEvent()
    	if ( event == "UNIT_HEALTH" ) then
    		if ( arg1 == this.unit ) then
    			local name, rank, subgroup, level, class, fileName, zone, online, isDead = GetRaidRosterInfo(this.raidIndex);
    			if ( online ) then
    				RaidPulloutButton_UpdateDead(this, isDead, fileName);
    			end
    		end
    	elseif ( event == "UNIT_AURA" ) then
    		if ( arg1 == this.unit ) then
    			RaidPulloutButton_UpdateBuffs(this, this:GetParent().showBuffs, this.unit);
    		end
    	end
    end
    
    function RaidPulloutButton_UpdateBuffs(button, showBuffs, unit)
    	-- Handle buffs/debuffs
    	local debuff, debuffButton, debuffStack, debuffType, color;
    	this.hasDispellable = nil;
    	for i=1, MAX_PARTY_DEBUFFS do
    		local debuffBorder = getglobal(button:GetName().."Debuff"..i.."Border");
    		local raidDebuff = getglobal(button:GetName().."Debuff"..i.."Icon");
    		if ( showBuffs ) then
    			debuff = UnitBuff(unit, i, SHOW_CASTABLE_BUFFS);
    			debuffBorder:Hide();
    		else
    			debuff, debuffStack, debuffType = UnitDebuff(unit, i, SHOW_DISPELLABLE_DEBUFFS);
    			debuffBorder:Show();
    		end
    		if ( debuff ) then
    			raidDebuff:SetTexture(debuff);
    			if ( debuffType ) then
    				color = DebuffTypeColor[debuffType];
    				this.hasDispellable = 1;
    			else
    				color = DebuffTypeColor["none"];
    			end
    			debuffBorder:SetVertexColor(color.r, color.g, color.b);
    			getglobal(button:GetName().."Debuff"..i):Show();
    		else
    			getglobal(button:GetName().."Debuff"..i):Hide();
    		end
    	end
    end
    
    function RaidPulloutButton_UpdateDead(button, isDead, class)
    	local pulloutButtonName = getglobal(button:GetName().."Name");
    	if ( isDead ) then
    		pulloutButtonName:SetVertexColor(RED_FONT_COLOR.r, RED_FONT_COLOR.g, RED_FONT_COLOR.b);
    	else
    		local color = RAID_CLASS_COLORS[class];
    		if ( color ) then
    			pulloutButtonName:SetVertexColor(color.r, color.g, color.b);
    		end
    	end
    end
    
    function RaidPulloutButton_OnClick()
    	if ( arg1 == "LeftButton" ) then
    		-- Select target or cast spell on
    		local unit = this.unit;
    		-- If no unit assume that this is a manabar or healthbar and look at the parent's unit info
    		if ( not unit ) then
    			unit = this:GetParent().unit;
    		end
    		if ( SpellIsTargeting() ) then
    			SpellTargetUnit(unit);
    		elseif ( CursorHasItem() ) then
    			DropItemOnUnit(unit);
    		else
    			TargetUnit(unit);
    		end
    	elseif ( arg1 == "RightButton" ) then
    		ToggleDropDownMenu(1, nil, getglobal(this:GetParent():GetParent():GetName().."DropDown"));
    	end
    end
    
    function RaidPulloutButton_OnDragStart(frame)
    	if ( not frame ) then
    		MOVING_RAID_PULLOUT = nil;
    		return;
    	end
    	local cursorX, cursorY = GetCursorPosition();
    	frame:SetFrameStrata("DIALOG");
    	frame:ClearAllPoints();
    	frame:SetPoint("TOP", nil, "BOTTOMLEFT", cursorX*GetScreenWidthScale(), cursorY*GetScreenHeightScale());
    	frame:StartMoving();
    	MOVING_RAID_PULLOUT = frame;
    end
    
    function RaidPulloutStopMoving()
    	if ( MOVING_RAID_PULLOUT ) then
    		MOVING_RAID_PULLOUT:StopMovingOrSizing();
    		MOVING_RAID_PULLOUT:SetFrameStrata("BACKGROUND");
    		ValidateFramePosition(MOVING_RAID_PULLOUT, 25);
    	end
    end
    
    function RaidPullout_GetFrame(filterID)
    	-- Grab an available pullout frame
    	local frame, pulloutFrame;
    	for i=1, MAX_RAID_PULLOUT_FRAMES do
    		frame = getglobal("RaidPullout"..i);
    		if ( not frame:IsVisible() ) then
    			pulloutFrame = frame;
    			break;
    		else
    			-- if frame is visible see if its group id is already taken
    			if ( filterID == frame.filterID ) then
    				return nil;
    			end
    		end
    	end
    	if ( pulloutFrame ) then
    		return pulloutFrame;
    	end
    	-- FIXME
    	message("You can only pull out 12 groups!");
    	return nil;
    end
    
    function RaidPulloutDropDown_OnLoad()
    	this.raidPulloutDropDown = true;
    	UIDropDownMenu_Initialize(this, RaidPulloutDropDown_Initialize, "MENU");
    	UIDropDownMenu_SetAnchor(0, 0, this, "TOPLEFT", this:GetParent():GetName(), "TOPRIGHT")
    end
    
    function RaidPulloutDropDown_Initialize()
    	if ( not UIDROPDOWNMENU_OPEN_MENU or not getglobal(UIDROPDOWNMENU_OPEN_MENU).raidPulloutDropDown ) then
    		return;
    	end
    	local currentPullout = getglobal(UIDROPDOWNMENU_OPEN_MENU):GetParent();
    	local info;
    	
    	-- Show buffs or debuffs they are exclusive for now
    	info = {};
    	info.text = SHOW_BUFFS;
    	info.func = function()
    		currentPullout.showBuffs = 1;
    		RaidPullout_Update(currentPullout);
    	end;
    	if ( currentPullout.showBuffs ) then
    		info.checked = 1;
    	end
    	UIDropDownMenu_AddButton(info);
    
    	info = {};
    	info.text = SHOW_DEBUFFS;
    	info.func = function()
    		currentPullout.showBuffs = nil;
    		RaidPullout_Update(currentPullout);
    	end;
    	if ( not currentPullout.showBuffs ) then
    		info.checked = 1;
    	end
    	UIDropDownMenu_AddButton(info);
    	
    	-- Hide background option
    	local backdrop = getglobal(currentPullout:GetName().."MenuBackdrop");
    	info = {};
    	info.text = HIDE_PULLOUT_BG;
    	info.func = function ()
    		if ( backdrop:IsVisible() ) then
    			backdrop:Hide();
    		else
    			backdrop:Show();
    		end
    	end;
    	if ( not backdrop:IsVisible() ) then
    		info.checked = 1;
    	end
    	UIDropDownMenu_AddButton(info);
    
    	-- Close option
    	info = {};
    	info.text = CLOSE;
    	info.func = function()
    		currentPullout:Hide();
    	end;
    	UIDropDownMenu_AddButton(info);
    end
    
    -- Ready Check Functions
    function ShowReadyCheck()
    	local name, rank, leader;
    	for i=1, MAX_RAID_MEMBERS do
    		name, rank = GetRaidRosterInfo(i);
    		if ( name ) then
    			-- find leader
    			if ( rank == 2 ) then
    				leader = "raid"..i;
    				break;
    			end
    		end
    	end
    	SetPortraitTexture(ReadyCheckPortrait, leader);
    	ReadyCheckFrameText:SetText(format(READY_CHECK_MESSAGE, name));
    	ReadyCheckFrame:Show();
    	ReadyCheckFrame.timer = 30;
    	PlaySound("ReadyCheck");
    end
    
    function ReadyCheck_OnUpdate(elapsed)
    	if ( not ReadyCheckFrame.timer ) then
    		return;
    	end
    	ReadyCheckFrame.timer = ReadyCheckFrame.timer-elapsed;
    	if ( ReadyCheckFrame.timer < 0 ) then
    		-- Timed out
    		local info = ChatTypeInfo["SYSTEM"];
    		DEFAULT_CHAT_FRAME:AddMessage(TEXT(READY_CHECK_YOU_WERE_AFK), info.r, info.g, info.b, info.id);
    		ReadyCheckFrame.timer = nil;
    		ReadyCheckFrame:Hide();
    	end
    	
    end
    
    function RaidFrameReadyCheckButton_Update()
    	if ( GetNumRaidMembers() > 0 and IsRaidLeader() ) then
    		RaidFrameReadyCheckButton:Show();
    	else
    		RaidFrameReadyCheckButton:Hide();
    	end
    end
    
    function RaidFrameAddMemberButton_Update()
    	if ( GetNumRaidMembers() > 0 ) then
    		RaidFrameAddMemberButton:Show();
    		if ( IsRaidLeader() or IsRaidOfficer() ) then
    			RaidFrameAddMemberButton:Enable();
    		else
    			RaidFrameAddMemberButton:Disable();
    		end
    	else	
    		RaidFrameAddMemberButton:Hide();
    	end
    end



    Blizzard_RaidUI.xml
    <Ui xmlns="[url]http://www.blizzard.com/wow/ui/"[/url] xmlns:xsi="[url]http://www.w3.org/2001/XMLSchema-instance"[/url] xsi:schemaLocation="[url]http://www.blizzard.com/wow/ui/[/url]
    ..\..\FrameXML\UI.xsd">
    	<Script file="Blizzard_RaidUI.lua"/>
    	<Button name="RaidGroupButtonTemplate" parent="RaidFrame" movable="true" clampedToScreen="true" virtual="true">
    		<Size>
    			<AbsDimension x="156" y="14"/>
    		</Size>
    		<Layers>
    			<Layer level="ARTWORK">
    				<FontString name="$parentRank" inherits="GameFontNormalSmall" justifyH="LEFT">
    					<Size>
    						<AbsDimension x="18" y="8"/>
    					</Size>
    					<Anchors>
    						<Anchor point="LEFT">
    							<Offset>
    								<AbsDimension x="1" y="1"/>
    							</Offset>
    						</Anchor>
    					</Anchors>
    				</FontString>
    				<FontString name="$parentName" inherits="GameFontNormalSmall" justifyH="LEFT">
    					<Size>
    						<AbsDimension x="60" y="8"/>
    					</Size>
    					<Anchors>
    						<Anchor point="LEFT" relativeTo="$parentRank" relativePoint="RIGHT">
    							<Offset>
    								<AbsDimension x="2" y="0"/>
    							</Offset>
    						</Anchor>
    					</Anchors>
    				</FontString>
    				<FontString name="$parentLevel" inherits="GameFontNormalSmall" justifyH="CENTER">
    					<Size>
    						<AbsDimension x="22" y="8"/>
    					</Size>
    					<Anchors>
    						<Anchor point="LEFT" relativeTo="$parentName" relativePoint="RIGHT">
    							<Offset>
    								<AbsDimension x="5" y="0"/>
    							</Offset>
    						</Anchor>
    					</Anchors>
    				</FontString>
    			</Layer>
    		</Layers>
    		<Frames>
    			<Button name="$parentClass">
    				<Size>
    					<AbsDimension x="50" y="8"/>
    				</Size>
    				<Anchors>
    					<Anchor point="LEFT">
    						<Offset>
    							<AbsDimension x="110" y="1"/>
    						</Offset>
    					</Anchor>
    				</Anchors>
    				<Scripts>
    					<OnLoad>
    						this:RegisterForDrag("LeftButton");
    					</OnLoad>
    					<OnDragStart>
    						RaidPulloutButton_OnDragStart(RaidPullout_GenerateClassFrame(this:GetText(), this:GetParent().class));
    					</OnDragStart>
    					<OnDragStop>
    						RaidPulloutStopMoving();
    					</OnDragStop>
    				</Scripts>
    				<ButtonText>
    					<Size>
    						<AbsDimension x="50" y="8"/>
    					</Size>
    					<Anchors>
    						<Anchor point="LEFT">
    							<Offset>
    								<AbsDimension x="0" y="0"/>
    							</Offset>
    						</Anchor>
    					</Anchors>
    				</ButtonText>
    				<NormalFont inherits="GameFontNormalSmall" justifyH="LEFT"/>
    				<HighlightFont inherits="GameFontHighlightSmall" justifyH="LEFT"/>
    			</Button>
    		</Frames>
    		<Scripts>
    			<OnLoad>
    				this:SetFrameLevel(this:GetFrameLevel() + 2);
    				getglobal(this:GetName().."Class"):SetFrameLevel(this:GetFrameLevel() + 2);
    				this:RegisterForDrag("LeftButton");
    				this:RegisterForClicks("LeftButtonUp", "RightButtonUp");
    			</OnLoad>
    			<OnClick>
    				RaidGroupButton_OnClick(arg1);
    			</OnClick>
    			<OnDragStart>
    				RaidGroupButton_OnDragStart();
    			</OnDragStart>
    			<OnDragStop>
    				RaidGroupButton_OnDragStop();
    			</OnDragStop>
    			<OnEnter>
    				RaidGroupButton_OnEnter();
    			</OnEnter>
    			<OnLeave>
    				GameTooltip:Hide();
    			</OnLeave>
    		</Scripts>
    		<NormalTexture file="Interface\RaidFrame\UI-RaidFrame-GroupButton">
    			<TexCoords left="0" right="0.640625" top="0" bottom="0.4375"/>
    		</NormalTexture>
    		<HighlightTexture file="Interface\RaidFrame\UI-RaidFrame-GroupButton" alphaMode="ADD">
    			<TexCoords left="0" right="0.640625" top="0.46875" bottom="0.90625"/>
    		</HighlightTexture>
    	</Button>
    	<Button name="RaidGroupSlotTemplate" virtual="true">
    		<Size>
    			<AbsDimension x="156" y="14"/>
    		</Size>
    		<Layers>
    			<Layer level="BACKGROUND">
    				<FontString inherits="GameFontDarkGraySmall" text="EMPTY">
    					<Anchors>
    						<Anchor point="CENTER">
    							<Offset>
    								<AbsDimension x="0" y="0"/>
    							</Offset>
    						</Anchor>
    					</Anchors>
    				</FontString>
    			</Layer>
    		</Layers>
    		<HighlightTexture file="Interface\RaidFrame\UI-RaidFrame-GroupButton" alphaMode="ADD">
    			<TexCoords left="0" right="0.640625" top="0.46875" bottom="0.90625"/>
    		</HighlightTexture>
    	</Button>
    	<Frame name="RaidGroupTemplate" parent="RaidFrame" virtual="true">
    		<Size>
    			<AbsDimension x="162" y="80"/>
    		</Size>
    		<Layers>
    			<Layer level="BACKGROUND">
    				<Texture file="Interface\RaidFrame\UI-RaidFrame-GroupOutline">
    					<Size>
    						<AbsDimension x="162" y="80"/>
    					</Size>
    					<Anchors>
    						<Anchor point="TOPLEFT"/>
    					</Anchors>
    					<TexCoords left="0" right="0.6640625" top="0" bottom="0.625"/>
    				</Texture>
    			</Layer>
    		</Layers>
    		<Frames>
    			<Button name="$parentLabel">
    				<Size>
    					<AbsDimension x="156" y="14"/>
    				</Size>
    				<Anchors>
    					<Anchor point="TOP">
    						<Offset>
    							<AbsDimension x="0" y="14"/>
    						</Offset>
    					</Anchor>
    				</Anchors>
    				<Scripts>
    					<OnLoad>
    						this:RegisterForDrag("LeftButton");
    					</OnLoad>
    					<OnDragStart>
    						RaidPulloutButton_OnDragStart(RaidPullout_GenerateGroupFrame());
    					</OnDragStart>
    					<OnDragStop>
    						RaidPulloutStopMoving();
    					</OnDragStop>
    					<OnHide>
    						RaidPulloutStopMoving();
    					</OnHide>
    				</Scripts>
    				<NormalFont inherits="GameFontNormalSmall"/>
    				<HighlightFont inherits="GameFontHighlightSmall"/>
    			</Button>
    			<Button name="$parentSlot1" inherits="RaidGroupSlotTemplate">
    				<Anchors>
    					<Anchor point="TOPLEFT">
    						<Offset>
    							<AbsDimension x="3" y="-3"/>
    						</Offset>
    					</Anchor>
    				</Anchors>
    			</Button>
    			<Button name="$parentSlot2" inherits="RaidGroupSlotTemplate">
    				<Anchors>
    					<Anchor point="TOPLEFT" relativeTo="$parentSlot1" relativePoint="BOTTOMLEFT">
    						<Offset>
    							<AbsDimension x="0" y="-1"/>
    						</Offset>
    					</Anchor>
    				</Anchors>
    			</Button>
    			<Button name="$parentSlot3" inherits="RaidGroupSlotTemplate">
    				<Anchors>
    					<Anchor point="TOPLEFT" relativeTo="$parentSlot2" relativePoint="BOTTOMLEFT">
    						<Offset>
    							<AbsDimension x="0" y="-1"/>
    						</Offset>
    					</Anchor>
    				</Anchors>
    			</Button>
    			<Button name="$parentSlot4" inherits="RaidGroupSlotTemplate">
    				<Anchors>
    					<Anchor point="TOPLEFT" relativeTo="$parentSlot3" relativePoint="BOTTOMLEFT">
    						<Offset>
    							<AbsDimension x="0" y="-1"/>
    						</Offset>
    					</Anchor>
    				</Anchors>
    			</Button>
    			<Button name="$parentSlot5" inherits="RaidGroupSlotTemplate">
    				<Anchors>
    					<Anchor point="TOPLEFT" relativeTo="$parentSlot4" relativePoint="BOTTOMLEFT">
    						<Offset>
    							<AbsDimension x="0" y="-1"/>
    						</Offset>
    					</Anchor>
    				</Anchors>
    			</Button>
    		</Frames>
    		<Scripts>
    			<OnLoad>
    				getglobal(this:GetName().."Label"):SetText(GROUP.." "..this:GetID());
    			</OnLoad>
    		</Scripts>
    	</Frame>
    	<Frame name="RaidBuffButtonTemplate" inherits="PartyBuffButtonTemplate" virtual="true" hidden="true">
    		<Size>
    			<AbsDimension x="12" y="12"/>
    		</Size>
    		<Scripts>
    			<OnLoad>
    				getglobal(this:GetName().."Border"):SetWidth(13);
    				getglobal(this:GetName().."Border"):SetHeight(13);
    			</OnLoad>
    			<OnEnter>
    				if ( this:GetCenter() > GetScreenWidth()/2 ) then
    					GameTooltip:SetOwner(this, "ANCHOR_LEFT");
    				else
    					GameTooltip:SetOwner(this, "ANCHOR_RIGHT");
    				end
    
    				if ( this:GetParent():GetParent().showBuffs ) then
    					GameTooltip:SetUnitBuff(this:GetParent().unit, this:GetID(), SHOW_CASTABLE_BUFFS);
    				else
    					GameTooltip:SetUnitDebuff(this:GetParent().unit, this:GetID(), SHOW_DISPELLABLE_DEBUFFS);
    				end
    			</OnEnter>
    			<OnLeave>
    				GameTooltip:Hide();
    			</OnLeave>
    		</Scripts>
    	</Frame>
    	<Frame name="RaidPulloutButtonTemplate" hidden="true" virtual="true">
    		<Size>
    			<AbsDimension x="57" y="25"/>
    		</Size>
    		<Anchors>
    			<Anchor point="TOP">
    				<Offset>
    					<AbsDimension x="1" y="-10"/>
    				</Offset>
    			</Anchor>
    		</Anchors>
    		<Layers>
    			<Layer level="ARTWORK">
    				<Texture name="$parentFrame" file="Interface\RaidFrame\UI-RaidFrame-HealthBar">
    					<Size>
    						<AbsDimension x="64" y="16"/>
    					</Size>
    					<Anchors>
    						<Anchor point="BOTTOMLEFT">
    							<Offset>
    								<AbsDimension x="0" y="0"/>
    							</Offset>
    						</Anchor>
    					</Anchors>
    					<TexCoords left="0" right="1" top="0" bottom="0.5"/>
    				</Texture>
    				<FontString name="$parentName" inherits="GameFontNormalSmall">
    					<Size>
    						<AbsDimension x="52" y="12"/>
    					</Size>
    					<Anchors>
    						<Anchor point="TOPLEFT">
    							<Offset>
    								<AbsDimension x="2" y="3"/>
    							</Offset>
    						</Anchor>
    					</Anchors>
    				</FontString>
    			</Layer>
    		</Layers>
    		<Frames>
    			<StatusBar name="$parentHealthBar" inherits="TextStatusBar" enableMouse="false">
    				<Size>
    					<AbsDimension x="51" y="4"/>
    				</Size>
    				<Anchors>
    					<Anchor point="BOTTOMLEFT">
    						<Offset>
    							<AbsDimension x="3" y="10"/>
    						</Offset>
    					</Anchor>
    				</Anchors>
    				<Scripts>
    					<OnEvent>
    						UnitFrameHealthBar_Update(this, arg1);
    					</OnEvent>
    					<OnValueChanged>
    						UnitFrameHealthBar_OnValueChanged(arg1);
    					</OnValueChanged>
    				</Scripts>
    				<BarTexture file="Interface\TargetingFrame\UI-StatusBar"/>
    			</StatusBar>
    			<StatusBar name="$parentManaBar" inherits="TextStatusBar" enableMouse="false">
    				<Size>
    					<AbsDimension x="51" y="4"/>
    				</Size>
    				<Anchors>
    					<Anchor point="TOP" relativeTo="$parentHealthBar" relativePoint="BOTTOM">
    						<Offset>
    							<AbsDimension x="0" y="-3"/>
    						</Offset>
    					</Anchor>
    				</Anchors>
    				<Scripts>
    					<OnEvent>
    						UnitFrameManaBar_Update(this, arg1);
    					</OnEvent>
    				</Scripts>
    				<BarTexture file="Interface\TargetingFrame\UI-StatusBar"/>
    				<BarColor r="0" g="0" b="1.0"/>
    			</StatusBar>
    			<Button name="$parentClearButton" setAllPoints="true">
    				<Scripts>
    					<OnLoad>
    						this:RegisterForClicks("LeftButtonUp", "RightButtonUp");
    						this:SetFrameLevel(this:GetFrameLevel() + 1);
    					</OnLoad>
    					<OnClick>
    						RaidPulloutButton_OnClick();
    					</OnClick>
    					<OnEnter>
    						RaidGroupButton_OnEnter();
    					</OnEnter>
    					<OnLeave>
    						GameTooltip:Hide();
    					</OnLeave>
    				</Scripts>
    			</Button>
    			<Frame name="$parentDebuff1" inherits="RaidBuffButtonTemplate" id="1">
    				<Anchors>
    					<Anchor point="TOPLEFT" relativePoint="TOPRIGHT">
    						<Offset>
    							<AbsDimension x="6" y="-1"/>
    						</Offset>
    					</Anchor>
    				</Anchors>
    			</Frame>
    			<Frame name="$parentDebuff2" inherits="RaidBuffButtonTemplate" id="2">
    				<Anchors>
    					<Anchor point="LEFT" relativeTo="$parentDebuff1" relativePoint="RIGHT">
    						<Offset>
    							<AbsDimension x="1" y="0"/>
    						</Offset>
    					</Anchor>
    				</Anchors>
    			</Frame>
    			<Frame name="$parentDebuff3" inherits="RaidBuffButtonTemplate" id="3">
    				<Anchors>
    					<Anchor point="TOPLEFT" relativeTo="$parentDebuff1" relativePoint="BOTTOMLEFT">
    						<Offset>
    							<AbsDimension x="0" y="-1"/>
    						</Offset>
    					</Anchor>
    				</Anchors>
    			</Frame>
    			<Frame name="$parentDebuff4" inherits="RaidBuffButtonTemplate" id="4">
    				<Anchors>
    					<Anchor point="LEFT" relativeTo="$parentDebuff3" relativePoint="RIGHT">
    						<Offset>
    							<AbsDimension x="1" y="0"/>
    						</Offset>
    					</Anchor>
    				</Anchors>
    			</Frame>
    		</Frames>
    		<Scripts>
    			<OnLoad>
    				if ( this:GetID() ~= 1 ) then
    					this:SetPoint("TOP", this:GetParent():GetName().."Button"..(this:GetID()-1), "BOTTOM", 0, -8);
    				end
    			</OnLoad>
    			<OnEvent>
    				RaidPulloutButton_OnEvent();
    			</OnEvent>
    		</Scripts>
    	</Frame>
    	<Button name="RaidPulloutFrameTemplate" toplevel="true" parent="UIParent" movable="true" clampedToScreen="true" enableMouse="true" hidden="true" virtual="true">
    		<Size>
    			<AbsDimension x="72" y="10"/>
    		</Size>
    		<Anchors>
    			<Anchor point="CENTER">
    				<Offset>
    					<AbsDimension x="0" y="0"/>
    				</Offset>
    			</Anchor>
    		</Anchors>
    		<Layers>
    			<Layer level="BACKGROUND">
    				<FontString name="$parentName" inherits="GameFontNormalSmall">
    					<Anchors>
    						<Anchor point="BOTTOM" relativePoint="TOP">
    							<Offset>
    								<AbsDimension x="0" y="0"/>
    							</Offset>
    						</Anchor>
    					</Anchors>
    				</FontString>
    			</Layer>
    		</Layers>
    		<Frames>
    			<Frame name="$parentButton1" inherits="RaidPulloutButtonTemplate" id="1"/>
    			<Frame name="$parentButton2" inherits="RaidPulloutButtonTemplate" id="2"/>
    			<Frame name="$parentButton3" inherits="RaidPulloutButtonTemplate" id="3"/>
    			<Frame name="$parentButton4" inherits="RaidPulloutButtonTemplate" id="4"/>
    			<Frame name="$parentButton5" inherits="RaidPulloutButtonTemplate" id="5"/>
    			<Frame name="$parentButton6" inherits="RaidPulloutButtonTemplate" id="6"/>
    			<Frame name="$parentButton7" inherits="RaidPulloutButtonTemplate" id="7"/>
    			<Frame name="$parentButton8" inherits="RaidPulloutButtonTemplate" id="8"/>
    			<Frame name="$parentButton9" inherits="RaidPulloutButtonTemplate" id="9"/>
    			<Frame name="$parentButton10" inherits="RaidPulloutButtonTemplate" id="10"/>
    			<Frame name="$parentButton11" inherits="RaidPulloutButtonTemplate" id="11"/>
    			<Frame name="$parentButton12" inherits="RaidPulloutButtonTemplate" id="12"/>
    			<Frame name="$parentButton13" inherits="RaidPulloutButtonTemplate" id="13"/>
    			<Frame name="$parentButton14" inherits="RaidPulloutButtonTemplate" id="14"/>
    			<Frame name="$parentButton15" inherits="RaidPulloutButtonTemplate" id="15"/>
    			<Frame name="$parentDropDown" inherits="UIDropDownMenuTemplate" id="1">
    				<Anchors>
    					<Anchor point="TOP">
    						<Offset>
    							<AbsDimension x="0" y="0"/>
    						</Offset>
    					</Anchor>
    				</Anchors>
    				<Scripts>
    					<OnLoad>
    						RaidPulloutDropDown_OnLoad();
    					</OnLoad>
    				</Scripts>
    			</Frame>
    			<Frame name="$parentMenuBackdrop" setAllPoints="true">
    				<Backdrop bgFile="Interface\Tooltips\UI-Tooltip-Background" edgeFile="Interface\Tooltips\UI-Tooltip-Border" tile="true">
    					<EdgeSize>
    						<AbsValue val="16"/>
    					</EdgeSize>
    					<TileSize>
    						<AbsValue val="16"/>
    					</TileSize>
    					<BackgroundInsets>
    						<AbsInset left="5" right="5" top="5" bottom="5"/>
    					</BackgroundInsets>
    				</Backdrop>
    				<Scripts>
    					<OnLoad>
    						this:SetBackdropBorderColor(0.5, 0.5, 0.5);
    						this:SetBackdropColor(TOOLTIP_DEFAULT_BACKGROUND_COLOR.r, TOOLTIP_DEFAULT_BACKGROUND_COLOR.g, TOOLTIP_DEFAULT_BACKGROUND_COLOR.b);
    						this:SetAlpha(0.7);
    					</OnLoad>
    				</Scripts>
    			</Frame>
    		</Frames>
    		<HitRectInsets>
    			<AbsInset left="0" right="0" top="-13" bottom="0"/>
    		</HitRectInsets>
    		<Scripts>
    			<OnLoad>
    				this:RegisterEvent("RAID_ROSTER_UPDATE");
    				this:RegisterForDrag("LeftButton");
    				this:RegisterForClicks("LeftButtonUp", "RightButtonUp");
    			</OnLoad>
    			<OnEvent>
    				RaidPullout_OnEvent();
    			</OnEvent>
    			<OnDragStart>
    				this:SetFrameStrata("DIALOG");
    				this:StartMoving();
    			</OnDragStart>
    			<OnDragStop>
    				this:StopMovingOrSizing();
    				this:SetFrameStrata("BACKGROUND");
    				ValidateFramePosition(this, 25);
    			</OnDragStop>
    			<OnClick>
    				if (arg1 == "RightButton") then
    					ToggleDropDownMenu(1, nil, getglobal(this:GetName().."DropDown"));
    				end
    			</OnClick>
    			<OnMouseUp>
    				this:StopMovingOrSizing();
    				this:SetFrameStrata("BACKGROUND");
    			</OnMouseUp> 
    		</Scripts>
    	</Button>
    	<Button name="RaidFrameAddMemberButton" inherits="UIPanelButtonTemplate" parent="RaidFrame" text="ADD_RAID_MEMBER">
    		<Size>
    			<AbsDimension x="90" y="21"/>
    		</Size>
    		<Anchors>
    			<Anchor point="TOPLEFT">
    				<Offset>
    					<AbsDimension x="71" y="-37"/>
    				</Offset>
    			</Anchor>
    		</Anchors>
    		<Scripts>
    			<OnClick>
    				if ( UnitCanCooperate("player", "target") ) then
    					InviteByName(UnitName("target"));
    				else
    					StaticPopup_Show("ADD_RAIDMEMBER");
    				end
    			</OnClick>
    		</Scripts>
    		<NormalFont inherits="GameFontNormalSmall"/>
    		<HighlightFont inherits="GameFontHighlightSmall"/>
    		<DisabledFont inherits="GameFontDisableSmall"/>
    	</Button>
    	<Button name="RaidFrameReadyCheckButton" inherits="UIPanelButtonTemplate" parent="RaidFrame" text="READY_CHECK">
    		<Size>
    			<AbsDimension x="90" y="21"/>
    		</Size>
    		<Anchors>
    			<Anchor point="LEFT" relativeTo="RaidFrameAddMemberButton" relativePoint="RIGHT">
    				<Offset>
    					<AbsDimension x="2" y="0"/>
    				</Offset>
    			</Anchor>
    		</Anchors>
    		<Scripts>
    			<OnClick>
    				DoReadyCheck();
    			</OnClick>
    		</Scripts>
    		<NormalFont inherits="GameFontNormalSmall"/>
    		<HighlightFont inherits="GameFontHighlightSmall"/>
    		<DisabledFont inherits="GameFontDisableSmall"/>
    	</Button>
    	<Frame name="RaidGroup1" inherits="RaidGroupTemplate" id="1">
    		<Anchors>
    			<Anchor point="TOPLEFT">
    				<Offset>
    					<AbsDimension x="16" y="-70"/>
    				</Offset>
    			</Anchor>
    		</Anchors>
    	</Frame>
    	<Frame name="RaidGroup2" inherits="RaidGroupTemplate" id="2">
    		<Anchors>
    			<Anchor point="LEFT" relativeTo="RaidGroup1" relativePoint="RIGHT">
    				<Offset>
    					<AbsDimension x="3" y="0"/>
    				</Offset>
    			</Anchor>
    		</Anchors>
    	</Frame>
    	<Frame name="RaidGroup3" inherits="RaidGroupTemplate" id="3">
    		<Anchors>
    			<Anchor point="TOP" relativeTo="RaidGroup1" relativePoint="BOTTOM">
    				<Offset>
    					<AbsDimension x="0" y="-14"/>
    				</Offset>
    			</Anchor>
    		</Anchors>
    	</Frame>
    	<Frame name="RaidGroup4" inherits="RaidGroupTemplate" id="4">
    		<Anchors>
    			<Anchor point="LEFT" relativeTo="RaidGroup3" relativePoint="RIGHT">
    				<Offset>
    					<AbsDimension x="3" y="0"/>
    				</Offset>
    			</Anchor>
    		</Anchors>
    	</Frame>
    	<Frame name="RaidGroup5" inherits="RaidGroupTemplate" id="5">
    		<Anchors>
    			<Anchor point="TOP" relativeTo="RaidGroup3" relativePoint="BOTTOM">
    				<Offset>
    					<AbsDimension x="0" y="-14"/>
    				</Offset>
    			</Anchor>
    		</Anchors>
    	</Frame>
    	<Frame name="RaidGroup6" inherits="RaidGroupTemplate" id="6">
    		<Anchors>
    			<Anchor point="LEFT" relativeTo="RaidGroup5" relativePoint="RIGHT">
    				<Offset>
    					<AbsDimension x="3" y="0"/>
    				</Offset>
    			</Anchor>
    		</Anchors>
    	</Frame>
    	<Frame name="RaidGroup7" inherits="RaidGroupTemplate" id="7">
    		<Anchors>
    			<Anchor point="TOP" relativeTo="RaidGroup5" relativePoint="BOTTOM">
    				<Offset>
    					<AbsDimension x="0" y="-14"/>
    				</Offset>
    			</Anchor>
    		</Anchors>
    	</Frame>
    	<Frame name="RaidGroup8" inherits="RaidGroupTemplate" id="8">
    		<Anchors>
    			<Anchor point="LEFT" relativeTo="RaidGroup7" relativePoint="RIGHT">
    				<Offset>
    					<AbsDimension x="3" y="0"/>
    				</Offset>
    			</Anchor>
    		</Anchors>
    	</Frame>
    	<Button name="RaidGroupButton1" inherits="RaidGroupButtonTemplate" id="1"/>
    	<Button name="RaidGroupButton2" inherits="RaidGroupButtonTemplate" id="2"/>
    	<Button name="RaidGroupButton3" inherits="RaidGroupButtonTemplate" id="3"/>
    	<Button name="RaidGroupButton4" inherits="RaidGroupButtonTemplate" id="4"/>
    	<Button name="RaidGroupButton5" inherits="RaidGroupButtonTemplate" id="5"/>
    	<Button name="RaidGroupButton6" inherits="RaidGroupButtonTemplate" id="6"/>
    	<Button name="RaidGroupButton7" inherits="RaidGroupButtonTemplate" id="7"/>
    	<Button name="RaidGroupButton8" inherits="RaidGroupButtonTemplate" id="8"/>
    	<Button name="RaidGroupButton9" inherits="RaidGroupButtonTemplate" id="9"/>
    	<Button name="RaidGroupButton10" inherits="RaidGroupButtonTemplate" id="10"/>
    	<Button name="RaidGroupButton11" inherits="RaidGroupButtonTemplate" id="11"/>
    	<Button name="RaidGroupButton12" inherits="RaidGroupButtonTemplate" id="12"/>
    	<Button name="RaidGroupButton13" inherits="RaidGroupButtonTemplate" id="13"/>
    	<Button name="RaidGroupButton14" inherits="RaidGroupButtonTemplate" id="14"/>
    	<Button name="RaidGroupButton15" inherits="RaidGroupButtonTemplate" id="15"/>
    	<Button name="RaidGroupButton16" inherits="RaidGroupButtonTemplate" id="16"/>
    	<Button name="RaidGroupButton17" inherits="RaidGroupButtonTemplate" id="17"/>
    	<Button name="RaidGroupButton18" inherits="RaidGroupButtonTemplate" id="18"/>
    	<Button name="RaidGroupButton19" inherits="RaidGroupButtonTemplate" id="19"/>
    	<Button name="RaidGroupButton20" inherits="RaidGroupButtonTemplate" id="20"/>
    	<Button name="RaidGroupButton21" inherits="RaidGroupButtonTemplate" id="21"/>
    	<Button name="RaidGroupButton22" inherits="RaidGroupButtonTemplate" id="22"/>
    	<Button name="RaidGroupButton23" inherits="RaidGroupButtonTemplate" id="23"/>
    	<Button name="RaidGroupButton24" inherits="RaidGroupButtonTemplate" id="24"/>
    	<Button name="RaidGroupButton25" inherits="RaidGroupButtonTemplate" id="25"/>
    	<Button name="RaidGroupButton26" inherits="RaidGroupButtonTemplate" id="26"/>
    	<Button name="RaidGroupButton27" inherits="RaidGroupButtonTemplate" id="27"/>
    	<Button name="RaidGroupButton28" inherits="RaidGroupButtonTemplate" id="28"/>
    	<Button name="RaidGroupButton29" inherits="RaidGroupButtonTemplate" id="29"/>
    	<Button name="RaidGroupButton30" inherits="RaidGroupButtonTemplate" id="30"/>
    	<Button name="RaidGroupButton31" inherits="RaidGroupButtonTemplate" id="31"/>
    	<Button name="RaidGroupButton32" inherits="RaidGroupButtonTemplate" id="32"/>
    	<Button name="RaidGroupButton33" inherits="RaidGroupButtonTemplate" id="33"/>
    	<Button name="RaidGroupButton34" inherits="RaidGroupButtonTemplate" id="34"/>
    	<Button name="RaidGroupButton35" inherits="RaidGroupButtonTemplate" id="35"/>
    	<Button name="RaidGroupButton36" inherits="RaidGroupButtonTemplate" id="36"/>
    	<Button name="RaidGroupButton37" inherits="RaidGroupButtonTemplate" id="37"/>
    	<Button name="RaidGroupButton38" inherits="RaidGroupButtonTemplate" id="38"/>
    	<Button name="RaidGroupButton39" inherits="RaidGroupButtonTemplate" id="39"/>
    	<Button name="RaidGroupButton40" inherits="RaidGroupButtonTemplate" id="40"/>
    	<Button name="RaidPullout1" inherits="RaidPulloutFrameTemplate" id="1"/>
    	<Button name="RaidPullout2" inherits="RaidPulloutFrameTemplate" id="2"/>
    	<Button name="RaidPullout3" inherits="RaidPulloutFrameTemplate" id="3"/>
    	<Button name="RaidPullout4" inherits="RaidPulloutFrameTemplate" id="4"/>
    	<Button name="RaidPullout5" inherits="RaidPulloutFrameTemplate" id="5"/>
    	<Button name="RaidPullout6" inherits="RaidPulloutFrameTemplate" id="6"/>
    	<Button name="RaidPullout7" inherits="RaidPulloutFrameTemplate" id="7"/>
    	<Button name="RaidPullout8" inherits="RaidPulloutFrameTemplate" id="8"/>
    	<Button name="RaidPullout9" inherits="RaidPulloutFrameTemplate" id="9"/>
    	<Button name="RaidPullout10" inherits="RaidPulloutFrameTemplate" id="10"/>
    	<Button name="RaidPullout11" inherits="RaidPulloutFrameTemplate" id="11"/>
    	<Button name="RaidPullout12" inherits="RaidPulloutFrameTemplate" id="12"/>
    	<!-- This must be after all of the raid pullout stuff! -->
    	<Script>
    		RaidGroupFrame_OnLoad();
    	</Script>
    	<Frame name="ReadyCheckFrame" toplevel="true" parent="UIParent" hidden="true">
    		<Size>
    			<AbsDimension x="323" y="97"/>
    		</Size>
    		<Anchors>
    			<Anchor point="CENTER">
    				<Offset>
    					<AbsDimension x="0" y="-10"/>
    				</Offset>
    			</Anchor>
    		</Anchors>
    		<Layers>
    			<Layer level="BACKGROUND">
    				<Texture name="ReadyCheckPortrait">
    					<Size>
    						<AbsDimension x="50" y="50"/>
    					</Size>
    					<Anchors>
    						<Anchor point="TOPLEFT">
    							<Offset>
    								<AbsDimension x="7" y="-6"/>
    							</Offset>
    						</Anchor>
    					</Anchors>
    				</Texture>
    			</Layer>
    			<Layer level="ARTWORK">
    				<Texture file="Interface\RaidFrame\UI-ReadyCheckFrame">
    					<Size>
    						<AbsDimension x="323" y="97"/>
    					</Size>
    					<Anchors>
    						<Anchor point="TOPLEFT"/>
    					</Anchors>
    					<TexCoords left="0" right="0.630859375" top="0" bottom="0.7578125"/>
    				</Texture>
    				<FontString name="ReadyCheckFrameText" inherits="GameFontNormal">
    					<Anchors>
    						<Anchor point="TOP">
    							<Offset>
    								<AbsDimension x="15" y="-24"/>
    							</Offset>
    						</Anchor>
    					</Anchors>
    				</FontString>
    			</Layer>
    		</Layers>
    		<Frames>
    			<Button name="ReadyCheckFrameYesButton" inherits="UIPanelButtonTemplate" text="YES">
    				<Size>
    					<AbsDimension x="109" y="24"/>
    				</Size>
    				<Anchors>
    					<Anchor point="BOTTOMLEFT">
    						<Offset>
    							<AbsDimension x="55" y="18"/>
    						</Offset>
    					</Anchor>
    				</Anchors>
    				<Scripts>
    					<OnClick>
    						ConfirmReadyCheck(1);
    						ReadyCheckFrame:Hide();
    					</OnClick>
    				</Scripts>
    			</Button>
    			<Button name="ReadyCheckFrameNoButton" inherits="UIPanelButtonTemplate" text="NO">
    				<Size>
    					<AbsDimension x="109" y="24"/>
    				</Size>
    				<Anchors>
    					<Anchor point="LEFT" relativeTo="ReadyCheckFrameYesButton" relativePoint="RIGHT">
    						<Offset>
    							<AbsDimension x="0" y="0"/>
    						</Offset>
    					</Anchor>
    				</Anchors>
    				<Scripts>
    					<OnClick>
    						ConfirmReadyCheck();
    						ReadyCheckFrame:Hide();
    					</OnClick>
    				</Scripts>
    			</Button>
    		</Frames>
    		<Scripts>
    			<OnLoad>
    				this:RegisterEvent("RAID_ROSTER_UPDATE");
    			</OnLoad>
    			<OnEvent>
    				if ( event == "RAID_ROSTER_UPDATE" ) then
    					if ( GetNumRaidMembers() == 0 ) then
    						ReadyCheckFrame.timer = nil;
    						ReadyCheckFrame:Hide();
    					end
    				end
    			</OnEvent>
    			<OnUpdate>
    				ReadyCheck_OnUpdate(arg1);
    			</OnUpdate>
    		</Scripts>
    	</Frame>
    </Ui>
    Posted in: Addon Ideas
  • 0

    posted a message on Req: Blizzard Raidframes Modded
    maybe its the easiest way to modded the Blizzard_RaidUI
    with InterfaceAddOnKit.

    Posted in: Addon Ideas
  • 0

    posted a message on Req: Blizzard Raidframes Modded
    Anyone know the Blizzard Raidframes, u drag the Class or the Party on your screen and u have a small status screen of the party with no information etc.

    the system from blizzard is really nice but we need more customs.

    I am looking for a drag system with another style.

    like this:
              _____________________________
             |                                                          |Buffs Filter (only your class buffs)
    Name|                                      Hp Deflict     |
             |_____________________________|Debuffs
    Posted in: Addon Ideas
  • To post a comment, please or register a new account.