Commit 1646bbce authored by TOM_RUS's avatar TOM_RUS

WOW-34714patch9.0.1_Beta

parent 1fa8f343
......@@ -48,6 +48,20 @@ local ActionBarFrame =
{ Name = "slots", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "GetBonusBarIndexForSlot",
Type = "Function",
Arguments =
{
{ Name = "slotID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "bonusBarIndex", Type = "number", Nilable = true },
},
},
{
Name = "GetPetActionPetBarIndices",
Type = "Function",
......
......@@ -85,6 +85,15 @@ local BarberShop =
{ Name = "diffDegrees", Type = "number", Nilable = false },
},
},
{
Name = "SetCameraDistanceOffset",
Type = "Function",
Arguments =
{
{ Name = "offset", Type = "number", Nilable = false },
},
},
{
Name = "SetCameraZoomLevel",
Type = "Function",
......@@ -105,6 +114,15 @@ local BarberShop =
{ Name = "choiceID", Type = "number", Nilable = false },
},
},
{
Name = "SetModelDressState",
Type = "Function",
Arguments =
{
{ Name = "dressedState", Type = "bool", Nilable = false },
},
},
{
Name = "SetViewingAlteredForm",
Type = "Function",
......@@ -114,6 +132,15 @@ local BarberShop =
{ Name = "isViewingAlteredForm", Type = "bool", Nilable = false },
},
},
{
Name = "SetViewingShapeshiftForm",
Type = "Function",
Arguments =
{
{ Name = "shapeshiftFormID", Type = "number", Nilable = true },
},
},
{
Name = "ZoomCamera",
Type = "Function",
......
......@@ -110,6 +110,7 @@ PetJournalInfoDocumentation.lua
PlayerChoiceDocumentation.lua
PlayerInfoDocumentation.lua
PlayerLocationDocumentation.lua
PlayerMentorshipDocumentation.lua
PvpInfoDocumentation.lua
QuestLineInfoDocumentation.lua
QuestLogDocumentation.lua
......@@ -178,7 +179,7 @@ BaseDocumentation.lua
BountySharedDocumentation.lua
CalendarConstantsDocumentation.lua
CharacterCustomizationSharedDocumentation.lua
ChatDocumentation.lua
ChatConstantsDocumentation.lua
ClubSharedDocumentation.lua
ColorDocumentation.lua
CovenantCallingsConstantsDocumentation.lua
......@@ -194,6 +195,7 @@ LegendaryCraftingTypesDocumentation.lua
ModelSceneDocumentation.lua
NamePlateDocumentation.lua
PlayerDocumentation.lua
PlayerMentorshipConstantsDocumentation.lua
QuestConstantsDocumentation.lua
QuestSessionConstantsDocumentation.lua
QueueSpecificDocumentation.lua
......
local Chat =
local ChatConstants =
{
Tables =
{
{
Name = "ChatChannelRuleset",
Type = "Enumeration",
NumValues = 2,
MinValue = 0,
MaxValue = 1,
Fields =
{
{ Name = "None", Type = "ChatChannelRuleset", EnumValue = 0 },
{ Name = "Mentor", Type = "ChatChannelRuleset", EnumValue = 1 },
},
},
{
Name = "ChatChannelType",
Type = "Enumeration",
NumValues = 6,
NumValues = 5,
MinValue = 0,
MaxValue = 5,
MaxValue = 4,
Fields =
{
{ Name = "None", Type = "ChatChannelType", EnumValue = 0 },
......@@ -15,10 +27,9 @@ local Chat =
{ Name = "PrivateParty", Type = "ChatChannelType", EnumValue = 2 },
{ Name = "PublicParty", Type = "ChatChannelType", EnumValue = 3 },
{ Name = "Communities", Type = "ChatChannelType", EnumValue = 4 },
{ Name = "Count", Type = "ChatChannelType", EnumValue = 5 },
},
},
},
};
APIDocumentation:AddDocumentationTable(Chat);
\ No newline at end of file
APIDocumentation:AddDocumentationTable(ChatConstants);
\ No newline at end of file
......@@ -24,6 +24,20 @@ local ChatInfo =
{ Name = "guid", Type = "string", Nilable = false },
},
},
{
Name = "GetChannelRuleset",
Type = "Function",
Arguments =
{
{ Name = "channelIndex", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "ruleset", Type = "ChatChannelRuleset", Nilable = false },
},
},
{
Name = "GetClubStreamIDs",
Type = "Function",
......
......@@ -189,6 +189,19 @@ local GarrisonConstants =
{ Name = "Tree", Type = "GarrTalentResearchCostSource", EnumValue = 1 },
},
},
{
Name = "GarrTalentSocketType",
Type = "Enumeration",
NumValues = 3,
MinValue = 0,
MaxValue = 2,
Fields =
{
{ Name = "None", Type = "GarrTalentSocketType", EnumValue = 0 },
{ Name = "Spell", Type = "GarrTalentSocketType", EnumValue = 1 },
{ Name = "Conduit", Type = "GarrTalentSocketType", EnumValue = 2 },
},
},
{
Name = "GarrTalentTreeType",
Type = "Enumeration",
......
......@@ -67,6 +67,18 @@ local GarrisonShared =
{ Name = "perkSpellID", Type = "number", Nilable = false },
{ Name = "researchDescription", Type = "string", Nilable = true },
{ Name = "playerConditionReason", Type = "string", Nilable = true },
{ Name = "socketInfo", Type = "GarrisonTalentSocketInfo", Nilable = false },
},
},
{
Name = "GarrisonTalentSocketInfo",
Type = "Structure",
Fields =
{
{ Name = "socketType", Type = "number", Nilable = false },
{ Name = "socketSubtype", Type = "number", Nilable = false },
{ Name = "misc0", Type = "number", Nilable = false },
{ Name = "misc1", Type = "number", Nilable = false },
},
},
},
......
local PlayerMentorshipConstants =
{
Tables =
{
{
Name = "PlayerMentorshipApplicationResult",
Type = "Enumeration",
NumValues = 3,
MinValue = 0,
MaxValue = 2,
Fields =
{
{ Name = "Success", Type = "PlayerMentorshipApplicationResult", EnumValue = 0 },
{ Name = "AlreadyMentor", Type = "PlayerMentorshipApplicationResult", EnumValue = 1 },
{ Name = "Ineligible", Type = "PlayerMentorshipApplicationResult", EnumValue = 2 },
},
},
{
Name = "PlayerMentorshipStatus",
Type = "Enumeration",
NumValues = 3,
MinValue = 0,
MaxValue = 2,
Fields =
{
{ Name = "None", Type = "PlayerMentorshipStatus", EnumValue = 0 },
{ Name = "Newcomer", Type = "PlayerMentorshipStatus", EnumValue = 1 },
{ Name = "Mentor", Type = "PlayerMentorshipStatus", EnumValue = 2 },
},
},
},
};
APIDocumentation:AddDocumentationTable(PlayerMentorshipConstants);
\ No newline at end of file
local PlayerMentorship =
{
Name = "PlayerMentorship",
Type = "System",
Namespace = "C_PlayerMentorship",
Functions =
{
{
Name = "ApplyForMentorshipStatus",
Type = "Function",
},
{
Name = "GetMentorshipStatus",
Type = "Function",
Arguments =
{
{ Name = "playerLocation", Type = "table", Mixin = "PlayerLocationMixin", Nilable = false },
},
Returns =
{
{ Name = "status", Type = "PlayerMentorshipStatus", Nilable = false },
},
},
{
Name = "RelinquishMentorshipStatus",
Type = "Function",
},
},
Events =
{
{
Name = "MentorshipApplicationResult",
Type = "Event",
LiteralName = "MENTORSHIP_APPLICATION_RESULT",
Payload =
{
{ Name = "result", Type = "PlayerMentorshipApplicationResult", Nilable = false },
},
},
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(PlayerMentorship);
\ No newline at end of file
......@@ -32,6 +32,34 @@ local Soulbinds =
{ Name = "soulbindID", Type = "number", Nilable = false },
},
},
{
Name = "GetConduitSpellID",
Type = "Function",
Arguments =
{
{ Name = "conduitID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "spellID", Type = "number", Nilable = false },
},
},
{
Name = "GetItemConduitID",
Type = "Function",
Arguments =
{
{ Name = "itemLocation", Type = "table", Mixin = "ItemLocationMixin", Nilable = false },
},
Returns =
{
{ Name = "conduitID", Type = "number", Nilable = false },
},
},
{
Name = "GetItemConduitType",
Type = "Function",
......@@ -196,7 +224,7 @@ local Soulbinds =
Payload =
{
{ Name = "nodeID", Type = "number", Nilable = false },
{ Name = "itemID", Type = "number", Nilable = false },
{ Name = "conduitID", Type = "number", Nilable = false },
},
},
{
......@@ -236,6 +264,15 @@ local Soulbinds =
{ Name = "nodeID", Type = "number", Nilable = false },
},
},
{
Name = "SoulbindNodeUpdated",
Type = "Event",
LiteralName = "SOULBIND_NODE_UPDATED",
Payload =
{
{ Name = "nodeID", Type = "number", Nilable = false },
},
},
},
Tables =
......@@ -274,6 +311,7 @@ local Soulbinds =
{ Name = "icon", Type = "number", Nilable = false },
{ Name = "spellID", Type = "number", Nilable = false },
{ Name = "conduitID", Type = "number", Nilable = false },
{ Name = "conduitRank", Type = "number", Nilable = false },
{ Name = "state", Type = "SoulbindNodeState", Nilable = false },
{ Name = "conduitType", Type = "SoulbindConduitType", Nilable = true },
{ Name = "parentNodeIDs", Type = "table", InnerType = "number", Nilable = false },
......
......@@ -35,16 +35,14 @@ function BarberShopMixin:OnShow()
UIErrorsFrame:ClearAllPoints();
UIErrorsFrame:SetPoint("TOP", self.Banner, "BOTTOM", 0, 0);
self:SetScale(UIParent:GetScale());
local reset = true;
self:UpdateCharCustomizationFrame(reset);
local currentCharacterData = C_BarberShop.GetCurrentCharacterData();
if currentCharacterData then
CharCustomizeFrame:SetSelectedData(currentCharacterData.raceData, currentCharacterData.sex, C_BarberShop.IsViewingAlteredForm());
end
local reset = true;
self:UpdateCharCustomizationFrame(reset);
PlaySound(SOUNDKIT.BARBERSHOP_SIT);
end
......@@ -123,9 +121,21 @@ function BarberShopMixin:ResetCharacterRotation()
C_BarberShop.ResetCameraRotation();
end
function BarberShopMixin:SetViewingAlteredForm(viewingAlteredForm)
function BarberShopMixin:SetViewingAlteredForm(viewingAlteredForm, resetCategory)
C_BarberShop.SetViewingAlteredForm(viewingAlteredForm);
self:UpdateCharCustomizationFrame();
self:UpdateCharCustomizationFrame(resetCategory);
end
function BarberShopMixin:SetViewingShapeshiftForm(formID)
C_BarberShop.SetViewingShapeshiftForm(formID);
end
function BarberShopMixin:SetModelDressState(dressedState)
C_BarberShop.SetModelDressState(dressedState);
end
function BarberShopMixin:SetCameraDistanceOffset(offset)
C_BarberShop.SetCameraDistanceOffset(offset);
end
BarberShopButtonMixin = {};
......
......@@ -11,7 +11,7 @@ local PENDING_RANDOM_NAME = "...";
local ZONE_CHOICE_ZOOM_AMOUNT = 100;
local ZOOM_TIME_SECONDS = 0.25;
local ROTATION_ADJUST_SECONDS = 0.25;
local CLASS_ANIM_WAIT_TIME_SECONDS = 10;
local CLASS_ANIM_WAIT_TIME_SECONDS = 5;
local RaceAndClassFrame;
local NameChoiceFrame;
......@@ -123,6 +123,8 @@ function CharacterCreateMixin:OnEvent(event, ...)
elseif event == "CHAR_CREATE_BEGIN_ANIMATIONS" then
if self.currentMode == CHAR_CREATE_MODE_CLASS_RACE then
RaceAndClassFrame:PlayClassAnimations();
else
RaceAndClassFrame:PlayCustomizationAnimation();
end
elseif event == "CHAR_CREATE_ANIM_KIT_FINISHED" then
local animKitID, spellVisualKitID = ...;
......@@ -312,7 +314,6 @@ function CharacterCreateMixin:SetMode(mode, instantRotate)
RaceAndClassFrame:PlayClassAnimations();
C_CharacterCreation.SetBlurEnabled(false);
self:SetCameraZoomLevel(0);
......@@ -331,11 +332,12 @@ function CharacterCreateMixin:SetMode(mode, instantRotate)
self.BottomBackgroundOverlay.FadeOut:Play();
CharCustomizeFrame:SetSelectedData(RaceAndClassFrame.selectedRaceData, RaceAndClassFrame.selectedSexID, C_CharacterCreation.IsViewingAlteredForm());
-- We are entering customize mode. Grab the customizations for the selected race & sex and send it to CharCustomizeFrame before showing it
local reset = true;
self:UpdateCharCustomizationFrame(reset);
CharCustomizeFrame:SetSelectedData(RaceAndClassFrame.selectedRaceData, RaceAndClassFrame.selectedSexID, C_CharacterCreation.IsViewingAlteredForm());
ClassTrialSpecs:SetClass(RaceAndClassFrame.selectedClassID, RaceAndClassFrame.selectedSexID);
ZoneChoiceFrame:Setup();
else
......@@ -618,11 +620,11 @@ local classLayoutIndices = {
WARRIOR = 1,
HUNTER = 2,
MAGE = 3,
PRIEST = 4,
ROGUE = 5,
DRUID = 6,
ROGUE = 4,
PRIEST = 5,
WARLOCK = 6,
PALADIN = 7,
WARLOCK = 8,
DRUID = 8,
SHAMAN = 9,
MONK = 10,
DEMONHUNTER = 11,
......@@ -879,25 +881,32 @@ function CharacterCreateRaceAndClassMixin:OnShow()
end
function CharacterCreateRaceAndClassMixin:OnHide()
self:StopClassAnimations();
self:DestroyTargetDummies();
end
function CharacterCreateRaceAndClassMixin:SetupTargetDummies()
end
function CharacterCreateRaceAndClassMixin:DestroyTargetDummies()
end
-- TODO: Move these into WowEdit once we decide if per-class control (and not class/race combo control) is enough for our needs
function CharacterCreateRaceAndClassMixin:PlayClassAnimations()
end
function CharacterCreateRaceAndClassMixin:StopClassAnimations()
C_CharacterCreation.StopAllSpellVisualKitsOnCharacter();
end
function CharacterCreateRaceAndClassMixin:OnAnimKitFinished(animKitID, spellVisualKitID)
end
function CharacterCreateRaceAndClassMixin:PlayClassIdleAnimation()
local noBlending = false;
C_CharacterCreation.PlayClassIdleAnimationOnCharacter(noBlending);
function CharacterCreateRaceAndClassMixin:PlayClassIdleAnimation(useBlending)
self:StopClassAnimations();
C_CharacterCreation.PlayClassIdleAnimationOnCharacter(not useBlending);
end
function CharacterCreateRaceAndClassMixin:PlayCustomizationAnimation()
self:StopClassAnimations();
C_CharacterCreation.PlayCustomizationIdleAnimationOnCharacter();
end
......@@ -905,6 +914,9 @@ function CharacterCreateRaceAndClassMixin:IsPlayingClassAnimtion()
return false;
end
function CharacterCreateRaceAndClassMixin:ClearCurrentSpellVisualKit()
end
function CharacterCreateRaceAndClassMixin:UpdateState(selectedFaction)
self.selectedRaceID = C_CharacterCreation.GetSelectedRace();
self.selectedRaceData = C_CharacterCreation.GetRaceDataByID(self.selectedRaceID);
......@@ -937,7 +949,7 @@ function CharacterCreateRaceAndClassMixin:SetCharacterRace(raceID, faction)
if self.selectedRaceID ~= raceID then
CharacterCreateFrame:ResetCharacterRotation();
self.allowClassAnimationsAfterSeconds = CLASS_ANIM_WAIT_TIME_SECONDS;
self:StopClassAnimations();
self:ClearCurrentSpellVisualKit();
C_CharacterCreation.SetSelectedRace(raceID);
end
......@@ -947,9 +959,10 @@ end
function CharacterCreateRaceAndClassMixin:SetCharacterClass(classID)
self.allowClassAnimationsAfterSeconds = 0;
if self.selectedClassID ~= classID then
self:StopClassAnimations();
self:ClearCurrentSpellVisualKit();
C_CharacterCreation.SetSelectedClass(classID);
elseif not self:IsPlayingClassAnimtion() then
self:ClearCurrentSpellVisualKit();
self:PlayClassAnimations();
end
......@@ -960,7 +973,7 @@ function CharacterCreateRaceAndClassMixin:SetCharacterSex(sexID)
if self.selectedSexID ~= sexID then
CharacterCreateFrame:ResetCharacterRotation();
self.allowClassAnimationsAfterSeconds = CLASS_ANIM_WAIT_TIME_SECONDS;
self:StopClassAnimations();
self:ClearCurrentSpellVisualKit();
C_CharacterCreation.SetSelectedSex(sexID);
end
......@@ -1199,7 +1212,7 @@ end
function CharacterCreateNameAvailabilityStateMixin:SetupAnchors(tooltip)
tooltip:SetOwner(self, "ANCHOR_NONE");
tooltip:SetPoint("TOPLEFT", self, "BOTTOMRIGHT", self.tooltipXOffset, self.tooltipYOffset);
tooltip:SetPoint("BOTTOMLEFT", self, "TOPRIGHT", self.tooltipXOffset, self.tooltipYOffset);
end
function CharacterCreateNameAvailabilityStateMixin:OnEvent(event, ...)
......
......@@ -47,6 +47,8 @@
<Size x="48" y="48"/>
<KeyValues>
<KeyValue key="tooltipAnchor" value="ANCHOR_BOTTOMRIGHT" type="string"/>
<KeyValue key="tooltipXOffset" value="-5" type="number"/>
<KeyValue key="tooltipYOffset" value="-5" type="number"/>
<KeyValue key="tooltipMinWidth" value="nil" type="number"/>
</KeyValues>
<HitRectInsets left="6" right="6" top="6" bottom="6"/>
......@@ -86,29 +88,38 @@
</Button>
<CheckButton name="CharCustomizeMaskedButtonTemplate" inherits="CharCustomizeFrameWithTooltipTemplate" mixin="CharCustomizeMaskedButtonMixin" motionScriptsWhileDisabled="true" virtual="true">
<KeyValues>
<KeyValue key="disabledOverlayAlpha" value="0" type="number"/>
<KeyValue key="circleMaskSizeOffset" value="2" type="number"/>
</KeyValues>
<NormalTexture parentKey="NormalTexture"/>
<HighlightTexture parentKey="HighlightTexture" alphaMode="ADD" alpha="0.2"/>
<HighlightTexture parentKey="HighlightTexture" alphaMode="ADD" alpha="0.5"/>
<PushedTexture parentKey="PushedTexture">
<Anchors>
<Anchor point="TOPLEFT" x="1" y="-1"/>
<Anchor point="BOTTOMRIGHT" x="1" y="-1"/>
</Anchors>
</PushedTexture>
<CheckedTexture parentKey="CheckedTexture" atlas="charactercreate-ring-select" texelSnappingBias="0.0" snapToPixelGrid="false">
<Anchors>
<Anchor point="CENTER" />
</Anchors>
</CheckedTexture>
<Layers>
<Layer level="OVERLAY" textureSubLevel="-1">
<Texture parentKey="DisabledOverlay" hidden="true" setAllPoints="true">
<Color r="0.0" g="0.0" b="0.0"/>
</Texture>
</Layer>
<Layer level="OVERLAY">
<MaskTexture parentKey="CircleMask" file="Interface\CharacterFrame\TempPortraitAlphaMask" hWrapMode="CLAMPTOBLACKADDITIVE" vWrapMode="CLAMPTOBLACKADDITIVE" />
<Texture parentKey="Ring">
<Anchors>
<Anchor point="CENTER"/>
</Anchors>
</Texture>
</Layer>
<Layer level="OVERLAY">
<MaskTexture parentKey="CircleMask" file="Interface\CharacterFrame\TempPortraitAlphaMask" hWrapMode="CLAMPTOBLACKADDITIVE" vWrapMode="CLAMPTOBLACKADDITIVE" />
</Layer>
</Layers>
<Scripts>
......@@ -118,25 +129,32 @@
</Scripts>
</CheckButton>
<CheckButton name="CharCustomizeAlteredFormButtonTemplate" inherits="CharCustomizeMaskedButtonTemplate" mixin="CharacterCreateAlteredFormButtonMixin" virtual="true">
<CheckButton name="CharCustomizeAlteredFormButtonTemplate" inherits="CharCustomizeMaskedButtonTemplate" mixin="CharCustomizeAlteredFormButtonMixin" virtual="true">
<Size x="79" y="79"/>
<KeyValues>
<KeyValue key="ringAtlas" value="charactercreate-ring-metallight" type="string"/>
<KeyValue key="ringWidth" value="139" type="number"/>
<KeyValue key="ringHeight" value="140" type="number"/>
<KeyValue key="checkedTextureSize" value="118" type="number"/>