Commit 49f059f5 authored by TOM_RUS's avatar TOM_RUS
Browse files

WOW-22133patch7.0.3_Beta

parent ffaee01c
......@@ -36,13 +36,7 @@ local function ShouldShowWardrobeTabHelpTip()
end
function CollectionsJournal_ValidateTab(tabNum)
if (not IsKioskModeEnabled()) then
return true;
end
if (tabNum ~= 1) then
return false;
end
return true;
end
function CollectionsJournal_UpdateSelectedTab(self)
......
......@@ -129,15 +129,7 @@
SetPortraitToTexture(CollectionsJournalPortrait, "Interface\\Icons\\MountJournalPortrait");
PanelTemplates_SetNumTabs(self, 5);
if (IsKioskModeEnabled()) then
PanelTemplates_SetTab(self, 1);
PanelTemplates_DisableTab(self, 2);
PanelTemplates_DisableTab(self, 3);
PanelTemplates_DisableTab(self, 4);
PanelTemplates_DisableTab(self, 5);
else
PanelTemplates_SetTab(self, tonumber(GetCVar("petJournalTab")) or 1);
end
PanelTemplates_SetTab(self, tonumber(GetCVar("petJournalTab")) or 1);
</OnLoad>
<OnShow function="CollectionsJournal_OnShow"/>
<OnHide function="CollectionsJournal_OnHide"/>
......
......@@ -1616,6 +1616,7 @@ function WardrobeCollectionFrameModel_Reload(self, reloadSlot)
self:SetUseTransmogSkin(WARDROBE_MODEL_SETUP[reloadSlot].useTransmogSkin);
self:SetUnit("player");
self:FreezeAnimation(0);
self:SetDoBlend(false);
for slot, equip in pairs(WARDROBE_MODEL_SETUP[reloadSlot].slots) do
if ( equip ) then
self:TryOn(WARDROBE_MODEL_SETUP_GEAR[slot]);
......
......@@ -20,26 +20,25 @@ function GMChatFrame_OnLoad(self)
end
object:SetAlpha(0.6);
end
self:RegisterEvent("CHAT_MSG_WHISPER");
self:RegisterEvent("CHAT_MSG_WHISPER_INFORM");
self:RegisterEvent("UPDATE_CHAT_COLOR");
self:RegisterEvent("UPDATE_CHAT_WINDOWS");
self.flashTimer = 0;
self.lastGM = {};
GMChatOpenLog:Enable();
self:SetClampRectInsets(-35, 0, 30, 0);
self:SetFont(DEFAULT_CHAT_FRAME:GetFont());
FCF_SetButtonSide(self, "left", true);
self.buttonFrame:SetAlpha(1);
self.buttonFrame.minimizeButton:Hide();
self.editBox:SetPoint("TOPRIGHT", self, "BOTTOMRIGHT", 8, -2);
self.editBox:SetPoint("TOPLEFT", self, "BOTTOMLEFT", -43, -2);
self.editBox:Show();
self.editBox.isGM = true;
ChatEdit_DeactivateChat(self.editBox);
end
......@@ -48,9 +47,9 @@ function GMChatFrame_OnEvent(self, event, ...)
local arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11 = ...;
if ( event == "CHAT_MSG_WHISPER" and arg6 == "GM" ) then
local info = ChatTypeInfo["WHISPER"];
local pflag = "|TInterface\\ChatFrame\\UI-ChatIcon-Blizz:12:20:0:0:32:16:4:26:0:16|t ";
-- Search for icon links and replace them with texture links.
local term;
for tag in string.gmatch(arg1, "%b{}") do
......@@ -59,23 +58,23 @@ function GMChatFrame_OnEvent(self, event, ...)
arg1 = string.gsub(arg1, tag, ICON_LIST[ICON_TAG_LIST[term]] .. "0|t");
end
end
local body = format(CHAT_WHISPER_GET, pflag.."|HplayerGM:"..arg2..":"..arg11.."|h".."["..arg2.."]".."|h")..arg1;
ListOfGMs[strlower(arg2)] = true;
self:AddMessage(body, info.r, info.g, info.b, info.id);
if ( self.lastGMForCVar ~= arg2 and GMChatFrame:IsShown() ) then
SetCVar("lastTalkedToGM", arg2);
end
self.lastGMForCVar = arg2;
if ( not GMChatFrame:IsShown() ) then
GMChatStatusFrame:Show();
GMChatStatusFrame.pulse:Play();
table.insert(self.lastGM,arg2);
PlaySound("GM_ChatWarning");
DEFAULT_CHAT_FRAME:AddMessage(pflag.."|HGMChat|h["..GM_CHAT_STATUS_READY_DESCRIPTION.."]|h", info.r, info.g, info.b, info.id);
DEFAULT_CHAT_FRAME:SetHyperlinksEnabled(true);
DEFAULT_CHAT_FRAME.overrideHyperlinksEnabled = true;
......@@ -86,9 +85,9 @@ function GMChatFrame_OnEvent(self, event, ...)
end
elseif ( event == "CHAT_MSG_WHISPER_INFORM" and GMChatFrame_IsGM(arg2) ) then
local info = ChatTypeInfo["WHISPER_INFORM"];
local pflag = "|TInterface\\ChatFrame\\UI-ChatIcon-Blizz:12:20:0:0:32:16:4:28:0:16|t ";
-- Search for icon links and replace them with texture links.
local term;
for tag in string.gmatch(arg1, "%b{}") do
......@@ -97,9 +96,9 @@ function GMChatFrame_OnEvent(self, event, ...)
arg1 = string.gsub(arg1, tag, ICON_LIST[ICON_TAG_LIST[term]] .. "0|t");
end
end
local body = format(CHAT_WHISPER_INFORM_GET, pflag.."|HplayerGM:"..arg2..":"..arg11.."|h".."["..arg2.."]".."|h")..arg1;
self:AddMessage(body, info.r, info.g, info.b, info.id);
elseif ( event == "UPDATE_CHAT_COLOR" ) then
local arg1, arg2, arg3, arg4 = ...
......@@ -141,16 +140,22 @@ function GMChatFrame_OnShow(self)
GMChatFrameEditBox:SetAttribute("tellTarget", self.lastGMForCVar);
GMChatFrameEditBox:SetAttribute("chatType", "WHISPER");
end
MicroButtonPulseStop(HelpMicroButton); --Stop the buttons from pulsing.
SetButtonPulse(GMChatOpenLog, 0, 1);
self:SetScript("OnUpdate", GMChatFrame_OnUpdate);
self.editBox:Show();
end
function GMChatFrame_OnHide(self)
GMChatOpenLog:Enable();
SetCVar("lastTalkedToGM", "");
self.editBox:Hide();
if ( ChatEdit_GetLastActiveWindow() == self.editBox ) then
ChatEdit_SetLastActiveWindow(nil);
end
end
function GMChatFrame_OnUpdate(self, elapsed)
......@@ -158,7 +163,7 @@ function GMChatFrame_OnUpdate(self, elapsed)
DEFAULT_CHAT_FRAME:SetHyperlinksEnabled(false);
end
DEFAULT_CHAT_FRAME.overrideHyperlinksEnabled = false;
self:SetScript("OnUpdate", nil);
end
......
......@@ -2022,6 +2022,7 @@ function GarrisonTruncationFrame_Check(fontString)
fontString:GetRect();
if ( fontString:IsTruncated() ) then
self:SetParent(fontString:GetParent());
self:SetFrameLevel(10); -- needs to be above ModelCluster
self:SetPoint("TOPLEFT", fontString);
self:SetPoint("BOTTOMRIGHT", fontString);
self:Show();
......
......@@ -152,6 +152,15 @@ function GarrisonCapacitiveDisplayFrame_Update(self, success, maxShipments, owne
self.CreateAllWorkOrdersButton:SetText(CREATE_ALL);
end
-- Resize buttons to distribute space around text evenly
local button1TextWidth = self.CreateAllWorkOrdersButton.Text:GetWidth();
local button2TextWidth = self.StartWorkOrderButton.Text:GetWidth();
local buttonDiffOverTwo = (button1TextWidth - button2TextWidth) / 2;
local averageButtonWidth = 240 / 2;
self.CreateAllWorkOrdersButton:SetWidth(averageButtonWidth + buttonDiffOverTwo);
self.StartWorkOrderButton:SetWidth(averageButtonWidth - buttonDiffOverTwo);
if (not quality) then
quality = LE_ITEM_QUALITY_COMMON;
end
......
......@@ -27,6 +27,8 @@ function GarrisonLandingPageMixin:UpdateTabs()
if (self.garrTypeID == LE_GARRISON_TYPE_6_0 and C_Garrison.HasShipyard()) then
numTabs = 3;
self.FleetTab:Show();
else
self.FleetTab:Hide();
end
PanelTemplates_SetNumTabs(self, numTabs);
PanelTemplates_UpdateTabs(self);
......@@ -41,10 +43,14 @@ function GarrisonLandingPageMixin:UpdateTabs()
else
PanelTemplates_EnableTab(self, 3);
end
else
if (PanelTemplates_GetSelectedTab(self) == self.FleetTab:GetID()) then
GarrisonLandingPageTab_SetTab(self.ReportTab);
end
end
end
function GarrisonLandingPageMixin:OnShow()
function GarrisonLandingPageMixin:UpdateUIToGarrisonType()
self:UpdateTabs();
if (C_Garrison.IsInvasionAvailable()) then
self.InvasionBadge:Show();
......@@ -66,6 +72,10 @@ function GarrisonLandingPageMixin:OnShow()
self.abilityCountersForMechanicTypes = C_Garrison.GetFollowerAbilityCountersForMechanicTypes(GetPrimaryGarrisonFollowerType(self.garrTypeID));
GarrisonThreatCountersFrame:SetParent(self.FollowerTab);
GarrisonThreatCountersFrame:SetPoint("TOPRIGHT", -152, 30);
end
function GarrisonLandingPageMixin:OnShow()
self:UpdateUIToGarrisonType();
PlaySound("UI_Garrison_GarrisonReport_Open");
end
......@@ -611,7 +621,11 @@ function GarrisonLandingPageReportList_Update()
button.Title:SetText(item.name);
if (item.isComplete) then
bgName = bgName.."Complete";
button.MissionType:SetText(GarrisonFollowerOptions[item.followerTypeID].strings.LANDING_COMPLETE);
if (item.isBuilding) then
button.MissionType:SetText(GARRISON_LANDING_BUILDING_COMPLEATE);
else
button.MissionType:SetText(GarrisonFollowerOptions[item.followerTypeID].strings.LANDING_COMPLETE);
end
button.MissionType:SetTextColor(YELLOW_FONT_COLOR.r, YELLOW_FONT_COLOR.g, YELLOW_FONT_COLOR.b);
button.Title:SetWidth(290);
else
......
......@@ -528,7 +528,8 @@ StaticPopupDialogs["ACTIVATE_FOLLOWER"] = {
OnShow = function(self)
local quality = C_Garrison.GetFollowerQuality(self.data);
local name = ITEM_QUALITY_COLORS[quality].hex..C_Garrison.GetFollowerName(self.data)..FONT_COLOR_CODE_CLOSE;
local uses = C_Garrison.GetNumFollowerActivationsRemaining();
local followerInfo = C_Garrison.GetFollowerInfo(self.data);
local uses = C_Garrison.GetNumFollowerActivationsRemaining(GarrisonFollowerOptions[followerInfo.followerTypeID].garrisonType);
self.text:SetFormattedText(GARRISON_ACTIVATE_FOLLOWER_CONFIRMATION, name, uses);
MoneyFrame_Update(self.moneyFrame, C_Garrison.GetFollowerActivationCost());
end,
......@@ -741,7 +742,8 @@ function GarrisonFollowerOptionDropDown_Initialize(self)
local followerStatus = C_Garrison.GetFollowerStatus(self.followerID);
if ( followerStatus == GARRISON_FOLLOWER_INACTIVE ) then
info.text = GARRISON_ACTIVATE_FOLLOWER;
if ( C_Garrison.GetNumFollowerActivationsRemaining() == 0 ) then
local followerInfo = C_Garrison.GetFollowerInfo(self.followerID);
if ( C_Garrison.GetNumFollowerActivationsRemaining(GarrisonFollowerOptions[followerInfo.followerTypeID].garrisonType) == 0 ) then
info.disabled = 1;
info.tooltipWhileDisabled = 1;
info.tooltipTitle = GARRISON_ACTIVATE_FOLLOWER;
......
......@@ -235,7 +235,7 @@ function ClassNameplateManaBar_OnUpdate(self)
if ( currValue ~= self.currValue or self.forceUpdate ) then
self.forceUpdate = nil;
-- Only show anim if change is more than 10%
if ( math.abs(currValue - self.currValue) / self.FeedbackFrame.maxValue > 0.1 ) then
if ( self.FeedbackFrame.maxValue ~= 0 and math.abs(currValue - self.currValue) / self.FeedbackFrame.maxValue > 0.1 ) then
self.FeedbackFrame:StartFeedbackAnim(self.currValue or 0, currValue);
end
if ( self.FullPowerFrame.active ) then
......
......@@ -28,12 +28,7 @@
</Layers>
<Frames>
<Frame parentKey="Border" inherits="NamePlateSecondaryBarBorderTemplate" />
<Frame parentKey="FeedbackFrame" setAllPoints="true" useParentLevel="true" inherits="BuilderSpenderFrame">
<Size x="86" y="2"/>
<Anchors>
<Anchor point="TOPLEFT" x="0" y="-1"/>
</Anchors>
</Frame>
<Frame parentKey="FeedbackFrame" setAllPoints="true" useParentLevel="true" inherits="BuilderSpenderFrame" />
<Frame parentKey="FullPowerFrame" inherits="FullResourcePulseFrame">
<Size x="86" y="6"/>
<Anchors>
......
......@@ -55,10 +55,10 @@ end
function NamePlateDriverMixin:OnNamePlateAdded(namePlateUnitToken)
local namePlateFrameBase = C_NamePlate.GetNamePlateForUnit(namePlateUnitToken);
self:ApplyFrameOptions(namePlateFrameBase, namePlateUnitToken);
namePlateFrameBase:OnAdded(namePlateUnitToken, self);
self:SetupClassNameplateBars();
self:OnUnitAuraUpdate(namePlateUnitToken);
self:OnRaidTargetUpdate();
end
......@@ -105,7 +105,7 @@ function NamePlateDriverMixin:OnUnitAuraUpdate(unit)
nameplate.UnitFrame.BuffFrame:UpdateBuffs(nameplate.namePlateUnitToken, filter);
end
end
function NamePlateDriverMixin:OnRaidTargetUpdate()
for _, frame in pairs(C_NamePlate.GetNamePlates()) do
local icon = frame.UnitFrame.RaidTargetFrame.RaidTargetIcon;
......@@ -117,7 +117,7 @@ function NamePlateDriverMixin:OnRaidTargetUpdate()
icon:Hide();
end
end
end
function NamePlateDriverMixin:OnUnitFactionChanged(unit)
......@@ -132,14 +132,14 @@ function NamePlateDriverMixin:SetupClassNameplateBar(onTarget, bar)
if (not bar) then
return;
end
bar:Hide();
local showSelf = GetCVar("nameplateShowSelf");
if (showSelf == "0") then
return;
end
if (onTarget and NamePlateTargetResourceFrame) then
local namePlateTarget = C_NamePlate.GetNamePlateForUnit("target");
if (namePlateTarget) then
......@@ -251,7 +251,7 @@ function NamePlateDriverMixin:UpdateNamePlateOptions()
CompactUnitFrame_UpdateAll(frame.UnitFrame);
end
if self.nameplateBar then
self.nameplateBar:OnOptionsUpdated();
end
......@@ -266,7 +266,7 @@ NamePlateBaseMixin = {};
function NamePlateBaseMixin:OnAdded(namePlateUnitToken, driverFrame)
self.namePlateUnitToken = namePlateUnitToken;
self.driverFrame = driverFrame;
CompactUnitFrame_SetUnit(self.UnitFrame, namePlateUnitToken);
self:ApplyOffsets();
......@@ -360,7 +360,7 @@ function NameplateBuffContainerMixin:ShouldShowBuff(name, caster, nameplateShowP
if (not name) then
return false;
end
return nameplateShowAll or
return nameplateShowAll or
(nameplateShowPersonal and (caster == "player" or caster == "pet" or caster == "vehicle"));
end
......@@ -369,6 +369,10 @@ function NameplateBuffContainerMixin:UpdateBuffs(unit, filter)
self.filter = filter;
self:UpdateAnchor();
if not unit or string.find(unit, "nameplate") == nil then
GMError("NameplateBuffContainerMixin updating buffs for unit["..tostring(unit).."] instead of a nameplate unit");
end
if filter == "NONE" then
for i, buff in ipairs(self.buffList) do
buff:Hide();
......@@ -392,9 +396,9 @@ function NameplateBuffContainerMixin:UpdateBuffs(unit, filter)
else
buff.CountFrame.Count:Hide();
end
CooldownFrame_Set(buff.Cooldown, expirationTime - duration, duration, duration > 0, true);
buff:Show();
else
if self.buffList[i] then
......
......@@ -394,6 +394,8 @@ function OrderHallMission:MissionCompleteInitialize(missionList, index)
self.MissionComplete.BonusChanceFail.CrossLeft:Hide();
self.MissionComplete.BonusChanceFail.CrossRight:Hide();
self.MissionComplete.BonusText.BonusText:SetAlpha(0);
self.MissionComplete.BonusText.BonusGlow:SetAlpha(0);
return true;
end
......
......@@ -727,18 +727,19 @@
</Anchors>
<Layers>
<Layer level="OVERLAY">
<Texture parentKey="BonusGlow" hidden="false" alpha="0" alphaMode="ADD" atlas="BonusChest-BonusTextGlow" useAtlasSize="true">
<Texture parentKey="BonusGlow" alpha="0" alphaMode="ADD" atlas="BonusChest-BonusTextGlow" useAtlasSize="true">
<Anchors>
<Anchor point="CENTER"/>
</Anchors>
</Texture>
</Layer>
<Layer level="OVERLAY" textureSubLevel="1">
<Texture parentKey="BonusText" hidden="false" alpha="0" alphaMode="BLEND" atlas="temp-bonustext" useAtlasSize="true">
<FontString parentKey="BonusText" inherits="Game48FontShadow" text="GARRISON_MISSION_BONUS_REWARD_MOMENT">
<Color r="0.12" g="1.0" b="0.0"/>
<Anchors>
<Anchor point="CENTER"/>
</Anchors>
</Texture>
</FontString>
</Layer>
</Layers>
<Animations>
......
......@@ -206,10 +206,9 @@ function OrderHallTalentFrameMixin:RefreshAllData()
if (talent.id == completeTalent) then
if (talent.selected) then
PlaySound("UI_OrderHall_Talent_Ready_Check");
talentFrame.TalentDoneAnim:Play();
else
C_Garrison.ClearCompleteTalent(self.garrisonType);
end
talentFrame.TalentDoneAnim:Play();
end
C_Garrison.ClearCompleteTalent(self.garrisonType);
end
end
......@@ -292,6 +291,7 @@ function GarrisonTalentButtonMixin:OnReleased()
self.timer:Cancel();
self.timer = nil;
end
self.TalentDoneAnim:Stop();
end
function GarrisonTalentButtonMixin:Refresh()
......
......@@ -1369,7 +1369,7 @@ function PlayerTalentFrame_UpdateSpecFrame(self, spec)
self.learnButton.Flash:Hide();
self.learnButton.FlashAnim:Stop();
--elseif ( playerTalentSpec or disable or UnitLevel("player") < SHOW_SPEC_LEVEL ) then
elseif(disableLearnButton or UnitLevel("player") < SHOW_SPEC_LEVEL or IsKioskModeEnabled()) then
elseif(disableLearnButton or UnitLevel("player") < SHOW_SPEC_LEVEL) then
self.learnButton:Disable();
self.learnButton.Flash:Hide();
self.learnButton.FlashAnim:Stop();
......
......@@ -1556,6 +1556,19 @@
<OnLeave function="GameTooltip_Hide"/>
</Scripts>
</Frame>
<Button name="$parentCloseButton" inherits="UIPanelCloseButton" parentKey="CloseButton">
<Anchors>
<Anchor point="TOPRIGHT" relativePoint="TOPRIGHT">
<Offset x="4" y="5"/>
</Anchor>
</Anchors>
<Scripts>
<OnClick>
PlaySound("UI_PVP_Honor_Prestige_WindowClose");
self:GetParent():Hide();
</OnClick>
</Scripts>
</Button>
<Button parentKey="Accept" inherits="UIPanelButtonTemplate" text="PVP_PRESTIGE_RANK_UP_ACCEPT">
<Size x="126" y="22"/>
<Anchors>
......@@ -1563,6 +1576,7 @@
</Anchors>
<Scripts>
<OnClick>
PlaySound("UI_PVP_Honor_Prestige_RankUP");
HideUIPanel(PlayerTalentFrame);
self:GetParent():Hide();
Prestige();
......@@ -1576,6 +1590,7 @@
</Anchors>
<Scripts>
<OnClick>
PlaySound("UI_PVP_Honor_Prestige_WindowClose");
self:GetParent():Hide();
</OnClick>
</Scripts>
......
......@@ -679,11 +679,14 @@ function DigsiteCompleteToastFrame_SetUp(frame, researchBranchID)
end
-- [[ StorePurchaseAlertFrame ]] --
function StorePurchaseAlertFrame_SetUp(frame, icon, name, itemID)
function StorePurchaseAlertFrame_SetUp(frame, type, icon, name, payloadID)
frame.Icon:SetTexture(icon);
frame.Title:SetFontObject(GameFontNormalLarge);
frame.Title:SetText(name);
frame.itemID = itemID;
frame.type = type;
frame.payloadID = payloadID;
if ( frame.Title:IsTruncated() ) then
frame.Title:SetFontObject(GameFontNormal);
end
......@@ -694,9 +697,18 @@ function StorePurchaseAlertFrame_OnClick(self, button, down)
if( AlertFrame_OnClick(self, button, down) ) then
return;
end
local slot = SearchBagsForItem(self.itemID);
if (slot >= 0) then
OpenBag(slot);
if (self.type == LE_STORE_DELIVERY_TYPE_ITEM) then
local slot = SearchBagsForItem(self.payloadID);
if (slot >= 0) then
OpenBag(slot);
end
elseif (self.type == LE_STORE_DELIVERY_TYPE_MOUNT) then
ToggleCollectionsJournal(1);
elseif (self.type == LE_STORE_DELIVERY_TYPE_BATTLEPET) then
ToggleCollectionsJournal(2);
elseif (self.type == LE_STORE_DELIVERY_TYPE_COLLECTION) then
ToggleCollectionsJournal(5);
end
end
......
......@@ -47,9 +47,10 @@ function BuilderSpender_OnUpdateFeedbackGain(self)
end
local texMinX = currentValue / self.maxValue;
local texMaxX = self.newValue / self.maxValue;
self.GainGlowTexture:ClearAllPoints();
self.GainGlowTexture:SetPoint("TOPLEFT", leftPosition, 0);
self.GainGlowTexture:SetHeight(self:GetHeight());
self.GainGlowTexture:SetWidth(width);
self.GainGlowTexture:SetTexCoord(texMinX, texMaxX, 0, 1);
self.GainGlowTexture:Show();
......@@ -109,10 +110,10 @@ function BuilderSpender:StartFeedbackAnim(oldValue, newValue)
return;
end
if (oldValue > self.maxValue) then
oldValue = self.maxValue;
end
oldValue = Clamp(oldValue, 0, self.maxValue);
newValue = math.max(newValue, 0);
if ( newValue > oldValue and showBuilderFeedback ) then -- Gaining power
self.updatingGain = true;
self:SetScript("OnUpdate", BuilderSpender_OnUpdateFeedback);
......@@ -128,9 +129,12 @@ function BuilderSpender:StartFeedbackAnim(oldValue, newValue)
local width = (oldValue - newValue) / maxValue * self:GetWidth();
local texMinX = newValue / maxValue;
local texMaxX = oldValue / maxValue;
local height = self:GetHeight();
glowTexture:ClearAllPoints();
glowTexture:SetPoint("TOPLEFT", leftPosition, 0);
glowTexture:SetHeight(height);
glowTexture:SetWidth(width);
glowTexture:SetTexCoord(texMinX, texMaxX, 0, 1);
glowTexture:Show();
......@@ -138,6 +142,7 @@ function BuilderSpender:StartFeedbackAnim(oldValue, newValue)
barTexture:ClearAllPoints();
barTexture:SetPoint("TOPLEFT", leftPosition, 0);
barTexture:SetHeight(height);
barTexture:SetWidth(width);
barTexture:SetTexCoord(texMinX, texMaxX, 0, 1);
barTexture:Show();
......
......@@ -87,10 +87,11 @@
<Frame setAllPoints="true">
<Layers>
<Layer level="BORDER">
<FontString name="$parentName" justifyH="LEFT" inherits="GameFontHighlightSmall" text="Player Name">
<Size x="145" y="15"/>
<FontString name="$parentName" justifyH="LEFT" inherits="GameFontHighlightSmall">
<Size y="15"/>
<Anchors>
<Anchor point="TOPLEFT" x="13" y="-1"/>