From 88e2a58c5d791fc104e038442d26c25f04dd97d4 Mon Sep 17 00:00:00 2001 From: Alar of Runetotem Date: Tue, 10 Jan 2017 23:50:41 +0100 Subject: [PATCH] OrderHallCommander import --- OrderHallCommander/CHANGES.txt | 12 + OrderHallCommander/OrderHallCommander.lua | 327 +++ OrderHallCommander/OrderHallCommander.toc | 47 + OrderHallCommander/OrderHallCommander.xml | 274 +++ OrderHallCommander/RelNotes.lua | 33 + OrderHallCommander/autocomplete.lua | 534 +++++ OrderHallCommander/autopilot.lua | 56 + OrderHallCommander/cache.lua | 544 +++++ OrderHallCommander/core.lua | 309 +++ OrderHallCommander/data.lua | 189 ++ OrderHallCommander/embeds.xml | 7 + OrderHallCommander/followerpage.lua | 209 ++ .../libs/Ace3/AceBucket-3.0/AceBucket-3.0.lua | 293 +++ .../libs/Ace3/AceBucket-3.0/AceBucket-3.0.xml | 4 + .../Ace3/AceSerializer-3.0/AceSerializer-3.0.lua | 287 +++ .../Ace3/AceSerializer-3.0/AceSerializer-3.0.xml | 4 + .../LibInit/Ace3/AceAddon-3.0/AceAddon-3.0.lua | 674 ++++++ .../LibInit/Ace3/AceAddon-3.0/AceAddon-3.0.xml | 4 + .../LibInit/Ace3/AceConfig-3.0/AceConfig-3.0.lua | 57 + .../LibInit/Ace3/AceConfig-3.0/AceConfig-3.0.xml | 8 + .../AceConfigCmd-3.0/AceConfigCmd-3.0.lua | 794 +++++++ .../AceConfigCmd-3.0/AceConfigCmd-3.0.xml | 4 + .../AceConfigDialog-3.0/AceConfigDialog-3.0.lua | 1955 +++++++++++++++++ .../AceConfigDialog-3.0/AceConfigDialog-3.0.xml | 4 + .../AceConfigRegistry-3.0.lua | 349 +++ .../AceConfigRegistry-3.0.xml | 4 + .../LibInit/Ace3/AceConsole-3.0/AceConsole-3.0.lua | 250 +++ .../LibInit/Ace3/AceConsole-3.0/AceConsole-3.0.xml | 4 + .../libs/LibInit/Ace3/AceDB-3.0/AceDB-3.0.lua | 746 +++++++ .../libs/LibInit/Ace3/AceDB-3.0/AceDB-3.0.xml | 4 + .../Ace3/AceDBOptions-3.0/AceDBOptions-3.0.lua | 460 ++++ .../Ace3/AceDBOptions-3.0/AceDBOptions-3.0.xml | 4 + .../LibInit/Ace3/AceEvent-3.0/AceEvent-3.0.lua | 126 ++ .../LibInit/Ace3/AceEvent-3.0/AceEvent-3.0.xml | 4 + .../libs/LibInit/Ace3/AceGUI-3.0/AceGUI-3.0.lua | 813 +++++++ .../libs/LibInit/Ace3/AceGUI-3.0/AceGUI-3.0.xml | 28 + .../widgets/AceGUIContainer-BlizOptionsGroup.lua | 138 ++ .../widgets/AceGUIContainer-DropDownGroup.lua | 157 ++ .../AceGUI-3.0/widgets/AceGUIContainer-Frame.lua | 311 +++ .../widgets/AceGUIContainer-InlineGroup.lua | 103 + .../widgets/AceGUIContainer-ScrollFrame.lua | 210 ++ .../widgets/AceGUIContainer-SimpleGroup.lua | 69 + .../widgets/AceGUIContainer-TabGroup.lua | 350 +++ .../widgets/AceGUIContainer-TreeGroup.lua | 717 ++++++ .../AceGUI-3.0/widgets/AceGUIContainer-Window.lua | 331 +++ .../AceGUI-3.0/widgets/AceGUIWidget-Button.lua | 103 + .../AceGUI-3.0/widgets/AceGUIWidget-CheckBox.lua | 295 +++ .../widgets/AceGUIWidget-ColorPicker.lua | 194 ++ .../widgets/AceGUIWidget-DropDown-Items.lua | 477 ++++ .../AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua | 737 +++++++ .../AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua | 265 +++ .../AceGUI-3.0/widgets/AceGUIWidget-Heading.lua | 78 + .../Ace3/AceGUI-3.0/widgets/AceGUIWidget-Icon.lua | 140 ++ .../widgets/AceGUIWidget-InteractiveLabel.lua | 101 + .../AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua | 249 +++ .../Ace3/AceGUI-3.0/widgets/AceGUIWidget-Label.lua | 166 ++ .../widgets/AceGUIWidget-MultiLineEditBox.lua | 366 ++++ .../AceGUI-3.0/widgets/AceGUIWidget-Slider.lua | 285 +++ .../libs/LibInit/Ace3/AceHook-3.0/AceHook-3.0.lua | 511 +++++ .../libs/LibInit/Ace3/AceHook-3.0/AceHook-3.0.xml | 4 + .../LibInit/Ace3/AceLocale-3.0/AceLocale-3.0.lua | 137 ++ .../LibInit/Ace3/AceLocale-3.0/AceLocale-3.0.xml | 4 + .../LibInit/Ace3/AceTimer-3.0/AceTimer-3.0.lua | 276 +++ .../LibInit/Ace3/AceTimer-3.0/AceTimer-3.0.xml | 4 + .../CallbackHandler-1.0/CallbackHandler-1.0.lua | 238 ++ .../CallbackHandler-1.0/CallbackHandler-1.0.xml | 4 + .../libs/LibInit/Ace3/LibStub/LibStub.lua | 30 + .../libs/LibInit/LibDataBroker-1.1.lua | 90 + OrderHallCommander/libs/LibInit/LibInit.lua | 2302 ++++++++++++++++++++ OrderHallCommander/libs/LibInit/LibInit.xml | 8 + OrderHallCommander/libs/LibInit/colorize.lua | 209 ++ OrderHallCommander/libs/LibInit/libs.xml | 15 + .../libs/LibItemUpgradeInfo-1.0/Core.lua | 654 ++++++ .../LibItemUpgradeInfo-1.0.toc | 9 + .../LibItemUpgradeInfo-1.0.xml | 4 + .../LibItemUpgradeInfo-1.0/LibStub/LibStub.lua | 51 + .../LibItemUpgradeInfo-1.0/LibStub/LibStub.toc | 9 + OrderHallCommander/localization.lua | 538 +++++ OrderHallCommander/matchmaker.lua | 609 ++++++ OrderHallCommander/missionlist.lua | 595 +++++ OrderHallCommander/missionpage.lua | 104 + OrderHallCommander/widgets.lua | 60 + OrderHallCommander/widgets.xml | 16 + OrderHallCommander/widgets/GUIContainer.lua | 53 + OrderHallCommander/widgets/MissionButton.lua | 129 ++ OrderHallCommander/widgets/MissionsList.lua | 180 ++ OrderHallCommander/wowhead.lua | 3 + 87 files changed, 22109 insertions(+) create mode 100644 OrderHallCommander/CHANGES.txt create mode 100644 OrderHallCommander/OrderHallCommander.lua create mode 100644 OrderHallCommander/OrderHallCommander.toc create mode 100644 OrderHallCommander/OrderHallCommander.xml create mode 100644 OrderHallCommander/RelNotes.lua create mode 100644 OrderHallCommander/autocomplete.lua create mode 100644 OrderHallCommander/autopilot.lua create mode 100644 OrderHallCommander/cache.lua create mode 100644 OrderHallCommander/core.lua create mode 100644 OrderHallCommander/data.lua create mode 100644 OrderHallCommander/embeds.xml create mode 100644 OrderHallCommander/followerpage.lua create mode 100644 OrderHallCommander/libs/Ace3/AceBucket-3.0/AceBucket-3.0.lua create mode 100644 OrderHallCommander/libs/Ace3/AceBucket-3.0/AceBucket-3.0.xml create mode 100644 OrderHallCommander/libs/Ace3/AceSerializer-3.0/AceSerializer-3.0.lua create mode 100644 OrderHallCommander/libs/Ace3/AceSerializer-3.0/AceSerializer-3.0.xml create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceAddon-3.0/AceAddon-3.0.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceAddon-3.0/AceAddon-3.0.xml create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceConfig-3.0/AceConfig-3.0.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceConfig-3.0/AceConfig-3.0.xml create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceConfig-3.0/AceConfigCmd-3.0/AceConfigCmd-3.0.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceConfig-3.0/AceConfigCmd-3.0/AceConfigCmd-3.0.xml create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceConfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceConfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.xml create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceConfig-3.0/AceConfigRegistry-3.0/AceConfigRegistry-3.0.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceConfig-3.0/AceConfigRegistry-3.0/AceConfigRegistry-3.0.xml create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceConsole-3.0/AceConsole-3.0.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceConsole-3.0/AceConsole-3.0.xml create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceDB-3.0/AceDB-3.0.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceDB-3.0/AceDB-3.0.xml create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceDBOptions-3.0/AceDBOptions-3.0.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceDBOptions-3.0/AceDBOptions-3.0.xml create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceEvent-3.0/AceEvent-3.0.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceEvent-3.0/AceEvent-3.0.xml create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceGUI-3.0/AceGUI-3.0.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceGUI-3.0/AceGUI-3.0.xml create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceGUI-3.0/widgets/AceGUIContainer-BlizOptionsGroup.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceGUI-3.0/widgets/AceGUIContainer-DropDownGroup.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceGUI-3.0/widgets/AceGUIContainer-Frame.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceGUI-3.0/widgets/AceGUIContainer-InlineGroup.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceGUI-3.0/widgets/AceGUIContainer-ScrollFrame.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceGUI-3.0/widgets/AceGUIContainer-SimpleGroup.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceGUI-3.0/widgets/AceGUIContainer-Window.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceGUI-3.0/widgets/AceGUIWidget-Button.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceGUI-3.0/widgets/AceGUIWidget-CheckBox.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceGUI-3.0/widgets/AceGUIWidget-DropDown-Items.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceGUI-3.0/widgets/AceGUIWidget-Heading.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceGUI-3.0/widgets/AceGUIWidget-Icon.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceGUI-3.0/widgets/AceGUIWidget-InteractiveLabel.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceGUI-3.0/widgets/AceGUIWidget-Label.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceGUI-3.0/widgets/AceGUIWidget-MultiLineEditBox.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceHook-3.0/AceHook-3.0.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceHook-3.0/AceHook-3.0.xml create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceLocale-3.0/AceLocale-3.0.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceLocale-3.0/AceLocale-3.0.xml create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceTimer-3.0/AceTimer-3.0.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/AceTimer-3.0/AceTimer-3.0.xml create mode 100644 OrderHallCommander/libs/LibInit/Ace3/CallbackHandler-1.0/CallbackHandler-1.0.lua create mode 100644 OrderHallCommander/libs/LibInit/Ace3/CallbackHandler-1.0/CallbackHandler-1.0.xml create mode 100644 OrderHallCommander/libs/LibInit/Ace3/LibStub/LibStub.lua create mode 100644 OrderHallCommander/libs/LibInit/LibDataBroker-1.1.lua create mode 100644 OrderHallCommander/libs/LibInit/LibInit.lua create mode 100644 OrderHallCommander/libs/LibInit/LibInit.xml create mode 100644 OrderHallCommander/libs/LibInit/colorize.lua create mode 100644 OrderHallCommander/libs/LibInit/libs.xml create mode 100644 OrderHallCommander/libs/LibItemUpgradeInfo-1.0/Core.lua create mode 100644 OrderHallCommander/libs/LibItemUpgradeInfo-1.0/LibItemUpgradeInfo-1.0.toc create mode 100644 OrderHallCommander/libs/LibItemUpgradeInfo-1.0/LibItemUpgradeInfo-1.0.xml create mode 100644 OrderHallCommander/libs/LibItemUpgradeInfo-1.0/LibStub/LibStub.lua create mode 100644 OrderHallCommander/libs/LibItemUpgradeInfo-1.0/LibStub/LibStub.toc create mode 100644 OrderHallCommander/localization.lua create mode 100644 OrderHallCommander/matchmaker.lua create mode 100644 OrderHallCommander/missionlist.lua create mode 100644 OrderHallCommander/missionpage.lua create mode 100644 OrderHallCommander/widgets.lua create mode 100644 OrderHallCommander/widgets.xml create mode 100644 OrderHallCommander/widgets/Follower.lua create mode 100644 OrderHallCommander/widgets/GUIContainer.lua create mode 100644 OrderHallCommander/widgets/MissionButton.lua create mode 100644 OrderHallCommander/widgets/MissionsList.lua create mode 100644 OrderHallCommander/widgets/Reward.lua create mode 100644 OrderHallCommander/wowhead.lua diff --git a/OrderHallCommander/CHANGES.txt b/OrderHallCommander/CHANGES.txt new file mode 100644 index 0000000..54e9cfd --- /dev/null +++ b/OrderHallCommander/CHANGES.txt @@ -0,0 +1,12 @@ +tag f427ed9f65556847fd2a9781443fb52ffa6e6eab 0.2.4 +Author: Alar of Runetotem +Date: Tue Jan 10 23:22:16 2017 +0100 + +Fixed various lua error and cache issues + +commit 8556b794a81a3e02cc916ec4116a91ace33dc63c +Author: Alar of Runetotem +Date: Tue Jan 10 23:17:36 2017 +0100 + + Notes updated + diff --git a/OrderHallCommander/OrderHallCommander.lua b/OrderHallCommander/OrderHallCommander.lua new file mode 100644 index 0000000..182a9ab --- /dev/null +++ b/OrderHallCommander/OrderHallCommander.lua @@ -0,0 +1,327 @@ +local __FILE__=tostring(debugstack(1,2,0):match("(.*):1:")) -- Always check line number in regexp and file, must be 1 +local function pp(...) print(GetTime(),"|cff009900",__FILE__:sub(-15),strjoin(",",tostringall(...)),"|r") end +--*TYPE addon +--*CONFIG noswitch=false,profile=true,enhancedProfile=true +--*MIXINS "AceHook-3.0","AceEvent-3.0","AceTimer-3.0" +--*MINOR 35 +-- Generated on 11/12/2016 23:26:42 +local me,ns=... +local LibInit,minor=LibStub("LibInit",true) +assert(LibInit,me .. ": Missing LibInit, please reinstall") +assert(minor>=35,me ..': Need at least Libinit version 35') +local addon=LibInit:NewAddon(ns,me,{noswitch=false,profile=true,enhancedProfile=true},"AceHook-3.0","AceEvent-3.0","AceTimer-3.0") --#Addon +-- Template +local G=C_Garrison +local _ +local AceGUI=LibStub("AceGUI-3.0") +local C=addon:GetColorTable() +local L=addon:GetLocale() +local new=addon.NewTable +local del=addon.DelTable +local kpairs=addon:GetKpairs() +local OHF=OrderHallMissionFrame +local OHFMissionTab=OrderHallMissionFrame.MissionTab --Container for mission list and single mission +local OHFMissions=OrderHallMissionFrame.MissionTab.MissionList -- same as OrderHallMissionFrameMissions Call Update on this to refresh Mission Listing +local OHFFollowerTab=OrderHallMissionFrame.FollowerTab -- Contains model view +local OHFFollowerList=OrderHallMissionFrame.FollowerList -- Contains follower list (visible in both follower and mission mode) +local OHFFollowers=OrderHallMissionFrameFollowers -- Contains scroll list +local OHFMissionPage=OrderHallMissionFrame.MissionTab.MissionPage -- Contains mission description and party setup +local OHFMapTab=OrderHallMissionFrame.MapTab -- Contains quest map +local followerType=LE_FOLLOWER_TYPE_GARRISON_7_0 +local garrisonType=LE_GARRISON_TYPE_7_0 +local FAKE_FOLLOWERID="0x0000000000000000" +local MAXLEVEL=110 +local dprint=print +local ddump +--[===[@debug@ +LoadAddOn("Blizzard_DebugTools") +ddump=DevTools_Dump +LoadAddOn("LibDebug") +-- Addon Build, we need to create globals the easy way +local function encapsulate() +if LibDebug then LibDebug() dprint=print end +end +encapsulate() +local pcall=pcall +local function parse(default,rc,...) + if rc then return default else return ... end +end +addon.safeG=setmetatable({},{ + __index=function(table,key) + rawset(table,key, + function(default,...) + return parse(default,pcall(G[key],...)) + end + ) + return table[key] + end +}) + +--@end-debug@]===] +--@non-debug@ +dprint=function() end +ddump=function() end +local print=function() end +--@end-non-debug@ + +-- End Template - DO NOT MODIFY ANYTHING BEFORE THIS LINE +--*BEGIN +local MISSING=ITEM_MISSING:format('|cff'..C.Red.c)..'|r' +local ctr=0 +function addon.resolve(frame) + local name + if type(frame)=="table" and frame.GetName then + name=frame:GetName() + if not name then + local parent=frame:GetParent() + if not parent then return "UIParent" end + for k,v in pairs(parent) do + if v==frame then + name=resolve(parent) .. '.'..k + return name + end + end + else + return name + end + _G['UNK_'..ctr]=frame + return 'UNK_'..ctr + end + return "unk" +end +function addon.colors(c1,c2) + return C[c1].r,C[c1].g,C[c1].b,C[c2].r,C[c2].g,C[c2].b +end +function addon:ColorFromBias(followerBias) + if ( followerBias == -1 ) then + --return 1, 0.1, 0.1 + return C:Red() + elseif ( followerBias < 0 ) then + --return 1, 0.5, 0.25 + return C:Orange() + else + --return 1, 1, 1 + return C:Green() + end +end +local colors=addon.colors +_G.OrderHallCommanderMixin={} +_G.OrderHallCommanderMixinThreats={} +_G.OrderHallCommanderMixinFollowerIcon={} +_G.OrderHallCommanderMixinMenu={} +local Mixin=OrderHallCommanderMixin --#Mixin +local MixinThreats=OrderHallCommanderMixinThreats --#MixinThreats +local MixinMenu=OrderHallCommanderMixinMenu --#MixinMenu +local MixinFollowerIcon= OrderHallCommanderMixinFollowerIcon --#MixinFollowerIcon + +function Mixin:CounterTooltip() + local tip=self:AnchorTT() + tip:AddLine(self.Ability) + tip:AddLine(self.Description) + tip:Show() + +end +function Mixin:DebugOnLoad() + self:RegisterForDrag("LeftButton") +end +function Mixin:Bump(tipo,value) + value = value or 1 + local riga=tipo..'Refresh' + self[tipo]=self[tipo]+value + self[riga]:SetFormattedText("%s: %d",tipo,self[tipo]) +end +function Mixin:Set(tipo,value) + value = value or 0 + local riga=tipo..'Refresh' + self[tipo]=value + self[riga]:SetFormattedText("%s: %d",tipo,self[tipo]) +end +function Mixin:DragStart() + self:StartMoving() +end +function Mixin:DragStop() + self:StopMovingOrSizing() +end +function Mixin:AnchorTT(anchor) + anchor=anchor or "ANCHOR_TOPRIGHT" + GameTooltip:SetOwner(self,anchor) + return GameTooltip +end +function Mixin:ShowTT() + if not self.tooltip then return end + local tip=Mixin.AnchorTT(self) + tip:SetText(self.tooltip) + tip:Show() +end +function Mixin:HideTT() + GameTooltip:Hide() +end +function Mixin:Dump(data) + local tip=self:AnchorTT("ANCHOR_CURSOR") + if type(data)~="table" then + data=self + end + tip:AddLine(data:GetName(),C:Green()) + self.DumpData(tip,data) + tip:Show() +end +function Mixin.DumpData(tip,data) + for k,v in kpairs(data) do + local color="Silver" + if type(v)=="number" then color="Cyan" + elseif type(v)=="string" then color="Yellow" v=v:sub(1,30) + elseif type(v)=="boolean" then v=v and 'True' or 'False' color="White" + elseif type(v)=="table" then color="Green" if v.GetObjectType then v=v:GetObjectType() else v=tostring(v) end + else v=type(v) color="Blue" + end + if k=="description" then v =v:sub(1,10) end + tip:AddDoubleLine(k,v,colors("Orange",color)) + end +end +local threatPool +function Mixin:ThreatsOnLoad() + if not threatPool then threatPool=CreateFramePool("Frame",UIParent,"OHCThreatsCounters") end + self.usedPool={} +end + +function MixinThreats:AddIconsAndCost(mechanics,biases,cost,color,notEnoughResources) + local icons=OHF.abilityCountersForMechanicTypes + if not icons then + --[===[@debug@ + print("Empty icons") + --@end-debug@ ]===] + return false + end + for i=1,#self.usedPool do + threatPool:Release(self.usedPool[i]) + end + self.mechanics=mechanics + wipe(self.usedPool) + local previous + for index,mechanic in pairs(mechanics) do + local th=threatPool:Acquire() + tinsert(self.usedPool,th) + th.Icon:SetTexture(icons[mechanic.id].icon) + th.Name=mechanic.name + th.Description=mechanic.description + th.Ability=mechanic.ability.name + th:SetParent(self) + th:SetFrameStrata(self:GetFrameStrata()) + th:SetFrameLevel(self:GetFrameLevel()+1) + if not previous then + th:SetPoint("BOTTOMLEFT",0,0) + previous=th + else + th:SetPoint("BOTTOMLEFT",previous,"BOTTOMRIGHT",5,0) + previous=th + end + th.Border:SetVertexColor(addon:ColorFromBias(biases[mechanic] or mechanic.bias)) + th:Show() + end + if cost >=0 then + self.Cost:Show() + self.Cost:SetFormattedText(addon.resourceFormat,cost) + self.Cost:SetTextColor(C[color]()) + self.Cost:ClearAllPoints() + self.Cost:SetPoint("BOTTOMLEFT",previous,"BOTTOMRIGHT",5,0) + self.HighCost:SetTextColor(C.Orange()) + self.HighCost:ClearAllPoints() + self.HighCost:SetPoint("BOTTOMLEFT",previous,"BOTTOMRIGHT",5,0) + if notEnoughResources then + self.HighCost:Show() + else + self.HighCost:Hide() + end + else + self.Cost:Hide() + self.HighCost:Hide() + end + return true +end + +function MixinFollowerIcon:SetFollower(followerID) + local info=addon:GetFollowerData(followerID) + if not info or not info.followerID then + local rc + rc,info=pcall(G.GetFollowerInfo,followerID) + if not rc or not info then + return self:SetEmpty(LFG_LIST_APP_TIMED_OUT) + end + end + self.followerID=followerID + self:SetupPortrait(info) + local status=(followerID and not OHFMissions.showInProgress) and G.GetFollowerStatus(followerID) or nil + if not status and info.isMaxLevel then + self:SetILevel(info.iLevel) + else + self:SetLevel(status and CHAT_FLAG_DND or info.level) + end +end +function MixinFollowerIcon:SetEmpty(message) + self.followerID=false + self:SetLevel(message or MISSING) + self:SetPortraitIcon() + self:SetQuality(1) +end +function MixinFollowerIcon:ShowTooltip() + if not self.followerID then +--[===[@debug@ + return self:Dump() +--@end-debug@]===] +--@non-debug@ + return +--@end-non-debug@ + end + local link = C_Garrison.GetFollowerLink(self.followerID); + if link then + local levelXP=G.GetFollowerLevelXP(self.followerID) + local xp=G.GetFollowerXP(self.followerID) + GarrisonFollowerTooltip:ClearAllPoints() + GarrisonFollowerTooltip:SetPoint("BOTTOM", self, "TOP") + local _, garrisonFollowerID, quality, level, itemLevel, ability1, ability2, ability3, ability4, trait1, trait2, trait3, trait4, spec1 = strsplit(":", link) + GarrisonFollowerTooltip_Show(tonumber(garrisonFollowerID), true, tonumber(quality), tonumber(level), xp,levelXP, tonumber(itemLevel), tonumber(spec1), tonumber(ability1), tonumber(ability2), tonumber(ability3), tonumber(ability4), tonumber(trait1), tonumber(trait2), tonumber(trait3), tonumber(trait4)) + if not GarrisonFollowerTooltip.Status then + GarrisonFollowerTooltip.Status=GarrisonFollowerTooltip:CreateFontString(nil, "ARTWORK", "GameFontHighlight") + GarrisonFollowerTooltip.Status:SetPoint("BOTTOM",0,5) + end + local status=G.GetFollowerStatus(self.followerID) + if status then + GarrisonFollowerTooltip.Status:SetText(TOKEN_MARKET_PRICE_NOT_AVAILABLE.. ': ' .. status) + GarrisonFollowerTooltip.Status:SetTextColor(C:Orange()) + GarrisonFollowerTooltip.Status:Show() + GarrisonFollowerTooltip:SetHeight(GarrisonFollowerTooltip:GetHeight()+10) + else + GarrisonFollowerTooltip.Status:Hide() + end + end +end +function MixinFollowerIcon:HideTooltip() + GarrisonFollowerTooltip:Hide() +end +function Mixin:MembersOnLoad() + for i=1,3 do + if self.Champions[i] then + self.Champions[1]:SetPoint("RIGHT") + else + self.Champions[i]=CreateFrame("Frame",nil,self,"OHCFollowerIcon") + self.Champions[i]:SetPoint("RIGHT",self.Champions[i-1],"LEFT",-5,0) + end + self.Champions[i]:SetFrameLevel(self:GetFrameLevel()+10) + self.Champions[i]:Show() + self.Champions[i]:SetEmpty() + end + self:SetWidth(self.Champions[1]:GetWidth()*3+10) +end +function MixinMenu:OnLoad() + self.Top:SetAtlas("_StoneFrameTile-Top", true); + self.Bottom:SetAtlas("_StoneFrameTile-Bottom", true); + self.Left:SetAtlas("!StoneFrameTile-Left", true); + self.Right:SetAtlas("!StoneFrameTile-Left", true); + self.GarrCorners.TopLeftGarrCorner:SetAtlas("StoneFrameCorner-TopLeft", true); + self.GarrCorners.TopRightGarrCorner:SetAtlas("StoneFrameCorner-TopLeft", true); + self.GarrCorners.BottomLeftGarrCorner:SetAtlas("StoneFrameCorner-TopLeft", true); + self.GarrCorners.BottomRightGarrCorner:SetAtlas("StoneFrameCorner-TopLeft", true); + self.CloseButton:SetScript("OnClick",function() MixinMenu.OnClick(self) end) +end + + diff --git a/OrderHallCommander/OrderHallCommander.toc b/OrderHallCommander/OrderHallCommander.toc new file mode 100644 index 0000000..cfe7587 --- /dev/null +++ b/OrderHallCommander/OrderHallCommander.toc @@ -0,0 +1,47 @@ +## Interface: 70100 +## Title: OrderHallCommander +## Notes: Sending all follower to missions with just one click and more +## Notes-itIT: Invia tutti i seguaci in missione con un click e molto altro +## Notes-frFR: Vous aide au moment de choisir le droit utilisateur pour la bonne mission +## Notes-esES: Enviar todos los seguidores en una misión con un clic y más +## Notes-esMX: Enviar todos los seguidores en una misión con un clic y más +## Notes-ptBR: Enviar todos os seguidores em uma missão com um clique e mais +## Notes-koKR: 클릭 등을 통해 임무에 모든 추종자 보내기 +## Notes-deDE: Senden Sie alle Anhänger auf einer Mission mit einem Klick und mehr +## Notes-ruRU: Отправить всех последователей на миссии со щелчком и более +## Notes-zhTW: 发送所有的追随者与点击多任务 +## Notes-zhCN: 發送所有的追隨者與點擊多任務 +## Author: Alar of Runetotem +## Version: 0.2.4 7.1.0 +## X-Revision: 8556b79 +## eMail: alar@aspide.it +## URL: http://wow.aspide.it +## OptionalDeps: Ace3,LibInit +## Dependencies: Blizzard_OrderHallUI +## DefaultState: Enabled +## LoadOnDemand: 1 +## LoadWith: Blizzard_OrderHallUI +## SavedVariables: dbOHC +## SavedVariablesPerCharacter: dbOHCperChar +## X-ID: OHC +## X-Database:dbOHC +## X-Category: Garrison +## X-License: GPL v3 +## X-eMail: alar@aspide.it +## X-Date: 2017-01-11T4:17:36Z +## X-Embeds: LibInit +embeds.xml +localization.lua +OrderHallCommander.xml +core.lua +autocomplete.lua +autopilot.lua +cache.lua +followerpage.lua +matchmaker.lua +missionlist.lua +missionpage.lua +widgets.xml +RelNotes.lua +data.lua +wowhead.lua diff --git a/OrderHallCommander/OrderHallCommander.xml b/OrderHallCommander/OrderHallCommander.xml new file mode 100644 index 0000000..d9a29d3 --- /dev/null +++ b/OrderHallCommander/OrderHallCommander.xml @@ -0,0 +1,274 @@ + +