Skip to content

Commit bd18358

Browse files
committed
WOW-22018patch7.0.3_Beta
1 parent 8d22f33 commit bd18358

26 files changed

+219
-159
lines changed

Interface/AddOns/Blizzard_ArenaUI/Blizzard_ArenaUI.lua

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,10 @@ function ArenaEnemyFrame_OnEvent(self, event, arg1, arg2)
191191
self.healthbar:SetScript("OnUpdate", UnitFrameHealthBar_OnUpdate);
192192
self.healthbar:UnregisterEvent("UNIT_HEALTH");
193193
end
194+
if ( self.manabar.frequentUpdates and GetCVarBool("predictedPower") ) then
195+
self.manabar:SetScript("OnUpdate", UnitFrameManaBar_OnUpdate);
196+
UnitFrameManaBar_UnregisterDefaultEvents(self.manabar);
197+
end
194198
ArenaEnemyFrame_UpdatePet(self);
195199
UpdateArenaEnemyBackground();
196200
UIParent_ManageFramePositions();
@@ -199,6 +203,8 @@ function ArenaEnemyFrame_OnEvent(self, event, arg1, arg2)
199203

200204
self.healthbar:RegisterEvent("UNIT_HEALTH");
201205
self.healthbar:SetScript("OnUpdate", nil);
206+
UnitFrameManaBar_RegisterDefaultEvents(self.manabar);
207+
self.manabar:SetScript("OnUpdate", nil);
202208
elseif ( arg2 == "cleared" ) then
203209
ArenaEnemyFrame_Unlock(self);
204210
self:Hide();
@@ -279,10 +285,16 @@ function ArenaEnemyPetFrame_OnEvent(self, event, ...)
279285
self.healthbar:SetScript("OnUpdate", UnitFrameHealthBar_OnUpdate);
280286
self.healthbar:UnregisterEvent("UNIT_HEALTH");
281287
end
288+
if ( self.manabar.frequentUpdates and GetCVarBool("predictedPower") ) then
289+
self.manabar:SetScript("OnUpdate", UnitFrameManaBar_OnUpdate);
290+
UnitFrameManaBar_UnregisterDefaultEvents(self.manabar);
291+
end
282292
elseif ( arg2 == "unseen" ) then
283293
ArenaEnemyFrame_Lock(self);
284294
self.healthbar:RegisterEvent("UNIT_HEALTH");
285295
self.healthbar:SetScript("OnUpdate", nil);
296+
UnitFrameManaBar_RegisterDefaultEvents(self.manabar);
297+
self.manabar:SetScript("OnUpdate", nil);
286298
elseif ( arg2 == "cleared" ) then
287299
ArenaEnemyFrame_Unlock(self);
288300
self:Hide()

Interface/AddOns/Blizzard_ArtifactUI/Blizzard_ArtifactUI.lua

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,9 @@ function ArtifactUIMixin:RefreshKnowledgeRanks()
206206
self.ForgeBadgeFrame.ForgeLevelBackground:Show();
207207
self.ForgeBadgeFrame.ForgeLevelBackgroundBlack:Show();
208208
self.ForgeLevelFrame:Show();
209-
if (not GetCVarBitfield("closedInfoFrames", LE_FRAME_TUTORIAL_ARTIFACT_KNOWLEDGE)) then
209+
210+
local knowledgeLevel = C_ArtifactUI.GetArtifactKnowledgeLevel();
211+
if knowledgeLevel and knowledgeLevel > 0 and not GetCVarBitfield("closedInfoFrames", LE_FRAME_TUTORIAL_ARTIFACT_KNOWLEDGE) then
210212
self.KnowledgeLevelHelpBox:Show();
211213
end
212214
else

Interface/AddOns/Blizzard_BlackMarketUI/Blizzard_BlackMarketUI.lua

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,10 @@ end
134134
function BlackMarketScrollFrame_Update()
135135
local numItems = C_BlackMarket.GetNumItems();
136136

137+
if (not numItems) then
138+
numItems = 0;
139+
end
140+
137141
local scrollFrame = BlackMarketScrollFrame;
138142
local offset = HybridScrollFrame_GetOffset(scrollFrame);
139143
local buttons = scrollFrame.buttons;

Interface/AddOns/Blizzard_Collections/Blizzard_Wardrobe.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1825,7 +1825,7 @@ function WardrobeCollectionFrameModel_GetSourceTooltipInfo(source)
18251825

