Commit 3f2c6da5 authored by TOM_RUS's avatar TOM_RUS

WOW-35598patch9.0.1_PTR

parent 937154a8
......@@ -46,6 +46,7 @@ local CharacterCustomizationShared =
{
{ Name = "id", Type = "number", Nilable = false },
{ Name = "name", Type = "string", Nilable = false },
{ Name = "ineligibleChoice", Type = "bool", Nilable = false },
{ Name = "swatchColor1", Type = "table", Mixin = "ColorMixin", Nilable = true },
{ Name = "swatchColor2", Type = "table", Mixin = "ColorMixin", Nilable = true },
},
......
......@@ -764,6 +764,15 @@ local ChatInfo =
{ Name = "supressRaidIcons", Type = "bool", Nilable = false },
},
},
{
Name = "ChatMsgChannelLeavePrevented",
Type = "Event",
LiteralName = "CHAT_MSG_CHANNEL_LEAVE_PREVENTED",
Payload =
{
{ Name = "channelName", Type = "string", Nilable = false },
},
},
{
Name = "ChatMsgChannelList",
Type = "Event",
......
......@@ -70,6 +70,8 @@ local ChromieTimeUI =
{ Name = "description", Type = "string", Nilable = false },
{ Name = "mapAtlas", Type = "string", Nilable = false },
{ Name = "previewAtlas", Type = "string", Nilable = false },
{ Name = "completed", Type = "bool", Nilable = false },
{ Name = "alreadyOn", Type = "bool", Nilable = false },
},
},
},
......
......@@ -41,6 +41,15 @@ local Expansion =
{ Name = "expansionLevel", Type = "number", Nilable = false },
},
},
{
Name = "GetCurrentRegionName",
Type = "Function",
Returns =
{
{ Name = "regionName", Type = "string", Nilable = false },
},
},
{
Name = "GetExpansionDisplayInfo",
Type = "Function",
......
......@@ -31,6 +31,20 @@ local GarrisonInfo =
{ Name = "damageClassStrings", Type = "table", InnerType = "AutoCombatDamageClassString", Nilable = false },
},
},
{
Name = "GetAutoMissionBoardState",
Type = "Function",
Arguments =
{
{ Name = "missionID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "targetInfo", Type = "table", InnerType = "AutoMissionTargetingInfo", Nilable = false },
},
},
{
Name = "GetAutoMissionTargetingInfo",
Type = "Function",
......@@ -874,6 +888,7 @@ local GarrisonInfo =
{ Name = "cooldown", Type = "number", Nilable = false },
{ Name = "duration", Type = "number", Nilable = false },
{ Name = "schoolMask", Type = "number", Nilable = false },
{ Name = "previewMask", Type = "number", Nilable = false },
{ Name = "icon", Type = "number", Nilable = false },
},
},
......@@ -917,6 +932,8 @@ local GarrisonInfo =
{
{ Name = "targetIndex", Type = "number", Nilable = false },
{ Name = "previewType", Type = "number", Nilable = false },
{ Name = "spellID", Type = "number", Nilable = false },
{ Name = "effectIndex", Type = "number", Nilable = false },
},
},
{
......
......@@ -16,7 +16,7 @@ local GlyphInfo =
LiteralName = "ACTIVATE_GLYPH",
Payload =
{
{ Name = "spellSlot", Type = "number", Nilable = false },
{ Name = "spellID", Type = "number", Nilable = false },
},
},
{
......@@ -30,7 +30,7 @@ local GlyphInfo =
LiteralName = "USE_GLYPH",
Payload =
{
{ Name = "spellSlot", Type = "number", Nilable = false },
{ Name = "spellID", Type = "number", Nilable = false },
},
},
},
......
......@@ -6,6 +6,15 @@ local PlayerMentorship =
Functions =
{
{
Name = "GetMentorLevelRequirement",
Type = "Function",
Returns =
{
{ Name = "level", Type = "number", Nilable = true },
},
},
{
Name = "GetMentorshipStatus",
Type = "Function",
......@@ -20,6 +29,15 @@ local PlayerMentorship =
{ Name = "status", Type = "PlayerMentorshipStatus", Nilable = false },
},
},
{
Name = "IsMentorRestricted",
Type = "Function",
Returns =
{
{ Name = "isRestricted", Type = "bool", Nilable = false },
},
},
},
Events =
......
......@@ -10,6 +10,16 @@ local ScenarioInfo =
Events =
{
{
Name = "JailersTowerLevelUpdate",
Type = "Event",
LiteralName = "JAILERS_TOWER_LEVEL_UPDATE",
Payload =
{
{ Name = "level", Type = "number", Nilable = false },
{ Name = "type", Type = "JailersTowerType", Nilable = false },
},
},
{
Name = "ScenarioBonusObjectiveComplete",
Type = "Event",
......@@ -76,6 +86,23 @@ local ScenarioInfo =
Tables =
{
{
Name = "JailersTowerType",
Type = "Enumeration",
NumValues = 7,
MinValue = 0,
MaxValue = 6,
Fields =
{
{ Name = "TwistingCorridors", Type = "JailersTowerType", EnumValue = 0 },
{ Name = "SkoldusHalls", Type = "JailersTowerType", EnumValue = 1 },
{ Name = "FractureChambers", Type = "JailersTowerType", EnumValue = 2 },
{ Name = "Soulforges", Type = "JailersTowerType", EnumValue = 3 },
{ Name = "Coldheart", Type = "JailersTowerType", EnumValue = 4 },
{ Name = "Mortregar", Type = "JailersTowerType", EnumValue = 5 },
{ Name = "UpperReaches", Type = "JailersTowerType", EnumValue = 6 },
},
},
},
};
......
......@@ -138,6 +138,36 @@ local Soulbinds =
{ Name = "link", Type = "string", Nilable = false },
},
},
{
Name = "GetConduitItemLevel",
Type = "Function",
Arguments =
{
{ Name = "conduitID", Type = "number", Nilable = false },
{ Name = "rank", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "itemLevel", Type = "number", Nilable = false },
},
},
{
Name = "GetConduitQuality",
Type = "Function",
Arguments =
{
{ Name = "conduitID", Type = "number", Nilable = false },
{ Name = "rank", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "quality", Type = "number", Nilable = false },
},
},
{
Name = "GetConduitSpellID",
Type = "Function",
......@@ -402,6 +432,11 @@ local Soulbinds =
{ Name = "data", Type = "SoulbindConduitData", Nilable = false },
},
},
{
Name = "SoulbindConduitsReset",
Type = "Event",
LiteralName = "SOULBIND_CONDUITS_RESET",
},
{
Name = "SoulbindForgeInteractionEnded",
Type = "Event",
......
......@@ -19,6 +19,11 @@ local Video =
Events =
{
{
Name = "AdapterListChanged",
Type = "Event",
LiteralName = "ADAPTER_LIST_CHANGED",
},
{
Name = "DisplaySizeChanged",
Type = "Event",
......
......@@ -84,13 +84,14 @@ local VignetteInfo =
{
Name = "VignetteType",
Type = "Enumeration",
NumValues = 2,
NumValues = 3,
MinValue = 0,
MaxValue = 1,
MaxValue = 2,
Fields =
{
{ Name = "Normal", Type = "VignetteType", EnumValue = 0 },
{ Name = "PvPBounty", Type = "VignetteType", EnumValue = 1 },
{ Name = "Torghast", Type = "VignetteType", EnumValue = 2 },
},
},
{
......
......@@ -6,15 +6,6 @@ local WeeklyRewards =
Functions =
{
{
Name = "CanClaimPVPRewards",
Type = "Function",
Returns =
{
{ Name = "canClaimRewards", Type = "bool", Nilable = false },
},
},
{
Name = "CanClaimRewards",
Type = "Function",
......@@ -41,6 +32,11 @@ local WeeklyRewards =
Name = "GetActivities",
Type = "Function",
Arguments =
{
{ Name = "type", Type = "WeeklyRewardChestThresholdType", Nilable = true },
},
Returns =
{
{ Name = "activities", Type = "table", InnerType = "WeeklyRewardActivityInfo", Nilable = false },
......@@ -85,16 +81,16 @@ local WeeklyRewards =
},
},
{
Name = "IsWeeklyProgressValid",
Name = "HasRewards",
Type = "Function",
Returns =
{
{ Name = "isWeeklyProgressValid", Type = "bool", Nilable = false },
{ Name = "hasRewards", Type = "bool", Nilable = false },
},
},
{
Name = "RequestWeeklyProgress",
Name = "RequestRewards",
Type = "Function",
},
},
......
......@@ -776,7 +776,7 @@
</Anchors>
<Layers>
<Layer level="ARTWORK">
<FontString parentKey="Label" inherits="GameFontNormalHuge" text="CHALLENGE_MODE_THIS_WEEK">
<FontString parentKey="ThisWeekLabel" inherits="GameFontNormalHuge" text="CHALLENGE_MODE_THIS_WEEK">
<Anchors>
<Anchor point="TOP" y="-25"/>
</Anchors>
......@@ -788,10 +788,10 @@
<Color r="0" g="0" b="0"/>
</Shadow>
</FontString>
<FontString parentKey="RunStatus" inherits="GameFontNormalMed2" justifyH="CENTER" hidden="false">
<FontString parentKey="Description" inherits="GameFontNormalMed2" justifyH="CENTER" hidden="true" text="MYTHIC_PLUS_MISSING_KEYSTONE_MESSAGE">
<Size x="430" />
<Anchors>
<Anchor point="BOTTOM" relativeKey="$parent.Label" x="0" y="-90"/>
<Anchor point="CENTER" x="0" y="0"/>
</Anchors>
</FontString>
<FontString parentKey="SeasonBest" inherits="GameFontNormalMed2" text="MYTHIC_PLUS_SEASON_BEST">
......@@ -840,14 +840,59 @@
<Frames>
<Frame hidden="true" inherits="ChallengesKeystoneFrameAffixTemplate">
<Anchors>
<Anchor point="CENTER" relativeKey="$parent.Label" x="-95" y="-45"/>
<Anchor point="CENTER" relativeKey="$parent.ThisWeekLabel" x="-95" y="-45"/>
</Anchors>
</Frame>
<Frame parentKey="WeeklyChest" hidden="true" mixin="ChallengeModeWeeklyChestMixin">
<Size x="67" y="67"/>
<Anchors>
<Anchor point="CENTER" x="0" y="-5"/>
</Anchors>
<Layers>
<Layer level="ARTWORK">
<FontString parentKey="RunStatus" inherits="GameFontNormalMed2" justifyH="CENTER">
<Size x="430" />
<Anchors>
<Anchor point="TOP" relativePoint="TOP" y="43"/>
</Anchors>
</FontString>
<Texture parentKey="Icon">
<Anchors>
<Anchor point="CENTER"/>
</Anchors>
</Texture>
</Layer>
<Layer level="OVERLAY">
<Texture parentKey="AnimTexture" atlas="mythicplus-greatvault-collect" useAtlasSize="true" alphaMode="ADD">
<Anchors>
<Anchor point="CENTER"/>
</Anchors>
<Animations>
<AnimationGroup parentKey="Anim" looping="REPEAT">
<Alpha childKey="CollectGlow" startDelay="0" duration="1" order="1" fromAlpha="0" toAlpha="0.3"/>
<Alpha childKey="CollectGlow" startDelay="1" duration="1" order="1" fromAlpha="0.3" toAlpha="0"/>
</AnimationGroup>
</Animations>
</Texture>
</Layer>
</Layers>
<Scripts>
<OnEnter method="OnEnter"/>
<OnLeave function="GameTooltip_Hide"/>
</Scripts>
</Frame>
<Frame parentKey="LegacyWeeklyChest" hidden="true" mixin="ChallengeModeLegacyWeeklyChestMixin">
<Size x="200" y="145"/>
<Anchors>
<Anchor point="CENTER" x="0" y="-45"/>
</Anchors>
<Layers>
<Layer level="ARTWORK">
<FontString parentKey="RunStatus" inherits="GameFontNormalMed2" justifyH="CENTER">
<Size x="430" />
</FontString>
</Layer>
</Layers>
<Frames>
<Frame parentKey="CollectChest" hidden="true">
<Size x="269" y="188"/>
......
......@@ -81,6 +81,10 @@ function ChannelButtonBaseMixin:GetChannelRuleset()
return self.ruleset, self.activePlayerRole;
end
function ChannelButtonBaseMixin:AllowedToLeave()
return not ChannelFrame_IsCategoryGroup(self:GetCategory()) and self:IsActive() and self:GetChannelRuleset() ~= Enum.ChatChannelRuleset.Mentor;
end
function ChannelButtonBaseMixin:SetVoiceChannel(voiceChannel)
self.linkedVoiceChannel = voiceChannel;
......
......@@ -54,6 +54,7 @@ do
self:RegisterEvent("VOICE_CHAT_CHANNEL_MEMBER_MUTE_FOR_ME_CHANGED");
self:RegisterEvent("VOICE_CHAT_CHANNEL_MEMBER_ADDED");
self:RegisterEvent("VOICE_CHAT_CHANNEL_MEMBER_GUID_UPDATED");
self:RegisterEvent("CHAT_MSG_CHANNEL_LEAVE_PREVENTED");
local promptSubSystem = ChatAlertFrame:AddAutoAnchoredSubSystem(VoiceChatPromptActivateChannel);
ChatAlertFrame:SetSubSystemAnchorPriority(promptSubSystem, 10);
......@@ -157,6 +158,8 @@ function ChannelFrameMixin:OnEvent(event, ...)
self:UpdateVoiceChannelIfSelected(select(2,...));
elseif event == "VOICE_CHAT_CHANNEL_MEMBER_GUID_UPDATED" then
self:UpdateVoiceChannelIfSelected(select(2,...));
elseif event == "CHAT_MSG_CHANNEL_LEAVE_PREVENTED" then
self:OnChannelLeavePrevented(...)
end
end
......@@ -533,7 +536,7 @@ end
function ChannelFrameMixin:OnCountUpdate(id, count)
local name, header, collapsed, channelNumber, count, active, category, channelType = GetChannelDisplayInfo(id);
if self:IsCategoryGroup(category) and count then
if ChannelFrame_IsCategoryGroup(category) and count then
local channelButton = self:GetList():GetButtonForTextChannelID(id);
if channelButton then
channelButton:SetMemberCount(count);
......@@ -620,16 +623,8 @@ function ChannelFrameMixin:OnUserSelectedChannel()
self:MarkDirty("UpdateRoster");
end
function ChannelFrameMixin:IsCategoryGlobal(category)
return category == "CHANNEL_CATEGORY_WORLD";
end
function ChannelFrameMixin:IsCategoryGroup(category)
return category == "CHANNEL_CATEGORY_GROUP";
end
function ChannelFrameMixin:IsCategoryCustom(category)
return category == "CHANNEL_CATEGORY_CUSTOM";
function ChannelFrameMixin:OnChannelLeavePrevented(channelName)
ChatFrame_DisplaySystemMessageInPrimary(CHAT_LEAVE_CHANNEL_PREVENTED:format(channelName));
end
--[ Utility Functions ]--
......@@ -652,4 +647,16 @@ function ChannelFrame_GetIdealChannelName(channel)
end
return channel.name or "";
end
function ChannelFrame_IsCategoryGlobal(category)
return category == "CHANNEL_CATEGORY_WORLD";
end
function ChannelFrame_IsCategoryGroup(category)
return category == "CHANNEL_CATEGORY_GROUP";
end
function ChannelFrame_IsCategoryCustom(category)
return category == "CHANNEL_CATEGORY_CUSTOM";
end
\ No newline at end of file
......@@ -363,7 +363,7 @@ local function ChannelListDropDown_Initialize(dropdown)
local category = channel:GetCategory();
if channel:ChannelSupportsText() then
if channelFrame:IsCategoryCustom(category) then
if ChannelFrame_IsCategoryCustom(category) then
-- SET PASSWORD if it is a custom Channel and is owner
if IsDisplayChannelOwner() then
info = UIDropDownMenu_CreateInfo();
......@@ -386,7 +386,7 @@ local function ChannelListDropDown_Initialize(dropdown)
end
-- JOIN if it is a Global Channel
if channelFrame:IsCategoryGlobal(category) and not channel:IsActive() then
if ChannelFrame_IsCategoryGlobal(category) and not channel:IsActive() then
info = UIDropDownMenu_CreateInfo();
info.text = CHAT_JOIN;
info.notCheckable = 1;
......@@ -396,7 +396,7 @@ local function ChannelListDropDown_Initialize(dropdown)
end
-- LEAVE Channel if not a group channel
if not channelFrame:IsCategoryGroup(category) and channel:IsActive() then
if channel:AllowedToLeave() then
info = UIDropDownMenu_CreateInfo();
info.text = CHAT_LEAVE;
info.notCheckable = 1;
......
......@@ -73,7 +73,7 @@ function ChannelRosterMixin:ResetScrollPosition()
end
function ChannelRosterMixin:GetChannelCountText(count, category)
if count > 0 and self:GetChannelFrame():IsCategoryGroup(category) then
if count > 0 and ChannelFrame_IsCategoryGroup(category) then
return ("(%d)"):format(count);
end
......
......@@ -34,7 +34,9 @@ GlueDialogTypes["CHARACTER_CREATE_FAILURE"] = {
button1 = OKAY,
button2 = nil,
OnAccept = function ()
CharacterCreateFrame:SetMode(CHAR_CREATE_MODE_CUSTOMIZE);
if CharacterCreateFrame:IsShown() then
CharacterCreateFrame:SetMode(CHAR_CREATE_MODE_CUSTOMIZE);
end
end,
}
......@@ -84,11 +86,10 @@ function CharacterCreateMixin:OnDisplaySizeChanged()
local MAX_ASPECT = 16 / 9;
local currentAspect = width / height;
local isSuperWideScreen = (currentAspect - MAX_ASPECT) > 0.001;
local atlasName = (currentAspect - MAX_ASPECT > 0.001) and "charactercreate-vignette-sides-widescreen" or "charactercreate-vignette-sides";
self.LeftBackgroundOverlay:SetAtlas(atlasName);
self.RightBackgroundOverlay:SetAtlas(atlasName);
self.LeftBackgroundWidescreenOverlay:SetShown(isSuperWideScreen);
self.RightBackgroundWidescreenOverlay:SetShown(isSuperWideScreen);
end
function CharacterCreateMixin:OnEvent(event, ...)
......@@ -184,6 +185,7 @@ end
function CharacterCreateMixin:OnHide()
C_CharacterCreation.SetInCharacterCreate(false);
self:ClearPaidServiceInfo();
self.creatingCharacter = false;
self.currentMode = 0;
end
......@@ -413,6 +415,7 @@ function CharacterCreateMixin:SetMode(mode, instantRotate)
ZoneChoiceFrame:SetShown(mode == CHAR_CREATE_MODE_ZONE_CHOICE);
self.currentMode = mode;
self.creatingCharacter = false;
self:UpdateForwardButton();
end
......@@ -476,7 +479,7 @@ function CharacterCreateMixin:RefreshCurrentNavBlocker()
end
function CharacterCreateMixin:CanNavForward()
return not self.currentNavBlocker;
return not self.currentNavBlocker and not self.creatingCharacter;
end
function CharacterCreateMixin:GetSelectedName()
......@@ -495,6 +498,9 @@ function CharacterCreateMixin:CreateCharacter()
KioskModeSplash:SetAutoEnterWorld(true);
end
self.creatingCharacter = true;
self:UpdateForwardButton();
C_CharacterCreation.CreateCharacter(self:GetSelectedName(), ZoneChoiceFrame.useNPE, RaceAndClassFrame:GetCreateCharacterFaction());
end
end
......
......@@ -2,6 +2,5 @@
## Author: Blizzard Entertainment
## AllowLoad: Glue
## RequiredDep: Blizzard_CharacterCustomize
## LoadOnDemand: 1
Blizzard_CharacterCreate.lua
Blizzard_CharacterCreate.xml
......@@ -59,11 +59,11 @@
</KeyValues>
<Layers>
<Layer level="ARTWORK">
<Layer level="OVERLAY" textureSubLevel="2">