Commit f7e5bbd1 authored by TOM_RUS's avatar TOM_RUS

WOW-34972patch9.0.1_Beta

parent f9b5bc6e
......@@ -55,7 +55,7 @@ local CovenantPreview =
Fields =
{
{ Name = "Class", Type = "CovenantAbilityType", EnumValue = 0 },
{ Name = "Racial", Type = "CovenantAbilityType", EnumValue = 1 },
{ Name = "Signature", Type = "CovenantAbilityType", EnumValue = 1 },
},
},
{
......
......@@ -34,6 +34,35 @@ local EncounterJournal =
{ Name = "encounters", Type = "table", InnerType = "EncounterJournalMapEncounterInfo", Nilable = false },
},
},
{
Name = "GetLootInfo",
Type = "Function",
Arguments =
{
{ Name = "id", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "itemInfo", Type = "EncounterJournalItemInfo", Nilable = false },
},
},
{
Name = "GetLootInfoByIndex",
Type = "Function",
Arguments =
{
{ Name = "index", Type = "number", Nilable = false },
{ Name = "encounterIndex", Type = "number", Nilable = true },
},
Returns =
{
{ Name = "itemInfo", Type = "EncounterJournalItemInfo", Nilable = false },
},
},
{
Name = "GetSectionIconFlags",
Type = "Function",
......@@ -63,6 +92,15 @@ local EncounterJournal =
{ Name = "info", Type = "EncounterJournalSectionInfo", Nilable = false },
},
},
{
Name = "GetSlotFilter",
Type = "Function",
Returns =
{
{ Name = "filter", Type = "ItemSlotFilterType", Nilable = false },
},
},
{
Name = "InstanceHasLoot",
Type = "Function",
......@@ -91,6 +129,10 @@ local EncounterJournal =
{ Name = "isEncounterComplete", Type = "bool", Nilable = false },
},
},
{
Name = "ResetSlotFilter",
Type = "Function",
},
{
Name = "SetPreviewMythicPlusLevel",
Type = "Function",
......@@ -109,6 +151,15 @@ local EncounterJournal =
{ Name = "tier", Type = "number", Nilable = false },
},
},
{
Name = "SetSlotFilter",
Type = "Function",
Arguments =
{
{ Name = "filterSlot", Type = "ItemSlotFilterType", Nilable = false },
},
},
},
Events =
......@@ -135,6 +186,32 @@ local EncounterJournal =
Tables =
{
{
Name = "ItemSlotFilterType",
Type = "Enumeration",
NumValues = 16,
MinValue = 0,
MaxValue = 15,
Fields =
{
{ Name = "Head", Type = "ItemSlotFilterType", EnumValue = 0 },
{ Name = "Neck", Type = "ItemSlotFilterType", EnumValue = 1 },
{ Name = "Shoulder", Type = "ItemSlotFilterType", EnumValue = 2 },
{ Name = "Cloak", Type = "ItemSlotFilterType", EnumValue = 3 },
{ Name = "Chest", Type = "ItemSlotFilterType", EnumValue = 4 },
{ Name = "Wrist", Type = "ItemSlotFilterType", EnumValue = 5 },
{ Name = "Hand", Type = "ItemSlotFilterType", EnumValue = 6 },
{ Name = "Waist", Type = "ItemSlotFilterType", EnumValue = 7 },
{ Name = "Legs", Type = "ItemSlotFilterType", EnumValue = 8 },
{ Name = "Feet", Type = "ItemSlotFilterType", EnumValue = 9 },
{ Name = "MainHand", Type = "ItemSlotFilterType", EnumValue = 10 },
{ Name = "OffHand", Type = "ItemSlotFilterType", EnumValue = 11 },
{ Name = "Finger", Type = "ItemSlotFilterType", EnumValue = 12 },
{ Name = "Trinket", Type = "ItemSlotFilterType", EnumValue = 13 },
{ Name = "Other", Type = "ItemSlotFilterType", EnumValue = 14 },
{ Name = "NoFilter", Type = "ItemSlotFilterType", EnumValue = 15 },
},
},
{
Name = "DungeonEntranceMapInfo",
Type = "Structure",
......@@ -148,6 +225,24 @@ local EncounterJournal =
{ Name = "journalInstanceID", Type = "number", Nilable = false },
},
},
{
Name = "EncounterJournalItemInfo",
Type = "Structure",
Fields =
{
{ Name = "itemID", Type = "number", Nilable = false },
{ Name = "encounterID", Type = "number", Nilable = true },
{ Name = "name", Type = "string", Nilable = true },
{ Name = "itemQuality", Type = "string", Nilable = true },
{ Name = "filterType", Type = "ItemSlotFilterType", Nilable = true },
{ Name = "icon", Type = "number", Nilable = true },
{ Name = "slot", Type = "string", Nilable = true },
{ Name = "armorType", Type = "string", Nilable = true },
{ Name = "link", Type = "string", Nilable = true },
{ Name = "handError", Type = "bool", Nilable = true },
{ Name = "weaponTypeError", Type = "bool", Nilable = true },
},
},
{
Name = "EncounterJournalMapEncounterInfo",
Type = "Structure",
......
......@@ -2,6 +2,21 @@ local GarrisonConstants =
{
Tables =
{
{
Name = "CovenantType",
Type = "Enumeration",
NumValues = 5,
MinValue = 0,
MaxValue = 4,
Fields =
{
{ Name = "None", Type = "CovenantType", EnumValue = 0 },
{ Name = "Kyrian", Type = "CovenantType", EnumValue = 1 },
{ Name = "Venthyr", Type = "CovenantType", EnumValue = 2 },
{ Name = "NightFae", Type = "CovenantType", EnumValue = 3 },
{ Name = "Necrolord", Type = "CovenantType", EnumValue = 4 },
},
},
{
Name = "FollowerAbilityCastResult",
Type = "Enumeration",
......@@ -134,14 +149,15 @@ local GarrisonConstants =
{
Name = "GarrTalentCostType",
Type = "Enumeration",
NumValues = 3,
NumValues = 4,
MinValue = 0,
MaxValue = 2,
MaxValue = 3,
Fields =
{
{ Name = "Initial", Type = "GarrTalentCostType", EnumValue = 0 },
{ Name = "Respec", Type = "GarrTalentCostType", EnumValue = 1 },
{ Name = "MakePermanent", Type = "GarrTalentCostType", EnumValue = 2 },
{ Name = "TreeReset", Type = "GarrTalentCostType", EnumValue = 3 },
},
},
{
......
......@@ -237,6 +237,21 @@ local GarrisonInfo =
{ Name = "info", Type = "GarrisonTalentTreeInfo", Nilable = false },
},
},
{
Name = "GetTalentTreeResetInfo",
Type = "Function",
Arguments =
{
{ Name = "garrTalentTreeID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "goldCost", Type = "number", Nilable = false },
{ Name = "currencyCosts", Type = "table", InnerType = "GarrisonTalentCurrencyCostInfo", Nilable = false },
},
},
{
Name = "GetTalentTreeTalentPointResearchInfo",
Type = "Function",
......@@ -302,6 +317,16 @@ local GarrisonInfo =
{ Name = "missionID", Type = "number", Nilable = false },
},
},
{
Name = "RequestAutoMissionTargetingInfo",
Type = "Function",
Arguments =
{
{ Name = "missionID", Type = "number", Nilable = false },
{ Name = "garrAutoSpellID", Type = "number", Nilable = false },
},
},
{
Name = "RushHealFollower",
Type = "Function",
......@@ -329,6 +354,17 @@ local GarrisonInfo =
{ Name = "followerTypeID", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonAutoMissionTargetingResponse",
Type = "Event",
LiteralName = "GARRISON_AUTO_MISSION_TARGETING_RESPONSE",
Payload =
{
{ Name = "missionID", Type = "number", Nilable = false },
{ Name = "garrAutoSpellID", Type = "number", Nilable = false },
{ Name = "targetInfo", Type = "table", InnerType = "AutoMissionTargetingInfo", Nilable = false },
},
},
{
Name = "GarrisonBuildingActivatable",
Type = "Event",
......@@ -863,6 +899,15 @@ local GarrisonInfo =
{ Name = "events", Type = "table", InnerType = "AutoMissionEvent", Nilable = false },
},
},
{
Name = "AutoMissionTargetingInfo",
Type = "Structure",
Fields =
{
{ Name = "casterBoardIndex", Type = "number", Nilable = false },
{ Name = "targetIndices", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "FollowerAutoCombatStatsInfo",
Type = "Structure",
......
......@@ -33,7 +33,7 @@ local SplashScreen =
LiteralName = "OPEN_SPLASH_SCREEN",
Payload =
{
{ Name = "info", Type = "SplashScreenInfo", Nilable = false },
{ Name = "info", Type = "SplashScreenInfo", Nilable = true },
},
},
},
......
......@@ -448,6 +448,18 @@ local UIWidgetManager =
{ Name = "Large", Type = "SpellDisplayIconSizeType", EnumValue = 2 },
},
},
{
Name = "SpellDisplayTextShownStateType",
Type = "Enumeration",
NumValues = 2,
MinValue = 0,
MaxValue = 1,
Fields =
{
{ Name = "Shown", Type = "SpellDisplayTextShownStateType", EnumValue = 0 },
{ Name = "Hidden", Type = "SpellDisplayTextShownStateType", EnumValue = 1 },
},
},
{
Name = "StatusBarColorTintValue",
Type = "Enumeration",
......@@ -1063,6 +1075,7 @@ local UIWidgetManager =
{ Name = "stackDisplay", Type = "number", Nilable = false },
{ Name = "iconSizeType", Type = "SpellDisplayIconSizeType", Nilable = false },
{ Name = "iconDisplayType", Type = "SpellDisplayIconDisplayType", Nilable = false },
{ Name = "textShownState", Type = "SpellDisplayTextShownStateType", Nilable = false },
},
},
{
......
......@@ -84,6 +84,7 @@ local WeeklyRewards =
{ Name = "threshold", Type = "number", Nilable = false },
{ Name = "progress", Type = "number", Nilable = false },
{ Name = "id", Type = "number", Nilable = false },
{ Name = "level", Type = "number", Nilable = false },
},
},
},
......
......@@ -85,6 +85,9 @@ function AnimaDiversionDataProviderMixin:RefreshAllData(fromOnShow)
self.lineThickness = Lerp(1, 2, Saturate(1 - self:GetMap():GetCanvasZoomPercent())) * 85;
local animaNodes = C_AnimaDiversion.GetAnimaDiversionNodes();
if (not animaNodes) then
return;
end
for _, nodeData in ipairs(animaNodes) do
nodeData.textureKit = self.textureKit;
self:AddNode(nodeData);
......@@ -192,7 +195,9 @@ function AnimaDiversionPinMixin:Setup()
self.IconReinforce:SetShown(self.ReinforceState or self.forceReinforceState);
self.IconSelect:SetShown(self.SelectState and not self.forceReinforceState);
self.Icon:SetShown(self.UnavailableState and not self.forceReinforceState);
self.lineContainer:SetShown(self.ReinforceState or self.SelectState);
if (self.lineContainer) then
self.lineContainer:SetShown(self.ReinforceState or self.SelectState);
end
end
function AnimaDiversionPinMixin:SetReinforceState(reinforce)
......
......@@ -136,8 +136,6 @@
</Frame>
<Frame parentKey="SelectPinInfoFrame" inherits="ResizeLayoutFrame" mixin="AnimaDiversionSelectionInfoMixin" frameLevel="515">
<KeyValues>
<KeyValue key="layoutType" value="IdenticalCornersLayout" type="string"/>
<KeyValue key="layoutTextureKit" value="AnimaChannel" type="string"/>
<KeyValue key="spacing" value="5" type="number"/>
<KeyValue key="fixedWidth" value="250" type="number"/>
</KeyValues>
......@@ -172,6 +170,8 @@
<Frames>
<Frame parentKey="NineSlice" inherits="NineSlicePanelTemplate" frameLevel="550">
<KeyValues>
<KeyValue key="layoutType" value="IdenticalCornersLayout" type="string"/>
<KeyValue key="layoutTextureKit" value="AnimaChannel" type="string"/>
<KeyValue key="ignoreInLayout" value="true" type="boolean"/>
</KeyValues>
<Anchors>
......
......@@ -1357,9 +1357,6 @@ function ArtifactTitleTemplateMixin:EvaluateRelics()
relicSlot.Icon:SetMask("Interface\\CharacterFrame\\TempPortraitAlphaMask");
relicSlot.Icon:SetTexture(relicIcon);
relicSlot.Glass:Show();
SetCVarBitfield("closedInfoFrames", LE_FRAME_TUTORIAL_ARTIFACT_RELIC_MATCH, true);
ArtifactRelicHelpBox:Hide();
else
relicSlot.Icon:SetMask(nil);
relicSlot.Icon:SetAtlas("Relic-SlotBG", true);
......
......@@ -68,6 +68,19 @@ function ChannelButtonBaseMixin:GetCategory()
return self.category;
end
function ChannelButtonBaseMixin:SetChannelRuleset(ruleset)
self.ruleset = ruleset;
self.activePlayerRole = nil;
if ruleset == Enum.ChatChannelRuleset.Mentor then
self.activePlayerRole = C_PlayerMentorship.GetMentorshipStatus(PlayerLocation:CreateFromUnit("player"));
end
end
function ChannelButtonBaseMixin:GetChannelRuleset()
return self.ruleset, self.activePlayerRole;
end
function ChannelButtonBaseMixin:SetVoiceChannel(voiceChannel)
self.linkedVoiceChannel = voiceChannel;
......@@ -202,6 +215,10 @@ function ChannelButtonBaseMixin:Setup(channelID, name, header, channelNumber, co
self:SetMemberCount(count);
self:SetCategory(category);
if channelNumber then
self:SetChannelRuleset(C_ChatInfo.GetChannelRuleset(channelNumber));
end
self:Update();
end
......
......@@ -284,15 +284,54 @@ function ChannelRosterButtonMixin:UpdateNameSize()
end
end
function ChannelRosterButtonMixin:GetMemberChannelRank()
local channel = ChannelFrame:GetList():GetSelectedChannelButton();
if channel then
local ruleset, activePlayerRole = channel:GetChannelRuleset();
if ruleset == Enum.ChatChannelRuleset.Mentor then
local playerLocation = self:GetMemberPlayerLocation();
if playerLocation then
local role = C_PlayerMentorship.GetMentorshipStatus(playerLocation);
-- Only returning ranks for those player who don't match the local player.
if playerLocation and role ~= activePlayerRole then
if role == Enum.PlayerMentorshipStatus.Mentor then
return "mentor";
elseif role == Enum.PlayerMentorshipStatus.Newcomer then
return "newcomer";
end
end
end
return;
end
end
if self:IsMemberOwner() then
return "owner";
elseif self:IsMemberModerator() then
return "moderator";
end
end
local channelRankImages =
{
mentor = { isAtlas = true, asset = "newplayerchat-chaticon-guide" },
newcomer = { isAtlas = true, asset = "newplayerchat-chaticon-newcomer" },
owner = { asset = "Interface\\GroupFrame\\UI-Group-LeaderIcon" },
moderator = { asset = "Interface\\GroupFrame\\UI-Group-AssistantIcon" },
}
function ChannelRosterButtonMixin:UpdateRankVisibleState()
self.showRank = self:IsMemberLeadership();
local channelRank = self:GetMemberChannelRank();
self.showRank = channelRank ~= nil;
self.Rank:SetShown(self.showRank);
if self.showRank then
if self:IsMemberOwner() then
self.Rank:SetTexture("Interface\\GroupFrame\\UI-Group-LeaderIcon");
elseif self:IsMemberModerator() then
self.Rank:SetTexture("Interface\\GroupFrame\\UI-Group-AssistantIcon");
local rankImage = channelRankImages[channelRank];
if rankImage.isAtlas then
self.Rank:SetAtlas(rankImage.asset);
else
self.Rank:SetTexture(rankImage.asset);
end
end
end
......
......@@ -895,13 +895,6 @@ function CharacterCreateRaceAndClassMixin:OnShow()
end
function CharacterCreateRaceAndClassMixin:OnHide()
self:DestroyTargetDummies();
end
function CharacterCreateRaceAndClassMixin:SetupTargetDummies()
end
function CharacterCreateRaceAndClassMixin:DestroyTargetDummies()
end
function CharacterCreateRaceAndClassMixin:PlayClassAnimations()
......@@ -919,6 +912,7 @@ end
function CharacterCreateRaceAndClassMixin:PlayClassIdleAnimation(useBlending)
self:StopClassAnimations();
CharacterCreateFrame:ResetCharacterRotation(nil, true);
C_CharacterCreation.PlayClassIdleAnimationOnCharacter(not useBlending);
end
......@@ -1385,7 +1379,7 @@ function CharacterCreateZoneChoiceMixin:OnHide()
end
function CharacterCreateZoneChoiceMixin:Setup()
local firstZoneChoiceInfo, secondZoneChoiceInfo = C_CharacterCreation.GetStartingZoneChoices(RaceAndClassFrame.selectedFaction);
local firstZoneChoiceInfo, secondZoneChoiceInfo = C_CharacterCreation.GetStartingZoneChoices();
if not secondZoneChoiceInfo or CharacterCreateFrame.paidServiceType then
self:SetUseNPE(firstZoneChoiceInfo.isNPE);
......
......@@ -639,19 +639,26 @@ function MountJournal_GetMountButtonByMountID(mountID)
end
end
local function GetMountDisplayIndexByMountID(mountID)
for i = 1, C_MountJournal.GetNumDisplayedMounts() do
local creatureName, spellID, icon, active, _, _, _, _, _, _, _, currentMountID = C_MountJournal.GetDisplayedMountInfo(i);
if currentMountID == mountID then
return i;
end
end
return nil;
end
function MountJournal_SetSelected(mountID, spellID)
MountJournal.selectedSpellID = spellID;
MountJournal.selectedMountID = mountID;
function MountJournal_SetSelected(selectedMountID, selectedSpellID)
MountJournal.selectedSpellID = selectedSpellID;
MountJournal.selectedMountID = selectedMountID;
MountJournal_HideMountDropdown();
MountJournal_UpdateMountList();
MountJournal_UpdateMountDisplay();
local mountButton = MountJournal_GetMountButtonByMountID(mountID);
if(mountButton) then
local buttonIndex = HybridScrollFrame_GetButtonIndex(MountJournal.ListScrollFrame, mountButton);
HybridScrollFrame_ScrollToIndex(MountJournal.ListScrollFrame, buttonIndex, MountJournal_GetMountButtonHeight);
end
local numDisplayedMounts = C_MountJournal.GetNumDisplayedMounts();
local mountIndex = GetMountDisplayIndexByMountID(selectedMountID);
HybridScrollFrame_ScrollToIndex(MountJournal.ListScrollFrame, mountIndex, MountJournal_GetMountButtonHeight);
end
function MountJournalMountButton_UseMount(mountID)
......
......@@ -27,7 +27,7 @@ local modelSceneContainerTextureKitRegions = {
local abilityTypeText = {
[Enum.CovenantAbilityType.Class] = COVENANT_PREVIEW_CLASS_ABILITY,
[Enum.CovenantAbilityType.Racial] = COVENANT_PREVIEW_RACIAL_ABILITY,
[Enum.CovenantAbilityType.Signature] = COVENANT_PREVIEW_RACIAL_ABILITY,
}
CovenantPreviewFrameMixin = { };
......
......@@ -35,10 +35,10 @@
</MaskTexture>
</Layer>
<Layer level="OVERLAY">
<FontString parentKey="Name" inherits="GameFontNormal" justifyH="LEFT" JustifyV="BOTTOM">
<Size x="147" y="25"/>
<FontString parentKey="Name" inherits="GameFontNormalMed3" justifyH="LEFT" JustifyV="BOTTOM">
<Size x="147" y="0"/>
<Anchors>
<Anchor point="TOPLEFT" relativeKey="$parent.Icon" relativePoint="TOPRIGHT" x="10" y="10"/>
<Anchor point="TOPLEFT" relativeKey="$parent.Icon" relativePoint="TOPRIGHT" x="10" y="-10"/>
</Anchors>
</FontString>
<FontString parentKey="Type" inherits="GameFontHighlight" justifyH="LEFT" JustifyV="BOTTOM">
......@@ -69,8 +69,8 @@
</Frame>
<Frame parentKey="Background" clipChildren="true" useParentLevel="true">
<Anchors>
<Anchor point="TOPLEFT"/>
<Anchor point="BOTTOMRIGHT" x="-2"/>
<Anchor point="TOPLEFT" x="5" y="-5"/>
<Anchor point="BOTTOMRIGHT" x="-5" y="5"/>
</Anchors>
<Layers>
<Layer level="BACKGROUND" textureSubLevel="-1">
......@@ -101,8 +101,8 @@
<Texture parentKey="Middle" atlas="_UI-Frame-Neutral-TitleMiddle" horizTile="true">
<Size x="0" y="85"/>
<Anchors>
<Anchor point="LEFT" relativeKey="$parent.Left" relativePoint="RIGHT" x="-60" y="0"/>
<Anchor point="RIGHT" relativeKey="$parent.Right" relativePoint="LEFT" x="60" y="0"/>
<Anchor point="LEFT" relativeKey="$parent.Left" relativePoint="RIGHT"/>
<Anchor point="RIGHT" relativeKey="$parent.Right" relativePoint="LEFT"/>
</Anchors>
</Texture>
</Layer>
......@@ -119,7 +119,7 @@
<Frame parentKey="ModelSceneContainer">
<Size x="414" y="432"/>
<Anchors>
<Anchor point="LEFT" x="85" y="-40"/>
<Anchor point="LEFT" x="65" y="-40"/>
</Anchors>
<Layers>
<Layer level="BORDER">
......@@ -156,7 +156,7 @@
<Layer level="ARTWORK">
<Texture parentKey="Crest">
<Anchors>
<Anchor point="TOPLEFT" x="10" y="-10"/>
<Anchor point="TOPLEFT" x="25" y="-25"/>
</Anchors>
</Texture>
</Layer>
......@@ -164,33 +164,28 @@
<FontString parentKey="Name" JustifyH="LEFT" JustifyV="BOTTOM" inherits="QuestFont_Shadow_Enormous">
<Size x="300" y="0"/>