18261826
local sourceText, sourceColor;
18271827
if ( source.isCollected ) then
1828-
sourceText = COLLECTED;
1828+
sourceText = TRANSMOG_COLLECTED;
18291829
sourceColor = GREEN_FONT_COLOR;
18301830
else
18311831
sourceText = _G["TRANSMOG_SOURCE_"..source.sourceType];

Interface/AddOns/Blizzard_EncounterJournal/Blizzard_EncounterJournal.lua

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -491,8 +491,8 @@ function EncounterJournal_DisplayInstance(instanceID, noButton)
491491
end
492492

493493
self.info.instanceButton.instanceID = instanceID;
494-
self.info.instanceButton.icon:SetTexture(buttonImage);
495494
self.info.instanceButton.icon:SetMask("Interface\\CharacterFrame\\TempPortraitAlphaMask");
495+
self.info.instanceButton.icon:SetTexture(buttonImage);
496496

497497
self.info.model.dungeonBG:SetTexture(bgImage);
498498

@@ -2543,8 +2543,8 @@ function EJSuggestFrame_UpdateRewards(suggestion)
25432543
if ( rewardData.isRewardTable ) then
25442544
texture = "Interface\\Icons\\achievement_guildperk_mobilebanking";
25452545
end
2546-
suggestion.reward.icon:SetTexture(texture);
25472546
suggestion.reward.icon:SetMask("Interface\\CharacterFrame\\TempPortraitAlphaMask");
2547+
suggestion.reward.icon:SetTexture(texture);
25482548
suggestion.reward:Show();
25492549
end
25502550
end
@@ -2639,11 +2639,11 @@ function EJSuggestFrame_RefreshDisplay()
26392639
suggestion.icon:Show();
26402640
suggestion.iconRing:Show();
26412641
if ( data.iconPath ) then
2642-
suggestion.icon:SetTexture(data.iconPath);
26432642
suggestion.icon:SetMask("Interface\\CharacterFrame\\TempPortraitAlphaMask");
2643+
suggestion.icon:SetTexture(data.iconPath);
26442644
else
2645-
suggestion.icon:SetTexture("INTERFACE\\ICONS\\INV_MISC_QUESTIONMARK.BLP");
26462645
suggestion.icon:SetMask("Interface\\CharacterFrame\\TempPortraitAlphaMask");
2646+
suggestion.icon:SetTexture("INTERFACE\\ICONS\\INV_MISC_QUESTIONMARK.BLP");
26472647
end
26482648

26492649
suggestion.prevButton:SetEnabled(C_AdventureJournal.GetPrimaryOffset() > 0);
@@ -2712,11 +2712,11 @@ function EJSuggestFrame_RefreshDisplay()
27122712
suggestion.icon:Show();
27132713
suggestion.iconRing:Show();
27142714
if ( data.iconPath ) then
2715-
suggestion.icon:SetTexture(data.iconPath);
27162715
suggestion.icon:SetMask("Interface\\CharacterFrame\\TempPortraitAlphaMask");
2716+
suggestion.icon:SetTexture(data.iconPath);
27172717
else
2718-
suggestion.icon:SetTexture("INTERFACE\\ICONS\\INV_MISC_QUESTIONMARK.BLP");
27192718
suggestion.icon:SetMask("Interface\\CharacterFrame\\TempPortraitAlphaMask");
2719+
suggestion.icon:SetTexture("INTERFACE\\ICONS\\INV_MISC_QUESTIONMARK.BLP");
27202720
end
27212721

27222722
EJSuggestFrame_UpdateRewards(suggestion);

Interface/AddOns/Blizzard_GarrisonTemplates/Blizzard_GarrisonSharedTemplates.lua

Lines changed: 36 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1339,7 +1339,8 @@ function GarrisonFollowerTabMixin:UpdateValidSpellHighlightOnEquipmentFrame(equi
13391339
local abilityID = equipmentFrame.abilityID;
13401340
if ( followerInfo and followerInfo.isCollected
13411341
and followerInfo.status ~= GARRISON_FOLLOWER_WORKING and followerInfo.status ~= GARRISON_FOLLOWER_ON_MISSION
1342-
and abilityID and SpellCanTargetGarrisonFollowerAbility(followerID, abilityID) ) then
1342+
and abilityID and SpellCanTargetGarrisonFollowerAbility(followerID, abilityID)
1343+
and not equipmentFrame.Lock:IsShown()) then
13431344
equipmentFrame.ValidSpellHighlight:Show();
13441345
else
13451346
equipmentFrame.ValidSpellHighlight:Hide();
@@ -1513,7 +1514,7 @@ end
15131514

