├── .gitignore
├── AddOns
├── Blizzard_AchievementUI
│ ├── Blizzard_AchievementUI.lua
│ ├── Blizzard_AchievementUI.toc
│ ├── Blizzard_AchievementUI.xml
│ └── Localization.lua
├── Blizzard_AdventureMap
│ ├── AM_MissionDataProvider.lua
│ ├── AM_MissionDataProvider.xml
│ ├── AM_MissionTooltip.lua
│ ├── AM_QuestChoiceDataProvider.lua
│ ├── AM_QuestChoiceDataProvider.xml
│ ├── AM_QuestDialog.lua
│ ├── AM_QuestDialog.xml
│ ├── AM_QuestOfferDataProvider.lua
│ ├── AM_QuestOfferDataProvider.xml
│ ├── AM_ZoneSummaryDataProvider.lua
│ ├── AM_ZoneSummaryDataProvider.xml
│ ├── Blizzard_AdventureMap.lua
│ ├── Blizzard_AdventureMap.toc
│ ├── Blizzard_AdventureMap.xml
│ ├── Blizzard_AdventureMapInset.lua
│ ├── Blizzard_AdventureMapInset.xml
│ └── Blizzard_AdventureMapUtils.lua
├── Blizzard_ArchaeologyUI
│ ├── Blizzard_ArchaeologyProgressBar.lua
│ ├── Blizzard_ArchaeologyProgressBar.xml
│ ├── Blizzard_ArchaeologyUI.lua
│ ├── Blizzard_ArchaeologyUI.toc
│ ├── Blizzard_ArchaeologyUI.xml
│ └── Localization.lua
├── Blizzard_ArenaUI
│ ├── Blizzard_ArenaUI.lua
│ ├── Blizzard_ArenaUI.toc
│ ├── Blizzard_ArenaUI.xml
│ └── Localization.lua
├── Blizzard_ArtifactUI
│ ├── Blizzard_ArtifactAppearances.lua
│ ├── Blizzard_ArtifactAppearances.xml
│ ├── Blizzard_ArtifactPerks.lua
│ ├── Blizzard_ArtifactPerks.xml
│ ├── Blizzard_ArtifactPowerButton.lua
│ ├── Blizzard_ArtifactPowerButton.xml
│ ├── Blizzard_ArtifactUI.lua
│ ├── Blizzard_ArtifactUI.toc
│ └── Blizzard_ArtifactUI.xml
├── Blizzard_AuctionUI
│ ├── Blizzard_AuctionData.lua
│ ├── Blizzard_AuctionUI.lua
│ ├── Blizzard_AuctionUI.toc
│ ├── Blizzard_AuctionUI.xml
│ ├── Blizzard_AuctionUITemplates.xml
│ └── Localization.lua
├── Blizzard_AuthChallengeUI
│ ├── Blizzard_AuthChallengeUI.lua
│ ├── Blizzard_AuthChallengeUI.toc
│ └── Blizzard_AuthChallengeUI.xml
├── Blizzard_BarbershopUI
│ ├── Blizzard_BarberShopUI.lua
│ ├── Blizzard_BarberShopUI.toc
│ ├── Blizzard_BarberShopUI.xml
│ └── Localization.lua
├── Blizzard_BattlefieldMinimap
│ ├── Blizzard_BattlefieldMinimap.lua
│ ├── Blizzard_BattlefieldMinimap.toc
│ ├── Blizzard_BattlefieldMinimap.xml
│ └── Localization.lua
├── Blizzard_BindingUI
│ ├── Blizzard_BindingUI.lua
│ ├── Blizzard_BindingUI.toc
│ ├── Blizzard_BindingUI.xml
│ └── Localization.lua
├── Blizzard_BlackMarketUI
│ ├── Blizzard_BlackMarketUI.lua
│ ├── Blizzard_BlackMarketUI.toc
│ ├── Blizzard_BlackMarketUI.xml
│ └── Localization.lua
├── Blizzard_BoostTutorial
│ ├── Blizzard_BoostTutorial.lua
│ └── Blizzard_BoostTutorial.toc
├── Blizzard_CUFProfiles
│ ├── Blizzard_CUFProfiles.toc
│ ├── Blizzard_CompactUnitFrameProfiles.lua
│ └── Blizzard_CompactUnitFrameProfiles.xml
├── Blizzard_Calendar
│ ├── Blizzard_Calendar.lua
│ ├── Blizzard_Calendar.toc
│ ├── Blizzard_Calendar.xml
│ ├── Blizzard_CalendarTemplates.xml
│ └── Localization.lua
├── Blizzard_ChallengesUI
│ ├── Blizzard_ChallengesUI.lua
│ ├── Blizzard_ChallengesUI.toc
│ ├── Blizzard_ChallengesUI.xml
│ └── Localization.lua
├── Blizzard_ClassTrial
│ ├── Blizzard_ClassTrial.lua
│ ├── Blizzard_ClassTrial.toc
│ ├── Blizzard_ClassTrial.xml
│ ├── Blizzard_ClassTrialOutbound.lua
│ └── Blizzard_ClassTrialSecure.lua
├── Blizzard_ClientSavedVariables
│ └── Blizzard_ClientSavedVariables.toc
├── Blizzard_Collections
│ ├── Blizzard_CollectionTemplates.lua
│ ├── Blizzard_CollectionTemplates.xml
│ ├── Blizzard_Collections.lua
│ ├── Blizzard_Collections.toc
│ ├── Blizzard_Collections.xml
│ ├── Blizzard_HeirloomCollection.lua
│ ├── Blizzard_HeirloomCollection.xml
│ ├── Blizzard_MountCollection.lua
│ ├── Blizzard_MountCollection.xml
│ ├── Blizzard_PetCollection.lua
│ ├── Blizzard_PetCollection.xml
│ ├── Blizzard_ToyBox.lua
│ ├── Blizzard_ToyBox.xml
│ ├── Blizzard_Wardrobe.lua
│ ├── Blizzard_Wardrobe.xml
│ └── Localization.lua
├── Blizzard_CombatLog
│ ├── Blizzard_CombatLog.lua
│ ├── Blizzard_CombatLog.toc
│ ├── Blizzard_CombatLog.xml
│ └── Localization.lua
├── Blizzard_CombatText
│ ├── Blizzard_CombatText.lua
│ ├── Blizzard_CombatText.toc
│ ├── Blizzard_CombatText.xml
│ └── Localization.lua
├── Blizzard_CompactRaidFrames
│ ├── Blizzard_CompactRaidFrameContainer.lua
│ ├── Blizzard_CompactRaidFrameContainer.xml
│ ├── Blizzard_CompactRaidFrameManager.lua
│ ├── Blizzard_CompactRaidFrameManager.xml
│ ├── Blizzard_CompactRaidFrameReservationManager.lua
│ ├── Blizzard_CompactRaidFrames.toc
│ └── Localization.lua
├── Blizzard_DeathRecap
│ ├── Blizzard_DeathRecap.lua
│ ├── Blizzard_DeathRecap.toc
│ ├── Blizzard_DeathRecap.xml
│ └── Localization.lua
├── Blizzard_DebugTools
│ ├── Blizzard_DebugTools.lua
│ ├── Blizzard_DebugTools.toc
│ ├── Blizzard_DebugTools.xml
│ ├── Dump.lua
│ └── Localization.lua
├── Blizzard_EncounterJournal
│ ├── Blizzard_EncounterJournal.lua
│ ├── Blizzard_EncounterJournal.toc
│ ├── Blizzard_EncounterJournal.xml
│ ├── Blizzard_LootJournal.lua
│ ├── Blizzard_LootJournal.xml
│ └── Localization.lua
├── Blizzard_FlightMap
│ ├── Blizzard_FlightMap.lua
│ ├── Blizzard_FlightMap.toc
│ ├── Blizzard_FlightMap.xml
│ ├── FM_FlightPathDataProvider.lua
│ ├── FM_FlightPathDataProvider.xml
│ ├── FM_ZoneSummaryDataProvider.lua
│ └── FM_ZoneSummaryDataProvider.xml
├── Blizzard_GMChatUI
│ ├── Blizzard_GMChatUI.lua
│ ├── Blizzard_GMChatUI.toc
│ ├── Blizzard_GMChatUI.xml
│ └── Localization.lua
├── Blizzard_GMSurveyUI
│ ├── Blizzard_GMSurveyUI.lua
│ ├── Blizzard_GMSurveyUI.toc
│ ├── Blizzard_GMSurveyUI.xml
│ └── Localization.lua
├── Blizzard_GarrisonTemplates
│ ├── Blizzard_GarrisonMissionTemplates.lua
│ ├── Blizzard_GarrisonMissionTemplates.xml
│ ├── Blizzard_GarrisonSharedTemplates.lua
│ ├── Blizzard_GarrisonSharedTemplates.xml
│ └── Blizzard_GarrisonTemplates.toc
├── Blizzard_GarrisonUI
│ ├── Blizzard_GarrisonBuildingUI.lua
│ ├── Blizzard_GarrisonBuildingUI.xml
│ ├── Blizzard_GarrisonCapacitiveDisplay.lua
│ ├── Blizzard_GarrisonCapacitiveDisplay.xml
│ ├── Blizzard_GarrisonLandingPage.lua
│ ├── Blizzard_GarrisonLandingPage.xml
│ ├── Blizzard_GarrisonMissionUI.lua
│ ├── Blizzard_GarrisonMissionUI.xml
│ ├── Blizzard_GarrisonMonumentUI.lua
│ ├── Blizzard_GarrisonMonumentUI.xml
│ ├── Blizzard_GarrisonRecruiterUI.lua
│ ├── Blizzard_GarrisonRecruiterUI.xml
│ ├── Blizzard_GarrisonShipyardUI.lua
│ ├── Blizzard_GarrisonShipyardUI.xml
│ ├── Blizzard_GarrisonUI.toc
│ └── Localization.lua
├── Blizzard_GuildBankUI
│ ├── Blizzard_GuildBankUI.lua
│ ├── Blizzard_GuildBankUI.toc
│ ├── Blizzard_GuildBankUI.xml
│ └── Localization.lua
├── Blizzard_GuildControlUI
│ ├── Blizzard_GuildControlUI.lua
│ ├── Blizzard_GuildControlUI.toc
│ ├── Blizzard_GuildControlUI.xml
│ └── Localization.lua
├── Blizzard_GuildUI
│ ├── Blizzard_GuildInfo.lua
│ ├── Blizzard_GuildInfo.xml
│ ├── Blizzard_GuildNews.lua
│ ├── Blizzard_GuildNews.xml
│ ├── Blizzard_GuildRewards.lua
│ ├── Blizzard_GuildRewards.xml
│ ├── Blizzard_GuildRoster.lua
│ ├── Blizzard_GuildRoster.xml
│ ├── Blizzard_GuildUI.lua
│ ├── Blizzard_GuildUI.toc
│ ├── Blizzard_GuildUI.xml
│ └── Localization.lua
├── Blizzard_InspectUI
│ ├── Blizzard_InspectUI.lua
│ ├── Blizzard_InspectUI.toc
│ ├── Blizzard_InspectUI.xml
│ ├── InspectGuildFrame.lua
│ ├── InspectGuildFrame.xml
│ ├── InspectPVPFrame.lua
│ ├── InspectPVPFrame.xml
│ ├── InspectPaperDollFrame.lua
│ ├── InspectPaperDollFrame.xml
│ ├── InspectTalentFrame.lua
│ ├── InspectTalentFrame.xml
│ └── Localization.lua
├── Blizzard_ItemSocketingUI
│ ├── Blizzard_ItemSocketingUI.lua
│ ├── Blizzard_ItemSocketingUI.toc
│ ├── Blizzard_ItemSocketingUI.xml
│ └── Localization.lua
├── Blizzard_ItemUpgradeUI
│ ├── Blizzard_ItemUpgradeUI.lua
│ ├── Blizzard_ItemUpgradeUI.toc
│ ├── Blizzard_ItemUpgradeUI.xml
│ └── Localization.lua
├── Blizzard_LookingForGuildUI
│ ├── Blizzard_LookingForGuildUI.lua
│ ├── Blizzard_LookingForGuildUI.toc
│ ├── Blizzard_LookingForGuildUI.xml
│ └── Localization.lua
├── Blizzard_MacroUI
│ ├── Blizzard_MacroUI.lua
│ ├── Blizzard_MacroUI.toc
│ ├── Blizzard_MacroUI.xml
│ └── Localization.lua
├── Blizzard_MapCanvas
│ ├── Blizzard_MapCanvas.lua
│ ├── Blizzard_MapCanvas.toc
│ ├── Blizzard_MapCanvas.xml
│ ├── Blizzard_MapCanvasDetailLayer.lua
│ └── MapCanvas_DataProviderBase.lua
├── Blizzard_MovePad
│ ├── Blizzard_MovePad.toc
│ └── Blizzard_MovePad.xml
├── Blizzard_NamePlates
│ ├── Blizzard_ClassNameplateBar.lua
│ ├── Blizzard_ClassNameplateBar.xml
│ ├── Blizzard_ClassNameplateBar_DeathKnight.lua
│ ├── Blizzard_ClassNameplateBar_DeathKnight.xml
│ ├── Blizzard_ClassNameplateBar_Mage.lua
│ ├── Blizzard_ClassNameplateBar_Mage.xml
│ ├── Blizzard_ClassNameplateBar_Monk.lua
│ ├── Blizzard_ClassNameplateBar_Monk.xml
│ ├── Blizzard_ClassNameplateBar_Paladin.lua
│ ├── Blizzard_ClassNameplateBar_Paladin.xml
│ ├── Blizzard_ClassNameplateBar_RogueDruid.lua
│ ├── Blizzard_ClassNameplateBar_RogueDruid.xml
│ ├── Blizzard_ClassNameplateBar_Warlock.lua
│ ├── Blizzard_ClassNameplateBar_Warlock.xml
│ ├── Blizzard_NamePlates.lua
│ ├── Blizzard_NamePlates.toc
│ └── Blizzard_NamePlates.xml
├── Blizzard_ObjectiveTracker
│ ├── Blizzard_AchievementObjectiveTracker.lua
│ ├── Blizzard_AutoQuestPopUpTracker.lua
│ ├── Blizzard_AutoQuestPopUpTracker.xml
│ ├── Blizzard_BonusObjectiveTracker.lua
│ ├── Blizzard_BonusObjectiveTracker.xml
│ ├── Blizzard_ObjectiveTracker.lua
│ ├── Blizzard_ObjectiveTracker.toc
│ ├── Blizzard_ObjectiveTracker.xml
│ ├── Blizzard_ObjectiveTrackerShared.lua
│ ├── Blizzard_ObjectiveTrackerShared.xml
│ ├── Blizzard_QuestObjectiveTracker.lua
│ ├── Blizzard_QuestObjectiveTracker.xml
│ ├── Blizzard_QuestSuperTracking.lua
│ ├── Blizzard_ScenarioObjectiveTracker.lua
│ └── Blizzard_ScenarioObjectiveTracker.xml
├── Blizzard_ObliterumUI
│ ├── Blizzard_ObliterumUI.lua
│ ├── Blizzard_ObliterumUI.toc
│ └── Blizzard_ObliterumUI.xml
├── Blizzard_OrderHallUI
│ ├── Blizzard_OrderHallCommandBar.lua
│ ├── Blizzard_OrderHallCommandBar.xml
│ ├── Blizzard_OrderHallMissionUI.lua
│ ├── Blizzard_OrderHallMissionUI.xml
│ ├── Blizzard_OrderHallTalents.lua
│ ├── Blizzard_OrderHallTalents.xml
│ ├── Blizzard_OrderHallUI.toc
│ └── Localization.lua
├── Blizzard_PVPUI
│ ├── Blizzard_PVPUI.lua
│ ├── Blizzard_PVPUI.toc
│ ├── Blizzard_PVPUI.xml
│ └── Localization.lua
├── Blizzard_PetBattleUI
│ ├── Blizzard_PetBattleUI.lua
│ ├── Blizzard_PetBattleUI.toc
│ ├── Blizzard_PetBattleUI.xml
│ ├── Blizzard_PetBattleUIPatchwerks.xml
│ └── Localization.lua
├── Blizzard_QuestChoice
│ ├── Blizzard_QuestChoice.lua
│ ├── Blizzard_QuestChoice.toc
│ ├── Blizzard_QuestChoice.xml
│ └── Localization.lua
├── Blizzard_RaidUI
│ ├── Blizzard_RaidUI.lua
│ ├── Blizzard_RaidUI.toc
│ ├── Blizzard_RaidUI.xml
│ └── Localization.lua
├── Blizzard_SecureTransferUI
│ ├── Blizzard_SecureTransferUI.lua
│ ├── Blizzard_SecureTransferUI.toc
│ ├── Blizzard_SecureTransferUI.xml
│ └── Blizzard_SecureTransferUIOutbound.lua
├── Blizzard_SharedMapDataProviders
│ ├── ActiveQuestDataProvider.lua
│ ├── ActiveQuestDataProvider.xml
│ ├── Blizzard_SharedMapDataProviders.toc
│ ├── ClickToZoomDataProvider.lua
│ ├── ClickToZoomDataProvider.xml
│ ├── GroupMembersDataProvider.lua
│ ├── GroupMembersDataProvider.xml
│ ├── WorldQuestDataProvider.lua
│ ├── WorldQuestDataProvider.xml
│ ├── ZoneLabelDataProvider.lua
│ └── ZoneLabelDataProvider.xml
├── Blizzard_SocialUI
│ ├── Blizzard_SocialUI.lua
│ ├── Blizzard_SocialUI.toc
│ ├── Blizzard_SocialUI.xml
│ ├── Blizzard_SocialUIInbound.lua
│ └── Localization.lua
├── Blizzard_StoreUI
│ ├── Blizzard_StoreUI.toc
│ ├── Blizzard_StoreUI.xml
│ ├── Blizzard_StoreUIInbound.lua
│ ├── Blizzard_StoreUIInsecure.lua
│ ├── Blizzard_StoreUIInsecure.xml
│ ├── Blizzard_StoreUIOutbound.lua
│ ├── Blizzard_StoreUIPatchwerk.xml
│ ├── Blizzard_StoreUISecure.lua
│ └── Localization.lua
├── Blizzard_TalentUI
│ ├── Blizzard_TalentUI.lua
│ ├── Blizzard_TalentUI.toc
│ ├── Blizzard_TalentUI.xml
│ └── Localization.lua
├── Blizzard_TalkingHeadUI
│ ├── Blizzard_TalkingHeadUI.lua
│ ├── Blizzard_TalkingHeadUI.toc
│ └── Blizzard_TalkingHeadUI.xml
├── Blizzard_TimeManager
│ ├── Blizzard_TimeManager.lua
│ ├── Blizzard_TimeManager.toc
│ ├── Blizzard_TimeManager.xml
│ └── Localization.lua
├── Blizzard_TokenUI
│ ├── Blizzard_TokenUI.lua
│ ├── Blizzard_TokenUI.toc
│ ├── Blizzard_TokenUI.xml
│ └── Localization.lua
├── Blizzard_TradeSkillUI
│ ├── Blizzard_TradeSkillDetails.lua
│ ├── Blizzard_TradeSkillDetails.xml
│ ├── Blizzard_TradeSkillRecipeButton.lua
│ ├── Blizzard_TradeSkillRecipeButton.xml
│ ├── Blizzard_TradeSkillRecipeList.lua
│ ├── Blizzard_TradeSkillRecipeList.xml
│ ├── Blizzard_TradeSkillUI.lua
│ ├── Blizzard_TradeSkillUI.toc
│ ├── Blizzard_TradeSkillUI.xml
│ ├── Blizzard_TradeSkillUtils.lua
│ └── Localization.lua
├── Blizzard_TrainerUI
│ ├── Blizzard_TrainerUI.lua
│ ├── Blizzard_TrainerUI.toc
│ ├── Blizzard_TrainerUI.xml
│ └── Localization.lua
├── Blizzard_Tutorial
│ ├── Blizzard_Tutorial.lua
│ ├── Blizzard_Tutorial.toc
│ ├── Blizzard_TutorialCalloutFrame.lua
│ ├── Blizzard_TutorialCalloutFrame.xml
│ ├── Blizzard_TutorialDispatcher.lua
│ ├── Blizzard_TutorialKeyboardMouseFrame.lua
│ ├── Blizzard_TutorialKeyboardMouseFrame.xml
│ ├── Blizzard_TutorialLogic.lua
│ ├── Blizzard_TutorialMainFrame.lua
│ ├── Blizzard_TutorialMainFrame.xml
│ ├── Blizzard_TutorialQuestManager.lua
│ ├── Blizzard_TutorialRacialData.lua
│ ├── Blizzard_TutorialRangeManager.lua
│ └── middleclass.lua
├── Blizzard_TutorialTemplates
│ ├── Blizzard_TutorialPointerFrame.lua
│ ├── Blizzard_TutorialPointerFrame.xml
│ └── Blizzard_TutorialTemplates.toc
├── Blizzard_VoidStorageUI
│ ├── Blizzard_VoidStorageUI.lua
│ ├── Blizzard_VoidStorageUI.toc
│ ├── Blizzard_VoidStorageUI.xml
│ └── Localization.lua
└── Blizzard_WowTokenUI
│ ├── Blizzard_WowTokenUI.lua
│ ├── Blizzard_WowTokenUI.toc
│ ├── Blizzard_WowTokenUI.xml
│ ├── Blizzard_WowTokenUIInbound.lua
│ ├── Blizzard_WowTokenUIInsecure.lua
│ ├── Blizzard_WowTokenUIInsecure.xml
│ └── Blizzard_WowTokenUIOutbound.lua
├── FrameXML
├── ActionBarController.lua
├── ActionBarController.xml
├── ActionBarFrame.xml
├── ActionButton.lua
├── ActionButtonTemplate.xml
├── AlertFrameSystems.lua
├── AlertFrameSystems.xml
├── AlertFrames.lua
├── AlertFrames.xml
├── AlternatePowerBar.lua
├── AlternatePowerBar.xml
├── AnimatedStatusBar.lua
├── AnimatedStatusBar.xml
├── AnimationSystem.lua
├── ArtifactToasts.lua
├── ArtifactToasts.xml
├── AudioOptionsFrame.lua
├── AudioOptionsFrame.xml
├── AudioOptionsPanels.lua
├── AudioOptionsPanels.xml
├── AutoComplete.lua
├── AutoComplete.xml
├── BNet.lua
├── BNet.xml
├── BankFrame.lua
├── BankFrame.xml
├── BasicControls.xml
├── BattlePetTooltip.lua
├── BattlePetTooltip.xml
├── Bindings.xml
├── BuffFrame.lua
├── BuffFrame.xml
├── BuilderSpenderFrame.lua
├── BuilderSpenderFrame.xml
├── CastingBarFrame.lua
├── CastingBarFrame.xml
├── ChannelFrame.lua
├── ChannelFrame.xml
├── CharacterFrame.lua
├── CharacterFrame.xml
├── CharacterFrameTemplates.xml
├── ChatConfigFrame.lua
├── ChatConfigFrame.xml
├── ChatFrame.lua
├── ChatFrame.xml
├── CinematicFrame.lua
├── CinematicFrame.xml
├── ClassPowerBar.lua
├── ClassPowerBar.xml
├── ClassResourceOverlay.lua
├── ClassResourceOverlay.xml
├── ClassResourceOverlayDemonHunter.lua
├── ClassResourceOverlayDemonHunter.xml
├── ClassResourceOverlayPaladin.lua
├── ClassResourceOverlayPaladin.xml
├── ClassResourceOverlayRogue.lua
├── ClassResourceOverlayRogue.xml
├── CoinPickupFrame.lua
├── CoinPickupFrame.xml
├── ColorPickerFrame.xml
├── CombatFeedback.lua
├── CombatFeedback.xml
├── ComboFrame.lua
├── ComboFrame.xml
├── ComboFramePlayer.lua
├── ComboFramePlayer.xml
├── CompactPartyFrame.lua
├── CompactPartyFrame.xml
├── CompactRaidGroup.lua
├── CompactRaidGroup.xml
├── CompactUnitFrame.lua
├── CompactUnitFrame.xml
├── Constants.lua
├── ContainerFrame.lua
├── ContainerFrame.xml
├── Cooldown.lua
├── Cooldown.xml
├── DestinyFrame.lua
├── DestinyFrame.xml
├── DressUpFrames.lua
├── DressUpFrames.xml
├── DurabilityFrame.lua
├── DurabilityFrame.xml
├── EasyMenu.lua
├── EclipseBarFrame.lua
├── EclipseBarFrame.xml
├── EquipmentFlyout.lua
├── EquipmentFlyout.xml
├── EquipmentManager.lua
├── ExtraActionBar.lua
├── ExtraActionBar.xml
├── FadingFrame.lua
├── FadingFrame.xml
├── FloatingChatFrame.lua
├── FloatingChatFrame.xml
├── FloatingGarrisonFollowerTooltip.lua
├── FloatingGarrisonFollowerTooltip.xml
├── FloatingPetBattleTooltip.lua
├── FloatingPetBattleTooltip.xml
├── FlowContainer.lua
├── FontStyles.xml
├── Fonts.xml
├── FrameLocks.lua
├── FrameXML.toc
├── FriendsFrame.lua
├── FriendsFrame.xml
├── GameMenuFrame.lua
├── GameMenuFrame.xml
├── GameTime.lua
├── GameTime.xml
├── GameTooltip.lua
├── GameTooltip.xml
├── GameTooltipTemplate.xml
├── GarrisonBaseUtils.lua
├── GarrisonBaseUtils.xml
├── GarrisonFollowerTooltip.lua
├── GarrisonFollowerTooltip.xml
├── GhostFrame.xml
├── GossipFrame.lua
├── GossipFrame.xml
├── GuildInviteFrame.lua
├── GuildInviteFrame.xml
├── GuildRegistrarFrame.lua
├── GuildRegistrarFrame.xml
├── HealthBar.lua
├── HelpFrame.lua
├── HelpFrame.xml
├── HistoryKeeper.lua
├── HonorFrame.lua
├── HonorFrame.xml
├── HonorFrameTemplates.xml
├── IconIntroAnimation.lua
├── IconIntroAnimation.xml
├── InsanityBar.lua
├── InsanityBar.xml
├── InterfaceOptionsFrame.lua
├── InterfaceOptionsFrame.xml
├── InterfaceOptionsPanels.lua
├── InterfaceOptionsPanels.xml
├── ItemButtonTemplate.lua
├── ItemButtonTemplate.xml
├── ItemRef.lua
├── ItemRef.xml
├── ItemTextFrame.lua
├── ItemTextFrame.xml
├── LFDFrame.lua
├── LFDFrame.xml
├── LFGFrame.lua
├── LFGFrame.xml
├── LFGList.lua
├── LFGList.xml
├── LFRFrame.lua
├── LFRFrame.xml
├── LevelUpDisplay.lua
├── LevelUpDisplay.xml
├── Localization.lua
├── Localization.xml
├── LocalizationPost.lua
├── LocalizationPost.xml
├── LootFrame.lua
├── LootFrame.xml
├── LootHistory.lua
├── LootHistory.xml
├── LossOfControlFrame.lua
├── LossOfControlFrame.xml
├── LowHealthFrame.lua
├── LowHealthFrame.xml
├── MacOptionsPanel.lua
├── MacOptionsPanel.xml
├── MageArcaneChargesBar.lua
├── MageArcaneChargesBar.xml
├── MailFrame.lua
├── MailFrame.xml
├── MainMenuBar.lua
├── MainMenuBar.xml
├── MainMenuBarBagButtons.lua
├── MainMenuBarBagButtons.xml
├── MainMenuBarMicroButtons.lua
├── MainMenuBarMicroButtons.xml
├── MapBar.lua
├── MapBar.xml
├── MerchantFrame.lua
├── MerchantFrame.xml
├── Minimap.lua
├── Minimap.xml
├── MirrorTimer.lua
├── MirrorTimer.xml
├── MixinUtil.lua
├── MoneyFrame.lua
├── MoneyFrame.xml
├── MoneyInputFrame.lua
├── MoneyInputFrame.xml
├── MonkHarmonyBar.lua
├── MonkHarmonyBar.xml
├── MonkStaggerBar.lua
├── MonkStaggerBar.xml
├── MovieFrame.lua
├── MovieFrame.xml
├── MovieRecordingProgress.lua
├── MovieRecordingProgress.xml
├── MultiActionBars.lua
├── MultiActionBars.xml
├── MultiCastActionBarFrame.lua
├── MultiCastActionBarFrame.xml
├── NavigationBar.lua
├── NavigationBar.xml
├── OpacitySliderFrame.xml
├── OptionsFrameTemplates.lua
├── OptionsFrameTemplates.xml
├── OptionsPanelTemplates.lua
├── OptionsPanelTemplates.xml
├── OverrideActionBar.lua
├── OverrideActionBar.xml
├── PVEFrame.lua
├── PVEFrame.xml
├── PVPHelper.lua
├── PVPHelper.xml
├── PVPHonorSystem.lua
├── PVPHonorSystem.xml
├── PaladinPowerBar.lua
├── PaladinPowerBar.xml
├── PaperDollFrame.lua
├── PaperDollFrame.xml
├── PartyFrame.xml
├── PartyFrameTemplates.xml
├── PartyMemberFrame.lua
├── PetActionBarFrame.lua
├── PetActionBarFrame.xml
├── PetFrame.lua
├── PetFrame.xml
├── PetPopup.lua
├── PetPopup.xml
├── PetStable.lua
├── PetStable.xml
├── PetitionFrame.lua
├── PetitionFrame.xml
├── PlayerFrame.lua
├── PlayerFrame.xml
├── PossessActionBar.lua
├── PossessActionBar.xml
├── PriestBar.lua
├── PriestBar.xml
├── ProductChoice.lua
├── ProductChoice.xml
├── QuestFrame.lua
├── QuestFrame.xml
├── QuestFrameTemplates.xml
├── QuestInfo.lua
├── QuestInfo.xml
├── QuestMapFrame.lua
├── QuestMapFrame.xml
├── QuestPOI.lua
├── QuestPOI.xml
├── QuestUtils.lua
├── QueueStatusFrame.lua
├── QueueStatusFrame.xml
├── QuickJoin.lua
├── QuickJoin.xml
├── QuickJoinToast.lua
├── QuickJoinToast.xml
├── RaidFinder.lua
├── RaidFinder.xml
├── RaidFrame.lua
├── RaidFrame.xml
├── RaidWarning.lua
├── RaidWarning.xml
├── RatingMenuFrame.xml
├── ReadyCheck.lua
├── ReadyCheck.xml
├── RecruitAFriendFrame.lua
├── RecruitAFriendFrame.xml
├── ReputationFrame.lua
├── ReputationFrame.xml
├── RestrictedEnvironment.lua
├── RestrictedExecution.lua
├── RestrictedFrames.lua
├── RestrictedInfrastructure.lua
├── RolePoll.lua
├── RolePoll.xml
├── RoleSelectionTemplate.lua
├── RoleSelectionTemplate.xml
├── RuneFrame.lua
├── RuneFrame.xml
├── ScenarioFinder.lua
├── ScenarioFinder.xml
├── ScrollOfResurrection.lua
├── ScrollOfResurrection.xml
├── SecureCapsule.lua
├── SecureGroupHeaders.lua
├── SecureGroupHeaders.xml
├── SecureHandlerTemplates.xml
├── SecureHandlers.lua
├── SecureHoverDriver.lua
├── SecureStateDriver.lua
├── SecureTemplates.lua
├── SecureTemplates.xml
├── ShardBar.lua
├── ShardBar.xml
├── SharedPetBattleTemplates.lua
├── SharedPetBattleTemplates.xml
├── SocialQueue.lua
├── SocialQueue.xml
├── Sound.lua
├── SparkleFrame.lua
├── SparkleFrame.xml
├── SpellActivationOverlay.lua
├── SpellActivationOverlay.xml
├── SpellBookFrame.lua
├── SpellBookFrame.xml
├── SpellFlyout.lua
├── SpellFlyout.xml
├── SplashFrame.lua
├── SplashFrame.xml
├── StackSplitFrame.lua
├── StackSplitFrame.xml
├── StanceBar.lua
├── StanceBar.xml
├── StaticPopup.lua
├── StaticPopup.xml
├── StaticPopupSpecial.xml
├── StatsFrame.lua
├── StatsFrame.xml
├── StreamingFrame.lua
├── StreamingFrame.xml
├── TabardFrame.lua
├── TabardFrame.xml
├── TalentFrameBase.lua
├── TalentFrameTemplates.xml
├── TargetFrame.lua
├── TargetFrame.xml
├── TaxiFrame.lua
├── TaxiFrame.xml
├── TextStatusBar.lua
├── TextStatusBar.xml
├── Timer.lua
├── Timer.xml
├── TopBannerManager.lua
├── TotemFrame.lua
├── TotemFrame.xml
├── TradeFrame.lua
├── TradeFrame.xml
├── TutorialFrame.lua
├── TutorialFrame.xml
├── UI.xsd
├── UIDropDownMenu.lua
├── UIDropDownMenu.xml
├── UIDropDownMenuTemplates.xml
├── UIErrorsFrame.lua
├── UIErrorsFrame.xml
├── UIMenu.lua
├── UIMenu.xml
├── UIOptions.lua
├── UIOptions.xml
├── UIPanelTemplates.lua
├── UIPanelTemplates.xml
├── UIParent.lua
├── UIParent.xml
├── UnitFrame.lua
├── UnitFrame.xml
├── UnitPopup.lua
├── UnitPopup.xml
├── UnitPositionFrameTemplates.lua
├── UnitPositionFrameTemplates.xml
├── UnitPowerBarAlt.lua
├── UnitPowerBarAlt.xml
├── VehicleSeatIndicator.lua
├── VehicleSeatIndicator.xml
├── VideoOptionsFrame.lua
├── VideoOptionsFrame.xml
├── VoiceChat.lua
├── VoiceChat.xml
├── WardrobeOutfits.lua
├── WardrobeOutfits.xml
├── WorldFrame.lua
├── WorldFrame.xml
├── WorldMapActionButton.lua
├── WorldMapBountyBoard.lua
├── WorldMapFrame.lua
├── WorldMapFrame.xml
├── WorldMapFrameTemplates.xml
├── WorldStateFrame.lua
├── WorldStateFrame.xml
├── ZoneAbility.lua
├── ZoneAbility.xml
├── ZoneText.lua
└── ZoneText.xml
├── LCDXML
├── LCDColorLayout.xml
└── LCDLayout.xml
├── README.markdown
├── SharedXML
├── AddonList.lua
├── AddonList.xml
├── C_TimerAugment.lua
├── CircularBuffer.lua
├── FontableFrameMixin.lua
├── GraphicsQualityLevels.lua
├── HybridScrollFrame.lua
├── HybridScrollFrame.xml
├── IME.xml
├── LayoutFrame.lua
├── LayoutFrame.xml
├── ModelFrames.lua
├── ModelFrames.xml
├── ModelPreviewFrame.lua
├── ModelPreviewFrame.xml
├── ScrollingMessageFrame.lua
├── ScrollingMessageFrame.xml
├── SharedFontStyles.xml
├── SharedFonts.xml
├── SharedUIPanelTemplates.lua
├── SharedUIPanelTemplates.xml
├── Util.lua
├── Vector2D.lua
├── VideoOptionsPanels.lua
└── VideoOptionsPanels.xml
├── extract.sh
├── fix_perms.sh
└── ptrextract.sh
/.gitignore:
--------------------------------------------------------------------------------
1 | *.pub
--------------------------------------------------------------------------------
/AddOns/Blizzard_AchievementUI/Blizzard_AchievementUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard_AchievementUI
3 | ## Notes: Hooray for Achievements! Everybody loves Achievements =D
4 | ## Secure: 1
5 | ## Author: Blizzard Entertainment
6 | ## Version: 1.0
7 | ## LoadOnDemand: 1
8 | Blizzard_AchievementUI.lua
9 | Blizzard_AchievementUI.xml
10 | Localization.lua
--------------------------------------------------------------------------------
/AddOns/Blizzard_AchievementUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
3 | function AchievementFrameSummary_LocalizeButton (button)
4 |
5 | end
6 |
7 | function AchievementButton_LocalizeMiniAchievement (frame)
8 |
9 | end
10 |
11 | function AchievementButton_LocalizeProgressBar (frame)
12 |
13 | end
14 |
15 | function AchievementButton_LocalizeMetaAchievement (frame)
16 |
17 | end
18 |
19 | function AchievementFrame_LocalizeCriteria (frame)
20 |
21 | end
22 |
23 | function AchievementCategoryButton_Localize(button)
24 |
25 | end
--------------------------------------------------------------------------------
/AddOns/Blizzard_AdventureMap/AM_QuestChoiceDataProvider.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_AdventureMap/AM_QuestOfferDataProvider.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_AdventureMap/Blizzard_AdventureMap.lua:
--------------------------------------------------------------------------------
1 | UIPanelWindows["AdventureMapFrame"] = { area = "center", pushable = 0, showFailedFunc = C_AdventureMap.Close, allowOtherPanels = 1 };
2 |
3 | AdventureMapMixin = {};
4 |
5 | function AdventureMapMixin:SetupTitle()
6 | self.BorderFrame.TitleText:SetText(ADVENTURE_MAP_TITLE);
7 | self.BorderFrame.Bg:SetColorTexture(0, 0, 0, 1);
8 | self.BorderFrame.Bg:SetParent(self);
9 | self.BorderFrame.TopTileStreaks:Hide();
10 |
11 | SetPortraitToTexture(self.BorderFrame.portrait, [[Interface/Icons/inv_misc_map02]]);
12 | end
13 |
14 | -- Override
15 | function AdventureMapMixin:OnLoad()
16 | MapCanvasMixin.OnLoad(self);
17 |
18 | local mapInsetPool = CreateFramePool("FRAME", self:GetCanvas(), "AdventureMapInsetTemplate", function(pool, mapInset) mapInset:OnReleased(); end);
19 | self:SetMapInsetPool(mapInsetPool);
20 |
21 | self:RegisterEvent("ADVENTURE_MAP_UPDATE_INSETS");
22 |
23 | self:SetupTitle();
24 |
25 | self:AddStandardDataProviders();
26 | end
27 |
28 | function AdventureMapMixin:AddStandardDataProviders()
29 | self:AddDataProvider(CreateFromMixins(AdventureMap_QuestChoiceDataProviderMixin));
30 | end
31 |
32 | function AdventureMapMixin:ClearAreaTableIDAvailableForInsets()
33 | self.areaTableIDsToDisplay = {};
34 | end
35 |
36 | function AdventureMapMixin:SetAreaTableIDAvailableForInsets(areaID)
37 | self.areaTableIDsToDisplay[areaID] = true;
38 | end
39 |
40 | -- Override
41 | function AdventureMapMixin:OnShow()
42 | local continentID = C_AdventureMap.GetContinentInfo();
43 | self:SetMapID(continentID);
44 | self:ClearAreaTableIDAvailableForInsets();
45 | MapCanvasMixin.OnShow(self);
46 | end
47 |
48 | -- Override
49 | function AdventureMapMixin:OnHide()
50 | MapCanvasMixin.OnHide(self);
51 |
52 | C_AdventureMap.Close();
53 | end
54 |
55 | -- Override
56 | function AdventureMapMixin:OnEvent(event, ...)
57 | if event == "ADVENTURE_MAP_UPDATE_INSETS" then
58 | self:RefreshInsets();
59 | end
60 |
61 | MapCanvasMixin.OnEvent(self, event, ...);
62 | end
63 |
64 | -- Override
65 | function AdventureMapMixin:RefreshInsets()
66 | MapCanvasMixin.RefreshInsets(self);
67 |
68 | for insetIndex = 1, C_AdventureMap.GetNumMapInsets() do
69 | local mapID, title, description, collapsedIcon, areaTableID, numDetailTiles, normalizedX, normalizedY = C_AdventureMap.GetMapInsetInfo(insetIndex);
70 | if (self.areaTableIDsToDisplay[areaTableID]) then
71 | self:AddInset(insetIndex, mapID, title, description, collapsedIcon, numDetailTiles, normalizedX, normalizedY);
72 | end
73 | end
74 | end
75 |
76 | function AdventureMapMixin:IsMapInsetExpanded(mapInsetIndex)
77 | local mapID = C_AdventureMap.GetMapInsetInfo(mapInsetIndex);
78 | return not not self.expandedMapInsetsByMapID[mapID];
79 | end
--------------------------------------------------------------------------------
/AddOns/Blizzard_AdventureMap/Blizzard_AdventureMap.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Adventure Map UI
3 | ## Secure: 1
4 | ## Author: Blizzard Entertainment
5 | ## RequiredDep: Blizzard_GarrisonTemplates, Blizzard_MapCanvas, Blizzard_SharedMapDataProviders
6 | ## LoadOnDemand: 1
7 |
8 | Blizzard_AdventureMapUtils.lua
9 |
10 | AM_ZoneSummaryDataProvider.xml
11 | AM_QuestDialog.xml
12 | AM_QuestChoiceDataProvider.xml
13 | AM_QuestOfferDataProvider.xml
14 | AM_MissionDataProvider.xml
15 |
16 | Blizzard_AdventureMapInset.xml
17 | Blizzard_AdventureMap.xml
--------------------------------------------------------------------------------
/AddOns/Blizzard_AdventureMap/Blizzard_AdventureMap.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_AdventureMap/Blizzard_AdventureMapInset.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 | self:GetParent():OnCollapseExpandAnimFinished();
70 |
71 |
72 |
73 |
74 |
75 |
76 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_AdventureMap/Blizzard_AdventureMapUtils.lua:
--------------------------------------------------------------------------------
1 | function AdventureMap_IsZoneIDBlockedByZoneChoice(mapID, zoneMapID)
2 | for choiceIndex = 1, C_AdventureMap.GetNumZoneChoices() do
3 | local questID, name, zoneDescription, normalizedX, normalizedY = C_AdventureMap.GetZoneChoiceInfo(choiceIndex);
4 | if AdventureMap_IsQuestValid(questID, normalizedX, normalizedY) then
5 | if C_MapCanvas.FindZoneAtPosition(mapID, normalizedX, normalizedY) == zoneMapID then
6 | return true;
7 | end
8 | end
9 | end
10 | return false;
11 | end
12 |
13 | function AdventureMap_IsPositionBlockedByZoneChoice(mapID, normalizedX, normalizedY, insetIndex)
14 | if not insetIndex then
15 | local zoneMapID = C_MapCanvas.FindZoneAtPosition(mapID, normalizedX, normalizedY);
16 | if zoneMapID then
17 | return AdventureMap_IsZoneIDBlockedByZoneChoice(mapID, zoneMapID);
18 | end
19 | end
20 | return false;
21 | end
22 |
23 | function AdventureMap_IsQuestValid(questID, normalizedX, normalizedY)
24 | return questID and not IsQuestFlaggedCompleted(questID) and normalizedX and normalizedY and GetQuestLogIndexByID(questID) == 0;
25 | end
--------------------------------------------------------------------------------
/AddOns/Blizzard_ArchaeologyUI/Blizzard_ArchaeologyUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Archaeology UI
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | Blizzard_ArchaeologyUI.xml
6 | Blizzard_ArchaeologyProgressBar.xml
7 | Localization.lua
8 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_ArchaeologyUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_ArenaUI/Blizzard_ArenaUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Arena UI
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | Blizzard_ArenaUI.xml
6 | Localization.lua
7 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_ArenaUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_ArtifactUI/Blizzard_ArtifactUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Artifact UI
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | Blizzard_ArtifactPowerButton.xml
6 | Blizzard_ArtifactPerks.xml
7 | Blizzard_ArtifactAppearances.xml
8 | Blizzard_ArtifactUI.xml
--------------------------------------------------------------------------------
/AddOns/Blizzard_AuctionUI/Blizzard_AuctionUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Auction UI
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | Blizzard_AuctionData.lua
6 | Blizzard_AuctionUI.xml
7 | Localization.lua
8 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_AuctionUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_AuthChallengeUI/Blizzard_AuthChallengeUI.lua:
--------------------------------------------------------------------------------
1 | ---------------
2 | --NOTE - Please do not change this section without talking to Jacob
3 | --We usually don't want to call out of this environment from this file.
4 | local _, tbl = ...;
5 | tbl.SecureCapsuleGet = SecureCapsuleGet;
6 |
7 | setfenv(1, tbl);
8 |
9 | local function Import(name)
10 | tbl[name] = tbl.SecureCapsuleGet(name);
11 | end
12 |
13 | Import("C_AuthChallenge");
14 | Import("IsShiftKeyDown");
15 | Import("GetBindingFromClick");
16 |
17 | Import("BLIZZARD_CHALLENGE_SUBMIT");
18 | Import("BLIZZARD_CHALLENGE_CANCEL");
19 | Import("BLIZZARD_CHALLENGE_CONNECTING");
20 | Import("BLIZZARD_CHALLENGE_OKAY");
21 | Import("BLIZZARD_CHALLENGE_DENIED_TITLE");
22 | Import("BLIZZARD_CHALLENGE_DENIED_DESCRIPTION");
23 | Import("BLIZZARD_CHALLENGE_ERROR_TITLE");
24 | Import("BLIZZARD_CHALLENGE_ERROR_DESCRIPTION");
25 | Import("BLIZZARD_CHALLENGE_SCREEN_EXPLANATION");
26 |
27 | function AuthChallengeUI_OnLoad(self)
28 | C_AuthChallenge.SetFrame(self);
29 | end
30 |
31 | function AuthChallengeUI_Submit()
32 | C_AuthChallenge.Submit();
33 | end
34 |
35 | function AuthChallengeUI_Cancel()
36 | C_AuthChallenge.Cancel();
37 | end
38 |
39 | function AuthChallengeUI_OnTabPressed(self)
40 | C_AuthChallenge.OnTabPressed(self, IsShiftKeyDown());
41 | end
42 |
43 | function AuthChallengeUI_OnKeyDown(self, key)
44 | -- empty function to trap keystrokes
45 | end
--------------------------------------------------------------------------------
/AddOns/Blizzard_AuthChallengeUI/Blizzard_AuthChallengeUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Auth Challenge UI
3 | ## Secure: 1
4 | ## LoadOnDemand: 0
5 | Blizzard_AuthChallengeUI.xml
6 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_BarbershopUI/Blizzard_BarberShopUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Barber Shop UI
3 | ## Notes: The barber's blade went snicker-snack! Have you seen my Jabberwocky?
4 | ## Secure: 1
5 | ## Author: Blizzard Entertainment
6 | ## Version: 1.0
7 | ## LoadOnDemand: 1
8 | Blizzard_BarberShopUI.lua
9 | Blizzard_BarberShopUI.xml
10 | Localization.lua
--------------------------------------------------------------------------------
/AddOns/Blizzard_BarbershopUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_BattlefieldMinimap/Blizzard_BattlefieldMinimap.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Battlefield Minimap
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | ## SavedVariablesPerCharacter: BattlefieldMinimapOptions
6 | Blizzard_BattlefieldMinimap.xml
7 | Localization.lua
8 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_BattlefieldMinimap/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_BindingUI/Blizzard_BindingUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Key Binding UI
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | Blizzard_BindingUI.xml
6 | Localization.lua
7 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_BindingUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_BlackMarketUI/Blizzard_BlackMarketUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Black Market UI
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | Blizzard_BlackMarketUI.xml
6 | Localization.lua
7 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_BlackMarketUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_BoostTutorial/Blizzard_BoostTutorial.toc:
--------------------------------------------------------------------------------
1 | ## Author: Blizzard Entertainment
2 | ## Title: Blizzard BoostTutorial
3 | ## Interface: 70100
4 | ## Secure: 1
5 | ## LoadOnDemand: 1
6 | ## RequiredDep: Blizzard_TutorialTemplates
7 | Blizzard_BoostTutorial.lua
--------------------------------------------------------------------------------
/AddOns/Blizzard_CUFProfiles/Blizzard_CUFProfiles.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard_CUFProfiles
3 | ## Secure: 1
4 | ## LoadOnDemand: 0
5 |
6 | Blizzard_CompactUnitFrameProfiles.xml
--------------------------------------------------------------------------------
/AddOns/Blizzard_Calendar/Blizzard_Calendar.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Calendar
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | Blizzard_Calendar.xml
6 | Localization.lua
7 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_Calendar/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_ChallengesUI/Blizzard_ChallengesUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Challenges UI
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | Blizzard_ChallengesUI.xml
6 | Localization.lua
7 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_ChallengesUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_ClassTrial/Blizzard_ClassTrial.toc:
--------------------------------------------------------------------------------
1 | ## Author: Blizzard Entertainment
2 | ## Title: Blizzard ClassTrial
3 | ## Interface: 70100
4 | ## Secure: 1
5 | ## LoadOnDemand: 1
6 | Blizzard_ClassTrial.xml
--------------------------------------------------------------------------------
/AddOns/Blizzard_ClassTrial/Blizzard_ClassTrialOutbound.lua:
--------------------------------------------------------------------------------
1 | --If any of these functions call out of this file, they should be using securecall. Be very wary of using return values.
2 | local _, tbl = ...;
3 | local Outbound = {};
4 | tbl.Outbound = Outbound;
5 | tbl = nil; --This file shouldn't be calling back into secure code.
6 |
7 | function Outbound.ShowUpgradeConfirmation()
8 | securecall("StaticPopup_Show", "CONFIRM_UNLOCK_TRIAL_CHARACTER");
9 | end
10 |
11 | function Outbound.ShowStoreServices()
12 | securecall("ClassTrial_ShowStoreServices");
13 | end
14 |
15 | function Outbound.SetClassTrialHasAvailableBoost(hasBoost)
16 | securecall("ClassTrial_SetHasAvailableBoost", hasBoost);
17 | end
--------------------------------------------------------------------------------
/AddOns/Blizzard_ClassTrial/Blizzard_ClassTrialSecure.lua:
--------------------------------------------------------------------------------
1 | ---------------
2 | --NOTE - Please do not change this section without talking to Jacob
3 | --We usually don't want to call out of this environment from this file. Calls should usually go through Outbound
4 | local _, tbl = ...;
5 | tbl.SecureCapsuleGet = SecureCapsuleGet;
6 |
7 | local function Import(name)
8 | tbl[name] = tbl.SecureCapsuleGet(name);
9 | end
10 |
11 | setfenv(1, tbl);
12 | ----------------
13 |
14 | Import("C_SharedCharacterServices");
15 | Import("LE_BATTLEPAY_PRODUCT_ITEM_LEVEL_100_CHARACTER_UPGRADE");
16 | Import("pairs");
17 |
18 | local function HasRequiredUpgradeProduct()
19 | local upgrades = C_SharedCharacterServices.GetUpgradeDistributions();
20 | local hasBoost = false;
21 | local useFreeBoost = false;
22 | local requiredProduct = LE_BATTLEPAY_PRODUCT_ITEM_LEVEL_100_CHARACTER_UPGRADE;
23 |
24 | for id, data in pairs(upgrades) do
25 | if id == requiredProduct then
26 | hasBoost = hasBoost or (data.numPaid) > 0 or (data.numFree > 0);
27 | useFreeBoost = useFreeBoost or (data.numFree > 0);
28 | end
29 | end
30 |
31 | return requiredProduct, hasBoost, useFreeBoost;
32 | end
33 |
34 | local function ClassTrialDoCharacterUpgrade(guid, confirmed)
35 | local productID, hasBoost, useFreeBoost = HasRequiredUpgradeProduct();
36 |
37 | if hasBoost then
38 | if confirmed then
39 | C_SharedCharacterServices.AssignUpgradeDistribution(guid, 0, 0, 0, useFreeBoost, productID);
40 | else
41 | Outbound.ShowUpgradeConfirmation();
42 | end
43 | else
44 | Outbound.ShowStoreServices();
45 | end
46 | end
47 |
48 | ClassTrialSecureFrameMixin = {};
49 |
50 | function ClassTrialSecureFrameMixin:OnLoad()
51 | self:RegisterEvent("PRODUCT_DISTRIBUTIONS_UPDATED");
52 | end
53 |
54 | function ClassTrialSecureFrameMixin:OnEvent(event, ...)
55 | if event == "PRODUCT_DISTRIBUTIONS_UPDATED" then
56 | self:OutboundUpdateBoost();
57 | end
58 | end
59 |
60 | function ClassTrialSecureFrameMixin:OnAttributeChanged(name, value)
61 | local guid = value;
62 |
63 | if (name == "upgradecharacter") then
64 | ClassTrialDoCharacterUpgrade(guid, false);
65 | elseif name == "upgradecharacter-confirm" then
66 | ClassTrialDoCharacterUpgrade(guid, true);
67 | elseif name == "updateboostpurchasebutton" then
68 | self:OutboundUpdateBoost();
69 | end
70 | end
71 |
72 | function ClassTrialSecureFrameMixin:OutboundUpdateBoost()
73 | local _, hasBoost = HasRequiredUpgradeProduct();
74 | Outbound.SetClassTrialHasAvailableBoost(hasBoost);
75 | end
--------------------------------------------------------------------------------
/AddOns/Blizzard_ClientSavedVariables/Blizzard_ClientSavedVariables.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard_ClientSavedVariables
3 | ## Secure: 1
4 | ## LoadOnDemand: 0
5 | ## SavedVariablesPerCharacter: TARGET_FRAME_UNLOCKED, PLAYER_FRAME_UNLOCKED, TARGET_FRAME_BUFFS_ON_TOP, FOCUS_FRAME_BUFFS_ON_TOP, PLAYER_FRAME_CASTBARS_SHOWN, CHANNELPULLOUT_FADEFRAMES
6 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_Collections/Blizzard_CollectionTemplates.lua:
--------------------------------------------------------------------------------
1 | function CollectionsSpellButton_OnLoad(self, updateFunction)
2 | self:RegisterForDrag("LeftButton");
3 | self:RegisterForClicks("LeftButtonUp", "RightButtonUp");
4 |
5 | self.updateFunction = updateFunction;
6 | end
7 |
8 | function CollectionsButton_OnEvent(self, event, ...)
9 | if GameTooltip:GetOwner() == self then
10 | self:GetScript("OnEnter")(self);
11 | end
12 |
13 | self.updateFunction(self);
14 | end
15 |
16 | function CollectionsSpellButton_OnShow(self)
17 | self:RegisterEvent("SPELLS_CHANGED");
18 | self:RegisterEvent("SPELL_UPDATE_COOLDOWN");
19 | self:RegisterEvent("UPDATE_SHAPESHIFT_FORM");
20 |
21 | self.updateFunction(self);
22 | end
23 |
24 | function CollectionsSpellButton_OnHide(self)
25 | self:UnregisterEvent("SPELLS_CHANGED");
26 | self:UnregisterEvent("SPELL_UPDATE_COOLDOWN");
27 | self:UnregisterEvent("UPDATE_SHAPESHIFT_FORM");
28 | end
29 |
30 | function CollectionsSpellButton_UpdateCooldown(self)
31 | if (self.itemID == -1 or self.itemID == nil) then
32 | return;
33 | end
34 |
35 | local cooldown = self.cooldown;
36 | local start, duration, enable = GetItemCooldown(self.itemID);
37 | if (cooldown and start and duration) then
38 | if (enable) then
39 | cooldown:Hide();
40 | else
41 | cooldown:Show();
42 | end
43 | CooldownFrame_Set(cooldown, start, duration, enable);
44 | else
45 | cooldown:Hide();
46 | end
47 | end
48 |
49 | function CollectionsWrappedModelFrame_OnEnter(self)
50 | self:SetLight(true, false, 0, 0, 0, self.highlightIntensity, 1.0, 1.0, 1.0);
51 | end
52 |
53 | function CollectionsWrappedModelFrame_OnLeave(self)
54 | self:SetLight(true, false, 0, 0, 0, self.normalIntensity, 1.0, 1.0, 1.0);
55 | end
--------------------------------------------------------------------------------
/AddOns/Blizzard_Collections/Blizzard_Collections.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Collections
3 | ## Notes: Collections
4 | ## Secure: 1
5 | ## Author: Blizzard Entertainment
6 | ## Version: 1.0
7 | ## LoadOnDemand: 1
8 | Blizzard_CollectionTemplates.xml
9 | Blizzard_Collections.xml
10 | Blizzard_MountCollection.xml
11 | Blizzard_PetCollection.xml
12 | Blizzard_ToyBox.xml
13 | Blizzard_HeirloomCollection.xml
14 | Blizzard_Wardrobe.xml
15 | Localization.lua
--------------------------------------------------------------------------------
/AddOns/Blizzard_Collections/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
--------------------------------------------------------------------------------
/AddOns/Blizzard_CombatLog/Blizzard_CombatLog.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard CombatLog
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | ## SavedVariables: Blizzard_CombatLog_Filters, Blizzard_CombatLog_Filter_Version
6 | Blizzard_CombatLog.xml
7 | Localization.lua
8 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_CombatLog/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_CombatText/Blizzard_CombatText.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard CombatText
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | Blizzard_CombatText.xml
6 | Localization.lua
7 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_CombatText/Blizzard_CombatText.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_CombatText/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_CompactRaidFrames/Blizzard_CompactRaidFrameReservationManager.lua:
--------------------------------------------------------------------------------
1 |
2 |
3 | function CompactRaidFrameReservation_NewManager(releaseFunc)
4 | return { unusedFrames = {}, reservations = {}, releaseFunc = releaseFunc };
5 | end
6 |
7 | function CompactRaidFrameReservation_GetFrame(self, key)
8 | assert(key);
9 | local frame = self.reservations[key];
10 | if ( not frame and #self.unusedFrames > 0 ) then
11 | frame = tremove(self.unusedFrames, #self.unusedFrames);
12 | CompactRaidFrameReservation_RegisterReservation(self, frame, key);
13 | end
14 | return frame;
15 | end
16 |
17 | function CompactRaidFrameReservation_RegisterReservation(self, frame, key)
18 | assert(key);
19 | assert(not self.reservations[key] or self.reservations[key] == frame);
20 | self.reservations[key] = frame;
21 | end
22 |
23 | function CompactRaidFrameReservation_ReleaseUnusedReservations(self)
24 | for key, frame in pairs(self.reservations) do
25 | if ( frame and not frame.inUse ) then
26 | if ( self.releaseFunc ) then
27 | self.releaseFunc(frame);
28 | end
29 | self.reservations[key] = false;
30 | tinsert(self.unusedFrames, frame);
31 | end
32 | end
33 | end
34 |
35 | function CompactRaidFrameReservation_GetReservation(self, key)
36 | assert(key);
37 | return self.reservations[key];
38 | end
--------------------------------------------------------------------------------
/AddOns/Blizzard_CompactRaidFrames/Blizzard_CompactRaidFrames.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Compact Raid Frames
3 | ## Secure: 1
4 | ## LoadOnDemand: 0
5 | Blizzard_CompactRaidFrameReservationManager.lua
6 | Blizzard_CompactRaidFrameContainer.xml
7 | Blizzard_CompactRaidFrameManager.xml
8 | Localization.lua
9 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_CompactRaidFrames/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_DeathRecap/Blizzard_DeathRecap.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard DeathRecap
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | Blizzard_DeathRecap.xml
6 | Localization.lua
7 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_DeathRecap/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_DebugTools/Blizzard_DebugTools.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard UI Debug Tools
3 | ## Notes: Tools for developing addons
4 | ## Secure: 1
5 | ## Author: Blizzard Entertainment
6 | ## Special Thanks: Iriel, Kirov, Esamynn
7 | ## Version: 1.0
8 | ## LoadOnDemand: 1
9 | Dump.lua
10 | Blizzard_DebugTools.lua
11 | Blizzard_DebugTools.xml
12 | Localization.lua
--------------------------------------------------------------------------------
/AddOns/Blizzard_DebugTools/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_EncounterJournal/Blizzard_EncounterJournal.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Dungeon Journal
3 | ## Notes: Show Boss Info
4 | ## Secure: 1
5 | ## Author: Blizzard Entertainment
6 | ## Version: 1.0
7 | ## LoadOnDemand: 1
8 | Blizzard_EncounterJournal.xml
9 | Blizzard_LootJournal.xml
10 | Localization.lua
--------------------------------------------------------------------------------
/AddOns/Blizzard_EncounterJournal/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
--------------------------------------------------------------------------------
/AddOns/Blizzard_FlightMap/Blizzard_FlightMap.lua:
--------------------------------------------------------------------------------
1 | UIPanelWindows["FlightMapFrame"] = { area = "center", pushable = 1, showFailedFunc = CloseTaxiMap, allowOtherPanels = 1 };
2 |
3 | FlightMapMixin = {};
4 |
5 | function FlightMapMixin:SetupTitle()
6 | self.BorderFrame.TitleText:SetText(FLIGHT_MAP);
7 | self.BorderFrame.Bg:SetColorTexture(0, 0, 0, 1);
8 | self.BorderFrame.Bg:SetParent(self);
9 | self.BorderFrame.TopTileStreaks:Hide();
10 |
11 | SetPortraitToTexture(self.BorderFrame.portrait, [[Interface/Icons/icon_petfamily_flying]]);
12 | end
13 |
14 | function FlightMapMixin:OnLoad()
15 | self:RegisterEvent("TAXIMAP_CLOSED");
16 |
17 | self:SetMaxZoom(.85);
18 | self:SetMinZoom(.275);
19 |
20 | self:SetupTitle();
21 |
22 | self:SetShouldZoomInOnClick(true);
23 | self:SetShouldPanOnClick(false);
24 |
25 | self:AddStandardDataProviders();
26 | end
27 |
28 | function FlightMapMixin:AddStandardDataProviders()
29 | self:AddDataProvider(CreateFromMixins(FlightMap_FlightPathDataProviderMixin));
30 | self:AddDataProvider(CreateFromMixins(FlightMap_ZoneSummaryDataProvider));
31 | self:AddDataProvider(CreateFromMixins(ZoneLabelDataProviderMixin));
32 | self:AddDataProvider(CreateFromMixins(ActiveQuestDataProviderMixin));
33 | self:AddDataProvider(CreateFromMixins(GroupMembersDataProviderMixin));
34 | self:AddDataProvider(CreateFromMixins(ClickToZoomDataProviderMixin));
35 |
36 | local worldQuestDataProvider = CreateFromMixins(WorldQuestDataProviderMixin);
37 | worldQuestDataProvider:SetMatchWorldMapFilters(true);
38 | self:AddDataProvider(worldQuestDataProvider);
39 | end
40 |
41 | function FlightMapMixin:OnShow()
42 | local continentID = GetTaxiMapID();
43 | self:SetMapID(continentID);
44 |
45 | self:ZoomOut();
46 | end
47 |
48 | function FlightMapMixin:OnHide()
49 | CloseTaxiMap();
50 | end
51 |
52 | function FlightMapMixin:OnEvent(event, ...)
53 | if event == "TAXIMAP_CLOSED" then
54 | HideUIPanel(self);
55 | end
56 | end
--------------------------------------------------------------------------------
/AddOns/Blizzard_FlightMap/Blizzard_FlightMap.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Flight Map UI
3 | ## Secure: 1
4 | ## Author: Blizzard Entertainment
5 | ## RequiredDep: Blizzard_MapCanvas, Blizzard_SharedMapDataProviders
6 | ## LoadOnDemand: 1
7 |
8 | FM_FlightPathDataProvider.xml
9 | FM_ZoneSummaryDataProvider.xml
10 | Blizzard_FlightMap.xml
--------------------------------------------------------------------------------
/AddOns/Blizzard_FlightMap/Blizzard_FlightMap.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 | self.onCloseCallback = function() HideParentPanel(self) end;
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_FlightMap/FM_ZoneSummaryDataProvider.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_GMChatUI/Blizzard_GMChatUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard_GMChatUI
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | Blizzard_GMChatUI.lua
6 | Blizzard_GMChatUI.xml
7 | Localization.lua
--------------------------------------------------------------------------------
/AddOns/Blizzard_GMChatUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_GMSurveyUI/Blizzard_GMSurveyUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard GM Survey UI
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | Blizzard_GMSurveyUI.xml
6 | Localization.lua
7 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_GMSurveyUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_GarrisonTemplates/Blizzard_GarrisonTemplates.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Garrison Templates
3 | ## Secure: 1
4 | ## Author: Blizzard Entertainment
5 | ## Version: 1.0
6 | ## LoadOnDemand: 1
7 |
8 | Blizzard_GarrisonSharedTemplates.xml
9 | Blizzard_GarrisonMissionTemplates.xml
10 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_GarrisonUI/Blizzard_GarrisonUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Garrison UI
3 | ## Secure: 1
4 | ## Author: Blizzard Entertainment
5 | ## Version: 1.0
6 | ## RequiredDep: Blizzard_GarrisonTemplates
7 | ## LoadOnDemand: 1
8 |
9 | Blizzard_GarrisonBuildingUI.xml
10 | Blizzard_GarrisonMissionUI.xml
11 | Blizzard_GarrisonShipyardUI.xml
12 | Blizzard_GarrisonLandingPage.xml
13 | Blizzard_GarrisonCapacitiveDisplay.xml
14 | Blizzard_GarrisonMonumentUI.xml
15 | Blizzard_GarrisonRecruiterUI.xml
16 | Localization.lua
--------------------------------------------------------------------------------
/AddOns/Blizzard_GarrisonUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_GuildBankUI/Blizzard_GuildBankUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Guild Bank UI
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | Blizzard_GuildBankUI.xml
6 | Localization.lua
7 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_GuildBankUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_GuildControlUI/Blizzard_GuildControlUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Guild Control UI
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | Blizzard_GuildControlUI.xml
6 | Localization.lua
--------------------------------------------------------------------------------
/AddOns/Blizzard_GuildControlUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
--------------------------------------------------------------------------------
/AddOns/Blizzard_GuildUI/Blizzard_GuildUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Guild UI
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | Blizzard_GuildUI.xml
6 | Blizzard_GuildRoster.xml
7 | Blizzard_GuildNews.xml
8 | Blizzard_GuildRewards.xml
9 | Blizzard_GuildInfo.xml
10 | Localization.lua
--------------------------------------------------------------------------------
/AddOns/Blizzard_GuildUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_InspectUI/Blizzard_InspectUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Inspect UI
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | Blizzard_InspectUI.xml
6 | InspectPaperDollFrame.xml
7 | InspectPVPFrame.xml
8 | InspectTalentFrame.xml
9 | InspectGuildFrame.xml
10 | Localization.lua
11 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_InspectUI/InspectGuildFrame.lua:
--------------------------------------------------------------------------------
1 |
2 | function InspectGuildFrame_OnLoad(self)
3 | self:RegisterEvent("INSPECT_READY");
4 | end
5 |
6 | function InspectGuildFrame_OnEvent(self, event, unit, ...)
7 | if ( event == "INSPECT_READY" and InspectFrame.unit and (UnitGUID(InspectFrame.unit) == unit) ) then
8 | InspectGuildFrame_Update();
9 | end
10 | end
11 |
12 | function InspectGuildFrame_OnShow()
13 | ButtonFrameTemplate_ShowButtonBar(InspectFrame);
14 | InspectGuildFrame_Update();
15 | end
16 |
17 | function InspectGuildFrame_Update()
18 | local guildPoints, guildNumMembers, guildName = GetInspectGuildInfo(InspectFrame.unit);
19 | local _, guildFactionName = UnitFactionGroup(InspectFrame.unit);
20 |
21 | InspectGuildFrame.guildName:SetText(guildName);
22 |
23 | if ( guildFactionName and guildNumMembers ) then
24 | InspectGuildFrame.guildLevel:SetFormattedText(INSPECT_GUILD_FACTION, guildFactionName);
25 | InspectGuildFrame.guildNumMembers:SetFormattedText(INSPECT_GUILD_NUM_MEMBERS, guildNumMembers);
26 | end
27 |
28 | local pointFrame = InspectGuildFrame.Points;
29 | pointFrame.SumText:SetText(guildPoints);
30 | local width = pointFrame.SumText:GetStringWidth() + pointFrame.LeftCap:GetWidth() + pointFrame.RightCap:GetWidth() + pointFrame.Icon:GetWidth();
31 | pointFrame:SetWidth(width);
32 |
33 | SetDoubleGuildTabardTextures(InspectFrame.unit, InspectGuildFrameTabardLeftIcon, InspectGuildFrameTabardRightIcon, InspectGuildFrameBanner, InspectGuildFrameBannerBorder);
34 | end
35 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_InspectUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_ItemSocketingUI/Blizzard_ItemSocketingUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Item Socketing UI
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | Blizzard_ItemSocketingUI.xml
6 | Localization.lua
--------------------------------------------------------------------------------
/AddOns/Blizzard_ItemSocketingUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_ItemUpgradeUI/Blizzard_ItemUpgradeUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Item Upgrade UI
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | Blizzard_ItemUpgradeUI.xml
6 | Localization.lua
7 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_ItemUpgradeUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_LookingForGuildUI/Blizzard_LookingForGuildUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard LookingForGuild UI
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | Blizzard_LookingForGuildUI.xml
6 | Localization.lua
7 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_LookingForGuildUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_MacroUI/Blizzard_MacroUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Macro UI
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | Blizzard_MacroUI.xml
6 | Localization.lua
7 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_MacroUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_MapCanvas/Blizzard_MapCanvas.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Map Canvas
3 | ## Secure: 1
4 | ## Author: Blizzard Entertainment
5 | ## LoadOnDemand: 1
6 |
7 | MapCanvas_DataProviderBase.lua
8 |
9 | Blizzard_MapCanvas.xml
--------------------------------------------------------------------------------
/AddOns/Blizzard_MapCanvas/Blizzard_MapCanvas.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_MapCanvas/Blizzard_MapCanvasDetailLayer.lua:
--------------------------------------------------------------------------------
1 | MAP_CANVAS_TILE_WIDTH = 256;
2 | MAP_CANVAS_TILE_HEIGHT = 256;
3 |
4 | MapCanvasDetailLayerMixin = {};
5 |
6 | function MapCanvasDetailLayerMixin:OnLoad()
7 | self.detailTilePool = CreateTexturePool(self, "BACKGROUND", -7, "MapCanvasDetailTileTemplate");
8 | end
9 |
10 | function MapCanvasDetailLayerMixin:SetMapAndLayer(mapID, layerIndex)
11 | if self.mapID ~= mapID or self.layerIndex ~= layerIndex then
12 | self.mapID = mapID;
13 | self.layerIndex = layerIndex;
14 |
15 | self:RefreshDetailTiles();
16 | end
17 | end
18 |
19 | function MapCanvasDetailLayerMixin:GetLayerIndex()
20 | return self.layerIndex;
21 | end
22 |
23 | function MapCanvasDetailLayerMixin:RefreshDetailTiles()
24 | self.detailTilePool:ReleaseAll();
25 |
26 | local numDetailTilesCols, numDetailTilesRows = C_MapCanvas.GetNumDetailTiles(self.mapID, self.layerIndex);
27 |
28 | for tileCol = 1, numDetailTilesCols do
29 | for tileRow = 1, numDetailTilesRows do
30 | local texturePath = C_MapCanvas.GetDetailTileInfo(self.mapID, self.layerIndex, tileCol, tileRow);
31 |
32 | local detailTile = self.detailTilePool:Acquire();
33 | detailTile:SetTexture(texturePath);
34 |
35 | local offsetX = math.floor(MAP_CANVAS_TILE_WIDTH * (tileCol - 1));
36 | local offsetY = math.floor(MAP_CANVAS_TILE_HEIGHT * (tileRow - 1));
37 |
38 | detailTile:ClearAllPoints();
39 | detailTile:SetPoint("TOPLEFT", self, "TOPLEFT", offsetX, -offsetY);
40 | detailTile:SetDrawLayer("BACKGROUND", -8 + self.layerIndex);
41 | detailTile:Show();
42 | end
43 | end
44 | end
45 |
46 | function MapCanvasDetailLayer_CalculateTotalLayerSize(numDetailTilesCols, numDetailTilesRows)
47 | -- The last tiles aren't fully used, we have to adjust the size slightly :(
48 | local WIDTH_INSET = 175;
49 | local HEIGHT_INSET = 120;
50 |
51 | return MAP_CANVAS_TILE_WIDTH * numDetailTilesCols - WIDTH_INSET, MAP_CANVAS_TILE_HEIGHT * numDetailTilesRows - HEIGHT_INSET;
52 | end
--------------------------------------------------------------------------------
/AddOns/Blizzard_MovePad/Blizzard_MovePad.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard MovePad
3 | ## Author: slouken and karl
4 | ## Notes: A clickable movement pad
5 | ## Secure: 1
6 | ## LoadOnDemand: 1
7 | Blizzard_MovePad.xml
8 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_NamePlates/Blizzard_ClassNameplateBar.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_NamePlates/Blizzard_ClassNameplateBar_DeathKnight.lua:
--------------------------------------------------------------------------------
1 | ClassNameplateBarDeathKnight = {};
2 |
3 | function ClassNameplateBarDeathKnight:OnLoad()
4 | self.class = "DEATHKNIGHT";
5 | self.powerToken = "RUNES";
6 |
7 | ClassNameplateBar.OnLoad(self);
8 | end
9 |
10 | function ClassNameplateBarDeathKnight:Setup()
11 | if ( self:MatchesClass() ) then
12 | self:RegisterEvent("RUNE_POWER_UPDATE");
13 | end
14 |
15 | return ClassNameplateBar.Setup(self);
16 | end
17 |
18 | function ClassNameplateBarDeathKnight:OnEvent(event, arg1, arg2)
19 | if ( event == "RUNE_POWER_UPDATE" ) then
20 | self:UpdateRunes(arg1, arg2);
21 | return true;
22 | end
23 | return ClassNameplateBar.OnEvent(self, event, arg1, arg2);
24 | end
25 |
26 | function ClassNameplateBarDeathKnight:UpdateRunes(runeIndex, isEnergize)
27 | if runeIndex and runeIndex >= 1 and runeIndex <= #self.Runes then
28 | local runeButton = self.Runes[runeIndex];
29 |
30 | local cooldown = runeButton.Cooldown;
31 | local start, duration, runeReady = GetRuneCooldown(runeIndex);
32 |
33 | if not runeReady then
34 | if start then
35 | CooldownFrame_Set(cooldown, start, duration, true);
36 | end
37 | end
38 | end
39 | end
--------------------------------------------------------------------------------
/AddOns/Blizzard_NamePlates/Blizzard_ClassNameplateBar_DeathKnight.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
25 |
26 |
27 |
28 |
29 |
34 |
39 |
44 |
49 |
54 |
59 |
60 |
61 |
62 |
63 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_NamePlates/Blizzard_ClassNameplateBar_Mage.lua:
--------------------------------------------------------------------------------
1 | ClassNameplateBarMage = {};
2 |
3 | function ClassNameplateBarMage:OnLoad()
4 | self.class = "MAGE";
5 | self.spec = SPEC_MAGE_ARCANE;
6 | self.powerToken = "ARCANE_CHARGES";
7 |
8 | for i = 1, #self.Charges do
9 | self.Charges[i].on = false;
10 | end
11 | ClassNameplateBar.OnLoad(self);
12 | end
13 |
14 | function ClassNameplateBarMage:UpdatePower()
15 | local charges = UnitPower("player", SPELL_POWER_ARCANE_CHARGES);
16 | for i = 1, min(charges, #self.Charges) do
17 | if (not self.Charges[i].on) then
18 | self:TurnOn(self.Charges[i], self.Charges[i].ChargeTexture, 1);
19 | end
20 | end
21 | for i = charges + 1, #self.Charges do
22 | if (self.Charges[i].on) then
23 | self:TurnOff(self.Charges[i], self.Charges[i].ChargeTexture, 0.3);
24 | end
25 | end
26 | end
27 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_NamePlates/Blizzard_ClassNameplateBar_Mage.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_NamePlates/Blizzard_ClassNameplateBar_Paladin.lua:
--------------------------------------------------------------------------------
1 | ClassNameplateBarPaladin = {};
2 |
3 | function ClassNameplateBarPaladin:OnLoad()
4 | self.class = "PALADIN";
5 | self.spec = SPEC_PALADIN_RETRIBUTION;
6 | self.powerToken = "HOLY_POWER";
7 |
8 | ClassNameplateBar.OnLoad(self);
9 | end
10 |
11 | function ClassNameplateBarPaladin:OnEvent(event, ...)
12 | local eventHandled = ClassNameplateBar.OnEvent(self, event, ...);
13 | if( not eventHandled and event == "PLAYER_LEVEL_UP" ) then
14 | local level = ...;
15 | if level >= PALADINPOWERBAR_SHOW_LEVEL then
16 | self:UnregisterEvent("PLAYER_LEVEL_UP");
17 | self:ShowNameplateBar();
18 | self:UpdatePower();
19 | end
20 | end
21 | end
22 |
23 | function ClassNameplateBarPaladin:Setup()
24 | local showBar = ClassNameplateBar.Setup(self);
25 |
26 | if (showBar and UnitLevel("player") < PALADINPOWERBAR_SHOW_LEVEL) then
27 | self:RegisterEvent("PLAYER_LEVEL_UP");
28 | self:HideNameplateBar();
29 | end
30 | end
31 |
32 | function ClassNameplateBarPaladin:ToggleHolyRune(self, enabled)
33 | if self.enabled ~= enabled then
34 |
35 | self.enabled = enabled;
36 | if self.enabled then
37 | self.TurnOff:Stop();
38 | self.TurnOn:Play();
39 | else
40 | self.TurnOn:Stop();
41 | self.TurnOff:Play();
42 | end
43 | end
44 | end
45 |
46 | function ClassNameplateBarPaladin:UpdatePower()
47 | if ( self.delayedUpdate ) then
48 | return;
49 | end
50 |
51 | local numHolyPower = UnitPower("player", SPELL_POWER_HOLY_POWER);
52 | local maxHolyPower = UnitPowerMax("player", SPELL_POWER_HOLY_POWER);
53 |
54 | -- If we had more than HOLY_POWER_FULL and then used HOLY_POWER_FULL amount of power, fade out
55 | -- the top 3 and then move the remaining power from the bottom up to the top
56 | if ( self.lastPower and self.lastPower > HOLY_POWER_FULL and numHolyPower == self.lastPower - HOLY_POWER_FULL ) then
57 | for i = 1, HOLY_POWER_FULL do
58 | self:ToggleHolyRune(self.Runes[i], false);
59 | end
60 | self.delayedUpdate = true;
61 | self.lastPower = nil;
62 | C_Timer.After(0.2, function()
63 | self.delayedUpdate = false;
64 | self:UpdatePower();
65 | end);
66 | else
67 | for i = 1, numHolyPower do
68 | self:ToggleHolyRune(self.Runes[i], true);
69 | end
70 | for i = numHolyPower + 1, maxHolyPower do
71 | self:ToggleHolyRune(self.Runes[i], false);
72 | end
73 | self.lastPower = numHolyPower;
74 | end
75 | end
76 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_NamePlates/Blizzard_ClassNameplateBar_Warlock.lua:
--------------------------------------------------------------------------------
1 | ClassNameplateBarWarlock = {};
2 |
3 | function ClassNameplateBarWarlock:OnLoad()
4 | self.class = "WARLOCK";
5 | self.powerToken = "SOUL_SHARDS";
6 |
7 | for i = 1, #self.Shards do
8 | self.Shards[i].on = false;
9 | end
10 | ClassNameplateBar.OnLoad(self);
11 | end
12 |
13 | function ClassNameplateBarWarlock:Setup()
14 | local showBar = ClassNameplateBar.Setup(self);
15 |
16 | if (showBar and UnitLevel("player") < SHARDBAR_SHOW_LEVEL) then
17 | self:RegisterEvent("PLAYER_LEVEL_UP");
18 | self:HideNameplateBar();
19 | end
20 | end
21 |
22 | function ClassNameplateBarWarlock:OnEvent(event, ...)
23 | local handled = ClassNameplateBar.OnEvent(self, event, ...);
24 | if handled then
25 | return handled;
26 | elseif event == "PLAYER_LEVEL_UP" then
27 | local level = ...;
28 | if level >= SHARDBAR_SHOW_LEVEL then
29 | self:UnregisterEvent("PLAYER_LEVEL_UP");
30 | self:Setup();
31 | end
32 | else
33 | return false;
34 | end
35 |
36 | return true;
37 | end
38 |
39 | function ClassNameplateBarWarlock:UpdatePower()
40 | local shards = UnitPower("player", SPELL_POWER_SOUL_SHARDS);
41 | for i = 1, min(shards, #self.Shards) do
42 | if (not self.Shards[i].on) then
43 | self:TurnOn(self.Shards[i], self.Shards[i].ShardOn, 1);
44 | end
45 | end
46 | for i = shards + 1, #self.Shards do
47 | if (self.Shards[i].on) then
48 | self:TurnOff(self.Shards[i], self.Shards[i].ShardOn, 0);
49 | end
50 | end
51 | end
52 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_NamePlates/Blizzard_NamePlates.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard NamePlates
3 | ## Secure: 1
4 | ## LoadOnDemand: 0
5 |
6 | Blizzard_NamePlates.xml
7 | Blizzard_ClassNameplateBar.xml
8 | Blizzard_ClassNameplateBar_Paladin.xml
9 | Blizzard_ClassNameplateBar_DeathKnight.xml
10 | Blizzard_ClassNameplateBar_RogueDruid.xml
11 | Blizzard_ClassNameplateBar_Mage.xml
12 | Blizzard_ClassNameplateBar_Monk.xml
13 | Blizzard_ClassNameplateBar_Warlock.xml
--------------------------------------------------------------------------------
/AddOns/Blizzard_ObjectiveTracker/Blizzard_ObjectiveTracker.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Objective Tracker UI
3 | ## Secure: 1
4 | ## LoadOnDemand: 0
5 | Blizzard_ObjectiveTrackerShared.xml
6 | Blizzard_ObjectiveTracker.xml
7 | Blizzard_QuestSuperTracking.lua
8 | Blizzard_QuestObjectiveTracker.xml
9 | Blizzard_AchievementObjectiveTracker.lua
10 | Blizzard_AutoQuestPopUpTracker.xml
11 | Blizzard_BonusObjectiveTracker.xml
12 | Blizzard_ScenarioObjectiveTracker.xml
--------------------------------------------------------------------------------
/AddOns/Blizzard_ObliterumUI/Blizzard_ObliterumUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Obliterum Forge UI
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 |
6 | Blizzard_ObliterumUI.xml
7 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_ObliterumUI/Blizzard_ObliterumUI.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
59 |
60 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_OrderHallUI/Blizzard_OrderHallUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Order Hall UI
3 | ## Secure: 1
4 | ## Author: Blizzard Entertainment
5 | ## Version: 1.0
6 | ## RequiredDep: Blizzard_GarrisonUI, Blizzard_AdventureMap
7 | ## LoadOnDemand: 1
8 |
9 | Blizzard_OrderHallMissionUI.xml
10 | Blizzard_OrderHallTalents.xml
11 | Blizzard_OrderHallCommandBar.xml
12 | Localization.lua
--------------------------------------------------------------------------------
/AddOns/Blizzard_OrderHallUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_PVPUI/Blizzard_PVPUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard PVP UI
3 | ## Notes: MegaQueue
4 | ## Secure: 1
5 | ## Author: Blizzard Entertainment
6 | ## Version: 1.0
7 | ## LoadOnDemand: 1
8 | Blizzard_PVPUI.xml
9 | Localization.lua
10 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_PVPUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_PetBattleUI/Blizzard_PetBattleUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Pet Battle UI
3 | ## Secure: 1
4 | ## LoadOnDemand: 0
5 | Blizzard_PetBattleUIPatchwerks.xml
6 | Blizzard_PetBattleUI.xml
7 | Localization.lua
8 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_PetBattleUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_QuestChoice/Blizzard_QuestChoice.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Quest Choice UI
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | Blizzard_QuestChoice.xml
6 | Localization.lua
7 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_QuestChoice/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
--------------------------------------------------------------------------------
/AddOns/Blizzard_RaidUI/Blizzard_RaidUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Raid UI
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | ## SavedVariablesPerCharacter: RAID_PULLOUT_POSITIONS, RAID_SINGLE_POSITIONS
6 | Blizzard_RaidUI.xml
7 | Localization.lua
8 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_RaidUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_SecureTransferUI/Blizzard_SecureTransferUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Secure Trade UI
3 | ## Secure: 1
4 | Blizzard_SecureTransferUI.xml
5 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_SecureTransferUI/Blizzard_SecureTransferUIOutbound.lua:
--------------------------------------------------------------------------------
1 | --If any of these functions call out of this file, they should be using securecall. Be very wary of using return values.
2 | local _, tbl = ...;
3 | local Outbound = {};
4 | tbl.Outbound = Outbound;
5 | tbl = nil; --This file shouldn't be calling back into secure code.
6 |
7 | function Outbound.UpdateSendMailButton()
8 | securecall("SendMailFrame_EnableSendMailButton");
9 | end
10 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_SharedMapDataProviders/ActiveQuestDataProvider.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_SharedMapDataProviders/Blizzard_SharedMapDataProviders.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Shared Map Data Providers
3 | ## Secure: 1
4 | ## Author: Blizzard Entertainment
5 | ## Version: 1.0
6 | ## LoadOnDemand: 1
7 |
8 | ActiveQuestDataProvider.xml
9 | GroupMembersDataProvider.xml
10 | WorldQuestDataProvider.xml
11 | ZoneLabelDataProvider.xml
12 | ClickToZoomDataProvider.xml
--------------------------------------------------------------------------------
/AddOns/Blizzard_SharedMapDataProviders/ClickToZoomDataProvider.lua:
--------------------------------------------------------------------------------
1 | ClickToZoomDataProviderMixin = CreateFromMixins(MapCanvasDataProviderMixin);
2 |
3 | function ClickToZoomDataProviderMixin:FadeIn()
4 | self.MapLabel.FadeInAnim:Play();
5 | end
6 |
7 | function ClickToZoomDataProviderMixin:FadeOut()
8 | self.MapLabel.FadeOutAnim:Play();
9 | end
10 |
11 | function ClickToZoomDataProviderMixin:OnAdded(mapCanvas)
12 | MapCanvasDataProviderMixin.OnAdded(self, mapCanvas);
13 |
14 | local fadeInCallback = function (event, isContinent)
15 | if isContinent then
16 | self:FadeIn();
17 | end
18 | end
19 |
20 | local fadeOutCallback = function (event, isContinent)
21 | if isContinent then
22 | self:FadeOut();
23 | end
24 | end
25 |
26 | self:GetMap():RegisterCallback("ZoneLabelFadeInStart", fadeInCallback);
27 | self:GetMap():RegisterCallback("ZoneLabelFadeOutStart", fadeOutCallback);
28 |
29 | if self.MapLabel then
30 | self.MapLabel:SetParent(self:GetMap());
31 | self:ClearAllPoints();
32 | else
33 | self.MapLabel = CreateFrame("FRAME", nil, self:GetMap(), "ClickToZoomDataProvider_LabelTemplate");
34 | end
35 |
36 | self.MapLabel:SetPoint("BOTTOMRIGHT", -75, 65);
37 | self.MapLabel:SetFrameStrata("HIGH");
38 | self.MapLabel:SetAlpha(1);
39 | end
40 |
41 | function ClickToZoomDataProviderMixin:RemoveAllData()
42 | self.MapLabel.FadeInAnim:Stop()
43 | self.MapLabel.FadeOutAnim:Stop()
44 | self.MapLabel:SetAlpha(0);
45 | end
46 |
47 | function ClickToZoomDataProviderMixin:RefreshAllData(fromOnShow)
48 | if self:GetMap():IsZoomedOut() then
49 | if not self.MapLabel.FadeInAnim:IsPlaying() then
50 | self.MapLabel:SetAlpha(1);
51 | end
52 | else
53 | if not self.MapLabel.FadeOutAnim:IsPlaying() then
54 | self.MapLabel:SetAlpha(0);
55 | end
56 | end
57 | end
--------------------------------------------------------------------------------
/AddOns/Blizzard_SharedMapDataProviders/ClickToZoomDataProvider.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_SharedMapDataProviders/GroupMembersDataProvider.lua:
--------------------------------------------------------------------------------
1 | GroupMembersDataProviderMixin = CreateFromMixins(MapCanvasDataProviderMixin);
2 |
3 | local SIZE_DIVIDEND = 13;
4 |
5 | function GroupMembersDataProviderMixin:OnAdded(mapCanvas)
6 | MapCanvasDataProviderMixin.OnAdded(self, mapCanvas);
7 | self:GetMap():SetPinTemplateType("GroupMembersPinTemplate", "UnitPositionFrame");
8 | -- a single permanent pin
9 | local pin = self:GetMap():AcquirePin("GroupMembersPinTemplate");
10 | pin:SetPosition(0.5, 0.5);
11 | pin:Show();
12 | self.pin = pin;
13 | end
14 |
15 | function GroupMembersDataProviderMixin:OnRemoved(mapCanvas)
16 | MapCanvasDataProviderMixin.OnRemoved(self, mapCanvas);
17 | self:GetMap():RemoveAllPinsByTemplate("GroupMembersPinTemplate");
18 | end
19 |
20 | function GroupMembersDataProviderMixin:OnShow()
21 | assert(self.ticker == nil);
22 | self.ticker = C_Timer.NewTicker(0, function() self:RefreshAllData() end);
23 | end
24 |
25 | function GroupMembersDataProviderMixin:OnHide()
26 | self.ticker:Cancel();
27 | self.ticker = nil;
28 | end
29 |
30 | function GroupMembersDataProviderMixin:OnMapChanged()
31 | local mapAreaID = self:GetMap():GetMapID();
32 | self.pin:SetOverrideMapID(mapAreaID);
33 | end
34 |
35 | function GroupMembersDataProviderMixin:RefreshAllData(fromOnShow)
36 | self.pin:SetSize(self:GetMap():DenormalizeHorizontalSize(1.0), self:GetMap():DenormalizeVerticalSize(1.0));
37 |
38 | local memberCount = 0;
39 | local unitBase;
40 | if IsInRaid() then
41 | memberCount = MAX_RAID_MEMBERS;
42 | unitBase = "raid";
43 | elseif IsInGroup() then
44 | memberCount = MAX_PARTY_MEMBERS;
45 | unitBase = "party";
46 | end
47 |
48 | self.pin:ClearUnits();
49 | local scale = FlightMapFrame.ScrollContainer:GetCanvasScale();
50 | local size = SIZE_DIVIDEND / scale;
51 | for i = 1, memberCount do
52 | local unit = unitBase..i;
53 | if UnitExists(unit) and not UnitIsUnit(unit, "player") then
54 | local atlas = UnitInSubgroup(unit) and "WhiteCircle-RaidBlips" or "WhiteDotCircle-RaidBlips";
55 | local class = select(2, UnitClass(unit));
56 | local r, g, b = GetClassColor(class);
57 | self.pin:AddUnitAtlas(unit, atlas, size, size, r, g, b, 1);
58 | end
59 | end
60 | self.pin:FinalizeUnits();
61 |
62 | self.pin:UpdateTooltips(GameTooltip);
63 | end
64 |
65 | --[[ Group Members Pin ]]--
66 | GroupMembersPinMixin = CreateFromMixins(MapCanvasPinMixin);
67 |
68 | function GroupMembersPinMixin:OnLoad()
69 | self:SetAlphaLimits(1.0, 1.0, 1.0);
70 | self:SetScalingLimits(0, 1, 1);
71 | end
--------------------------------------------------------------------------------
/AddOns/Blizzard_SharedMapDataProviders/GroupMembersDataProvider.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_SharedMapDataProviders/WorldQuestDataProvider.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_SharedMapDataProviders/ZoneLabelDataProvider.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | self:GetParent().dataProvider:OnFadeInFinished();
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 | self:GetParent().dataProvider:OnFadeOutFinished();
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_SocialUI/Blizzard_SocialUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Social UI
3 | ## Secure: 1
4 | ## Author: Blizzard Entertainment
5 | ## Version: 1.0
6 | ## LoadOnDemand: 1
7 | Blizzard_SocialUI.xml
8 | Localization.lua
--------------------------------------------------------------------------------
/AddOns/Blizzard_SocialUI/Blizzard_SocialUIInbound.lua:
--------------------------------------------------------------------------------
1 | -- DO NOT PUT ANY SENSITIVE CODE IN THIS FILE
2 | -- This file does not have access to the secure (forbidden) code. It is only called via Outbound and no function in this file should ever return values.
3 |
4 | function Social_SetShown(shown)
5 | SocialPostFrame:SetAttribute("action", shown and "Show" or "Hide");
6 | end
7 |
8 | function Social_IsShown()
9 | return SocialPostFrame:GetAttribute("isshown");
10 | end
11 |
12 | function Social_SetText(text)
13 | SocialPostFrame:SetAttribute("settext", text);
14 | end
15 |
16 | function Social_GetText()
17 | return SocialPostFrame:GetAttribute("gettext");
18 | end
19 |
20 | function Social_SetScreenshowView()
21 | SocialPostFrame:SetAttribute("viewmode", "screenshot");
22 | end
23 |
24 | function Social_SetDefaultView()
25 | SocialPostFrame:SetAttribute("viewmode", "default");
26 | end
27 |
28 | function Social_ToggleShow(text)
29 | if (text == "") then
30 | Social_SetShown(not Social_IsShown());
31 | else
32 | Social_SetShown(true);
33 | end
34 | if (Social_IsShown()) then
35 | Social_SetDefaultView();
36 | Social_SetText(text);
37 | end
38 | end
39 |
40 | function Social_ShowScreenshot(index)
41 | SocialPostFrame:SetAttribute("screenshotview", index);
42 | end
43 |
44 | function Social_ShowAchievement(achievementID, earned)
45 | SocialPostFrame:SetAttribute("earned", earned);
46 | SocialPostFrame:SetAttribute("achievementview", achievementID);
47 | end
48 |
49 | function Social_ShowItem(itemID, creationContext, earned)
50 | SocialPostFrame:SetAttribute("creationcontext", creationContext);
51 | SocialPostFrame:SetAttribute("earned", earned);
52 | SocialPostFrame:SetAttribute("itemview", itemID);
53 | end
54 |
55 | function Social_InsertLink(link)
56 | SocialPostFrame:SetAttribute("insertlink", link);
57 | end
58 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_SocialUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_StoreUI/Blizzard_StoreUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Store UI
3 | ## Secure: 1
4 | Blizzard_StoreUI.xml
5 | Blizzard_StoreUIInsecure.xml
6 | Localization.lua
7 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_StoreUI/Blizzard_StoreUIInbound.lua:
--------------------------------------------------------------------------------
1 | --All of these functions should be safe to call by tainted code. They should only communicate with secure code via SetAttribute and GetAttribute.
2 | function StoreFrame_SetShown(shown)
3 | StoreFrame:SetAttribute("action", shown and "Show" or "Hide");
4 | end
5 |
6 | function StoreFrame_IsShown()
7 | return StoreFrame:GetAttribute("isshown");
8 | end
9 |
10 | function StoreFrame_EscapePressed()
11 | StoreFrame:SetAttribute("action", "EscapePressed");
12 | return StoreFrame:GetAttribute("escaperesult");
13 | end
14 |
15 | function StoreFrame_PreviewFrameIsShown(isShown)
16 | StoreFrame:SetAttribute("previewframeshown", isShown);
17 | end
18 |
19 | function StoreFrame_CheckForFree(event)
20 | StoreFrame:SetAttribute("checkforfree", event);
21 | end
22 |
23 | function StoreFrame_SetTokenCategory()
24 | StoreFrame:SetAttribute("settokencategory");
25 | end
26 |
27 | function StoreFrame_SetGamesCategory()
28 | StoreFrame:SetAttribute("setgamescategory");
29 | end
30 |
31 | function StoreFrame_SetServicesCategory()
32 | StoreFrame:SetAttribute("setservicescategory");
33 | end
34 |
35 | function StoreFrame_SelectLevel100BoostProduct(optionalGuid)
36 | StoreFrame:SetAttribute("selectlevel100boostproduct", optionalGuid)
37 | end
38 |
39 | if (InGlue()) then
40 | function StoreFrame_GetVASErrorMessage(guid, errorList)
41 | local data = {};
42 | data.guid = guid;
43 | data.errors = errorList;
44 | data.realmName = GetServerName();
45 | StoreFrame:SetAttribute("getvaserrormessage", data);
46 | return StoreFrame:GetAttribute("vaserrormessageresult");
47 | end
48 | end
--------------------------------------------------------------------------------
/AddOns/Blizzard_StoreUI/Blizzard_StoreUIInsecure.lua:
--------------------------------------------------------------------------------
1 | -- DO NOT PUT ANY SENSITIVE CODE IN THIS FILE
2 | -- This file does not have access to the secure (forbidden) code. It is only called via Outbound and no function in this file should ever return values.
3 |
4 | function StoreShowPreview(name, modelID)
5 | local frame = ModelPreviewFrame;
6 | ModelPreviewFrame_ShowModel(modelID, false);
7 | frame.Display.Name:SetText(name);
8 | end
9 |
10 | function StoreSetItemTooltip(itemID, left, top, point)
11 | GameTooltip:SetOwner(UIParent, "ANCHOR_NONE");
12 | GameTooltip:SetPoint(point, UIParent, "BOTTOMLEFT", left, top);
13 | GameTooltip:SetItemByID(itemID);
14 | GameTooltip:Show();
15 | end
16 |
17 | function StorePreviewFrame_OnShow()
18 | StoreFrame_PreviewFrameIsShown(true);
19 | end
20 |
21 | function StorePreviewFrame_OnHide()
22 | StoreFrame_PreviewFrameIsShown(false);
23 | end
24 |
25 | function HidePreviewFrame()
26 | ModelPreviewFrame:Hide();
27 | end
28 |
29 | if (InGlue()) then
30 | VASCharacterGUID = nil;
31 | GlueDialogTypes["VAS_PRODUCT_DELIVERED"] = {
32 | button1 = OKAY,
33 | escapeHides = true,
34 | OnAccept = function()
35 | local data = GlueDialog.data;
36 |
37 | if (GetServerName() ~= data.realmName) then
38 | C_StoreGlue.ChangeRealmByCharacterGUID(data.guid);
39 | else
40 | UpdateCharacterList(true);
41 | end
42 |
43 | VASCharacterGUID = data.guid;
44 | end
45 | }
46 |
47 | function StoreFrame_WaitingForCharacterListUpdate()
48 | return VASCharacterGUID ~= nil or C_StoreGlue.GetVASProductReady();
49 | end
50 |
51 | function StoreFrame_OnCharacterListUpdate()
52 | if (C_StoreGlue.GetVASProductReady()) then
53 | local _, guid, realmName = C_PurchaseAPI.GetVASCompletionInfo();
54 | VASCharacterGUID = guid;
55 |
56 | if (GetServerName() ~= realmName) then
57 | C_StoreGlue.ChangeRealmByCharacterGUID(guid);
58 | else
59 | UpdateCharacterList(true);
60 | end
61 | C_StoreGlue.ClearVASProductReady();
62 | return;
63 | end
64 |
65 | if (VASCharacterGUID) then
66 | CharacterSelect_SelectCharacterByGUID(VASCharacterGUID);
67 | VASCharacterGUID = nil;
68 | end
69 | end
70 |
71 | function StoreFrame_ShowGlueDialog(text, guid, realmName)
72 | GlueDialog_Show("VAS_PRODUCT_DELIVERED", text, { ["guid"] = guid, ["realmName"] = realmName });
73 | end
74 | end
--------------------------------------------------------------------------------
/AddOns/Blizzard_StoreUI/Blizzard_StoreUIInsecure.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_StoreUI/Blizzard_StoreUIOutbound.lua:
--------------------------------------------------------------------------------
1 | --If any of these functions call out of this file, they should be using securecall. Be very wary of using return values.
2 | local _, tbl = ...;
3 | local Outbound = {};
4 | tbl.Outbound = Outbound;
5 | tbl = nil; --This file shouldn't be calling back into secure code.
6 |
7 | function Outbound.UpdateMicroButtons()
8 | securecall("UpdateMicroButtons");
9 | end
10 |
11 | function Outbound.ShowPreview(name, modelID)
12 | securecall("StoreShowPreview", name, modelID);
13 | end
14 |
15 | function Outbound.HidePreviewFrame()
16 | securecall("HidePreviewFrame");
17 | end
18 |
19 | function Outbound.Logout()
20 | securecall("Logout");
21 | end
22 |
23 | function Outbound.SetItemTooltip(itemID, left, top, point)
24 | securecall("StoreSetItemTooltip", itemID, left, top, point);
25 | end
26 |
27 | function Outbound.ClearItemTooltip()
28 | securecall("GameTooltip_Hide");
29 | end
30 |
31 | function Outbound.ConfirmClassTrialApplyToken()
32 | securecall("ClassTrial_ConfirmApplyToken")
33 | end
34 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_StoreUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_TalentUI/Blizzard_TalentUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Talent UI
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | Blizzard_TalentUI.xml
6 | Localization.lua
7 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_TalentUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_TalkingHeadUI/Blizzard_TalkingHeadUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Talking Head UI
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 |
6 | Blizzard_TalkingHeadUI.xml
--------------------------------------------------------------------------------
/AddOns/Blizzard_TimeManager/Blizzard_TimeManager.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Time Manager
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | ## SavedVariablesPerCharacter: BlizzardStopwatchOptions
6 | Blizzard_TimeManager.xml
7 | Localization.lua
8 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_TimeManager/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_TokenUI/Blizzard_TokenUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard_TokenUI
3 | ## Secure: 1
4 | Blizzard_TokenUI.lua
5 | Blizzard_TokenUI.xml
6 | Localization.lua
--------------------------------------------------------------------------------
/AddOns/Blizzard_TokenUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_TradeSkillUI/Blizzard_TradeSkillUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Trade Skill UI
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | Blizzard_TradeSkillUtils.lua
6 | Blizzard_TradeSkillRecipeButton.xml
7 | Blizzard_TradeSkillDetails.xml
8 | Blizzard_TradeSkillRecipeList.xml
9 | Blizzard_TradeSkillUI.xml
10 | Localization.lua
11 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_TradeSkillUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_TrainerUI/Blizzard_TrainerUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Trainer UI
3 | ## Secure: 1
4 | ## LoadOnDemand: 1
5 | Blizzard_TrainerUI.xml
6 | Localization.lua
7 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_TrainerUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_Tutorial/Blizzard_Tutorial.lua:
--------------------------------------------------------------------------------
1 | NewPlayerExperience = {};
2 | NewPlayerExperience.CompletionLevel = NPE_TUTORIAL_COMPLETE_LEVEL;
3 |
4 | -- ------------------------------------------------------------------------------------------------------------
5 | function NewPlayerExperience:Initialize()
6 |
7 | self:Begin();
8 | end
9 |
10 | -- ------------------------------------------------------------------------------------------------------------
11 | function NewPlayerExperience:Begin()
12 | if ( not GetCVarBool("showNPETutorials") ) then
13 | return;
14 | end
15 | -- Completion Criteria
16 | if (UnitLevel("player") >= self.CompletionLevel) then
17 | self:RegisterComplete();
18 | return;
19 | else
20 | Dispatcher:RegisterEvent("PLAYER_LEVEL_UP", self);
21 | end
22 |
23 | -- Tutorial only
24 | SetCVar("nameplateShowEnemies", 1); -- 0
25 | NPE_QuestManager:Initialize();
26 | Tutorials:Begin();
27 |
28 | self.IsActive = true;
29 | end
30 |
31 | -- ------------------------------------------------------------------------------------------------------------
32 | function NewPlayerExperience:PLAYER_LEVEL_UP(newLevel)
33 | if (newLevel >= self.CompletionLevel) then
34 | self:RegisterComplete();
35 | end
36 | end
37 |
38 | -- ------------------------------------------------------------------------------------------------------------
39 | function NewPlayerExperience:Shutdown()
40 | NPE_RangeManager:Shutdown();
41 | NPE_QuestManager:Shutdown();
42 | NPE_TutorialKeyboardMouseFrame:HideHelpFrame();
43 |
44 | Tutorials:Shutdown();
45 | self.IsActive = false;
46 | end
47 |
48 | -- ------------------------------------------------------------------------------------------------------------
49 | function NewPlayerExperience:RegisterComplete()
50 | self:Shutdown();
51 |
52 | SetCVar("showNPETutorials", 0);
53 | end
54 |
55 | -- ------------------------------------------------------------------------------------------------------------
56 | function NewPlayerExperience:GetIsActive()
57 | return self.IsActive;
58 | end
59 |
60 | -- ------------------------------------------------------------------------------------------------------------
61 | NewPlayerExperience:Initialize();
--------------------------------------------------------------------------------
/AddOns/Blizzard_Tutorial/Blizzard_Tutorial.toc:
--------------------------------------------------------------------------------
1 | ## Author: Blizzard Entertainment
2 | ## Title: Blizzard Tutorial
3 | ## Interface: 70100
4 | ## Secure: 1
5 | ## RequiredDep: Blizzard_TutorialTemplates
6 | ## LoadOnDemand: 1
7 | # Inspired by the Newbie Assistant written by 网易
8 |
9 | middleclass.lua
10 | Blizzard_TutorialDispatcher.lua
11 | Blizzard_TutorialQuestManager.lua
12 | Blizzard_TutorialRangeManager.lua
13 |
14 | Blizzard_TutorialRacialData.lua
15 |
16 | Blizzard_TutorialKeyboardMouseFrame.xml
17 | Blizzard_TutorialCalloutFrame.xml
18 | Blizzard_TutorialMainFrame.xml
19 |
20 | Blizzard_TutorialLogic.lua
21 | Blizzard_Tutorial.lua
22 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_Tutorial/Blizzard_TutorialCalloutFrame.lua:
--------------------------------------------------------------------------------
1 | NPE_TutorialCallout = {};
2 |
3 | -- ------------------------------------------------------------------------------------------------------------
4 | function NPE_TutorialCallout:Initialize()
5 | self.FramePool = {};
6 | self.InUseFrames = {};
7 | end
8 |
9 | -- ------------------------------------------------------------------------------------------------------------
10 | function NPE_TutorialCallout:Show()
11 | local frame = self:_GetFrame();
12 |
13 | frame:Show();
14 | frame.Animator.Anim_Pulse:Play();
15 |
16 | return frame;
17 | end
18 |
19 | -- ------------------------------------------------------------------------------------------------------------
20 | function NPE_TutorialCallout:Hide(frame)
21 | for i = #self.InUseFrames, 1, -1 do
22 | local f = self.InUseFrames[i];
23 |
24 | -- hide all frames if no frame is passed
25 | if ((not frame) or (f == frame)) then
26 | f:Hide();
27 | f.Animator.Anim_Pulse:Stop();
28 | table.insert(self.FramePool, f);
29 | table.remove(self.InUseFrames, i);
30 | end
31 | end
32 |
33 | end
34 |
35 | -- ------------------------------------------------------------------------------------------------------------
36 | function NPE_TutorialCallout:_GetFrame()
37 | local frame;
38 |
39 | if (#self.FramePool > 0) then
40 | frame = table.remove(self.FramePool);
41 | else
42 | frame = CreateFrame("frame", nil, UIParent, "NPE_TutorialCallout");
43 | end
44 |
45 | frame:ClearAllPoints();
46 | frame:SetSize(0, 0);
47 |
48 | table.insert(self.InUseFrames, frame);
49 | return frame;
50 | end
51 |
52 |
53 |
54 |
55 |
56 |
57 | -- ------------------------------------------------------------------------------------------------------------
58 | NPE_TutorialCallout:Initialize();
--------------------------------------------------------------------------------
/AddOns/Blizzard_Tutorial/Blizzard_TutorialCalloutFrame.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_TutorialTemplates/Blizzard_TutorialTemplates.toc:
--------------------------------------------------------------------------------
1 | ## Author: Blizzard Entertainment
2 | ## Title: Blizzard Tutorial Templates
3 | ## Interface: 70100
4 | ## Secure: 1
5 | ## LoadOnDemand: 1
6 |
7 | Blizzard_TutorialPointerFrame.xml
8 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_VoidStorageUI/Blizzard_VoidStorageUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard Void Storage UI
3 | ## Secure: 1
4 | ## Author: Blizzard Entertainment
5 | ## Version: 1.0
6 | ## LoadOnDemand: 1
7 | Blizzard_VoidStorageUI.xml
8 | Localization.lua
--------------------------------------------------------------------------------
/AddOns/Blizzard_VoidStorageUI/Localization.lua:
--------------------------------------------------------------------------------
1 | -- This file is executed at the end of addon load
2 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_WowTokenUI/Blizzard_WowTokenUI.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 70100
2 | ## Title: Blizzard WoW Token UI
3 | ## Secure: 1
4 | ## LoadOnDemand: 0
5 | Blizzard_WowTokenUI.xml
6 | Blizzard_WowTokenUIInsecure.xml
--------------------------------------------------------------------------------
/AddOns/Blizzard_WowTokenUI/Blizzard_WowTokenUIInbound.lua:
--------------------------------------------------------------------------------
1 | --All of these functions should be safe to call by tainted code. They should only communicate with secure code via SetAttribute and GetAttribute.
2 |
3 | function WowToken_IsWowTokenAuctionDialogShown()
4 | return WowTokenDialog:GetAttribute("isauctiondialogshown");
5 | end
6 |
7 | function WowTokenRedemptionFrame_EscapePressed()
8 | WowTokenRedemptionFrame:SetAttribute("action", "EscapePressed");
9 | return WowTokenRedemptionFrame:GetAttribute("escaperesult");
10 | end
11 |
12 | function WowTokenRedemptionFrame_GetBalanceString()
13 | WowTokenRedemptionFrame:SetAttribute("getbalancestring");
14 | return WowTokenRedemptionFrame:GetAttribute("balancestring");
15 | end
--------------------------------------------------------------------------------
/AddOns/Blizzard_WowTokenUI/Blizzard_WowTokenUIInsecure.lua:
--------------------------------------------------------------------------------
1 | -- DO NOT PUT ANY SENSITIVE CODE IN THIS FILE
2 | -- This file does not have access to the secure (forbidden) code. It is only called via Outbound and no function in this file should ever return values.
3 |
4 | function RedeemFailed(result)
5 | local error;
6 | if (result == LE_TOKEN_RESULT_ERROR_TRIAL_RESTRICTED) then
7 | error = ERR_RESTRICTED_ACCOUNT_TRIAL;
8 | elseif (result == LE_TOKEN_RESULT_ERROR_DISABLED) then
9 | error = TOKEN_AUCTIONS_UNAVAILABLE;
10 | else
11 | error = SPELL_FAILED_ERROR;
12 | end
13 | UIErrorsFrame:AddMessage(error, 1.0, 0.1, 0.1, 1.0);
14 | end
--------------------------------------------------------------------------------
/AddOns/Blizzard_WowTokenUI/Blizzard_WowTokenUIInsecure.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
--------------------------------------------------------------------------------
/AddOns/Blizzard_WowTokenUI/Blizzard_WowTokenUIOutbound.lua:
--------------------------------------------------------------------------------
1 | --If any of these functions call out of this file, they should be using securecall. Be very wary of using return values.
2 | local _, tbl = ...;
3 | local Outbound = {};
4 | tbl.Outbound = Outbound;
5 | tbl = nil; --This file shouldn't be calling back into secure code.
6 |
7 | function Outbound.RedeemFailed(result)
8 | securecall("RedeemFailed", result);
9 | end
10 |
11 | function Outbound.AuctionWowTokenUpdate()
12 | securecall("AuctionWowToken_UpdateMarketPrice");
13 | end
--------------------------------------------------------------------------------
/FrameXML/ActionBarController.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/FrameXML/AlertFrames.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/FrameXML/ArtifactToasts.lua:
--------------------------------------------------------------------------------
1 | ArtifactLevelUpToastMixin = {};
2 |
3 | function ArtifactLevelUpToastMixin:OnLoad()
4 | self:RegisterEvent("PLAYER_ENTERING_WORLD");
5 | self:RegisterEvent("ARTIFACT_XP_UPDATE");
6 | self:RegisterEvent("UNIT_INVENTORY_CHANGED");
7 | end
8 |
9 | function ArtifactLevelUpToastMixin:OnEvent(event, ...)
10 | if event == "PLAYER_ENTERING_WORLD" then
11 | self:EvaluateTrigger();
12 | elseif event == "ARTIFACT_XP_UPDATE" then
13 | self:EvaluateTrigger();
14 | elseif event == "UNIT_INVENTORY_CHANGED" then
15 | local unitTag = ...;
16 | if unitTag == "player" then
17 | self:EvaluateTrigger();
18 | end
19 | end
20 | end
21 |
22 | function ArtifactLevelUpToastMixin:EvaluateTrigger()
23 | local itemID, altItemID, name, icon, xp, pointsSpent, quality, artifactAppearanceID, appearanceModID, itemAppearanceID, altItemAppearanceID, altOnTop, artifactMaxed = C_ArtifactUI.GetEquippedArtifactInfo();
24 | local showArtifact = itemID and not artifactIsMaxed;
25 | if self.showArtifact ~= showArtifact or C_ArtifactUI.IsAtForge() then
26 | self.showArtifact = showArtifact;
27 |
28 | if self.showArtifact then
29 | self.currentArtifactPurchasableTraits = MainMenuBar_GetNumArtifactTraitsPurchasableFromXP(pointsSpent, xp);
30 | self.currentItemID = itemID;
31 | else
32 | self.currentArtifactPurchasableTraits = nil;
33 | self.currentItemID = nil;
34 | end
35 | elseif self.showArtifact then
36 | local artifactPurchasableTraits = MainMenuBar_GetNumArtifactTraitsPurchasableFromXP(pointsSpent, xp);
37 | if self.currentItemID == itemID then
38 | if self.currentArtifactPurchasableTraits < artifactPurchasableTraits then
39 | local _, titleName = C_ArtifactUI.GetEquippedArtifactArtInfo();
40 | TopBannerManager_Show(self, { name = titleName, icon = icon, });
41 | end
42 | self.currentArtifactPurchasableTraits = artifactPurchasableTraits;
43 | else
44 | self.currentItemID = itemID;
45 | self.currentArtifactPurchasableTraits = artifactPurchasableTraits;
46 | end
47 | end
48 | end
49 |
50 | function ArtifactLevelUpToastMixin:PlayBanner(data)
51 | self.ArtifactName:SetText(data.name);
52 | self.Icon:SetTexture(data.icon);
53 |
54 | self.BottomLineLeft:SetAlpha(0);
55 | self.BottomLineRight:SetAlpha(0);
56 |
57 | self.ArtifactName:SetAlpha(0);
58 | self.NewTrait:SetAlpha(0);
59 | self.UnlockTrait:SetAlpha(0);
60 |
61 | self:SetAlpha(1);
62 | self:Show();
63 |
64 | self.ArtifactLevelUpAnim:Play();
65 | PlaySound("UI_70_Artifact_Forge_Toast_TraitAvailable");
66 | end
67 |
68 | function ArtifactLevelUpToastMixin:StopBanner()
69 | self.ArtifactLevelUpAnim:Stop();
70 | self:Hide();
71 | end
72 |
73 | function ArtifactLevelUpToastMixin:OnAnimFinished()
74 | self:Hide();
75 | TopBannerManager_BannerFinished();
76 | end
--------------------------------------------------------------------------------
/FrameXML/AudioOptionsFrame.lua:
--------------------------------------------------------------------------------
1 | -- if you change something here you probably want to change the glue version too
2 |
3 | function AudioOptionsFrame_Toggle ()
4 | if ( AudioOptionsFrame:IsShown() ) then
5 | AudioOptionsFrame:Hide();
6 | else
7 | AudioOptionsFrame:Show();
8 | end
9 | end
10 |
11 | function AudioOptionsFrame_SetAllToDefaults ()
12 | OptionsFrame_SetAllToDefaults(AudioOptionsFrame);
13 |
14 | if ( AudioOptionsFrame.audioRestart ) then
15 | AudioOptionsFrame_AudioRestart();
16 | end
17 | end
18 |
19 | function AudioOptionsFrame_SetCurrentToDefaults ()
20 | OptionsFrame_SetCurrentToDefaults(AudioOptionsFrame);
21 |
22 | if ( AudioOptionsFrame.audioRestart ) then
23 | AudioOptionsFrame_AudioRestart();
24 | end
25 | end
26 |
27 | function AudioOptionsFrame_AudioRestart ()
28 | AudioOptionsFrame.audioRestart = nil;
29 | Sound_GameSystem_RestartSoundSystem();
30 | end
31 |
32 | function AudioOptionsFrame_OnLoad (self)
33 | OptionsFrame_OnLoad(self);
34 |
35 | AudioOptionsFrame:SetHeight(540);
36 | AudioOptionsFrameCategoryFrame:SetHeight(449);
37 | self:RegisterEvent("PLAYER_ENTERING_WORLD");
38 | end
39 |
40 | function AudioOptionsFrame_OnEvent (self, event, ...)
41 | if ( IsVoiceChatAllowedByServer() ) then
42 | _G[self:GetName().."HeaderText"]:SetText(SOUNDOPTIONS_MENU);
43 | else
44 | _G[self:GetName().."HeaderText"]:SetText(SOUND);
45 | end
46 | end
47 |
48 | function AudioOptionsFrame_OnHide (self)
49 | OptionsFrame_OnHide(self);
50 |
51 | if ( AudioOptionsFrame.gameRestart ) then
52 | StaticPopup_Show("CLIENT_RESTART_ALERT");
53 | AudioOptionsFrame.gameRestart = nil;
54 | elseif ( AudioOptionsFrame.logout ) then
55 | StaticPopup_Show("CLIENT_LOGOUT_ALERT");
56 | AudioOptionsFrame.logout = nil;
57 | end
58 | end
59 |
60 | function AudioOptionsFrameCancel_OnClick (self, button)
61 | OptionsFrameCancel_OnClick(AudioOptionsFrame);
62 |
63 | if ( AudioOptionsFrame.audioRestart ) then
64 | AudioOptionsFrame_AudioRestart();
65 | end
66 |
67 | AudioOptionsFrame.gameRestart = nil;
68 | AudioOptionsFrame.logout = nil;
69 |
70 | AudioOptionsFrame_Toggle();
71 | end
72 |
73 | function AudioOptionsFrameOkay_OnClick (self, button)
74 | OptionsFrameOkay_OnClick(AudioOptionsFrame);
75 |
76 | if ( AudioOptionsFrame.audioRestart ) then
77 | AudioOptionsFrame_AudioRestart();
78 | end
79 |
80 | AudioOptionsFrame_Toggle();
81 | end
82 |
83 | function AudioOptionsFrameDefault_OnClick ()
84 | OptionsFrameDefault_OnClick(AudioOptionsFrame);
85 |
86 | StaticPopup_Show("CONFIRM_RESET_AUDIO_SETTINGS");
87 | end
88 |
--------------------------------------------------------------------------------
/FrameXML/AudioOptionsFrame.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
24 |
35 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/FrameXML/BattlePetTooltip.lua:
--------------------------------------------------------------------------------
1 | local BATTLE_PET_TOOLTIP = {};
2 |
3 | function BattlePetToolTip_Show(speciesID, level, breedQuality, maxHealth, power, speed, customName)
4 | if (speciesID and speciesID > 0) then
5 | local name, icon, petType = C_PetJournal.GetPetInfoBySpeciesID(speciesID);
6 | BATTLE_PET_TOOLTIP.speciesID = speciesID;
7 | BATTLE_PET_TOOLTIP.name = name;
8 | BATTLE_PET_TOOLTIP.level = level;
9 | BATTLE_PET_TOOLTIP.breedQuality = breedQuality;
10 | BATTLE_PET_TOOLTIP.petType = petType;
11 | BATTLE_PET_TOOLTIP.maxHealth = maxHealth;
12 | BATTLE_PET_TOOLTIP.power = power;
13 | BATTLE_PET_TOOLTIP.speed = speed;
14 | if (customName ~= BATTLE_PET_TOOLTIP.name) then
15 | BATTLE_PET_TOOLTIP.customName = customName;
16 | else
17 | BATTLE_PET_TOOLTIP.customName = nil;
18 | end
19 |
20 | BattlePetTooltipTemplate_SetBattlePet(BattlePetTooltip, BATTLE_PET_TOOLTIP);
21 |
22 | local owned = C_PetJournal.GetOwnedBattlePetString(speciesID);
23 | BattlePetTooltip.Owned:SetText(owned);
24 | if(owned == nil) then
25 | BattlePetTooltip:SetSize(260,122);
26 | else
27 | BattlePetTooltip:SetSize(260,136);
28 | end
29 |
30 | BattlePetTooltip:Show();
31 |
32 | BattlePetTooltip:ClearAllPoints();
33 | BattlePetTooltip:SetPoint(GameTooltip:GetPoint());
34 | end
35 | end
--------------------------------------------------------------------------------
/FrameXML/BattlePetTooltip.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/FrameXML/ClassPowerBar.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/FrameXML/ClassResourceOverlay.lua:
--------------------------------------------------------------------------------
1 | ClassResourceOverlayParent = {};
2 |
3 | function ClassResourceOverlayParent:OnShow()
4 | UIParent_ManageFramePositions();
5 | end
6 |
7 | function ClassResourceOverlayParent:OnHide()
8 | UIParent_ManageFramePositions();
9 | end
10 |
11 | function ClassResourceOverlayParent:SetClassResourceOverlay(overlay, show)
12 | self:SetSize(overlay:GetSize());
13 | self:SetShown(show);
14 | overlay:SetShown(show);
15 | end
16 |
17 |
18 | ClassResourceOverlay = {};
19 |
20 | function ClassResourceOverlay:OnLoad()
21 | --[[
22 | Initialize these variables in the class-specific OnLoad mixin function. Also make sure to implement
23 | a UpdatePower() mixin function that handles UI changes for whenever the power display changes
24 | self.class = "PALADIN";
25 | self.spec = SPEC_PALADIN_RETRIBUTION;
26 | self.powerToken = "HOLY_POWER";
27 | ]]--
28 |
29 | self:Setup();
30 | end
31 |
32 | function ClassResourceOverlay:OnEvent(event, arg1, arg2)
33 | if ( event == "UNIT_POWER_FREQUENT" and arg1 == "player" and self.powerToken == arg2 ) then
34 | self:UpdatePower();
35 | elseif ( event == "PLAYER_ENTERING_WORLD" ) then
36 | self:UpdatePower();
37 | elseif (event == "PLAYER_TALENT_UPDATE" ) then
38 | self:Setup();
39 | self:UpdatePower();
40 | else
41 | return false;
42 | end
43 | return true;
44 | end
45 |
46 | function ClassResourceOverlay:MatchesClass()
47 | local _, myclass = UnitClass("player");
48 | return myclass == self.class;
49 | end
50 |
51 | function ClassResourceOverlay:MatchesSpec()
52 | if ( not self.spec ) then
53 | return true;
54 | end
55 | local myspec = GetSpecialization();
56 | return myspec == self.spec;
57 | end
58 |
59 | function ClassResourceOverlay:Setup()
60 | local spec = GetSpecialization();
61 | local showBar = false;
62 |
63 | if ( self:MatchesClass() ) then
64 | if ( self:MatchesSpec() ) then
65 | self:RegisterUnitEvent("UNIT_POWER_FREQUENT", "player");
66 | self:RegisterEvent("PLAYER_ENTERING_WORLD");
67 | showBar = true;
68 | else
69 | self:UnregisterEvent("UNIT_POWER_FREQUENT");
70 | self:UnregisterEvent("PLAYER_ENTERING_WORLD");
71 | end
72 |
73 | self:RegisterEvent("PLAYER_TALENT_UPDATE");
74 | end
75 | self:GetParent():SetClassResourceOverlay(self, showBar);
76 | return showBar;
77 | end
78 |
--------------------------------------------------------------------------------
/FrameXML/ClassResourceOverlay.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/FrameXML/ClassResourceOverlayDemonHunter.lua:
--------------------------------------------------------------------------------
1 | DemonHunterResourceOverlay = {};
2 |
3 | function DemonHunterResourceOverlay:OnLoad()
4 | self.initialized = false;
5 | self.class = "DEMONHUNTER";
6 | self.powerToken = "FURY";
7 | self.barWidth = self.Background:GetWidth();
8 | self.lastFury = UnitPower("player", SPELL_POWER_FURY);
9 |
10 | ClassResourceOverlay.OnLoad(self);
11 | end
12 |
13 | function DemonHunterResourceOverlay:OnEvent(event, arg1, arg2)
14 | if (event == "PLAYER_ENTERING_WORLD") then
15 | self.initialized = true;
16 | local atlasFile = self.Bar:GetAtlas();
17 | local atlasInfo = { atlas=atlasFile };
18 | self.FeedbackFrame:Initialize(atlasInfo, "player", SPELL_POWER_FURY);
19 | end
20 | ClassResourceOverlay.OnEvent(self, event, arg1, arg2);
21 | end
22 |
23 | function DemonHunterResourceOverlay:UpdatePower()
24 | if (not self.initialized) then
25 | return;
26 | end
27 | local fury = UnitPower("player", SPELL_POWER_FURY);
28 | local maxFury = UnitPowerMax("player", SPELL_POWER_FURY);
29 | local furyPercent = fury / maxFury;
30 | self.Bar:SetWidth(furyPercent * self.barWidth);
31 | self.Bar:SetTexCoord(0, furyPercent, 0, 1);
32 |
33 | -- Show builder spender anim if change is more than 10%
34 | if ( math.abs(fury - self.lastFury) / maxFury > 0.1 ) then
35 | self.FeedbackFrame:StartFeedbackAnim(self.lastFury, fury);
36 | end
37 | self.lastFury = fury;
38 | end
39 |
--------------------------------------------------------------------------------
/FrameXML/ClassResourceOverlayDemonHunter.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/FrameXML/ClassResourceOverlayPaladin.lua:
--------------------------------------------------------------------------------
1 | PaladinResourceOverlay = {};
2 |
3 | function PaladinResourceOverlay:OnLoad()
4 | self.class = "PALADIN";
5 | self.spec = SPEC_PALADIN_RETRIBUTION;
6 | self.powerToken = "HOLY_POWER";
7 |
8 | for i = 1, #self.Runes do
9 | self.Runes[i].on = false;
10 | self.Runes[i].OffTexture:SetAtlas("ClassOverlay-HolyPower" .. i .. "off", true);
11 | self.Runes[i].OnTexture:SetAtlas("ClassOverlay-HolyPower" .. i .. "on", true);
12 | end
13 |
14 | self.Background:SetAlpha(0.5);
15 |
16 | ClassResourceOverlay.OnLoad(self);
17 | end
18 |
19 | function PaladinResourceOverlay:OnEvent(event, arg1, arg2)
20 | local eventHandled = ClassResourceOverlay.OnEvent(self, event, arg1, arg2);
21 | if( not eventHandled and event == "PLAYER_LEVEL_UP" ) then
22 | local level = arg1;
23 | if level >= PALADINPOWERBAR_SHOW_LEVEL then
24 | self:UnregisterEvent("PLAYER_LEVEL_UP");
25 | self:GetParent():SetOverlay(self, true);
26 | self:UpdatePower();
27 | end
28 | end
29 | end
30 |
31 | function PaladinResourceOverlay:Setup()
32 | if (self:MatchesClass() and self:MatchesSpec() and UnitLevel("player") < PALADINPOWERBAR_SHOW_LEVEL) then
33 | self:RegisterEvent("PLAYER_LEVEL_UP");
34 | self:GetParent():SetOverlay(self, false);
35 | else
36 | ClassResourceOverlay.Setup(self);
37 | end
38 | end
39 |
40 | function PaladinResourceOverlay:ToggleHolyRune(self, on)
41 | if (self.on ~= on) then
42 | if (on) then
43 | self.TurnOn:Play();
44 | else
45 | self.TurnOff:Play();
46 | end
47 | end
48 | end
49 |
50 | function PaladinResourceOverlay:UpdatePower()
51 | if ( self.delayedUpdate ) then
52 | return;
53 | end
54 |
55 | local numHolyPower = UnitPower("player", SPELL_POWER_HOLY_POWER);
56 | local maxHolyPower = UnitPowerMax("player", SPELL_POWER_HOLY_POWER);
57 |
58 | -- If we had more than HOLY_POWER_FULL and then used HOLY_POWER_FULL amount of power, fade out
59 | -- the top 3 and then move the remaining power from the bottom up to the top
60 | if ( self.lastPower and self.lastPower > HOLY_POWER_FULL and numHolyPower == self.lastPower - HOLY_POWER_FULL ) then
61 | for i = 1, HOLY_POWER_FULL do
62 | self:ToggleHolyRune(self.Runes[i], false);
63 | end
64 | self.delayedUpdate = true;
65 | self.lastPower = nil;
66 | C_Timer.After(0.6, function()
67 | self.delayedUpdate = false;
68 | self:UpdatePower();
69 | end);
70 | else
71 | for i = 1, numHolyPower do
72 | self:ToggleHolyRune(self.Runes[i], true);
73 | end
74 | for i = numHolyPower + 1, maxHolyPower do
75 | self:ToggleHolyRune(self.Runes[i], false);
76 | end
77 | self.lastPower = numHolyPower;
78 | end
79 | end
80 |
--------------------------------------------------------------------------------
/FrameXML/ClassResourceOverlayRogue.lua:
--------------------------------------------------------------------------------
1 | RogueResourceOverlay = {};
2 |
3 | function RogueResourceOverlay:OnLoad()
4 | self.class = "ROGUE";
5 | self.powerToken = "COMBO_POINTS";
6 |
7 | local toAlpha = 0.5;
8 | self.Fadein.AlphaAnim:SetToAlpha(toAlpha);
9 | for i = 1, #self.ComboPoints do
10 | self.ComboPoints[i].Fadein.AlphaAnim:SetToAlpha(toAlpha);
11 | end
12 |
13 | ClassResourceOverlay.OnLoad(self);
14 | end
15 |
16 | function RogueResourceOverlay:OnEvent(event, arg1, arg2)
17 | if (event == "PLAYER_REGEN_ENABLED") then
18 | local comboPoints = UnitPower("player", SPELL_POWER_COMBO_POINTS);
19 | if (comboPoints == 0) then
20 | -- Fade out background if no combo points and player went out of combat
21 | self:PlayFadeAnim(self, self.Background, false);
22 | end
23 | else
24 | ClassResourceOverlay.OnEvent(self, event, arg1, arg2);
25 | end
26 | end
27 |
28 | function RogueResourceOverlay:Setup()
29 | ClassResourceOverlay.Setup(self);
30 | self:RegisterEvent("PLAYER_REGEN_ENABLED");
31 | end
32 |
33 | function RogueResourceOverlay:PlayFadeAnim(frame, texture, fadein)
34 | local alphaValue = texture:GetAlpha();
35 | frame.Fadein:Stop();
36 | frame.Fadeout:Stop();
37 | texture:SetAlpha(alphaValue);
38 | if (fadein and alphaValue < 1) then
39 | frame.Fadein.AlphaAnim:SetFromAlpha(alphaValue);
40 | frame.Fadein:Play();
41 | elseif (not fadein and alphaValue > 0) then
42 | frame.Fadeout.AlphaAnim:SetFromAlpha(alphaValue);
43 | frame.Fadeout:Play();
44 | end
45 | end
46 |
47 | function RogueResourceOverlay:UpdatePower()
48 | local comboPoints = UnitPower("player", SPELL_POWER_COMBO_POINTS);
49 | for i = 1, min(comboPoints, #self.ComboPoints) do
50 | self:PlayFadeAnim(self.ComboPoints[i], self.ComboPoints[i].Point, true);
51 | end
52 | for i = comboPoints + 1, #self.ComboPoints do
53 | self:PlayFadeAnim(self.ComboPoints[i], self.ComboPoints[i].Point, false);
54 | end
55 |
56 | if (comboPoints > 0) then
57 | -- Fade in background when we gain any combo points
58 | self:PlayFadeAnim(self, self.Background, true);
59 | elseif (comboPoints == 0 and not UnitAffectingCombat("player")) then
60 | -- Fade out background if no combo points and not in combat
61 | self:PlayFadeAnim(self, self.Background, false);
62 | end
63 | end
64 |
--------------------------------------------------------------------------------
/FrameXML/CombatFeedback.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/FrameXML/CompactPartyFrame.lua:
--------------------------------------------------------------------------------
1 | function CompactPartyFrame_OnLoad(self)
2 | self.applyFunc = CompactRaidGroup_ApplyFunctionToAllFrames;
3 |
4 | local unitFrame = _G[self:GetName().."Member1"];
5 | CompactUnitFrame_SetUnit(unitFrame, "player");
6 | CompactUnitFrame_SetUpFrame(unitFrame, DefaultCompactUnitFrameSetup);
7 | CompactUnitFrame_SetUpdateAllEvent(unitFrame, "GROUP_ROSTER_UPDATE");
8 |
9 | for i=1, MEMBERS_PER_RAID_GROUP do
10 | if ( i > 1 ) then --Player has to be done separately.
11 | local unitFrame = _G[self:GetName().."Member"..i];
12 | CompactUnitFrame_SetUnit(unitFrame, "party"..(i-1));
13 | CompactUnitFrame_SetUpFrame(unitFrame, DefaultCompactUnitFrameSetup);
14 | CompactUnitFrame_SetUpdateAllEvent(unitFrame, "GROUP_ROSTER_UPDATE");
15 | end
16 | end
17 |
18 | self.title:SetText(PARTY);
19 | self.title:Disable();
20 | end
21 |
22 | function CompactPartyFrame_Generate()
23 | local frame = CompactPartyFrame;
24 | local didCreate = false;
25 | if ( not frame ) then
26 | frame = CreateFrame("Frame", "CompactPartyFrame", UIParent, "CompactPartyFrameTemplate");
27 | CompactRaidGroup_UpdateBorder(frame);
28 | didCreate = true;
29 | end
30 | return frame, didCreate;
31 | end
32 |
--------------------------------------------------------------------------------
/FrameXML/CompactPartyFrame.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 | CompactPartyFrame_OnLoad(self);
8 |
9 |
10 | --Overriding the RaidGroup OnEvent.
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/FrameXML/Cooldown.lua:
--------------------------------------------------------------------------------
1 |
2 | function CooldownFrame_Set(self, start, duration, enable, forceShowDrawEdge, modRate)
3 | if enable and enable ~= 0 and start > 0 and duration > 0 then
4 | self:SetDrawEdge(forceShowDrawEdge);
5 | self:SetCooldown(start, duration, modRate);
6 | else
7 | CooldownFrame_Clear(self);
8 | end
9 | end
10 |
11 | function CooldownFrame_Clear(self)
12 | self:Clear();
13 | end
--------------------------------------------------------------------------------
/FrameXML/Cooldown.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/FrameXML/DestinyFrame.lua:
--------------------------------------------------------------------------------
1 | function DestinyFrame_OnEvent(self, event)
2 | PlaySound("igSpellBookOpen");
3 | MoveForwardStop(); -- in case the player was moving, need to check if it'll work in blizzcon build
4 | DestinyFrame_UpdateRecruitInfo(self);
5 | self:Show();
6 | end
7 |
8 | function DestinyFrame_UpdateRecruitInfo(self)
9 | local active, faction = C_RecruitAFriend.GetRecruitInfo();
10 | if ( active ) then
11 | if ( PLAYER_FACTION_GROUP[faction] == "Horde" ) then
12 | self.RecruitAFriendSuggestion:ClearAllPoints();
13 | self.RecruitAFriendSuggestion:SetPoint("LEFT", DestinyHordeButton, "RIGHT", 10, 0);
14 | RecruitAFriend_ShowInfoDialog(self.RecruitAFriendSuggestion, RECRUIT_A_FRIEND_FACTION_PANDAREN_HORDE);
15 | RecruitAFriend_SetInfoDialogDirection(self.RecruitAFriendSuggestion, "left");
16 | else
17 | self.RecruitAFriendSuggestion:ClearAllPoints();
18 | self.RecruitAFriendSuggestion:SetPoint("RIGHT", DestinyAllianceButton, "LEFT", -10, 0);
19 | RecruitAFriend_ShowInfoDialog(self.RecruitAFriendSuggestion, RECRUIT_A_FRIEND_FACTION_PANDAREN_ALLIANCE);
20 | RecruitAFriend_SetInfoDialogDirection(self.RecruitAFriendSuggestion, "right");
21 | end
22 | else
23 | self.RecruitAFriendSuggestion:Hide();
24 | end
25 | end
26 |
--------------------------------------------------------------------------------
/FrameXML/EasyMenu.lua:
--------------------------------------------------------------------------------
1 |
2 | -- Simplified Menu Display System
3 | -- This is a basic system for displaying a menu from a structure table.
4 | --
5 | -- See UIDropDownMenu.lua for the menuList details.
6 | --
7 | -- Args:
8 | -- menuList - menu table
9 | -- menuFrame - the UI frame to populate
10 | -- anchor - where to anchor the frame (e.g. CURSOR)
11 | -- x - x offset
12 | -- y - y offset
13 | -- displayMode - border type
14 | -- autoHideDelay - how long until the menu disappears
15 | --
16 | --
17 | function EasyMenu(menuList, menuFrame, anchor, x, y, displayMode, autoHideDelay )
18 | if ( displayMode == "MENU" ) then
19 | menuFrame.displayMode = displayMode;
20 | end
21 | UIDropDownMenu_Initialize(menuFrame, EasyMenu_Initialize, displayMode, nil, menuList);
22 | ToggleDropDownMenu(1, nil, menuFrame, anchor, x, y, menuList, nil, autoHideDelay);
23 | end
24 |
25 | function EasyMenu_Initialize( frame, level, menuList )
26 | for index = 1, #menuList do
27 | local value = menuList[index]
28 | if (value.text) then
29 | value.index = index;
30 | UIDropDownMenu_AddButton( value, level );
31 | end
32 | end
33 | end
34 |
35 |
--------------------------------------------------------------------------------
/FrameXML/ExtraActionBar.lua:
--------------------------------------------------------------------------------
1 |
2 |
3 | local DefaultExtraActionStyle = "Interface\\ExtraButton\\Default";
4 |
5 | function ExtraActionBar_OnLoad (self)
6 | self:SetFrameLevel(self:GetFrameLevel() + 2);
7 | self:SetAlpha(0.0)
8 | end
9 |
10 | function ExtraActionBar_Update()
11 | local bar = ExtraActionBarFrame;
12 | if ( HasExtraActionBar() ) then
13 | bar:Show();
14 | local texture = GetOverrideBarSkin() or DefaultExtraActionStyle;
15 | bar.button.style:SetTexture(texture);
16 | ActionButton_UpdateUsable(bar.button);
17 | UIParent_ManageFramePositions();
18 | bar.outro:Stop();
19 | bar.intro:Play();
20 | elseif( bar:IsShown() ) then
21 | bar.intro:Stop();
22 | bar.outro:Play();
23 | end
24 | end
25 |
26 | function ExtraActionBar_OnHide (self)
27 | UIParent_ManageFramePositions();
28 | end
29 |
30 |
31 | function ExtraActionButtonKey(id, isDown)
32 | local button = _G["ExtraActionButton"..id];
33 |
34 | if isDown then
35 | if ( button:GetButtonState() == "NORMAL" ) then
36 | button:SetButtonState("PUSHED");
37 | end
38 | if (GetCVarBool("ActionButtonUseKeyDown")) then
39 | SecureActionButton_OnClick(button, "LeftButton");
40 | ActionButton_UpdateState(button);
41 | end
42 | else
43 | if ( button:GetButtonState() == "PUSHED" ) then
44 | button:SetButtonState("NORMAL");
45 | if (not GetCVarBool("ActionButtonUseKeyDown")) then
46 | SecureActionButton_OnClick(button, "LeftButton");
47 | ActionButton_UpdateState(button);
48 | end
49 | end
50 | end
51 | end
52 |
--------------------------------------------------------------------------------
/FrameXML/FadingFrame.lua:
--------------------------------------------------------------------------------
1 |
2 | function FadingFrame_SetFadeInTime(fadingFrame, time)
3 | fadingFrame.fadeInTime = time;
4 | end
5 | function FadingFrame_SetHoldTime(fadingFrame, time)
6 | fadingFrame.holdTime = time;
7 | end
8 | function FadingFrame_SetFadeOutTime(fadingFrame, time)
9 | fadingFrame.fadeOutTime = time;
10 | end
11 | function FadingFrame_OnLoad(fadingFrame)
12 | assert(fadingFrame);
13 | fadingFrame.fadeInTime = 0;
14 | fadingFrame.holdTime = 0;
15 | fadingFrame.fadeOutTime = 0;
16 | fadingFrame:Hide();
17 | end
18 | function FadingFrame_Show(fadingFrame)
19 | assert(fadingFrame);
20 | fadingFrame.startTime = GetTime();
21 | fadingFrame:Show();
22 | end
23 | function FadingFrame_OnUpdate(fadingFrame)
24 | assert(fadingFrame);
25 | local elapsed = GetTime() - fadingFrame.startTime;
26 | local fadeInTime = fadingFrame.fadeInTime;
27 | if ( elapsed < fadeInTime ) then
28 | local alpha = (elapsed / fadeInTime);
29 | fadingFrame:SetAlpha(alpha);
30 | return;
31 | end
32 | local holdTime = fadingFrame.holdTime;
33 | if ( elapsed < (fadeInTime + holdTime) ) then
34 | fadingFrame:SetAlpha(1.0);
35 | return;
36 | end
37 | local fadeOutTime = fadingFrame.fadeOutTime;
38 | if ( elapsed < (fadeInTime + holdTime + fadeOutTime) ) then
39 | local alpha = 1.0 - ((elapsed - holdTime - fadeInTime) / fadeOutTime);
40 | fadingFrame:SetAlpha(alpha);
41 | return;
42 | end
43 | fadingFrame:Hide();
44 | end
45 |
46 | function FadingFrame_GetRemainingTime(fadingFrame)
47 | local elapsed = GetTime() - fadingFrame.startTime;
48 | return (fadingFrame.holdTime + fadingFrame.fadeInTime + fadingFrame.fadeOutTime - elapsed);
49 | end
50 |
51 | function FadingFrame_CopyTimes(src, dest)
52 | dest.fadeInTime = src.fadeInTime;
53 | dest.holdTime = src.holdTime;
54 | dest.fadeOutTime = src.fadeOutTime;
55 | dest.startTime = src.startTime;
56 | end
57 |
--------------------------------------------------------------------------------
/FrameXML/FadingFrame.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/FrameXML/GameMenuFrame.lua:
--------------------------------------------------------------------------------
1 | function GameMenuFrame_OnShow(self)
2 | UpdateMicroButtons();
3 | Disable_BagButtons();
4 | VoiceChat_Toggle();
5 |
6 | GameMenuFrame_UpdateVisibleButtons(self);
7 | end
8 |
9 | function GameMenuFrame_UpdateVisibleButtons(self)
10 | local height = 292;
11 | GameMenuButtonUIOptions:SetPoint("TOP", GameMenuButtonOptions, "BOTTOM", 0, -1);
12 |
13 | local buttonToReanchor = GameMenuButtonWhatsNew;
14 | local reanchorYOffset = -1;
15 |
16 | if (not SplashFrameCanBeShown() or IsCharacterNewlyBoosted()) then
17 | GameMenuButtonWhatsNew:Hide();
18 | height = height - 20;
19 | buttonToReanchor = GameMenuButtonOptions;
20 | reanchorYOffset = -16;
21 | else
22 | GameMenuButtonWhatsNew:Show();
23 | GameMenuButtonOptions:SetPoint("TOP", GameMenuButtonWhatsNew, "BOTTOM", 0, -16);
24 | end
25 |
26 | if ( C_StorePublic.IsEnabled() ) then
27 | height = height + 20;
28 | GameMenuButtonStore:Show();
29 | buttonToReanchor:SetPoint("TOP", GameMenuButtonStore, "BOTTOM", 0, reanchorYOffset);
30 | else
31 | GameMenuButtonStore:Hide();
32 | buttonToReanchor:SetPoint("TOP", GameMenuButtonHelp, "BOTTOM", 0, reanchorYOffset);
33 | end
34 |
35 | if ( not GameMenuButtonRatings:IsShown() and GetNumAddOns() == 0 ) then
36 | GameMenuButtonLogout:SetPoint("TOP", GameMenuButtonMacros, "BOTTOM", 0, -16);
37 | else
38 | if ( GetNumAddOns() ~= 0 ) then
39 | height = height + 20;
40 | GameMenuButtonLogout:SetPoint("TOP", GameMenuButtonAddons, "BOTTOM", 0, -16);
41 | end
42 |
43 | if ( GameMenuButtonRatings:IsShown() ) then
44 | height = height + 20;
45 | GameMenuButtonLogout:SetPoint("TOP", GameMenuButtonRatings, "BOTTOM", 0, -16);
46 | end
47 | end
48 |
49 | self:SetHeight(height);
50 | end
51 |
52 | function GameMenuFrame_UpdateStoreButtonState(self)
53 | if ( GameLimitedMode_IsActive() ) then
54 | self.disabledTooltip = ERR_RESTRICTED_ACCOUNT_TRIAL;
55 | self:Disable();
56 | elseif ( C_StorePublic.IsDisabledByParentalControls() ) then
57 | self.disabledTooltip = BLIZZARD_STORE_ERROR_PARENTAL_CONTROLS;
58 | self:Disable();
59 | elseif ( IsKioskModeEnabled() ) then
60 | self.disabledTooltip = nil;
61 | self:Disable();
62 | else
63 | self.disabledTooltip = nil;
64 | self:Enable();
65 | end
66 | end
67 |
--------------------------------------------------------------------------------
/FrameXML/GarrisonBaseUtils.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/FrameXML/GarrisonFollowerTooltip.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/FrameXML/GhostFrame.xml:
--------------------------------------------------------------------------------
1 |
3 |
45 |
46 |
--------------------------------------------------------------------------------
/FrameXML/GuildInviteFrame.lua:
--------------------------------------------------------------------------------
1 | function GuildInviteFrame_OnEvent(self, event, ...)
2 | if ( event == "GUILD_INVITE_REQUEST" ) then
3 | local inviterName, guildName, guildPoints, oldGuildName, isNewGuild = ...;
4 | local emblem = { select(6, ...) };
5 |
6 | GuildInviteFrame.inviter = inviterName;
7 |
8 | GuildInviteFrameInviterName:SetText(inviterName);
9 | GuildInviteFrameGuildName:SetText(guildName);
10 | GuildInviteFrame.Points.Text:SetText(guildPoints);
11 | SetLargeGuildTabardTextures(nil, GuildInviteFrameTabardEmblem, GuildInviteFrameTabardBackground, GuildInviteFrameTabardBorder, emblem);
12 | -- check if player has any guild rep beyond Neutral 0 if it's being invited to a new guild
13 | local name, description, standingID, barMin, barMax, barValue = GetGuildFactionInfo();
14 | if ( isNewGuild and ( standingID > 4 or barValue > 0 ) ) then
15 | -- display the old guild name if we have one, otherwise use generic message
16 | if ( oldGuildName and oldGuildName ~= "" ) then
17 | GuildInviteFrameWarningText:SetFormattedText(GUILD_REPUTATION_WARNING, oldGuildName);
18 | else
19 | GuildInviteFrameWarningText:SetText(GUILD_REPUTATION_WARNING_GENERIC);
20 | end
21 | GuildInviteFrame:SetHeight(220);
22 | else
23 | GuildInviteFrameWarningText:SetText("");
24 | GuildInviteFrame:SetHeight(188);
25 | end
26 | GuildInviteFrame.accepted = nil;
27 | GuildInviteFrame.elapsed = 0;
28 |
29 | StaticPopupSpecial_Show(GuildInviteFrame);
30 | elseif ( event == "GUILD_INVITE_CANCEL" ) then
31 | self:Hide();
32 | end
33 | end
34 |
35 | function GuildInviteFrame_OnEnter()
36 | if ( GuildInviteFrameInviterName:IsTruncated() ) then
37 | GameTooltip:SetOwner(GuildInviteFrame, "ANCHOR_CURSOR_RIGHT");
38 | GameTooltip:SetText(GuildInviteFrame.inviter, 1, 1, 1, 1, true);
39 | end
40 | end
41 |
42 | function GuildInviteFrame_OnLeave()
43 | GameTooltip:Hide();
44 | end
--------------------------------------------------------------------------------
/FrameXML/GuildRegistrarFrame.lua:
--------------------------------------------------------------------------------
1 | function GuildRegistrar_OnShow()
2 | GuildRegistrarGreetingFrame:Show();
3 | GuildRegistrarPurchaseFrame:Hide();
4 | SetPortraitTexture(GuildRegistrarFramePortrait, "NPC");
5 | GuildRegistrarFrameNpcNameText:SetText(UnitName("NPC"));
6 | end
7 |
8 | function GuildRegistrar_ShowPurchaseFrame()
9 | GuildRegistrarPurchaseFrame:Show();
10 | GuildRegistrarGreetingFrame:Hide();
11 | MoneyFrame_Update("GuildRegistrarMoneyFrame", GetGuildCharterCost());
12 | end
13 |
14 | function GuildRegistrar_PurchaseCharter(hasConfirmed)
15 | local name, description, standingID, barMin, barMax, barValue = GetGuildFactionInfo();
16 | if ( not hasConfirmed and ( standingID > 4 or barValue > 0 ) ) then
17 | StaticPopup_Show("CONFIRM_GUILD_CHARTER_PURCHASE");
18 | else
19 | BuyGuildCharter(GuildRegistrarFrameEditBox:GetText());
20 | HideUIPanel(GuildRegistrarFrame);
21 | ChatEdit_FocusActiveWindow();
22 | end
23 | end
--------------------------------------------------------------------------------
/FrameXML/HealthBar.lua:
--------------------------------------------------------------------------------
1 |
2 | function HealthBar_OnValueChanged(self, value, smooth)
3 | if ( not value ) then
4 | return;
5 | end
6 | local r, g, b;
7 | local min, max = self:GetMinMaxValues();
8 | if ( (value < min) or (value > max) ) then
9 | return;
10 | end
11 | if ( (max - min) > 0 ) then
12 | value = (value - min) / (max - min);
13 | else
14 | value = 0;
15 | end
16 | if(smooth) then
17 | if(value > 0.5) then
18 | r = (1.0 - value) * 2;
19 | g = 1.0;
20 | else
21 | r = 1.0;
22 | g = value * 2;
23 | end
24 | else
25 | r = 0.0;
26 | g = 1.0;
27 | end
28 | b = 0.0;
29 | if ( not self.lockColor ) then
30 | self:SetStatusBarColor(r, g, b);
31 | end
32 | end
33 |
--------------------------------------------------------------------------------
/FrameXML/HistoryKeeper.lua:
--------------------------------------------------------------------------------
1 | local accessIDs = {};
2 | local nextAccessID = 1;
3 |
4 | local accessIDToType = {};
5 | local accessIDToTarget = {};
6 | local accessIDToChanSender = {};
7 |
8 | function ChatHistory_GetAccessID(chatType, chatTarget, chanSender)
9 | if ( not accessIDs[ChatHistory_GetToken(chatType, chatTarget, chanSender)] ) then
10 | accessIDs[ChatHistory_GetToken(chatType, chatTarget, chanSender)] = nextAccessID;
11 | accessIDToType[nextAccessID] = chatType;
12 | accessIDToTarget[nextAccessID] = chatTarget;
13 | accessIDToChanSender[nextAccessID] = chanSender;
14 | nextAccessID = nextAccessID + 1;
15 | end
16 | return accessIDs[ChatHistory_GetToken(chatType, chatTarget, chanSender)];
17 | end
18 |
19 | function ChatHistory_GetChatType(accessID)
20 | return accessIDToType[accessID], accessIDToTarget[accessID], accessIDToChanSender[accessID];
21 | end
22 |
23 | function ChatHistory_GetAllAccessIDsByChanSender(chanSender)
24 | local results = {}; --Yes, GC. But shouldn't be called too frequently.
25 | for accessID, sender in pairs(accessIDToChanSender) do
26 | if ( strlower(sender) == strlower(chanSender) ) then
27 | results[#results + 1] = accessID;
28 | end
29 | end
30 | return results;
31 | end
32 |
33 | --Private functions
34 | function ChatHistory_GetToken(chatType, chatTarget, chanSender)
35 | return strlower(chatType)..";;"..(chatTarget and strlower(chatTarget) or "")..";;"..(chanSender and strlower(chanSender) or "");
36 | end
--------------------------------------------------------------------------------
/FrameXML/IconIntroAnimation.lua:
--------------------------------------------------------------------------------
1 |
2 |
3 | --This File is responsible for animating spells to the actionbar
4 | MULTIBOTTOMLEFTINDEX = 6;
5 |
6 | function IconIntroTracker_OnLoad(self)
7 | self.iconList = {};
8 | self:RegisterEvent("SPELL_PUSHED_TO_ACTIONBAR");
9 | end
10 |
11 |
12 | function IconIntroTracker_OnEvent(self, event, ...)
13 | if event == "SPELL_PUSHED_TO_ACTIONBAR" then
14 | local spellID, slotIndex, slotPos = ...;
15 | ClearNewActionHighlight(slotIndex, true);
16 |
17 | local page = math.floor((slotIndex - 1) / NUM_ACTIONBAR_BUTTONS) + 1;
18 | local currentPage = GetActionBarPage();
19 |
20 | local bonusBarIndex = GetBonusBarIndex();
21 | if (HasBonusActionBar() and bonusBarIndex ~= 0) then
22 | currentPage = bonusBarIndex;
23 | end
24 |
25 | if (page ~= currentPage and page ~= MULTIBOTTOMLEFTINDEX) then
26 | return;
27 | end
28 |
29 | MarkNewActionHighlight(slotIndex);
30 |
31 | local _, _, icon = GetSpellInfo(spellID);
32 | local freeIcon;
33 |
34 | for a,b in pairs(self.iconList) do
35 | if b.isFree then
36 | freeIcon = b;
37 | end
38 | end
39 |
40 | if not freeIcon then -- Make a new one
41 | freeIcon = CreateFrame("FRAME", self:GetName().."Icon"..(#self.iconList+1), UIParent, "IconIntroTemplate");
42 | self.iconList[#self.iconList+1] = freeIcon;
43 | end
44 |
45 | freeIcon.icon.icon:SetTexture(icon);
46 | freeIcon.icon.slot = slotIndex;
47 | freeIcon.icon.pos = slotPos;
48 | freeIcon:ClearAllPoints();
49 |
50 |
51 | if (page == MULTIBOTTOMLEFTINDEX) then
52 | freeIcon:SetPoint("CENTER", _G["MultiBarBottomLeftButton"..slotPos], 0, 0);
53 | freeIcon:SetFrameLevel(_G["MultiBarBottomLeftButton"..slotPos]:GetFrameLevel()+1);
54 | freeIcon.icon.multibar = true;
55 | else
56 | freeIcon:SetPoint("CENTER", _G["ActionButton"..slotPos], 0, 0);
57 | freeIcon:SetFrameLevel(_G["ActionButton"..slotPos]:GetFrameLevel()+1);
58 | freeIcon.icon.multibar = false;
59 | end
60 |
61 | freeIcon.icon.flyin:Play(1);
62 | freeIcon.isFree = false;
63 | end
64 | end
65 |
--------------------------------------------------------------------------------
/FrameXML/InsanityBar.lua:
--------------------------------------------------------------------------------
1 | InsanityPowerBar = {};
2 |
3 | function InsanityPowerBar:OnLoad()
4 | self.class = "PRIEST";
5 | self.spec = SPEC_PRIEST_SHADOW;
6 | self:SetPowerTokens("INSANITY");
7 | self.insane = false;
8 | self.fullTentacleWidth = select(2, GetAtlasInfo("Insanity-Tentacles"))
9 |
10 | ClassPowerBar.OnLoad(self);
11 | end
12 |
13 | function InsanityPowerBar:OnEvent(event, arg1, arg2)
14 | if (event == "UNIT_AURA") then
15 | local insane = IsInsane();
16 | if (insane and not self.insane) then
17 | -- Gained insanity
18 | self.InsanityOn.Anim:Play();
19 | self.DrippyPurpleMid.Anim:Play();
20 | self.DrippyPurpleLoop.Anim:Play();
21 | self.InsanitySpark.Anim:Play();
22 | elseif (not insane and self.insane) then
23 | -- Lost insanity
24 | self.InsanityOn.Fadeout:Play();
25 | self.DrippyPurpleMid.Fadeout:Play();
26 | self.DrippyPurpleLoop.Fadeout:Play();
27 | self.InsanitySpark.Fadeout:Play();
28 | end
29 | self.insane = insane;
30 | else
31 | ClassPowerBar.OnEvent(self, event, arg1, arg2);
32 | end
33 | end
34 |
35 | function InsanityPowerBar:Setup()
36 | local showBar = ClassPowerBar.Setup(self);
37 | if (showBar) then
38 | self:RegisterUnitEvent("UNIT_AURA", "player");
39 | end
40 | end
41 |
42 | function InsanityPowerBar:UpdatePower()
43 | if (self.insane) then
44 | local insanity = UnitPower("player", SPELL_POWER_INSANITY);
45 | local tentacleWidth = 7 + insanity / 100 * PlayerFrameManaBar:GetWidth(); -- Tentacles start 7 pixels left of the insanity bar
46 | self.InsanityOn.Tentacles:SetWidth(tentacleWidth);
47 | self.InsanityOn.Tentacles:SetTexCoord(0, tentacleWidth / self.fullTentacleWidth, 0, 1);
48 | end
49 | end
50 |
--------------------------------------------------------------------------------
/FrameXML/Localization.lua:
--------------------------------------------------------------------------------
1 |
2 | -- This is a symbol available for people who need to know the locale (separate from GetLocale())
3 | LOCALE_enUS = true;
4 |
5 | function Localize()
6 | -- Put all locale specific string adjustments here
7 | end
8 |
9 | function LocalizeFrames()
10 | -- Put all locale specific UI adjustments here
11 |
12 | -- Hide billing help option. If the number of help options changes this will need to change also.
13 | CATEGORY_TO_NOT_DISPLAY = 9;
14 |
15 | end
16 |
--------------------------------------------------------------------------------
/FrameXML/Localization.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
8 |
9 |
--------------------------------------------------------------------------------
/FrameXML/LocalizationPost.lua:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | function LocalizePost()
5 | -- Put all locale specific string adjustments here
6 | end
7 |
--------------------------------------------------------------------------------
/FrameXML/LocalizationPost.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/FrameXML/LowHealthFrame.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/FrameXML/MageArcaneChargesBar.lua:
--------------------------------------------------------------------------------
1 | MagePowerBar = {};
2 |
3 | function MagePowerBar:OnLoad()
4 | self:SetTooltip(ARCANE_CHARGES, ARCANE_CHARGES_TOOLTIP);
5 | self:SetPowerTokens("ARCANE_CHARGES");
6 | self.class = "MAGE";
7 | self.spec = SPEC_MAGE_ARCANE;
8 |
9 | ClassPowerBar.OnLoad(self);
10 | end
11 |
12 | function MagePowerBar:UpdatePower()
13 | local power = UnitPower("player", SPELL_POWER_ARCANE_CHARGES, true);
14 |
15 | for i = 1, power do
16 | local charge = self.Charges[i];
17 | if (not charge.on) then
18 | charge.on = true;
19 | charge.TurnOff:Stop();
20 | charge.TurnOn:Play();
21 | end
22 | end
23 | for i = power + 1, #self.Charges do
24 | local charge = self.Charges[i];
25 | if (charge.on) then
26 | charge.on = false;
27 | charge.TurnOn:Stop();
28 | charge.TurnOff:Play();
29 | end
30 | end
31 | end
32 |
--------------------------------------------------------------------------------
/FrameXML/MonkStaggerBar.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | MonkStaggerBar_OnEvent(self, event, ...);
13 | TextStatusBar_OnEvent(self, event, ...);
14 |
15 |
16 | MonkStaggerBar_OnUpdate(self, elapsed);
17 |
18 |
19 | self:GetParent():Click(button);
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/FrameXML/MovieFrame.lua:
--------------------------------------------------------------------------------
1 |
2 | MOVIE_CAPTION_FADE_TIME = 1.0;
3 |
4 | function MovieFrame_OnLoad(self)
5 | self:RegisterEvent("PLAY_MOVIE");
6 | end
7 |
8 | function MovieFrame_OnEvent(self, event, ...)
9 | if ( event == "PLAY_MOVIE" ) then
10 | local movieID = ...;
11 | if ( movieID ) then
12 | MovieFrame_PlayMovie(self, movieID);
13 | end
14 | end
15 | end
16 |
17 | function MovieFrame_PlayMovie(self, movieID)
18 | self:Show();
19 | self.CloseDialog:Hide();
20 | local playSuccess, errorCode = self:StartMovie(movieID);
21 | if ( not playSuccess ) then
22 | StaticPopup_Show("ERROR_CINEMATIC");
23 | self:Hide();
24 | GameMovieFinished();
25 | end
26 | end
27 |
28 | function MovieFrame_OnShow(self)
29 | WorldFrame:Hide();
30 | self.uiParentShown = UIParent:IsShown();
31 | UIParent:Hide();
32 | self:EnableSubtitles(GetCVarBool("movieSubtitle"));
33 | end
34 |
35 | function MovieFrame_OnHide(self)
36 | MovieFrameSubtitleString:Hide();
37 | self:StopMovie();
38 | WorldFrame:Show();
39 | if ( self.uiParentShown ) then
40 | UIParent:Show();
41 | SetUIVisibility(true);
42 | end
43 | end
44 |
45 | function MovieFrame_OnUpdate(self, elapsed)
46 | if ( MovieFrameSubtitleString:IsShown() and self.fadingAlpha ) then
47 | self.fadingAlpha = self.fadingAlpha + ((elapsed / self.fadeSpeed) * self.fadeDirection);
48 | if ( self.fadingAlpha > 1.0 ) then
49 | MovieFrameSubtitleString:SetAlpha(1.0);
50 | self.fadingAlpha = nil;
51 | elseif ( self.fadingAlpha < 0.0 ) then
52 | MovieFrameSubtitleString:Hide();
53 | self.fadingAlpha = nil;
54 | else
55 | MovieFrameSubtitleString:SetAlpha(self.fadingAlpha);
56 | end
57 | end
58 | end
59 |
60 | function MovieFrame_OnKeyUp(self, key)
61 | local keybind = GetBindingFromClick(key);
62 | if ( keybind == "TOGGLEGAMEMENU" or key == "SPACE" or key == "ENTER" ) then
63 | self.CloseDialog:Show();
64 | elseif ( keybind == "TOGGLEMUSIC" or keybind == "TOGGLESOUND" ) then
65 | RunBinding(keybind);
66 | end
67 | end
68 |
69 | function MovieFrame_OnMovieFinished(self)
70 | GameMovieFinished();
71 | if ( self:IsShown() ) then
72 | self:Hide();
73 | end
74 | end
75 |
76 | function MovieFrame_OnMovieShowSubtitle(self, text)
77 | MovieFrameSubtitleString:SetText(text);
78 | MovieFrameSubtitleString:Show();
79 | self.fadingAlpha = 0.0;
80 | self.fadeDirection = 1.0;
81 | self.fadeSpeed = MOVIE_CAPTION_FADE_TIME;
82 | MovieFrameSubtitleString:SetAlpha(self.fadingAlpha);
83 | end
84 |
85 | function MovieFrame_OnMovieHideSubtitle(self)
86 | self.fadingAlpha = 1.0;
87 | self.fadeDirection = -1.0;
88 | self.fadeSpeed = MOVIE_CAPTION_FADE_TIME / 2;
89 | MovieFrameSubtitleString:SetAlpha(self.fadingAlpha);
90 | end
91 |
92 |
--------------------------------------------------------------------------------
/FrameXML/MovieRecordingProgress.lua:
--------------------------------------------------------------------------------
1 | function MovieRecordingProgress_OnUpdate(self, elapsed)
2 | if(not MovieRecording_IsCompressing()) then
3 | self:Hide();
4 | else
5 | local recovering, progress = MovieRecording_GetProgress();
6 | MovieProgressBar:SetMinMaxValues(0, 1);
7 | MovieProgressBar:SetValue(progress);
8 | MovieProgressBarText:SetText(MOVIE_RECORDING_COMPRESSING.." "..floor(progress * 100).."%");
9 | end
10 | end
11 |
12 |
13 |
--------------------------------------------------------------------------------
/FrameXML/OpacitySliderFrame.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/FrameXML/PetPopup.lua:
--------------------------------------------------------------------------------
1 |
2 | function PetPopup_Confirm()
3 | StaticPopup_Show("PETRENAMECONFIRM");
4 | end
5 |
6 | function PetPopup_Cancel()
7 | PetRenamePopup:Hide();
8 | end
9 |
--------------------------------------------------------------------------------
/FrameXML/PossessActionBar.lua:
--------------------------------------------------------------------------------
1 | NUM_POSSESS_SLOTS = 2;
2 | POSSESS_CANCEL_SLOT = 2;
3 |
4 | function PossessBar_Update ()
5 | if ( not MainMenuBar.busy and not UnitHasVehicleUI("player") ) then --Don't change while we're animating out MainMenuBar for vehicle UI
6 | local needFrameMgrUpdate = false;
7 | if ( IsPossessBarVisible() ) then
8 | if ( not PossessBarFrame:IsShown() ) then
9 | PossessBarFrame:Show();
10 | needFrameMgrUpdate = true;
11 | end
12 | PossessBar_UpdateState();
13 | elseif ( PossessBarFrame:IsShown() ) then
14 | PossessBarFrame:Hide();
15 | needFrameMgrUpdate = true;
16 | end
17 |
18 | if ( needFrameMgrUpdate ) then
19 | UIParent_ManageFramePositions();
20 | end
21 | end
22 | end
23 |
24 | function PossessBar_UpdateState ()
25 | local texture, name, enabled;
26 | local button, background, icon, cooldown;
27 |
28 | for i=1, NUM_POSSESS_SLOTS do
29 | -- Possess Icon
30 | button = _G["PossessButton"..i];
31 | background = _G["PossessBackground"..i];
32 | icon = _G["PossessButton"..i.."Icon"];
33 | texture, name, enabled = GetPossessInfo(i);
34 | icon:SetTexture(texture);
35 |
36 | --Cooldown stuffs
37 | cooldown = _G["PossessButton"..i.."Cooldown"];
38 | cooldown:Hide();
39 |
40 | button:SetChecked(false);
41 | button:Enable();
42 | icon:SetVertexColor(1.0, 1.0, 1.0);
43 | icon:SetDesaturated(false);
44 |
45 | if ( enabled ) then
46 | button:Show();
47 | background:Show();
48 | else
49 | button:Hide();
50 | background:Hide();
51 | end
52 | end
53 | end
54 |
55 | function PossessButton_OnClick (self)
56 | self:SetChecked(false);
57 |
58 | local id = self:GetID();
59 | if ( id == POSSESS_CANCEL_SLOT ) then
60 | if ( UnitOnTaxi("player") ) then
61 | TaxiRequestEarlyLanding();
62 |
63 | -- Show that the request for landing has been received.
64 | icon = _G["PossessButton"..id.."Icon"];
65 | icon:SetDesaturated(true);
66 | button = _G["PossessButton"..id];
67 | button:SetChecked(true);
68 | button:Disable();
69 | elseif ( UnitControllingVehicle("player") and CanExitVehicle() ) then
70 | VehicleExit();
71 | else
72 | local texture, name = GetPossessInfo(id);
73 | CancelUnitBuff("player", name);
74 | end
75 | end
76 | end
77 |
78 | function PossessButton_OnEnter (self)
79 | local id = self:GetID();
80 |
81 | if ( GetCVar("UberTooltips") == "1" ) then
82 | GameTooltip_SetDefaultAnchor(GameTooltip, self);
83 | else
84 | GameTooltip:SetOwner(self, "ANCHOR_RIGHT");
85 | end
86 |
87 | if ( id == POSSESS_CANCEL_SLOT ) then
88 | GameTooltip:SetText(CANCEL);
89 | else
90 | GameTooltip:SetPossession(id);
91 | end
92 | end
93 |
94 |
--------------------------------------------------------------------------------
/FrameXML/PossessActionBar.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | self.cooldown:SetSwipeColor(0, 0, 0);
12 |
13 |
14 | PossessButton_OnClick(self, button, down);
15 |
16 |
17 | PossessButton_OnEnter(self, motion);
18 |
19 |
20 | GameTooltip:Hide();
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
--------------------------------------------------------------------------------
/FrameXML/RaidWarning.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
--------------------------------------------------------------------------------
/FrameXML/SecureTemplates.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
16 |
17 |
18 |
23 |
24 |
--------------------------------------------------------------------------------
/FrameXML/ShardBar.lua:
--------------------------------------------------------------------------------
1 | WarlockPowerBar = {};
2 | SHARDBAR_SHOW_LEVEL = 10;
3 |
4 | function WarlockPowerBar:OnLoad()
5 | self:SetTooltip(SOUL_SHARDS_POWER, SOUL_SHARDS_TOOLTIP);
6 | self:SetPowerTokens("SOUL_SHARDS");
7 | self.class = "WARLOCK";
8 | self.spec = nil;
9 |
10 | ClassPowerBar.OnLoad(self);
11 | end
12 |
13 | function WarlockPowerBar:Setup()
14 | local showBar = ClassPowerBar.Setup(self);
15 |
16 | if showBar then
17 | if UnitLevel("player") < SHARDBAR_SHOW_LEVEL then
18 | self:RegisterEvent("PLAYER_LEVEL_UP");
19 | self:SetAlpha(0);
20 | end
21 | end
22 | end
23 |
24 | function WarlockPowerBar:OnEvent(event, ...)
25 | local handled = ClassPowerBar.OnEvent(self, event, ...);
26 | if handled then
27 | return true;
28 | elseif event == "PLAYER_LEVEL_UP" then
29 | local level = ...;
30 | if level >= SHARDBAR_SHOW_LEVEL then
31 | self:UnregisterEvent("PLAYER_LEVEL_UP");
32 | self:SetAlpha(1);
33 | self:UpdatePower();
34 | end
35 | else
36 | return false;
37 | end
38 |
39 | return true;
40 | end
41 |
42 | function WarlockPowerBar:SetShard(shard, active)
43 | if active then
44 | if shard.animOut:IsPlaying() then
45 | shard.animOut:Stop();
46 | end
47 |
48 | if not shard.active and not shard.animIn:IsPlaying() then
49 | shard.animIn:Play();
50 | shard.active = true;
51 | end
52 | else
53 | if shard.animIn:IsPlaying() then
54 | shard.animIn:Stop();
55 | end
56 |
57 | if shard.active and not shard.animOut:IsPlaying() then
58 | shard.animOut:Play();
59 | shard.active = false;
60 | end
61 | end
62 | end
63 |
64 | function WarlockPowerBar:UpdatePower()
65 | local numShards = UnitPower( WarlockPowerFrame:GetParent().unit, SPELL_POWER_SOUL_SHARDS );
66 | local maxShards = UnitPowerMax( WarlockPowerFrame:GetParent().unit, SPELL_POWER_SOUL_SHARDS );
67 | -- update individual shard display
68 | for i = 1, maxShards do
69 | local shard = self.Shards[i];
70 | local shouldShow = i <= numShards;
71 | self:SetShard(shard, shouldShow);
72 | end
73 | end
74 |
--------------------------------------------------------------------------------
/FrameXML/SocialQueue.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/FrameXML/Sound.lua:
--------------------------------------------------------------------------------
1 | SOUND_MASTERVOLUME_STEP = 0.1;
2 |
3 | function Sound_ToggleMusic()
4 | if ( GetCVar("Sound_EnableAllSound") == "0" ) then
5 | ActionStatus_DisplayMessage(SOUND_DISABLED, true);
6 | else
7 | if ( GetCVar("Sound_EnableMusic") == "0" ) then
8 | SetCVar("Sound_EnableMusic", 1);
9 | ActionStatus_DisplayMessage(MUSIC_ENABLED, true)
10 | else
11 | SetCVar("Sound_EnableMusic", 0);
12 | ActionStatus_DisplayMessage(MUSIC_DISABLED, true)
13 | end
14 | end
15 | end
16 |
17 | function Sound_ToggleSound()
18 | if ( GetCVar("Sound_EnableAllSound") == "0" ) then
19 | ActionStatus_DisplayMessage(SOUND_DISABLED, true);
20 | else
21 | if ( GetCVar("Sound_EnableSFX") == "0" ) then
22 | SetCVar("Sound_EnableSFX", 1);
23 | SetCVar("Sound_EnableAmbience", 1);
24 | SetCVar("Sound_EnableDialog", 1);
25 | ActionStatus_DisplayMessage(SOUND_EFFECTS_ENABLED, true);
26 | else
27 | SetCVar("Sound_EnableSFX", 0);
28 | SetCVar("Sound_EnableAmbience", 0);
29 | SetCVar("Sound_EnableDialog", 0);
30 | ActionStatus_DisplayMessage(SOUND_EFFECTS_DISABLED, true);
31 | end
32 | end
33 | end
34 |
35 | local function AdjustMasterVolume(amount)
36 | local volume = tonumber(GetCVar("Sound_MasterVolume"));
37 | if ( volume ) then
38 | volume = volume + amount;
39 |
40 | if ( volume > 1.0 ) then
41 | volume = 1.0;
42 | elseif ( volume < 0.0 ) then
43 | volume = 0.0;
44 | end
45 |
46 | SetCVar("Sound_MasterVolume", volume);
47 | end
48 | end
49 |
50 | function Sound_MasterVolumeUp()
51 | AdjustMasterVolume(SOUND_MASTERVOLUME_STEP);
52 | end
53 |
54 | function Sound_MasterVolumeDown()
55 | AdjustMasterVolume(-SOUND_MASTERVOLUME_STEP);
56 | end
57 |
--------------------------------------------------------------------------------
/FrameXML/SparkleFrame.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/FrameXML/SpellActivationOverlay.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/FrameXML/StaticPopupSpecial.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
46 |
58 |
59 |
60 |
61 | self.hideOnEscape = 1;
62 |
63 |
64 | if ( C_PetBattles.CanAcceptQueuedPVPMatch() == true ) then
65 | self.AcceptButton:Enable();
66 | else
67 | self.AcceptButton:Disable();
68 | end
69 |
70 |
71 |
72 |
73 |
--------------------------------------------------------------------------------
/FrameXML/StatsFrame.lua:
--------------------------------------------------------------------------------
1 |
2 | STATSFRAME_UPDATE_TIME = 0.5;
3 |
4 | function ToggleStats()
5 | if ( StatsFrame:IsShown() ) then
6 | StatsFrame:Hide();
7 | else
8 | StatsFrame:Show();
9 | end
10 | end
11 |
12 | function StatsFrame_OnLoad(self)
13 | self.updateTime = 0;
14 | end
15 |
16 | function StatsFrame_OnUpdate(self, elapsed)
17 | local updateTime = self.updateTime - elapsed;
18 | if ( updateTime <= 0 ) then
19 | updateTime = STATSFRAME_UPDATE_TIME;
20 | StatsFrameText:SetText(GetDebugStats());
21 | end
22 | self.updateTime = updateTime;
23 | end
24 |
--------------------------------------------------------------------------------
/FrameXML/StatsFrame.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/FrameXML/StreamingFrame.lua:
--------------------------------------------------------------------------------
1 |
2 | STREAMING_CURRENT_STATUS = 0;
3 |
4 | function StreamingIcon_OnLoad(self)
5 | self:RegisterEvent("STREAMING_ICON");
6 | self:RegisterEvent("PLAYER_ENTERING_WORLD");
7 | end
8 |
9 | function StreamingIcon_OnEvent(self, event, ...)
10 | if(GetCVarBool("streamStatusMessage")) then
11 | if event == "STREAMING_ICON" then
12 | local status = ...;
13 | StreamingIcon_UpdateIcon(status);
14 | elseif event == "PLAYER_ENTERING_WORLD" then
15 | StreamingIcon_UpdateIcon(GetFileStreamingStatus());
16 | end
17 | end
18 | end
19 |
20 | function StreamingIcon_UpdateIcon(status)
21 | if(status > 0) then
22 | if (status == 1) then
23 | StreamingIconSpinSpinner:SetVertexColor(0,1,0);
24 | StreamingIconFrameBackground:SetVertexColor(0,1,0);
25 | StreamingIcon.tooltip = STATUS_ADDL_FILE_TOOLTIP;
26 | elseif (status == 2) then
27 | StreamingIconSpinSpinner:SetVertexColor(1,.82,0);
28 | StreamingIconFrameBackground:SetVertexColor(1,0.82,0);
29 | StreamingIcon.tooltip = STATUS_MAJOR_FILE_TOOLTIP;
30 | elseif (status == 3) then
31 | StreamingIconSpinSpinner:SetVertexColor(1,0,0);
32 | StreamingIconFrameBackground:SetVertexColor(1,0,0);
33 | StreamingIcon.tooltip = STATUS_CORE_FILE_TOOLTIP;
34 | end
35 | if (StreamingIcon.FadeOUT:IsPlaying()) then
36 | local alpha = StreamingIcon:GetAlpha();
37 | StreamingIcon.FadeOUT:Stop();
38 | StreamingIcon:SetAlpha(alpha);
39 | end
40 | StreamingIcon.FadeIN:Play();
41 | StreamingIcon.Loop:Play();
42 | StreamingIcon:Show();
43 | elseif(STREAMING_CURRENT_STATUS > 0) then
44 | StreamingIconSpinSpinner:SetVertexColor(0,1,0);
45 | StreamingIconFrameBackground:SetVertexColor(0,1,0);
46 | StreamingIcon.tooltip = STATUS_ADDL_FILE_TOOLTIP;
47 | if (StreamingIcon.FadeIN:IsPlaying()) then
48 | local alpha = StreamingIcon:GetAlpha();
49 | StreamingIcon.FadeIN:Stop();
50 | StreamingIcon:SetAlpha(alpha);
51 | end
52 | StreamingIcon.FadeOUT:Play();
53 | end
54 | STREAMING_CURRENT_STATUS = status;
55 | end
56 |
57 | function StreamingFrame_FadeIN_OnFinished()
58 | StreamingIcon:SetAlpha(1);
59 | end
60 |
61 | function StreamingFrame_FadeOUT_OnFinished()
62 | StreamingIcon:SetAlpha(0)
63 | StreamingIcon:Hide();
64 | end
65 |
--------------------------------------------------------------------------------
/FrameXML/TalentFrameTemplates.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
70 |
71 |
--------------------------------------------------------------------------------
/FrameXML/TaxiFrame.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 | CloseTaxiMap();
54 | PlaySound("igMainMenuClose");
55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/FrameXML/TextStatusBar.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 | TextStatusBar_Initialize(self);
7 |
8 |
9 | TextStatusBar_OnEvent(self, event, ...);
10 |
11 |
12 | ShowTextStatusBarText(self);
13 | TextStatusBar_UpdateTextString(self);
14 | if ( self.tooltipTitle ) then
15 | GameTooltip_AddNewbieTip(self, self.tooltipTitle, 1.0, 1.0, 1.0, self.tooltipText, 1);
16 | elseif ( self:GetParent() == TargetFrame ) then
17 | UnitFrame_UpdateTooltip(TargetFrame);
18 | end
19 |
20 |
21 | HideTextStatusBarText(self);
22 | GameTooltip:Hide();
23 |
24 |
25 | TextStatusBar_OnValueChanged(self, value);
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/FrameXML/TopBannerManager.lua:
--------------------------------------------------------------------------------
1 | ------------------------------------------------------------------
2 | -- Top Banner Display Manager
3 | --
4 | -- Manager for displaying large UI elements at the top of the HUD.
5 | --
6 | -- Frames that want to display must have the following functions defined:
7 | -- PlayBanner(self, [data, [isExclusiveQueued]])
8 | -- StopBanner(self)
9 | --
10 | -- The following functions are optional:
11 | -- ResumeBanner(self) -- restart banner animation
12 | --
13 | ------------------------------------------------------------------
14 |
15 | TopBannerMgr = {};
16 | TopBannerQueue = {};
17 |
18 | function TopBannerManager_Show( frame, data, isExclusiveQueued )
19 | local banner = {frame = frame, data = data};
20 | if ( TopBannerMgr.currentBanner ) then
21 | -- queue up this frame to play later
22 | if( isExclusiveQueued ) then
23 | -- check if multiple instances of this frame should be queued
24 | for _, queuedBanner in pairs( TopBannerQueue ) do
25 | if( isExclusiveQueued( banner, queuedBanner ) ) then
26 | return;
27 | end
28 | end
29 | end
30 | table.insert( TopBannerQueue, banner );
31 | else
32 | TopBannerMgr.currentBanner = banner;
33 | frame:PlayBanner(data);
34 | end
35 | end
36 |
37 | function TopBannerManager_LoadingScreenEnabled()
38 | if ( TopBannerMgr.currentBanner ) then
39 | TopBannerMgr.currentBanner.frame:StopBanner();
40 |
41 | TopBannerQueue = {}; -- clear out banner queue;
42 | end
43 | end
44 |
45 | function TopBannerManager_LoadingScreenDisabled()
46 | local currentBanner = TopBannerMgr.currentBanner;
47 | if ( currentBanner and currentBanner.frame.ResumeBanner ) then
48 | currentBanner.frame:ResumeBanner(currentBanner.data);
49 | else
50 | TopBannerMgr.currentBanner = nil;
51 | end
52 | end
53 |
54 | function TopBannerManager_BannerFinished()
55 | if( #TopBannerQueue > 0 ) then
56 | TopBannerMgr.currentBanner = table.remove(TopBannerQueue, 1);
57 | TopBannerMgr.currentBanner.frame:PlayBanner(TopBannerMgr.currentBanner.data);
58 | else
59 | TopBannerMgr.currentBanner = nil;
60 | end
61 | end
62 |
63 | function TopBannerManager_IsIdle()
64 | return TopBannerMgr.currentBanner == nil;
65 | end
--------------------------------------------------------------------------------
/FrameXML/UIDropDownMenu.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
16 |
21 |
22 |
--------------------------------------------------------------------------------
/FrameXML/UIErrorsFrame.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/FrameXML/UIOptions.lua:
--------------------------------------------------------------------------------
1 | VideoOptionsTooltip = GameTooltip;
2 | VideoOptionsDropDownMenu_Initialize =UIDropDownMenu_Initialize;
3 | VideoOptionsDropDownMenu_GetSelectedID = UIDropDownMenu_GetSelectedID;
4 | VideoOptionsDropDownMenu_SetSelectedID = UIDropDownMenu_SetSelectedID;
5 | VideoOptionsDropDownMenu_SetSelectedValue = UIDropDownMenu_SetSelectedValue;
6 | VideoOptionsDropDownMenu_GetSelectedValue = UIDropDownMenu_GetSelectedValue;
7 | VideoOptionsDropDownMenu_DisableDropDown = UIDropDownMenu_DisableDropDown;
8 | VideoOptionsDropDownMenu_EnableDropDown = UIDropDownMenu_EnableDropDown;
9 | VideoOptionsDropDownMenu_SetText = UIDropDownMenu_SetText;
10 | VideoOptionsDropDownMenu_SetWidth = UIDropDownMenu_SetWidth;
11 | VideoOptionsDropDownMenu_CreateInfo = UIDropDownMenu_CreateInfo;
12 | VideoOptionsDropDownMenu_AddButton = UIDropDownMenu_AddButton;
13 |
14 |
15 |
--------------------------------------------------------------------------------
/FrameXML/UIOptions.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/FrameXML/UIParent.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | UIParent_OnLoad(self);
18 | self.firstTimeLoaded = 1;
19 |
20 |
21 |
22 |
23 | FCF_OnUpdate(elapsed);
24 | ButtonPulse_OnUpdate(elapsed);
25 | UnitPopup_OnUpdate(elapsed);
26 | AnimatedShine_OnUpdate(elapsed);
27 | AutoCastShine_OnUpdate(nil, elapsed);
28 | LFRBrowseFrame_OnUpdateAlways(elapsed);
29 | BNToastFrame_OnUpdate();
30 | HelpOpenWebTicketButton_OnUpdate(HelpOpenWebTicketButton, elapsed);
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/FrameXML/UnitFrame.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/FrameXML/UnitPopup.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/FrameXML/UnitPositionFrameTemplates.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/FrameXML/VideoOptionsFrame.lua:
--------------------------------------------------------------------------------
1 | -- if you change something here you probably want to change the glue version too
2 |
3 | function VideoOptionsFrame_Toggle ()
4 | if ( VideoOptionsFrame:IsShown() ) then
5 | VideoOptionsFrame:Hide();
6 | else
7 | VideoOptionsFrame:Show();
8 | end
9 | end
10 |
11 | function VideoOptionsFrame_SetAllToDefaults ()
12 | OptionsFrame_SetAllToDefaults(VideoOptionsFrame);
13 | VideoOptionsFrameApply:Disable();
14 | end
15 |
16 | function VideoOptionsFrame_SetCurrentToDefaults ()
17 | OptionsFrame_SetCurrentToDefaults(VideoOptionsFrame);
18 | VideoOptionsFrameApply:Disable();
19 | end
20 |
21 | function VideoOptionsFrame_OnLoad (self)
22 | OptionsFrame_OnLoad(self);
23 |
24 | _G[self:GetName().."HeaderText"]:SetText(SYSTEMOPTIONS_MENU);
25 | end
26 |
27 | function VideoOptionsFrame_OnHide (self)
28 | OptionsFrame_OnHide(self);
29 | VideoOptionsFrameApply:Disable();
30 | if ( VideoOptionsFrame.gameRestart ) then
31 | StaticPopup_Show("CLIENT_RESTART_ALERT");
32 | VideoOptionsFrame.gameRestart = nil;
33 | elseif ( VideoOptionsFrame.logout ) then
34 | StaticPopup_Show("CLIENT_LOGOUT_ALERT");
35 | VideoOptionsFrame.logout = nil;
36 | end
37 |
38 | if (not self.ignoreCancelOnHide) then
39 | OptionsFrameCancel_OnClick(VideoOptionsFrame);
40 | end
41 | end
42 |
43 | function VideoOptionsFrameOkay_OnClick (self, button, down, apply)
44 | OptionsFrameOkay_OnClick(VideoOptionsFrame, apply);
45 | if ( not apply ) then
46 | VideoOptionsFrame.ignoreCancelOnHide = true;
47 | VideoOptionsFrame_Toggle();
48 | VideoOptionsFrame.ignoreCancelOnHide = nil;
49 | end
50 | end
51 |
52 | function VideoOptionsFrameCancel_OnClick (self, button)
53 | if ( VideoOptionsFrameApply:IsEnabled() ) then
54 | OptionsFrameCancel_OnClick(VideoOptionsFrame);
55 | end
56 | VideoOptionsFrame.logout = nil;
57 | VideoOptionsFrame_Toggle();
58 | end
59 |
60 | function VideoOptionsFrameDefault_OnClick (self, button)
61 | OptionsFrameDefault_OnClick(VideoOptionsFrame);
62 |
63 | StaticPopup_Show("CONFIRM_RESET_VIDEO_SETTINGS");
64 | end
65 |
--------------------------------------------------------------------------------
/FrameXML/VideoOptionsFrame.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
31 |
46 |
57 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
--------------------------------------------------------------------------------
/README.markdown:
--------------------------------------------------------------------------------
1 | This repo contains the latest WoW UI source code. Branches should reflect the most recent patches to their respective clients (live, PTR and beta). Patchnotes are also included, so you can view diffs for them if you're curious how they changed over time before release.
--------------------------------------------------------------------------------
/SharedXML/C_TimerAugment.lua:
--------------------------------------------------------------------------------
1 | local TickerPrototype = {};
2 | local TickerMetatable = {
3 | __index = TickerPrototype,
4 | __metatable = true, --Probably not needed, but if I don't put this here someone is going to mess with this metatable and end up tainting everything...
5 | };
6 |
7 | --Creates and starts a ticker that calls callback every duration seconds for N iterations.
8 | --If iterations is nil, the ticker will loop until cancelled.
9 | --
10 | --If callback throws a Lua error, the ticker will stop firing.
11 | function C_Timer.NewTicker(duration, callback, iterations)
12 | local ticker = setmetatable({}, TickerMetatable);
13 | ticker._remainingIterations = iterations;
14 | ticker._callback = function()
15 | if ( not ticker._cancelled ) then
16 | callback(ticker);
17 |
18 | --Make sure we weren't cancelled during the callback
19 | if ( not ticker._cancelled ) then
20 | if ( ticker._remainingIterations ) then
21 | ticker._remainingIterations = ticker._remainingIterations - 1;
22 | end
23 | if ( not ticker._remainingIterations or ticker._remainingIterations > 0 ) then
24 | C_Timer.After(duration, ticker._callback);
25 | end
26 | end
27 | end
28 | end;
29 |
30 | C_Timer.After(duration, ticker._callback);
31 | return ticker;
32 | end
33 |
34 | --Creates and starts a cancellable timer that calls callback after duration seconds.
35 | --Note that C_Timer.NewTimer is significantly more expensive than C_Timer.After and should
36 | --only be used if you actually need any of its additional functionality.
37 | --
38 | --While timers are currently just tickers with an iteration count of 1, this is likely
39 | --to change in the future and shouldn't be relied on.
40 | function C_Timer.NewTimer(duration, callback)
41 | return C_Timer.NewTicker(duration, callback, 1);
42 | end
43 |
44 | --Cancels a ticker or timer. May be safely called within the ticker's callback in which
45 | --case the ticker simply won't be started again.
46 | --Cancel is guaranteed to be idempotent.
47 | function TickerPrototype:Cancel()
48 | self._cancelled = true;
49 | end
50 |
--------------------------------------------------------------------------------
/SharedXML/LayoutFrame.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
28 |
29 |
30 |
31 |
32 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
--------------------------------------------------------------------------------
/SharedXML/ModelPreviewFrame.lua:
--------------------------------------------------------------------------------
1 | function ModelPreviewFrame_OnLoad(self)
2 | ButtonFrameTemplate_HidePortrait(self);
3 | ButtonFrameTemplate_HideAttic(self);
4 | self.TitleText:SetText(PREVIEW);
5 | end
6 |
7 | function ModelPreviewFrame_ShowModel(displayID, allowZoom)
8 | local frame = ModelPreviewFrame;
9 | Model_Reset(frame.Display.Model);
10 | frame.Display.Model:SetDisplayInfo(displayID);
11 |
12 | if ( allowZoom ) then
13 | frame.Display.Model:SetScript("OnMouseWheel", Model_OnMouseWheel);
14 | else
15 | frame.Display.Model:SetScript("OnMouseWheel", nil);
16 | end
17 |
18 | frame:Show();
19 | end
20 |
--------------------------------------------------------------------------------
/SharedXML/ScrollingMessageFrame.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/SharedXML/Vector2D.lua:
--------------------------------------------------------------------------------
1 | function Vector2D_ScaleBy(scalar, x, y)
2 | return x * scalar, y * scalar;
3 | end
4 |
5 | function Vector2D_DivideBy(divisor, x, y)
6 | return x / divisor, y / divisor;
7 | end
8 |
9 | function Vector2D_Add(leftX, leftY, rightX, rightY)
10 | return leftX + rightX, leftY + rightY;
11 | end
12 |
13 | function Vector2D_Subtract(leftX, leftY, rightX, rightY)
14 | return leftX - rightX, leftY - rightY;
15 | end
16 |
17 | function Vector2D_Cross(leftX, leftY, rightX, rightY)
18 | return leftX * rightY - leftY * rightX;
19 | end
20 |
21 | function Vector2D_Dot(leftX, leftY, rightX, rightY)
22 | return leftX * rightX + leftY * rightY;
23 | end
24 |
25 | function Vector2D_GetLengthSquared(x, y)
26 | return Vector2D_Dot(x, y, x, y);
27 | end
28 |
29 | function Vector2D_GetLength(x, y)
30 | return math.sqrt(Vector2D_GetLengthSquared(x, y));
31 | end
32 |
33 | function Vector2D_Normalize(x, y)
34 | return Vector2D_DivideBy(Vector2D_GetLength(x, y), x, y);
35 | end
--------------------------------------------------------------------------------
/extract.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | WOWPATH="/Applications/Games/World of Warcraft"
4 | INTERFACEPATH="$WOWPATH/BlizzardInterfaceCode/Interface"
5 |
6 | echo "exportInterfaceFiles code" | tr -d "\n" | pbcopy
7 | cd "$WOWPATH/World of Warcraft.app/Contents/MacOS"
8 | ./World\ of\ Warcraft -console
9 | cd -
10 |
11 | rm -r AddOns FrameXML LCDXML SharedXML
12 |
13 | mv \
14 | "$INTERFACEPATH/AddOns" \
15 | "$INTERFACEPATH/FrameXML" \
16 | "$INTERFACEPATH/LCDXML" \
17 | "$INTERFACEPATH/SharedXML" \
18 | .
19 | ./fix_perms.sh
20 | git add AddOns FrameXML LCDXML SharedXML
21 |
--------------------------------------------------------------------------------
/fix_perms.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | chmod 644 */*.lua
4 | chmod 644 */*.xml
5 | chmod 644 */*.xsd
6 | chmod 644 */*.toc
7 | chmod 644 */*/*.lua
8 | chmod 644 */*/*.xml
9 | chmod 644 */*/*.toc
10 |
--------------------------------------------------------------------------------
/ptrextract.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | WOWPATH="/Applications/Games/World of Warcraft Public Test"
4 | INTERFACEPATH="$WOWPATH/BlizzardInterfaceCode/Interface"
5 |
6 | echo "exportInterfaceFiles code" | tr -d "\n" | pbcopy
7 | cd "$WOWPATH/World of Warcraft Test.app/Contents/MacOS"
8 | ./World\ of\ Warcraft -console
9 | cd -
10 |
11 | rm -r AddOns FrameXML LCDXML SharedXML
12 |
13 | mv \
14 | "$INTERFACEPATH/AddOns" \
15 | "$INTERFACEPATH/FrameXML" \
16 | "$INTERFACEPATH/LCDXML" \
17 | "$INTERFACEPATH/SharedXML" \
18 | .
19 | ./fix_perms.sh
20 | git add AddOns FrameXML LCDXML SharedXML
21 |
--------------------------------------------------------------------------------