Commit 86da2430 authored by TOM_RUS's avatar TOM_RUS

WOW-30774patch8.2.0_PTR

parent 266f308b
...@@ -61,6 +61,7 @@ local ChallengeModeInfo = ...@@ -61,6 +61,7 @@ local ChallengeModeInfo =
{ Name = "time", Type = "number", Nilable = false }, { Name = "time", Type = "number", Nilable = false },
{ Name = "onTime", Type = "bool", Nilable = false }, { Name = "onTime", Type = "bool", Nilable = false },
{ Name = "keystoneUpgradeLevels", Type = "number", Nilable = false }, { Name = "keystoneUpgradeLevels", Type = "number", Nilable = false },
{ Name = "practiceRun", Type = "bool", Nilable = false },
}, },
}, },
{ {
......
...@@ -6,6 +6,15 @@ local ItemUpgrade = ...@@ -6,6 +6,15 @@ local ItemUpgrade =
Functions = Functions =
{ {
{
Name = "GetItemHyperlink",
Type = "Function",
Returns =
{
{ Name = "link", Type = "string", Nilable = false },
},
},
}, },
Events = Events =
......
...@@ -50,6 +50,20 @@ local PaperDollInfo = ...@@ -50,6 +50,20 @@ local PaperDollInfo =
{ Name = "azeritePowerIDs", Type = "table", InnerType = "number", Nilable = false }, { Name = "azeritePowerIDs", Type = "table", InnerType = "number", Nilable = false },
}, },
}, },
{
Name = "GetInspectItemLevel",
Type = "Function",
Arguments =
{
{ Name = "unit", Type = "string", Nilable = false },
},
Returns =
{
{ Name = "equippedItemLevel", Type = "number", Nilable = false },
},
},
{ {
Name = "GetMinItemLevel", Name = "GetMinItemLevel",
Type = "Function", Type = "Function",
......
...@@ -365,9 +365,9 @@ local QuestLog = ...@@ -365,9 +365,9 @@ local QuestLog =
{ {
Name = "QuestTag", Name = "QuestTag",
Type = "Enumeration", Type = "Enumeration",
NumValues = 10, NumValues = 11,
MinValue = 0, MinValue = 0,
MaxValue = 102, MaxValue = 266,
Fields = Fields =
{ {
{ Name = "Group", Type = "QuestTag", EnumValue = 1 }, { Name = "Group", Type = "QuestTag", EnumValue = 1 },
...@@ -380,6 +380,7 @@ local QuestLog = ...@@ -380,6 +380,7 @@ local QuestLog =
{ Name = "Raid25", Type = "QuestTag", EnumValue = 89 }, { Name = "Raid25", Type = "QuestTag", EnumValue = 89 },
{ Name = "Scenario", Type = "QuestTag", EnumValue = 98 }, { Name = "Scenario", Type = "QuestTag", EnumValue = 98 },
{ Name = "Account", Type = "QuestTag", EnumValue = 102 }, { Name = "Account", Type = "QuestTag", EnumValue = 102 },
{ Name = "CombatAlly", Type = "QuestTag", EnumValue = 266 },
}, },
}, },
{ {
......
...@@ -178,6 +178,9 @@ local QuestTaskInfo = ...@@ -178,6 +178,9 @@ local QuestTaskInfo =
{ Name = "inProgress", Type = "bool", Nilable = false }, { Name = "inProgress", Type = "bool", Nilable = false },
{ Name = "numObjectives", Type = "number", Nilable = false }, { Name = "numObjectives", Type = "number", Nilable = false },
{ Name = "mapID", Type = "number", Nilable = false }, { Name = "mapID", Type = "number", Nilable = false },
{ Name = "isQuestStart", Type = "bool", Nilable = false },
{ Name = "isDaily", Type = "bool", Nilable = false },
{ Name = "isCombatAllyQuest", Type = "bool", Nilable = false },
{ Name = "childDepth", Type = "number", Nilable = true }, { Name = "childDepth", Type = "number", Nilable = true },
}, },
}, },
......
...@@ -881,6 +881,7 @@ local UIWidgetManager = ...@@ -881,6 +881,7 @@ local UIWidgetManager =
{ Name = "shownState", Type = "WidgetShownState", Nilable = false }, { Name = "shownState", Type = "WidgetShownState", Nilable = false },
{ Name = "enabledState", Type = "WidgetEnabledState", Nilable = false }, { Name = "enabledState", Type = "WidgetEnabledState", Nilable = false },
{ Name = "text", Type = "string", Nilable = false }, { Name = "text", Type = "string", Nilable = false },
{ Name = "tooltip", Type = "string", Nilable = false },
{ Name = "widgetSizeSetting", Type = "number", Nilable = false }, { Name = "widgetSizeSetting", Type = "number", Nilable = false },
{ Name = "textureKitID", Type = "number", Nilable = false }, { Name = "textureKitID", Type = "number", Nilable = false },
{ Name = "frameTextureKitID", Type = "number", Nilable = false }, { Name = "frameTextureKitID", Type = "number", Nilable = false },
......
...@@ -1020,9 +1020,9 @@ local VoiceChat = ...@@ -1020,9 +1020,9 @@ local VoiceChat =
{ {
Name = "VoiceChatStatusCode", Name = "VoiceChatStatusCode",
Type = "Enumeration", Type = "Enumeration",
NumValues = 23, NumValues = 25,
MinValue = 0, MinValue = 0,
MaxValue = 22, MaxValue = 24,
Fields = Fields =
{ {
{ Name = "Success", Type = "VoiceChatStatusCode", EnumValue = 0 }, { Name = "Success", Type = "VoiceChatStatusCode", EnumValue = 0 },
...@@ -1048,6 +1048,8 @@ local VoiceChat = ...@@ -1048,6 +1048,8 @@ local VoiceChat =
{ Name = "InvalidCommunityStream", Type = "VoiceChatStatusCode", EnumValue = 20 }, { Name = "InvalidCommunityStream", Type = "VoiceChatStatusCode", EnumValue = 20 },
{ Name = "PlayerSilenced", Type = "VoiceChatStatusCode", EnumValue = 21 }, { Name = "PlayerSilenced", Type = "VoiceChatStatusCode", EnumValue = 21 },
{ Name = "PlayerVoiceChatParentalDisabled", Type = "VoiceChatStatusCode", EnumValue = 22 }, { Name = "PlayerVoiceChatParentalDisabled", Type = "VoiceChatStatusCode", EnumValue = 22 },
{ Name = "InvalidInputDevice", Type = "VoiceChatStatusCode", EnumValue = 23 },
{ Name = "InvalidOutputDevice", Type = "VoiceChatStatusCode", EnumValue = 24 },
}, },
}, },
{ {
......
...@@ -34,6 +34,9 @@ local REVEAL_MODEL_SCENE_ACTOR_SETTINGS = { ...@@ -34,6 +34,9 @@ local REVEAL_MODEL_SCENE_ACTOR_SETTINGS = {
["effect"] = { startDelay = 0, duration = 0.4, speed = 1 }, ["effect"] = { startDelay = 0, duration = 0.4, speed = 1 },
["effect2"] = { startDelay = 0.4, duration = 1.2, speed = 1 }, ["effect2"] = { startDelay = 0.4, duration = 1.2, speed = 1 },
}; };
local MAJOR_BLUE_GEM_MODEL_SCENE_INFO = StaticModelInfo.CreateModelSceneEntry(287, 165995); -- BlueGlow_High.m2
local MAJOR_PURPLE_GEM_MODEL_SCENE_INFO = StaticModelInfo.CreateModelSceneEntry(288, 166008); -- PurpleGlow_High.m2
local MINOR_PURPLE_GEM_MODEL_SCENE_INFO = StaticModelInfo.CreateModelSceneEntry(289, 166008); -- PurpleGlow_High.m2
local LEARN_SHAKE_DELAY = 0.869; local LEARN_SHAKE_DELAY = 0.869;
local LEARN_SHAKE = { { x = 0, y = -20}, { x = 0, y = 20}, { x = 0, y = -20}, { x = 0, y = 20}, { x = -9, y = -8}, { x = 8, y = 8}, { x = -3, y = -8}, { x = 9, y = 8}, { x = -3, y = -1}, { x = 2, y = 2}, { x = -2, y = -3}, { x = -1, y = -1}, { x = 4, y = 2}, { x = 3, y = 4}, { x = -3, y = 4}, { x = 4, y = -4}, { x = -4, y = 2}, { x = -2, y = 1}, { x = -3, y = -1}, { x = 2, y = 2}, { x = -2, y = -3}, { x = -1, y = -1}, { x = 4, y = 2}, { x = 3, y = 4}, { x = -3, y = 4}, { x = 4, y = -4}, { x = -4, y = 2}, { x = -2, y = 1}, { x = -3, y = -1}, { x = 2, y = 2}, { x = -2, y = -3}, { x = -1, y = -1}, { x = 4, y = 2}, { x = 3, y = 4}, { x = -3, y = 4}, { x = 4, y = -4}, { x = -4, y = 2}, { x = -2, y = 1}, { x = -3, y = -1}, { x = 2, y = 2}, { x = -2, y = -3}, { x = -1, y = -1}, { x = 4, y = 2}, { x = 3, y = 4}, { x = -3, y = 4}, { x = 4, y = -4}, { x = -4, y = 2}, { x = -2, y = 1}, { x = -3, y = -1}, { x = 2, y = 2}, { x = -2, y = -3}, { x = -1, y = -1}, { x = 4, y = 2}, { x = 3, y = 4}, { x = -3, y = 4}, { x = 4, y = -4}, { x = -4, y = 2}, { x = -2, y = 1}, { x = -3, y = -1}, { x = 2, y = 2}, { x = -2, y = -3}, { x = -1, y = -1}, { x = 4, y = 2}, { x = 3, y = 4}, { x = -3, y = 4}, { x = 4, y = -4}, { x = -4, y = 2}, { x = -2, y = 1}, }; local LEARN_SHAKE = { { x = 0, y = -20}, { x = 0, y = 20}, { x = 0, y = -20}, { x = 0, y = 20}, { x = -9, y = -8}, { x = 8, y = 8}, { x = -3, y = -8}, { x = 9, y = 8}, { x = -3, y = -1}, { x = 2, y = 2}, { x = -2, y = -3}, { x = -1, y = -1}, { x = 4, y = 2}, { x = 3, y = 4}, { x = -3, y = 4}, { x = 4, y = -4}, { x = -4, y = 2}, { x = -2, y = 1}, { x = -3, y = -1}, { x = 2, y = 2}, { x = -2, y = -3}, { x = -1, y = -1}, { x = 4, y = 2}, { x = 3, y = 4}, { x = -3, y = 4}, { x = 4, y = -4}, { x = -4, y = 2}, { x = -2, y = 1}, { x = -3, y = -1}, { x = 2, y = 2}, { x = -2, y = -3}, { x = -1, y = -1}, { x = 4, y = 2}, { x = 3, y = 4}, { x = -3, y = 4}, { x = 4, y = -4}, { x = -4, y = 2}, { x = -2, y = 1}, { x = -3, y = -1}, { x = 2, y = 2}, { x = -2, y = -3}, { x = -1, y = -1}, { x = 4, y = 2}, { x = 3, y = 4}, { x = -3, y = 4}, { x = 4, y = -4}, { x = -4, y = 2}, { x = -2, y = 1}, { x = -3, y = -1}, { x = 2, y = 2}, { x = -2, y = -3}, { x = -1, y = -1}, { x = 4, y = 2}, { x = 3, y = 4}, { x = -3, y = 4}, { x = 4, y = -4}, { x = -4, y = 2}, { x = -2, y = 1}, { x = -3, y = -1}, { x = 2, y = 2}, { x = -2, y = -3}, { x = -1, y = -1}, { x = 4, y = 2}, { x = 3, y = 4}, { x = -3, y = 4}, { x = 4, y = -4}, { x = -4, y = 2}, { x = -2, y = 1}, };
...@@ -84,6 +87,9 @@ function AzeriteEssenceUIMixin:OnLoad() ...@@ -84,6 +87,9 @@ function AzeriteEssenceUIMixin:OnLoad()
self:SetupModelScene(); self:SetupModelScene();
self:SetupMilestones(); self:SetupMilestones();
self:RefreshPowerLevel(); self:RefreshPowerLevel();
self.OrbGlass.AlphaAnim:Play();
self.ItemModelScene.AlphaAnim:Play();
end end
function AzeriteEssenceUIMixin:SetupMilestones() function AzeriteEssenceUIMixin:SetupMilestones()
...@@ -274,7 +280,7 @@ function AzeriteEssenceUIMixin:OnEssenceActivated(essenceID, slotFrame) ...@@ -274,7 +280,7 @@ function AzeriteEssenceUIMixin:OnEssenceActivated(essenceID, slotFrame)
); );
else else
local soundID = SOUNDKIT.UI_82_HEARTOFAZEROTH_SLOTESSENCE; local soundID = SOUNDKIT.UI_82_HEARTOFAZEROTH_SLOTESSENCE;
if slotFrame:IsMainSlot() then if slotFrame:IsMajorSlot() then
local essenceInfo = C_AzeriteEssence.GetEssenceInfo(essenceID); local essenceInfo = C_AzeriteEssence.GetEssenceInfo(essenceID);
if essenceInfo.rank == MAX_ESSENCE_RANK then if essenceInfo.rank == MAX_ESSENCE_RANK then
soundID = SOUNDKIT.UI_82_HEARTOFAZEROTH_SLOTMAJORESSENCE_RANK4; soundID = SOUNDKIT.UI_82_HEARTOFAZEROTH_SLOTMAJORESSENCE_RANK4;
...@@ -328,7 +334,7 @@ end ...@@ -328,7 +334,7 @@ end
function AzeriteEssenceUIMixin:RefreshMilestones() function AzeriteEssenceUIMixin:RefreshMilestones()
for i, milestoneFrame in ipairs(self.Milestones) do for i, milestoneFrame in ipairs(self.Milestones) do
-- Main slot is always present -- Main slot is always present
if self:ShouldPlayReveal() and (not milestoneFrame.slot or not milestoneFrame:IsMainSlot()) then if self:ShouldPlayReveal() and (not milestoneFrame.slot or not milestoneFrame:IsMajorSlot()) then
milestoneFrame:Hide(); milestoneFrame:Hide();
else else
milestoneFrame:Show(); milestoneFrame:Show();
...@@ -513,7 +519,7 @@ end ...@@ -513,7 +519,7 @@ end
function AzeriteEssenceDependencyLineMixin:Refresh() function AzeriteEssenceDependencyLineMixin:Refresh()
if self.toButton.unlocked then if self.toButton.unlocked then
self:SetState(PowerDependencyLineMixin.LINE_STATE_CONNECTED); self:SetState(PowerDependencyLineMixin.LINE_STATE_CONNECTED);
self:SetAlpha(0.15); self:SetAlpha(0.2);
else else
if self.fromButton.unlocked and self.toButton.canUnlock then if self.fromButton.unlocked and self.toButton.canUnlock then
self:SetDisconnectedColor(DISCONNECTED_LINE_COLOR); self:SetDisconnectedColor(DISCONNECTED_LINE_COLOR);
...@@ -889,6 +895,10 @@ function AzeriteMilestoneBaseMixin:OnEvent(event, ...) ...@@ -889,6 +895,10 @@ function AzeriteMilestoneBaseMixin:OnEvent(event, ...)
if event == "UI_MODEL_SCENE_INFO_UPDATED" then if event == "UI_MODEL_SCENE_INFO_UPDATED" then
self.EffectsModelScene.primaryEffect = nil; self.EffectsModelScene.primaryEffect = nil;
self.EffectsModelScene.secondaryEffect = nil; self.EffectsModelScene.secondaryEffect = nil;
if self.slot then
local forceUpdate = true;
self:UpdateGemModelScenes(forceUpdate);
end
end end
end end
...@@ -924,7 +934,7 @@ function AzeriteMilestoneBaseMixin:CheckAndSetUpUnlockEffect() ...@@ -924,7 +934,7 @@ function AzeriteMilestoneBaseMixin:CheckAndSetUpUnlockEffect()
local forceUpdate = true; local forceUpdate = true;
local stopAnim = true; local stopAnim = true;
local sceneInfo = self.slot and UNLOCK_SLOT_MODEL_SCENE_INFO or UNLOCK_STAMINA_MODEL_SCENE_INFO; local sceneInfo = self.slot and UNLOCK_SLOT_MODEL_SCENE_INFO or UNLOCK_STAMINA_MODEL_SCENE_INFO;
scene.primaryEffect, scene.secondaryEffect = StaticModelInfo.SetupModelScene(scene, sceneInfo, forceUpdate, true); scene.primaryEffect, scene.secondaryEffect = StaticModelInfo.SetupModelScene(scene, sceneInfo, forceUpdate, stopAnim);
end end
end end
...@@ -1017,12 +1027,17 @@ function AzeriteMilestoneBaseMixin:AddStateToTooltip(requiredLevelString, return ...@@ -1017,12 +1027,17 @@ function AzeriteMilestoneBaseMixin:AddStateToTooltip(requiredLevelString, return
end end
end end
function AzeriteMilestoneBaseMixin:IsMainSlot() function AzeriteMilestoneBaseMixin:IsMajorSlot()
return self.slot == Enum.AzeriteEssence.MainSlot; return self.isMajorSlot;
end end
AzeriteMilestoneSlotMixin = CreateFromMixins(AzeriteMilestoneBaseMixin); AzeriteMilestoneSlotMixin = CreateFromMixins(AzeriteMilestoneBaseMixin);
function AzeriteMilestoneSlotMixin:OnLoad()
self.UnlockedState.EmptyGlow.Anim:Play();
AzeriteMilestoneBaseMixin.OnLoad(self);
end
function AzeriteMilestoneSlotMixin:OnDragStart() function AzeriteMilestoneSlotMixin:OnDragStart()
local spellID = C_AzeriteEssence.GetMilestoneSpell(self.milestoneID); local spellID = C_AzeriteEssence.GetMilestoneSpell(self.milestoneID);
if spellID then if spellID then
...@@ -1039,11 +1054,42 @@ function AzeriteMilestoneSlotMixin:ShowStateFrame(stateFrame) ...@@ -1039,11 +1054,42 @@ function AzeriteMilestoneSlotMixin:ShowStateFrame(stateFrame)
end end
end end
function AzeriteMilestoneSlotMixin:UpdateGemModelScenes(forceUpdate)
if not self.unlocked then
return;
end
if forceUpdate then
self.UnlockedState.PurpleGemModelScene.forceUpdate = true;
if self:IsMajorSlot() then
self.UnlockedState.BlueGemModelScene.forceUpdate = true;
end
end
if self:GetParent():GetEffectiveEssence(self.milestoneID) then
local purpleGemModelSceneInfo = MINOR_PURPLE_GEM_MODEL_SCENE_INFO;
if self:IsMajorSlot() then
purpleGemModelSceneInfo = MAJOR_PURPLE_GEM_MODEL_SCENE_INFO;
local scene = self.UnlockedState.BlueGemModelScene;
scene:Show();
scene.forceUpdate = not StaticModelInfo.SetupModelScene(scene, MAJOR_BLUE_GEM_MODEL_SCENE_INFO, scene.forceUpdate);
end
local scene = self.UnlockedState.PurpleGemModelScene;
scene:Show();
scene.forceUpdate = not StaticModelInfo.SetupModelScene(scene, purpleGemModelSceneInfo, scene.forceUpdate);
else
if self:IsMajorSlot() then
self.UnlockedState.BlueGemModelScene:Hide();
end
self.UnlockedState.PurpleGemModelScene:Hide();
end
end
function AzeriteMilestoneSlotMixin:Refresh() function AzeriteMilestoneSlotMixin:Refresh()
self:UpdateMilestoneInfo(); self:UpdateMilestoneInfo();
if self.unlocked then if self.unlocked then
if self:IsMainSlot() and self:GetParent():ShouldPlayReveal() then if self:IsMajorSlot() and self:GetParent():ShouldPlayReveal() then
self:CheckAndSetUpRevealEffect(); self:CheckAndSetUpRevealEffect();
end end
self:ShowStateFrame(self.UnlockedState); self:ShowStateFrame(self.UnlockedState);
...@@ -1064,11 +1110,9 @@ function AzeriteMilestoneSlotMixin:Refresh() ...@@ -1064,11 +1110,9 @@ function AzeriteMilestoneSlotMixin:Refresh()
stateFrame.Icon:Hide(); stateFrame.Icon:Hide();
stateFrame.EmptyIcon:Show(); stateFrame.EmptyIcon:Show();
stateFrame.EmptyGlow:Show(); stateFrame.EmptyGlow:Show();
stateFrame.EmptyGlow.Anim:Stop();
stateFrame.EmptyGlow.Anim:Play();
end end
else else
if not self:IsMainSlot() then if not self:IsMajorSlot() then
self:CheckAndSetUpUnlockEffect(); self:CheckAndSetUpUnlockEffect();
end end
if self:ShouldShowUnlockState() then if self:ShouldShowUnlockState() then
...@@ -1085,10 +1129,23 @@ function AzeriteMilestoneSlotMixin:Refresh() ...@@ -1085,10 +1129,23 @@ function AzeriteMilestoneSlotMixin:Refresh()
self.LockedState.UnlockLevelText:SetText(self.requiredLevel); self.LockedState.UnlockLevelText:SetText(self.requiredLevel);
end end
end end
self:UpdateGemModelScenes();
end end
function AzeriteMilestoneSlotMixin:OnMouseUp(button) function AzeriteMilestoneSlotMixin:OnMouseUp(button)
if button == "LeftButton" then if button == "LeftButton" then
if IsModifiedClick("CHATLINK") then
local essenceID = C_AzeriteEssence.GetMilestoneEssence(self.milestoneID);
if essenceID then
local essenceInfo = C_AzeriteEssence.GetEssenceInfo(essenceID);
if essenceInfo then
if HandleModifiedItemClick(C_AzeriteEssence.GetEssenceHyperlink(essenceInfo.ID, essenceInfo.rank)) then
return;
end
end
end
end
if C_AzeriteEssence.HasPendingActivationEssence() then if C_AzeriteEssence.HasPendingActivationEssence() then
if self.unlocked then if self.unlocked then
if self:GetParent():HasNewlyActivatedEssence() then if self:GetParent():HasNewlyActivatedEssence() then
...@@ -1112,7 +1169,7 @@ function AzeriteMilestoneSlotMixin:OnMouseUp(button) ...@@ -1112,7 +1169,7 @@ function AzeriteMilestoneSlotMixin:OnMouseUp(button)
end end
function AzeriteMilestoneSlotMixin:OnEnter() function AzeriteMilestoneSlotMixin:OnEnter()
if self:IsMainSlot() then if self:IsMajorSlot() then
GameTooltip:SetOwner(self, "ANCHOR_RIGHT", -20, 0); GameTooltip:SetOwner(self, "ANCHOR_RIGHT", -20, 0);
else else
GameTooltip:SetOwner(self, "ANCHOR_RIGHT", -10, -5); GameTooltip:SetOwner(self, "ANCHOR_RIGHT", -10, -5);
...@@ -1140,7 +1197,7 @@ function AzeriteMilestoneSlotMixin:OnEnter() ...@@ -1140,7 +1197,7 @@ function AzeriteMilestoneSlotMixin:OnEnter()
GameTooltip_SetTitle(GameTooltip, AZERITE_ESSENCE_PASSIVE_SLOT); GameTooltip_SetTitle(GameTooltip, AZERITE_ESSENCE_PASSIVE_SLOT);
self:AddStateToTooltip(AZERITE_ESSENCE_LOCKED_SLOT_LEVEL, AZERITE_ESSENCE_UNLOCK_SLOT); self:AddStateToTooltip(AZERITE_ESSENCE_LOCKED_SLOT_LEVEL, AZERITE_ESSENCE_UNLOCK_SLOT);
else else
if self:IsMainSlot() then if self:IsMajorSlot() then
GameTooltip_SetTitle(GameTooltip, AZERITE_ESSENCE_EMPTY_MAIN_SLOT); GameTooltip_SetTitle(GameTooltip, AZERITE_ESSENCE_EMPTY_MAIN_SLOT);
GameTooltip_AddColoredLine(GameTooltip, AZERITE_ESSENCE_EMPTY_MAIN_SLOT_DESC, NORMAL_FONT_COLOR, wrapText); GameTooltip_AddColoredLine(GameTooltip, AZERITE_ESSENCE_EMPTY_MAIN_SLOT_DESC, NORMAL_FONT_COLOR, wrapText);
else else
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
<KeyValues> <KeyValues>
<KeyValue key="isDraggable" type="boolean" value="false"/> <KeyValue key="isDraggable" type="boolean" value="false"/>
<KeyValue key="swirlScale" type="number" value="1"/> <KeyValue key="swirlScale" type="number" value="1"/>
<KeyValue key="isMajorSlot" type="boolean" value="false"/>
</KeyValues> </KeyValues>
<Frames> <Frames>
<ModelScene parentKey="EffectsModelScene" drawLayer="OVERLAY" inherits="NonInteractableModelSceneMixinTemplate" hidden="true"> <ModelScene parentKey="EffectsModelScene" drawLayer="OVERLAY" inherits="NonInteractableModelSceneMixinTemplate" hidden="true">
...@@ -78,6 +79,14 @@ ...@@ -78,6 +79,14 @@
</Texture> </Texture>
</Layer> </Layer>
</Layers> </Layers>
<Frames>
<ModelScene parentKey="PurpleGemModelScene" drawLayer="OVERLAY" inherits="NonInteractableModelSceneMixinTemplate" hidden="true" alpha="0.75">
<Size x="400" y="400"/>
<Anchors>
<Anchor point="CENTER" relativePoint="BOTTOM" x="3" y="11"/>
</Anchors>
</ModelScene>
</Frames>
</Frame> </Frame>
<Frame parentKey="AvailableState" parentArray="StateFrames" setAllPoints="true"> <Frame parentKey="AvailableState" parentArray="StateFrames" setAllPoints="true">
<Layers> <Layers>
...@@ -134,6 +143,7 @@ ...@@ -134,6 +143,7 @@
<Size x="110" y="82"/> <Size x="110" y="82"/>
<KeyValues> <KeyValues>
<KeyValue key="isDraggable" type="boolean" value="true"/> <KeyValue key="isDraggable" type="boolean" value="true"/>
<KeyValue key="isMajorSlot" type="boolean" value="true"/>
</KeyValues> </KeyValues>
<Frames> <Frames>
<Frame parentKey="UnlockedState" parentArray="StateFrames" setAllPoints="true"> <Frame parentKey="UnlockedState" parentArray="StateFrames" setAllPoints="true">
...@@ -207,6 +217,20 @@ ...@@ -207,6 +217,20 @@
</Texture> </Texture>
</Layer> </Layer>
</Layers> </Layers>
<Frames>
<ModelScene parentKey="BlueGemModelScene" drawLayer="OVERLAY" inherits="NonInteractableModelSceneMixinTemplate" hidden="true" alpha="0.75">
<Size x="400" y="400"/>
<Anchors>
<Anchor point="CENTER" relativePoint="TOP" x="3" y="-5"/>
</Anchors>
</ModelScene>
<ModelScene parentKey="PurpleGemModelScene" drawLayer="OVERLAY" inherits="NonInteractableModelSceneMixinTemplate" hidden="true" alpha="0.75">
<Size x="400" y="400"/>
<Anchors>
<Anchor point="CENTER" relativePoint="BOTTOM" x="3" y="11"/>
</Anchors>
</ModelScene>
</Frames>
</Frame> </Frame>
</Frames> </Frames>
<Scripts> <Scripts>
...@@ -457,6 +481,11 @@ ...@@ -457,6 +481,11 @@
<Anchors> <Anchors>
<Anchor point="TOPLEFT" relativeKey="$parent.LeftInset" x="6" y="-6"/> <Anchor point="TOPLEFT" relativeKey="$parent.LeftInset" x="6" y="-6"/>
</Anchors> </Anchors>
<Animations>
<AnimationGroup parentKey="AlphaAnim" looping="BOUNCE">
<Alpha parentKey="AlphaAnim" fromAlpha="0.45" toAlpha="0.55" duration="14"/>
</AnimationGroup>
</Animations>
</ModelScene> </ModelScene>
<Frame parentKey="StarsAnimationFrame1" inherits="AzeriteEssenceStarsAnimationFrameTemplate"> <Frame parentKey="StarsAnimationFrame1" inherits="AzeriteEssenceStarsAnimationFrameTemplate">
<KeyValues> <KeyValues>
...@@ -615,6 +644,11 @@ ...@@ -615,6 +644,11 @@
<Anchors> <Anchors>
<Anchor point="CENTER" relativeKey="$parent.OrbBackground"/> <Anchor point="CENTER" relativeKey="$parent.OrbBackground"/>
</Anchors> </Anchors>
<Animations>
<AnimationGroup parentKey="AlphaAnim" looping="BOUNCE">
<Alpha parentKey="AlphaAnim" fromAlpha="0.25" toAlpha="0.6" duration="10"/>
</AnimationGroup>
</Animations>
</Texture> </Texture>
</Layer> </Layer>
<Layer level="ARTWORK" textureSubLevel="2"> <Layer level="ARTWORK" textureSubLevel="2">
......
## Title: Blizzard Battlefield Map ## Title: Blizzard Battlefield Map
## LoadOnDemand: 1 ## LoadOnDemand: 1
## SavedVariablesPerCharacter: BattlefieldMapOptions ## SavedVariablesPerCharacter: BattlefieldMapOptions
## RequiredDep: Blizzard_MapCanvas
Blizzard_BattlefieldMap.xml Blizzard_BattlefieldMap.xml
Localization.lua Localization.lua
...@@ -765,9 +765,11 @@ end ...@@ -765,9 +765,11 @@ end
function ChallengeModeCompleteBannerMixin:OnEvent(event, ...) function ChallengeModeCompleteBannerMixin:OnEvent(event, ...)
if (event == "CHALLENGE_MODE_COMPLETED") then if (event == "CHALLENGE_MODE_COMPLETED") then
local mapID, level, time, onTime, keystoneUpgradeLevels = C_ChallengeMode.GetCompletionInfo(); local mapID, level, time, onTime, keystoneUpgradeLevels, practiceRun = C_ChallengeMode.GetCompletionInfo();