15141515
function GarrisonFollowerTabMixin:SetupAbilities(followerInfo)
15151516

1516-
if (not followerInfo.abilities or not followerInfo.unlockableAbilities or not followerInfo.equipment) then
1517+
if (not followerInfo.abilities or not followerInfo.unlockableAbilities or not followerInfo.equipment or not followerInfo.unlockableEquipment) then
15171518
local abilities, unlockables = C_Garrison.GetFollowerAbilities(followerInfo.followerID);
15181519

15191520
-- filter out equipment from abilities and place them in their own table.
@@ -1530,9 +1531,12 @@ function GarrisonFollowerTabMixin:SetupAbilities(followerInfo)
15301531

15311532
-- filter out equipment from unlockables
15321533
followerInfo.unlockableAbilities = { };
1534+
followerInfo.unlockableEquipment = { };
15331535
if (unlockables) then
15341536
for i, ability in ipairs(unlockables) do
1535-
if (not self:IsEquipmentAbility(followerInfo, ability)) then
1537+
if (self:IsEquipmentAbility(followerInfo, ability)) then
1538+
tinsert(followerInfo.unlockableEquipment, ability);
1539+
else
15361540
tinsert(followerInfo.unlockableAbilities, ability);
15371541
end
15381542
end
@@ -1718,9 +1722,16 @@ end
17181722
function GarrisonFollowerTabMixin:ShowEquipment(followerInfo)
17191723
self.equipmentPool:ReleaseAll();
17201724

1725+
local numEquipmentWithUnlockables = #followerInfo.equipment + #followerInfo.unlockableEquipment;
1726+
17211727
local lastEquipmentFrame;
1722-
for i=1, #followerInfo.equipment do
1723-
local equipment = followerInfo.equipment[i];
1728+
for i=1, numEquipmentWithUnlockables do
1729+
local equipment;
1730+
if (i <= #followerInfo.equipment) then
1731+
equipment = followerInfo.equipment[i];
1732+
else
1733+
equipment = followerInfo.unlockableEquipment[i - #followerInfo.equipment];
1734+
end
17241735

17251736
local equipmentFrame = self.equipmentPool:Acquire();
17261737
if (self.isLandingPage) then
@@ -1755,6 +1766,15 @@ function GarrisonFollowerTabMixin:ShowEquipment(followerInfo)
17551766
equipmentFrame.Icon:Hide();
17561767
end
17571768

1769+
local tooltipText;
1770+
if (equipment.requiredQualityLevel ~= nil) then
1771+
tooltipText = RED_FONT_COLOR:WrapTextInColorCode(string.format(GARRISON_EQUIPMENT_SLOT_UNLOCK_TOOLTIP, followerInfo.name, _G["ITEM_QUALITY"..equipment.requiredQualityLevel.."_DESC"]));
1772+
equipmentFrame.Lock:Show();
1773+
else
1774+
equipmentFrame.Lock:Hide();
1775+
end
1776+
equipmentFrame.tooltipText = tooltipText;
1777+
17581778
if (lastEquipmentFrame) then
17591779
equipmentFrame:SetPoint("TOPLEFT", lastEquipmentFrame, "TOPRIGHT");
17601780
else
@@ -1767,7 +1787,7 @@ function GarrisonFollowerTabMixin:ShowEquipment(followerInfo)
17671787
equipmentFrame:Show();
17681788
lastEquipmentFrame = equipmentFrame;
17691789
end
1770-
if (#followerInfo.equipment > 0) then
1790+
if (numEquipmentWithUnlockables > 0) then
17711791
self.AbilitiesFrame.EquipmentSlotsLabel:Show();
17721792
self.ModelCluster.UpgradeFrame:ClearAllPoints();
17731793
self.ModelCluster.UpgradeFrame:SetPoint("BOTTOM", self.AbilitiesFrame.EquipmentSlotsLabel, "TOP", 0, 10);
@@ -1855,6 +1875,7 @@ function GarrisonFollowerTabMixin:ShowFollower(followerID, followerList)
18551875
self.Source.SourceText:Hide();
18561876
end
18571877

1878+
self:UpdateValidSpellHighlight(followerID, followerInfo);
18581879
self.lastUpdate = self:IsShown() and GetTime() or nil;
18591880
end
18601881

@@ -2162,16 +2183,24 @@ end
21622183

21632184
GarrisonFollowerEquipmentMixin = { }
21642185
function GarrisonFollowerEquipmentMixin:OnEnter()
2165-
if (self.abilityID) then
2186+
if (self.tooltipText) then
2187+
GameTooltip:SetOwner(self, "ANCHOR_BOTTOMRIGHT");
2188+
GameTooltip:SetText(self.tooltipText, RED_FONT_COLOR_CODE.r, RED_FONT_COLOR_CODE.g, RED_FONT_COLOR_CODE.b, RED_FONT_COLOR_CODE.a, true);
2189+
elseif (self.abilityID) then
21662190
ShowGarrisonFollowerAbilityTooltip(self, self.abilityID, self.followerTypeID);
21672191
end
21682192
end
21692193

21702194
function GarrisonFollowerEquipmentMixin:OnLeave()
2195+
GameTooltip:Hide();
21712196
HideGarrisonFollowerAbilityTooltip(self.followerTypeID);
21722197
end
21732198

21742199
function GarrisonFollowerEquipmentMixin:OnClick(button)
2200+
if (self.Lock:IsShown()) then
2201+
return;
2202+
end
2203+
21752204
if ( IsModifiedClick("CHATLINK") and self.Icon:IsShown() ) then
21762205
local abilityLink = C_Garrison.GetFollowerAbilityLink(self.abilityID);
21772206
if (abilityLink) then

Interface/AddOns/Blizzard_GarrisonTemplates/Blizzard_GarrisonSharedTemplates.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -362,6 +362,13 @@
362362
</Anchors>
363363
</Texture>
364364
</Layer>
365+
<Layer level="OVERLAY" textureSubLevel="1">
366+
<Texture parentKey="Lock" atlas="legionmission-lock" useAtlasSize="true">
367+
<Anchors>
368+
<Anchor point="CENTER"/>
369+
</Anchors>
370+
</Texture>
371+
</Layer>
365372
</Layers>
366373
<Scripts>
367374
<OnEnter method="OnEnter"/>

Interface/AddOns/Blizzard_GarrisonUI/Blizzard_GarrisonRecruiterUI.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -254,8 +254,8 @@ function GarrisonRecruiterFrame_SetAbilityPreference(data)
254254

255255
frame.Counter.Title:SetText(data.name);
256256
frame.Counter.Description:SetText(data.description);
257-
frame.Counter.Icon:SetTexture(data.icon);
258257
frame.Counter.Icon:SetMask("Interface\\CharacterFrame\\TempPortraitAlphaMask");
258+
frame.Counter.Icon:SetTexture(data.icon);
259259

260260
UIDropDownMenu_SetText(frame.ThreatDropDown, data.name);
261261
end
@@ -339,8 +339,8 @@ function GarrisonRecruitSelectFrame_UpdateRecruits( waiting )
339339
local traitID, counterName = C_Garrison.GetFollowerAbilityCounterMechanicInfo(ability.id);
340340
if( prefName == counterName )then
341341
frame.Counter:Show();
342-
frame.Counter.Icon:SetTexture(prefIcon);
343342
frame.Counter.Icon:SetMask("Interface\\CharacterFrame\\TempPortraitAlphaMask");
343+
frame.Counter.Icon:SetTexture(prefIcon);
344344
end
345345
end
346346
end

Interface/AddOns/Blizzard_NamePlates/Blizzard_ClassNameplateBar.lua

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ local NameplatePowerBarColor = {
117117

118118
function ClassNameplateManaBar:OnLoad()
119119
ClassNameplateBar.OnLoad(self);
120-
self.currValue = 0;
120+
121121
self.Border:SetVertexColor(0, 0, 0, .8);
122122
end
123123

@@ -141,8 +141,6 @@ function ClassNameplateManaBar:OnEvent(event, ...)
141141
end
142142
self.predictedPowerCost = cost;
143143
self:SetupBar();
144-
elseif ( event == "PLAYER_REGEN_DISABLED" ) then
145-
self:UpdatePower(true);
146144
else
147145
ClassNameplateBar.OnEvent(self, event, ...);
148146
end
@@ -156,7 +154,6 @@ function ClassNameplateManaBar:Setup()
156154
self:RegisterUnitEvent("UNIT_SPELLCAST_STOP", "player");
157155
self:RegisterUnitEvent("UNIT_SPELLCAST_FAILED", "player");
158156
self:RegisterEvent("PLAYER_ENTERING_WORLD");
159-
self:RegisterEvent("PLAYER_REGEN_DISABLED");
160157

161158
local tex = self:GetStatusBarTexture();
162159
local bar = self.ManaCostPredictionBar;
@@ -179,6 +176,7 @@ function ClassNameplateManaBar:SetupBar()
179176
self:SetStatusBarColor(info.r, info.g, info.b);
180177

181178
self.FeedbackFrame:Initialize(info, "player", powerType);
179+
self:SetScript("OnUpdate", ClassNameplateManaBar_OnUpdate);
182180

183181
self.FullPowerFrame:SetSize(86, 6);
184182
self.FullPowerFrame.SpikeFrame:SetSize(86, 6);
@@ -188,10 +186,13 @@ function ClassNameplateManaBar:SetupBar()
188186
self.FullPowerFrame.PulseFrame.SoftGlow:SetSize(20, 20);
189187
self.FullPowerFrame:Initialize(info.fullPowerAnim);
190188
end
191-
if ( self.powerType ~= powerType ) then
189+
local predictedCost = self.predictedPowerCost or 0;
190+
self.currValue = UnitPower("player", powerType) - predictedCost;
191+
self.forceUpdate = true;
192+
if ( self.powerToken ~= powerToken or self.powerType ~= powerType ) then
192193
self.powerToken = powerToken;
193194
self.powerType = powerType;
194-
self.currValue = UnitPower("player", powerType);
195+
self.FullPowerFrame:RemoveAnims();
195196
end
196197
self:UpdateMaxPower();
197198
self:UpdatePower();
@@ -204,7 +205,7 @@ function ClassNameplateManaBar:UpdateMaxPower()
204205
self.FullPowerFrame:SetMaxValue(maxValue);
205206
end
206207

207-
function ClassNameplateManaBar:UpdatePower(forceAnimUpdate)
208+
function ClassNameplateManaBar:UpdatePower()
208209
local predictedCost = self.predictedPowerCost or 0;
209210
local currValue = UnitPower("player", self.powerType) - predictedCost;
210211
self:SetValue(currValue);
@@ -220,7 +221,19 @@ function ClassNameplateManaBar:UpdatePower(forceAnimUpdate)
220221
bar:SetWidth(barSize);
221222
bar:Show();
222223
end
223-
if ( self.currValue ~= currValue or forceAnimUpdate ) then
224+
end
225+
226+
function ClassNameplateManaBar:OnOptionsUpdated()
227+
local width, height = C_NamePlate.GetNamePlateSelfSize();
228+
self:SetWidth(width - 24);
229+
self:SetHeight(DefaultCompactNamePlatePlayerFrameSetUpOptions.healthBarHeight);
230+
end
231+
232+
function ClassNameplateManaBar_OnUpdate(self)
233+
local predictedCost = self.predictedPowerCost or 0;
234+
local currValue = UnitPower("player", self.powerType) - predictedCost;
235+
if ( currValue ~= self.currValue or self.forceUpdate ) then
236+
self.forceUpdate = nil;
224237
-- Only show anim if change is more than 10%
225238
if ( math.abs(currValue - self.currValue) / self.FeedbackFrame.maxValue > 0.1 ) then
226239
self.FeedbackFrame:StartFeedbackAnim(self.currValue or 0, currValue);
@@ -231,9 +244,3 @@ function ClassNameplateManaBar:UpdatePower(forceAnimUpdate)
231244
self.currValue = currValue;
232245
end
233246
end
234-
235-
function ClassNameplateManaBar:OnOptionsUpdated()
236-
local width, height = C_NamePlate.GetNamePlateSelfSize();
237-
self:SetWidth(width - 24);
238-
self:SetHeight(DefaultCompactNamePlatePlayerFrameSetUpOptions.healthBarHeight);
239-
end

Interface/AddOns/Blizzard_NamePlates/Blizzard_NamePlates.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ function NamePlateDriverMixin:UpdateNamePlateOptions()
243243
DefaultCompactNamePlateFrameSetUpOptions.castIconHeight = Lerp(10, 15, clampedZeroBasedScale);
244244

245245
local horizontalScale = tonumber(GetCVar("NamePlateHorizontalScale"));
246-
C_NamePlate.SetNamePlateOtherSize(self.baseNamePlateWidth * horizontalScale, self.baseNamePlateHeight);
246+
C_NamePlate.SetNamePlateOtherSize(self.baseNamePlateWidth * horizontalScale, self.baseNamePlateHeight * Lerp(1.0, 1.25, zeroBasedScale));
247247
C_NamePlate.SetNamePlateSelfSize(self.baseNamePlateWidth * horizontalScale * Lerp(1.1, 1.0, clampedZeroBasedScale), self.baseNamePlateHeight);
248248

249249
for i, frame in ipairs(C_NamePlate.GetNamePlates()) do

0 commit comments

Comments
 (0)