WoWInterface SVN UrbanAchiever

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /
    from Rev 147 to Rev 148
    Reverse comparison

Rev 147 → Rev 148

trunk/UrbanAchiever.toc
1,11 → 1,11
## Interface: 50400
## Interface: 60000
## Title: Urban Achiever
## Author: Syzgyn, Tomate
## Notes: Improved Achievement Frame
## Notes-frFR: Fenêtre de Hauts Faits améliorée
## Notes-zhTW:改進成就框架
## Notes-zhCN:改进成就框架
## Version 15.7.wowi:revision
## Version 16.wowi:revision
## OptionalDeps: Blizzard_AchievementUI
## SavedVariables: UASV
## SavedVariablesPerCharacter: UASVPC
trunk/script-import.php
1,11 → 1,11
<?php
 
ini_set('allow_url_fopen', 1);
$URLs = array(
"http://www.wowhead.com/achievements?filter=si=-1;cr=9;crs=2;crv=4000" => 1,
"http://www.wowhead.com/achievements?filter=si=-1;cr=9;crs=5;crv=4000" => 1,
"http://www.wowhead.com/achievements?filter=si=-2;cr=9;crs=2;crv=4000" => 2,
"http://www.wowhead.com/achievements?filter=si=-2;cr=9;crs=5;crv=4000" => 2
);
);
$completearray = array();
foreach($URLs as $URL => $side){
$page = file_get_contents($URL);
26,12 → 26,12
 
 
foreach($workingarray as $achievement){
$pos = strpos($achievement, "',icon:'");
$pos = strpos($achievement, '","icon":"');
$achievement = substr($achievement, 0, $pos);
$achievement = str_replace(array("_[", "]={name_enus:'"), array('', '*-*'), $achievement);
$achievement = str_replace(array('_[', ']={"name_enus":"'), array('', '*-*'), $achievement);
$achievement = explode('*-*', $achievement);
$completearray[$achievement[0]] = $side . ',&nbsp;&nbsp;&nbsp;--' . str_replace('\\','',$achievement[1]);
}
}
 
}
 
trunk/Main.lua
11,7 → 11,7
--bindings
BINDING_HEADER_URBANACHIEVER = "Urban Achiever"
 
local MAX_ACHIEVEMENTS = 8792 --last 8791
local MAX_ACHIEVEMENTS = 9709 --last 9708
local menuTypes = {"PLAYER", "PARTY", "RAID_PLAYER"}
local playerFaction = UnitFactionGroup("player") == "Alliance" and 1 or 2
 
638,49 → 638,16
-------------------------------------------------------------
 
function self:HideCategorySum()
categoryStatusBar92:Hide();
categoryStatusBar96:Hide();
categoryStatusBar97:Hide();
categoryStatusBar95:Hide();
categoryStatusBar168:Hide();
categoryStatusBar15165:Hide();
categoryStatusBar169:Hide();
categoryStatusBar201:Hide();
categoryStatusBar155:Hide();
categoryStatusBar15117:Hide();
categoryStatusBar81:Hide();
self.categoryFrame:Hide()
end
function self:ShowCategorySum()
categoryStatusBar92:Show();
categoryStatusBar96:Show();
categoryStatusBar97:Show();
categoryStatusBar95:Show();
categoryStatusBar168:Show();
categoryStatusBar15165:Show();
categoryStatusBar169:Show();
categoryStatusBar201:Show();
categoryStatusBar155:Show();
categoryStatusBar15117:Show();
categoryStatusBar81:Hide();
self.categoryFrame:Show()
end
function self:HideCategorySumGuild()
categoryStatusBar15088:Hide();
categoryStatusBar15077:Hide();
categoryStatusBar15078:Hide();
categoryStatusBar15079:Hide();
categoryStatusBar15080:Hide();
categoryStatusBar15089:Hide();
categoryStatusBar15093:Hide();
self.categoryFrameGuilde:Hide()
end
function self:ShowCategorySumGuild()
categoryStatusBar15088:Show();
categoryStatusBar15077:Show();
categoryStatusBar15078:Show();
categoryStatusBar15079:Show();
categoryStatusBar15080:Show();
categoryStatusBar15089:Show();
categoryStatusBar15093:Hide();
 
self.categoryFrameGuilde:Show()
end
 
function self:SetupFrames()
714,6 → 681,34
end
end)
 
self.categoryFrame = CreateFrame("Frame", "UrbanAchieverFrame", self.frame)
self.categoryFrame:SetBackdrop({
edgeFile = "Interface\\DialogFrame\\UI-DialogBox-Border", tile = true, tileSize = 32, edgeSize = 32,
insets = {left = 11, right = 12, top = 12, bottom = 11}
})
self.categoryFrame.backdrop = self.categoryFrame:CreateTexture("$parentBG", "BACKGROUND")
self.categoryFrame.backdrop:SetPoint("TOPLEFT", 6, -6)
self.categoryFrame.backdrop:SetPoint("BOTTOMRIGHT", -6, 6)
self.categoryFrame.backdrop:SetTexture("Interface\\AchievementFrame\\UI-Achievement-Parchment")
self.categoryFrame.backdrop:SetTexCoord(0,.5,0,1)
self.categoryFrame:SetWidth(260)
self.categoryFrame:SetHeight(440)
self.categoryFrame:SetPoint("LEFT", self.frame, "RIGHT", -12, 0)
 
self.categoryFrameGuilde = CreateFrame("Frame", "UrbanAchieverFrame", self.frame)
self.categoryFrameGuilde:SetBackdrop({
edgeFile = "Interface\\DialogFrame\\UI-DialogBox-Border", tile = true, tileSize = 32, edgeSize = 32,
insets = {left = 11, right = 12, top = 12, bottom = 11}
})
self.categoryFrameGuilde.backdrop = self.categoryFrameGuilde:CreateTexture("$parentBG", "BACKGROUND")
self.categoryFrameGuilde.backdrop:SetPoint("TOPLEFT", 6, -6)
self.categoryFrameGuilde.backdrop:SetPoint("BOTTOMRIGHT", -6, 6)
self.categoryFrameGuilde.backdrop:SetTexture("Interface\\AchievementFrame\\UI-Achievement-Parchment")
self.categoryFrameGuilde.backdrop:SetTexCoord(0,.5,0,1)
self.categoryFrameGuilde:SetWidth(260)
self.categoryFrameGuilde:SetHeight(240)
self.categoryFrameGuilde:SetPoint("LEFT", self.frame, "RIGHT", -12, 0)
 
--Initialize arrays
self.frame.catButtons = {}
self.frame.achButtons = {}
928,8 → 923,10
local idxCat = 0
for i,id in ipairs(GetCategoryList()) do
local tittleCat, parentCatID = GetCategoryInfo(id)
if ( parentCatID == -1 )then
idxCat, lastFrame = self:createCategoryStatusBar(id, idxCat, lastFrame, tittleCat)
--15234 = Héritage
--81 = Tours de force
if ( parentCatID == -1 ) and id ~= 15234 and id ~= 81 then
idxCat, lastFrame = self:createCategoryStatusBar(id, idxCat, lastFrame, tittleCat, self.categoryFrame)
end
end
 
937,8 → 934,9
local idxCat = 0
for i,id in ipairs(GetGuildCategoryList()) do
local tittleCat, parentCatID = GetCategoryInfo(id)
if ( parentCatID == -1 or parentCatID == 15076 )then
idxCat, lastFrame = self:createCategoryStatusBar(id, idxCat, lastFrame, tittleCat)
--15093 = Tours de force de guilde
if (parentCatID == -1 or parentCatID == 15076) and id ~= 15093 then
idxCat, lastFrame = self:createCategoryStatusBar(id, idxCat, lastFrame, tittleCat, self.categoryFrameGuilde)
end
end
 
1008,11 → 1006,8
self.frame.display.backdrop = self.frame.display:CreateTexture("$parentBG", "BACKGROUND")
self.frame.display.backdrop:SetPoint("TOPLEFT")
self.frame.display.backdrop:SetPoint("BOTTOMRIGHT")
--self.frame.display.backdrop:SetTexture(1,0,0,1)
 
 
self.frame.display:SetWidth(290)
self.frame.display:SetHeight(463)
self.frame.display:SetHeight(500)
self.frame.display:SetPoint("TOPRIGHT", -13, -75) -- , self.frame.achButtons[1], "TOPRIGHT", 19, 0)
self.frame.display:Hide()
 
1112,7 → 1107,7
GameTooltip:Hide();
guildMemberRequestFrame = nil;
end)
for i=2, 9 do
for i=2, 18 do
self.frame.display.criteriaButtons[i] = self:CreateCriteriaButton("$parentCriteriaButton" .. i, self.frame.display)
self.frame.display.criteriaButtons[i]:SetPoint("TOPLEFT", self.frame.display.criteriaButtons[i-1], "BOTTOMLEFT")
self.frame.display.criteriaButtons[i]:SetScript("OnEnter", function(self)
1165,19 → 1160,15
self.frame:Hide()
end
 
function self:createCategoryStatusBar(id, idxCat, lastFrame, tittleCat)
function self:createCategoryStatusBar(id, idxCat, lastFrame, tittleCat, parent)
idxCat = idxCat + 1
local categoryFrame = CreateFrame("StatusBar","categoryStatusBar"..id, self.frame, "AchievementFrameSummaryCategoryTemplate")
local categoryFrame = CreateFrame("StatusBar","categoryStatusBar"..id, parent, "AchievementFrameSummaryCategoryTemplate")
if idxCat == 1 then
lastFrame = "categoryStatusBar"..id
categoryFrame:SetPoint("BOTTOMLEFT", self.frame, "BOTTOMLEFT", 30, 150)
categoryFrame:SetPoint("TOP", parent, "TOP", 0, -30)
else
if (idxCat%2) == 0 then
categoryFrame:SetPoint("LEFT", lastFrame, "RIGHT", 30, 0)
else
categoryFrame:SetPoint("TOPLEFT", lastFrame, "BOTTOMLEFT", 0, -12)
lastFrame = "categoryStatusBar"..id
end
categoryFrame:SetPoint("TOP", lastFrame, "BOTTOM", 0, -12)
lastFrame = "categoryStatusBar"..id
end
categoryFrame:SetID(id)
categoryFrame:SetScript("OnShow", function(self)
1188,7 → 1179,7
categoryFrame:SetScript("OnHide", function(self)
AchievementFrameSummaryCategory_OnHide(self)
end)
categoryFrame:SetWidth(270)
categoryFrame:SetWidth(200)
categoryFrame:SetHeight(21)
categoryFrame.text:ClearAllPoints()
categoryFrame.text:SetPoint("RIGHT", -5, 0)
1196,9 → 1187,9
categoryFrame.name = categoryFrame:CreateFontString("$parentName", "OVERLAY", "GameFontHighlightSmall")
categoryFrame.name:SetPoint("LEFT", 5, 0)
categoryFrame.name:SetJustifyH("LEFT")
categoryFrame.name:SetWidth(300)
categoryFrame.name:SetWidth(200)
categoryFrame.name:SetText(tittleCat)
categoryFrame:Hide()
--categoryFrame:Hide()
 
return idxCat, lastFrame
end
trunk/FactionSpecificAchievements.lua
6,15 → 6,21
["8030"] = 1, --A Test of Valor
["4156"] = 1, --A Tribute to Immortality
["5853"] = 1, --A-Caroling We Will Go
["9539"] = 1, --Advanced Husbandry
["5129"] = 1, --Ambassadors
["8845"] = 1, --As I Walk Through the Valley of the Shadow of Moon
["4925"] = 1, --Ashenvale Quests
["5375"] = 1, --Baradin's Wardens
["8314"] = 1, --Battle on the High Seas
["4436"] = 1, --BB King
["8925"] = 1, --Between Arak and a Hard Place
["5171"] = 1, --Blood Elf Slayer
["4926"] = 1, --Bloodmyst Isle Quests
["7941"] = 1, --Brawlin' and Shot Callin'
["9104"] = 1, --Bounty Hunter
["9170"] = 1, --Brawlin' and Shot Callin'
["7941"] = 1, --Brawlin' and Shot Callin' (Season 1)
["7534"] = 1, --Chapter II: Wrathion's War
["9078"] = 1, --Choppin' Even More Logs
["5195"] = 1, --City Attacker
["5131"] = 1, --Classic Battles
["5156"] = 1, --Classy Draenei
30,12 → 36,16
["8679"] = 1, --Conqueror of Orgrimmar
["5331"] = 1, --Corporal
["4928"] = 1, --Darkshore Quests
["8340"] = 1, --Deck Your Collection
["9176"] = 1, --Deck Your Collection
["8340"] = 1, --Deck Your Collection (Season 1)
["9630"] = 1, --Defender of Draenor
["5130"] = 1, --Diplomacy
["8920"] = 1, --Don't Let the Tala-door Hit You on the Way Out
["5231"] = 1, --Double Jeopardy
["5229"] = 1, --Drag a Maw
["5126"] = 1, --Dungeon Diplomat
["4929"] = 1, --Dustwallow Marsh Quests
["9101"] = 1, --Even More Plots
["6007"] = 1, --Extinguishing Northrend
["8042"] = 1, --Extinguishing Pandaria
["6013"] = 1, --Extinguishing the Cataclysm
49,6 → 59,7
["6011"] = 1, --Flame Warden of Cataclysm
["6008"] = 1, --Flame Warden of Northrend
["8045"] = 1, --Flame Warden of Pandaria
["9210"] = 1, --Garrison Buddies
["5453"] = 1, --Ghosts in the Dark
["5172"] = 1, --Goblin Slayer
["5343"] = 1, --Grand Marshal
61,12 → 72,14
["4912"] = 1, --Guild Level 25
["5434"] = 1, --Guild Marshals
["5014"] = 1, --Guild Northrend Dungeon Hero
["8335"] = 1, --Having a Brawl
["8335"] = 1, --Having a Brawl (Season 1)
["9214"] = 1, --Hero of Stormshield
["6942"] = 1, --Hero of the Alliance
["6939"] = 1, --Hero of the Alliance: Cataclysmic
["8654"] = 1, --Hero of the Alliance: Grievous
["8243"] = 1, --Hero of the Alliance: Malevolent
["8658"] = 1, --Hero of the Alliance: Prideful
["9230"] = 1, --Hero of the Alliance: Primal
["6316"] = 1, --Hero of the Alliance: Ruthless
["8652"] = 1, --Hero of the Alliance: Tyrannical
["5344"] = 1, --Hero of the Alliance: Vicious
76,7 → 89,7
["5031"] = 1, --Horde Slayer
["8306"] = 1, --Hordebreaker
["5219"] = 1, --I'm in the White Lodge
["8336"] = 1, --I've Got the Biggest Brawls of Them All
["8336"] = 1, --I've Got the Biggest Brawls of Them All (Season 1)
["5268"] = 1, --In Service of the Alliance
["5322"] = 1, --In Service of the Alliance
["5327"] = 1, --In Service of the Alliance
99,10 → 112,24
["5489"] = 1, --Master of Tol Barad
["5333"] = 1, --Master Sergeant
["6535"] = 1, --Mighty Roamin' Krasaranger
["9100"] = 1, --More Plots
["8304"] = 1, --Mount Parade
["9598"] = 1, --Mountacular
["9631"] = 1, --Mythic Draenor Raider
["8927"] = 1, --Nagrandeur
["9517"] = 1, --Nemesis: Death Stalker
["9520"] = 1, --Nemesis: Huojin's Fall
["9518"] = 1, --Nemesis: Killer of Kezan
["9519"] = 1, --Nemesis: Orcslayer
["9516"] = 1, --Nemesis: Slayer of Sin'dorei
["9521"] = 1, --Nemesis: The Butcher
["9522"] = 1, --Nemesis: Troll Hunter
["7527"] = 1, --No Tank You
["7946"] = 1, --Now You're Just Showing Off
["9171"] = 1, --Now You're Just Showing Off
["7946"] = 1, --Now You're Just Showing Off (Season 1)
["8011"] = 1, --Number Five Is Alive
["9528"] = 1, --On the Shadow's Trail
["9408"] = 1, --Operation Counterattack
["4786"] = 1, --Operation: Gnomeregan
["8205"] = 1, --Operation: Shieldwall
["7928"] = 1, --Operation: Shieldwall Campaign
112,26 → 139,39
["6532"] = 1, --Pandaren Slayer
["8642"] = 1, --Prideful Combatant
["8451"] = 1, --Prideful Conquest
["9238"] = 1, --Primal Combatant
["9234"] = 1, --Primal Conquest
["5330"] = 1, --Private
["8923"] = 1, --Putting the Gore in Gorgrond
["7949"] = 1, --Rabble Rabble Rabble
["4902"] = 1, --Redridge Mountains Quests
["9256"] = 1, --Rescue Operation
["9478"] = 1, --Savage Friends
["7448"] = 1, --Scenario Roundup
["6874"] = 1, --Scenaturday
["9564"] = 1, --Securing Draenor
["5332"] = 1, --Sergeant
["5334"] = 1, --Sergeant Major
["9476"] = 1, --Sha'tari Defense
["9602"] = 1, --Shoot For the Moon
["4869"] = 1, --Sinking into Vashj'ir
["6537"] = 1, --Slum It in the Summit
["5213"] = 1, --Soaring Spirits
["4937"] = 1, --Southern Barrens Quests
["5152"] = 1, --Stay Classy
["4936"] = 1, --Stonetalon Mountains Quests
["9225"] = 1, --Take Them Out
["6030"] = 1, --Taking the Show on the Road
["6603"] = 1, --Taming Eastern Kingdoms
["5168"] = 1, --Tauren Slayer
["7947"] = 1, --The First Rule of Brawler's Guild
["7940"] = 1, --The Second Rule of Brawler's Guild
["9491"] = 1, --The Garrison Campaign
["9169"] = 1, --The Second Rule of Brawler's Guild
["7940"] = 1, --The Second Rule of Brawler's Guild (Season 1)
["9540"] = 1, --The Stable Master
["7467"] = 1, --Theramore's Fall
["7523"] = 1, --Theramore's Fall
["9714"] = 1, --Thy Kingdom Come
["5417"] = 1, --Tol Barad Veteran
["4296"] = 1, --Trial of the Champion
["5836"] = 1, --Tricks and Treats of Northrend
144,13 → 184,19
["6300"] = 1, --Upjade Complete
["5328"] = 1, --Veteran of the Alliance
["5823"] = 1, --Veteran of the Alliance II
["9729"] = 1, --Victory in Hillsbrad
["5329"] = 1, --Warbound Veteran of the Alliance
["9738"] = 1, --Warlord of Draenor
["8012"] = 1, --Waste Not, Want Not
["7860"] = 1, --We're Going to Need More Saddles
["8921"] = 1, --Welcome to Draenor
["4903"] = 1, --Westfall and Duskwood Quests
["4885"] = 1, --Wildhammer Clan
["5481"] = 1, --Wildhammer Tour of Duty
["7937"] = 1, --You Are Not Your $#*@! Legplates
["9530"] = 1, --Writing in the Snow
["9474"] = 1, --Wrynn's Vanguard
["9168"] = 1, --You Are Not Your $#*@! Legplates
["7937"] = 1, --You Are Not Your $#*@! Legplates (Season 1)
["3676"] = 1, --A Silver Confidant
["948"] = 1, --Ambassador of the Alliance
["230"] = 1, --Battlemaster
254,17 → 300,22
["8031"] = 2, --A Test of Valor
["4079"] = 2, --A Tribute to Immortality
["5854"] = 2, --A-Caroling We Will Go
["9705"] = 2, --Advanced Husbandry
["5179"] = 2, --Alliance Slayer
["7844"] = 2, --Ambassadors
["4976"] = 2, --Ashenvale Quests
["4927"] = 2, --Azshara Quests
["8315"] = 2, --Battle on the High Seas
["4437"] = 2, --BB King
["8926"] = 2, --Between Arak and a Hard Place
["5351"] = 2, --Blood Guard
["7942"] = 2, --Brawlin' and Shot Callin'
["9103"] = 2, --Bounty Hunter
["9174"] = 2, --Brawlin' and Shot Callin'
["7942"] = 2, --Brawlin' and Shot Callin' (Season 1)
["5338"] = 2, --Centurion
["5353"] = 2, --Champion
["8008"] = 2, --Chapter II: Wrathion's War
["9080"] = 2, --Choppin' Even More Logs
["5194"] = 2, --City Attacker
["5128"] = 2, --Classic Battles
["5163"] = 2, --Classy Blood Elves
277,12 → 328,15
["5227"] = 2, --Cloud Nine
["8342"] = 2, --Collect Your Deck
["8307"] = 2, --Darkspear Revolutionary
["8343"] = 2, --Deck Your Collection
["9177"] = 2, --Deck Your Collection
["8343"] = 2, --Deck Your Collection (Season 1)
["9248"] = 2, --Defender of Draenor
["4256"] = 2, --Demolition Derby
["7843"] = 2, --Diplomacy
["8206"] = 2, --Dominance Offensive
["7929"] = 2, --Dominance Offensive Campaign
["8013"] = 2, --Domination Point
["8919"] = 2, --Don't Let the Tala-door Hit You on the Way Out
["5552"] = 2, --Double Jeopardy
["5177"] = 2, --Draenei Slayer
["4886"] = 2, --Dragonmaw Clan
290,6 → 344,7
["5145"] = 2, --Dungeon Diplomat
["4978"] = 2, --Dustwallow Marsh Quests
["5175"] = 2, --Dwarf Slayer
["9546"] = 2, --Even More Plots
["6010"] = 2, --Extinguishing Northrend
["8043"] = 2, --Extinguishing Pandaria
["6014"] = 2, --Extinguishing the Cataclysm
303,6 → 358,8
["6012"] = 2, --Flame Keeper of Cataclysm
["6009"] = 2, --Flame Keeper of Northrend
["8044"] = 2, --Flame Keeper of Pandaria
["9606"] = 2, --Frostfire Fridge
["9132"] = 2, --Garrison Buddies
["5355"] = 2, --General
["4908"] = 2, --Ghostlands Quests
["5176"] = 2, --Gnome Slayer
316,16 → 373,18
["5492"] = 2, --Guild Level 25
["5124"] = 2, --Guild Northrend Dungeon Hero
["5437"] = 2, --Guild Warlords
["8337"] = 2, --Having a Brawl
["8337"] = 2, --Having a Brawl (Season 1)
["5376"] = 2, --Hellscream's Reach
["6941"] = 2, --Hero of the Horde
["6940"] = 2, --Hero of the Horde: Cataclysmic
["8657"] = 2, --Hero of the Horde: Grievous
["8244"] = 2, --Hero of the Horde: Malevolent
["8659"] = 2, --Hero of the Horde: Prideful
["9231"] = 2, --Hero of the Horde: Primal
["6317"] = 2, --Hero of the Horde: Ruthless
["8653"] = 2, --Hero of the Horde: Tyrannical
["5358"] = 2, --Hero of the Horde: Vicious
["9215"] = 2, --Hero of Warspear
["8366"] = 2, --Heroic: Battle on the High Seas
["4297"] = 2, --Heroic: Trial of the Champion
["5110"] = 2, --Heroic: Trial of the Champion Guild Run
333,15 → 392,16
["4895"] = 2, --Hillsbrad Foothills Quests
["5173"] = 2, --Human Slayer
["5220"] = 2, --I'm in the Black Lodge
["8338"] = 2, --I've Got the Biggest Brawls of Them All
["8338"] = 2, --I've Got the Biggest Brawls of Them All (Season 1)
["5269"] = 2, --In Service of the Horde
["5323"] = 2, --In Service of the Horde
["5324"] = 2, --In Service of the Horde
["5323"] = 2, --In Service of the Horde
["5454"] = 2, --Joy Ride
["5719"] = 2, --Just Another Day in Tol Barad
["8055"] = 2, --Khan
["5321"] = 2, --King of the Mountain
["7529"] = 2, --Kite Fight
["9475"] = 2, --Laughing Skull Orcs
["5352"] = 2, --Legionnaire
["5475"] = 2, --Let's Do Lunch: Orgrimmar
["5843"] = 2, --Let's Do Lunch: Thunder Bluff
351,22 → 411,42
["5490"] = 2, --Master of Tol Barad
["6536"] = 2, --Mighty Roamin' Krasaranger
["4177"] = 2, --Mine
["9545"] = 2, --More Plots
["8302"] = 2, --Mount Parade
["9599"] = 2, --Mountacular
["9255"] = 2, --Mythic Draenor Raider
["8928"] = 2, --Nagrandeur
["9509"] = 2, --Nemesis: Draenei Destroyer
["9510"] = 2, --Nemesis: Dwarfstalker
["9511"] = 2, --Nemesis: Gnomebane
["9512"] = 2, --Nemesis: Manslayer
["9513"] = 2, --Nemesis: Scourge of the Kaldorei
["9514"] = 2, --Nemesis: Terror of the Tushui
["9515"] = 2, --Nemesis: Worgen Hunter
["5174"] = 2, --Night Elf Slayer
["7530"] = 2, --No Tank You
["4933"] = 2, --Northern Barrens Quests
["8022"] = 2, --Now You're Just Showing Off
["9175"] = 2, --Now You're Just Showing Off
["8022"] = 2, --Now You're Just Showing Off (Season 1)
["8014"] = 2, --Number Five Is Alive
["9529"] = 2, --On the Shadow's Trail
["9217"] = 2, --Operation Counterattack
["6827"] = 2, --Pandaren Ambassador
["6664"] = 2, --Pandaren Embassy
["6533"] = 2, --Pandaren Slayer
["8641"] = 2, --Prideful Combatant
["8450"] = 2, --Prideful Conquest
["9236"] = 2, --Primal Combatant
["9233"] = 2, --Primal Conquest
["8924"] = 2, --Putting the Gore in Gorgrond
["7950"] = 2, --Rabble Rabble Rabble
["9257"] = 2, --Rescue Operation
["4176"] = 2, --Resource Glut
["9477"] = 2, --Savage Friends
["7449"] = 2, --Scenario Roundup
["7509"] = 2, --Scenaturday
["5345"] = 2, --Scout
["9562"] = 2, --Securing Draenor
["5348"] = 2, --Senior Sergeant
["5347"] = 2, --Sergeant
["4894"] = 2, --Silverpine Forest Quests
378,12 → 458,17
["5350"] = 2, --Stone Guard
["4980"] = 2, --Stonetalon Mountains Quests
["8209"] = 2, --Sunreaver Onslaught
["9224"] = 2, --Take Them Out
["6031"] = 2, --Taking the Show on the Road
["6602"] = 2, --Taming Kalimdor
["7948"] = 2, --The First Rule of Brawler's Guild
["7939"] = 2, --The Second Rule of Brawler's Guild
["9492"] = 2, --The Garrison Campaign
["9173"] = 2, --The Second Rule of Brawler's Guild
["7939"] = 2, --The Second Rule of Brawler's Guild (Season 1)
["9706"] = 2, --The Stable Master
["7468"] = 2, --Theramore's Fall
["7524"] = 2, --Theramore's Fall
["9715"] = 2, --Thy Kingdom Come
["5418"] = 2, --Tol Barad Veteran
["5835"] = 2, --Tricks and Treats of Northrend
["7602"] = 2, --Tricks and Treats of Pandaria
393,13 → 478,20
["6534"] = 2, --Upjade Complete
["5325"] = 2, --Veteran of the Horde
["5824"] = 2, --Veteran of the Horde II
["9566"] = 2, --Victory in Hillsbrad
["9473"] = 2, --Vol'jin's Spear
["5326"] = 2, --Warbringer of the Horde
["5342"] = 2, --Warlord
["9508"] = 2, --Warlord of Draenor
["8015"] = 2, --Waste Not, Want Not
["7862"] = 2, --We're Going to Need More Saddles
["8922"] = 2, --Welcome to Draenor
["5228"] = 2, --Wild Hammering
["5178"] = 2, --Worgen Slayer
["8020"] = 2, --You Are Not Your $#*@! Legplates
["9531"] = 2, --Writing in the Snow
["9172"] = 2, --You Are Not Your $#*@! Legplates
["8020"] = 2, --You Are Not Your $#*@! Legplates (Season 1)
["8671"] = 2, --You'll Get Caught Up In The... Frostfire!
["4790"] = 2, --Zalazane's Fall
["762"] = 2, --Ambassador of the Horde
["1175"] = 2, --Battlemaster
trunk/Libs/AceHook-3.0/AceHook-3.0.lua
9,8 → 9,8
-- make into AceHook.
-- @class file
-- @name AceHook-3.0
-- @release $Id: AceHook-3.0.lua 1064 2012-09-04 17:14:01Z nevcairiel $
local ACEHOOK_MAJOR, ACEHOOK_MINOR = "AceHook-3.0", 6
-- @release $Id: AceHook-3.0.lua 1118 2014-10-12 08:21:54Z nevcairiel $
local ACEHOOK_MAJOR, ACEHOOK_MINOR = "AceHook-3.0", 8
local AceHook, oldminor = LibStub:NewLibrary(ACEHOOK_MAJOR, ACEHOOK_MINOR)
 
if not AceHook then return end -- No upgrade needed
142,7 → 142,7
if not obj or not obj.GetScript or not obj:HasScript(method) then
error(format("%s: You can only hook a script on a frame object", usage), 3)
end
if not secure and obj:IsProtected() and protectedScripts[method] then
if not secure and obj.IsProtected and obj:IsProtected() and protectedScripts[method] then
error(format("Cannot hook secure script %q; Use SecureHookScript(obj, method, [handler]) instead.", method), 3)
end
else
223,12 → 223,9
end
 
if script then
-- If the script is empty before, HookScript will not work, so use SetScript instead
-- This will make the hook insecure, but shouldnt matter, since it was empty before.
-- It does not taint the full frame.
if not secure or orig == donothing then
if not secure then
obj:SetScript(method, uid)
elseif secure then
else
obj:HookScript(method, uid)
end
else
trunk/Libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua
1,4 → 1,4
--[[ $Id: AceGUIWidget-DropDown.lua 1029 2011-06-10 23:10:58Z nevcairiel $ ]]--
--[[ $Id: AceGUIWidget-DropDown.lua 1116 2014-10-12 08:15:46Z nevcairiel $ ]]--
local AceGUI = LibStub("AceGUI-3.0")
 
-- Lua APIs
356,17 → 356,19
 
do
local widgetType = "Dropdown"
local widgetVersion = 25
local widgetVersion = 30
 
--[[ Static data ]]--
 
--[[ UI event handler ]]--
 
local function Control_OnEnter(this)
this.obj.button:LockHighlight()
this.obj:Fire("OnEnter")
end
 
local function Control_OnLeave(this)
this.obj.button:UnlockHighlight()
this.obj:Fire("OnLeave")
end
 
386,7 → 388,7
AceGUI:ClearFocus()
else
self.open = true
self.pullout:SetWidth(self.frame:GetWidth())
self.pullout:SetWidth(self.pulloutWidth or self.frame:GetWidth())
self.pullout:Open("TOPLEFT", self.frame, "BOTTOMLEFT", 0, self.label:IsShown() and -2 or 0)
AceGUI:SetFocus(self)
end
403,6 → 405,7
end
 
self.open = true
self:Fire("OnOpened")
end
 
local function OnPulloutClose(this)
461,6 → 464,7
self:SetHeight(44)
self:SetWidth(200)
self:SetLabel()
self:SetPulloutWidth(nil)
end
 
-- exported, AceGUI callback
490,9 → 494,11
if disabled then
self.text:SetTextColor(0.5,0.5,0.5)
self.button:Disable()
self.button_cover:Disable()
self.label:SetTextColor(0.5,0.5,0.5)
else
self.button:Enable()
self.button_cover:Enable()
self.label:SetTextColor(1,.82,0)
self.text:SetTextColor(1,1,1)
end
515,9 → 521,9
if text and text ~= "" then
self.label:SetText(text)
self.label:Show()
self.dropdown:SetPoint("TOPLEFT",self.frame,"TOPLEFT",-15,-18)
self:SetHeight(44)
self.alignoffset = 30
self.dropdown:SetPoint("TOPLEFT",self.frame,"TOPLEFT",-15,-14)
self:SetHeight(40)
self.alignoffset = 26
else
self.label:SetText("")
self.label:Hide()
635,6 → 641,10
return self.multiselect
end
 
local function SetPulloutWidth(self, width)
self.pulloutWidth = width
end
 
--[[ Constructor ]]--
 
local function Constructor()
666,8 → 676,9
self.GetMultiselect = GetMultiselect
self.SetItemValue = SetItemValue
self.SetItemDisabled = SetItemDisabled
self.SetPulloutWidth = SetPulloutWidth
 
self.alignoffset = 30
self.alignoffset = 26
 
frame:SetScript("OnHide",Dropdown_OnHide)
 
694,6 → 705,15
button:SetScript("OnLeave",Control_OnLeave)
button:SetScript("OnClick",Dropdown_TogglePullout)
 
local button_cover = CreateFrame("BUTTON",nil,self.frame)
self.button_cover = button_cover
button_cover.obj = self
button_cover:SetPoint("TOPLEFT",self.frame,"BOTTOMLEFT",0,25)
button_cover:SetPoint("BOTTOMRIGHT",self.frame,"BOTTOMRIGHT")
button_cover:SetScript("OnEnter",Control_OnEnter)
button_cover:SetScript("OnLeave",Control_OnLeave)
button_cover:SetScript("OnClick",Dropdown_TogglePullout)
 
local text = _G[dropdown:GetName() .. "Text"]
self.text = text
text.obj = self
trunk/Libs/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua
1,7 → 1,7
--[[-----------------------------------------------------------------------------
EditBox Widget
-------------------------------------------------------------------------------]]
local Type, Version = "EditBox", 24
local Type, Version = "EditBox", 25
local AceGUI = LibStub and LibStub("AceGUI-3.0", true)
if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end
 
90,6 → 90,11
self:SetText(name)
self:Fire("OnEnterPressed", name)
ClearCursor()
elseif type == "macro" then
local name = GetMacroInfo(id)
self:SetText(name)
self:Fire("OnEnterPressed", name)
ClearCursor()
end
HideButton(self)
AceGUI:ClearFocus()
trunk/Libs/AceGUI-3.0/widgets/AceGUIWidget-Button.lua
2,7 → 2,7
Button Widget
Graphical Button.
-------------------------------------------------------------------------------]]
local Type, Version = "Button", 22
local Type, Version = "Button", 23
local AceGUI = LibStub and LibStub("AceGUI-3.0", true)
if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end
 
45,6 → 45,7
self:SetHeight(24)
self:SetWidth(200)
self:SetDisabled(false)
self:SetAutoWidth(false)
self:SetText()
end,
 
52,7 → 53,17
 
["SetText"] = function(self, text)
self.text:SetText(text)
if self.autoWidth then
self:SetWidth(self.text:GetStringWidth() + 30)
end
end,
 
["SetAutoWidth"] = function(self, autoWidth)
self.autoWidth = autoWidth
if self.autoWidth then
self:SetWidth(self.text:GetStringWidth() + 30)
end
end,
 
["SetDisabled"] = function(self, disabled)
self.disabled = disabled
trunk/Libs/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua
1,7 → 1,7
--[[-----------------------------------------------------------------------------
ColorPicker Widget
-------------------------------------------------------------------------------]]
local Type, Version = "ColorPicker", 21
local Type, Version = "ColorPicker", 22
local AceGUI = LibStub and LibStub("AceGUI-3.0", true)
if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end
 
51,6 → 51,7
local self = frame.obj
if not self.disabled then
ColorPickerFrame:SetFrameStrata("FULLSCREEN_DIALOG")
ColorPickerFrame:SetFrameLevel(frame:GetFrameLevel() + 10)
ColorPickerFrame:SetClampedToScreen(true)
 
ColorPickerFrame.func = function()
trunk/Libs/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua
2,7 → 2,7
Slider Widget
Graphical Slider, like, for Range values.
-------------------------------------------------------------------------------]]
local Type, Version = "Slider", 20
local Type, Version = "Slider", 21
local AceGUI = LibStub and LibStub("AceGUI-3.0", true)
if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end
 
61,6 → 61,10
local self = frame.obj
if not frame.setup then
local newvalue = frame:GetValue()
if self.step and self.step > 0 then
local min_value = self.min or 0
newvalue = floor((newvalue - min_value) / self.step + 0.5) * self.step + min_value
end
if newvalue ~= self.value and not self.disabled then
self.value = newvalue
self:Fire("OnValueChanged", newvalue)
trunk/Libs/AceGUI-3.0/AceGUI-3.0.lua
24,8 → 24,8
-- f:AddChild(btn)
-- @class file
-- @name AceGUI-3.0
-- @release $Id: AceGUI-3.0.lua 924 2010-05-13 15:12:20Z nevcairiel $
local ACEGUI_MAJOR, ACEGUI_MINOR = "AceGUI-3.0", 33
-- @release $Id: AceGUI-3.0.lua 1102 2013-10-25 14:15:23Z nevcairiel $
local ACEGUI_MAJOR, ACEGUI_MINOR = "AceGUI-3.0", 34
local AceGUI, oldminor = LibStub:NewLibrary(ACEGUI_MAJOR, ACEGUI_MINOR)
 
if not AceGUI then return end -- No upgrade needed
673,8 → 673,16
end
end)
 
local layoutrecursionblock = nil
local function safelayoutcall(object, func, ...)
layoutrecursionblock = true
object[func](object, ...)
layoutrecursionblock = nil
end
 
AceGUI:RegisterLayout("Flow",
function(content, children)
if layoutrecursionblock then return end
--used height so far
local height = 0
--width used in the current row
762,7 → 770,7
end
 
if child.width == "fill" then
child:SetWidth(width)
safelayoutcall(child, "SetWidth", width)
frame:SetPoint("RIGHT", content)
 
usedwidth = 0
776,7 → 784,7
rowoffset = child.alignoffset or (rowheight / 2)
rowstartoffset = rowoffset
elseif child.width == "relative" then
child:SetWidth(width * child.relWidth)
safelayoutcall(child, "SetWidth", width * child.relWidth)
 
if child.DoLayout then
child:DoLayout()
trunk/Libs/AceConfig-3.0/AceConfigRegistry-3.0/AceConfigRegistry-3.0.lua
8,8 → 8,8
-- :IterateOptionsTables() (and :GetOptionsTable() if only given one argument) return a function reference that the requesting config handling addon must call with valid "uiType", "uiName".
-- @class file
-- @name AceConfigRegistry-3.0
-- @release $Id: AceConfigRegistry-3.0.lua 1045 2011-12-09 17:58:40Z nevcairiel $
local MAJOR, MINOR = "AceConfigRegistry-3.0", 14
-- @release $Id: AceConfigRegistry-3.0.lua 1105 2013-12-08 22:11:58Z nevcairiel $
local MAJOR, MINOR = "AceConfigRegistry-3.0", 15
local AceConfigRegistry = LibStub:NewLibrary(MAJOR, MINOR)
 
if not AceConfigRegistry then return end
288,7 → 288,8
-- @param appName The application name as given to `:RegisterOptionsTable()`
-- @param options The options table, OR a function reference that generates it on demand. \\
-- See the top of the page for info on arguments passed to such functions.
function AceConfigRegistry:RegisterOptionsTable(appName, options)
-- @param skipValidation Skip options table validation (primarily useful for extremely huge options, with a noticeable slowdown)
function AceConfigRegistry:RegisterOptionsTable(appName, options, skipValidation)
if type(options)=="table" then
if options.type~="group" then -- quick sanity checker
error(MAJOR..": RegisterOptionsTable(appName, options): 'options' - missing type='group' member in root group", 2)
296,7 → 297,7
AceConfigRegistry.tables[appName] = function(uiType, uiName, errlvl)
errlvl=(errlvl or 0)+1
validateGetterArgs(uiType, uiName, errlvl)
if not AceConfigRegistry.validated[uiType][appName] then
if not AceConfigRegistry.validated[uiType][appName] and not skipValidation then
AceConfigRegistry:ValidateOptionsTable(options, appName, errlvl) -- upgradable
AceConfigRegistry.validated[uiType][appName] = true
end
307,7 → 308,7
errlvl=(errlvl or 0)+1
validateGetterArgs(uiType, uiName, errlvl)
local tab = assert(options(uiType, uiName, appName))
if not AceConfigRegistry.validated[uiType][appName] then
if not AceConfigRegistry.validated[uiType][appName] and not skipValidation then
AceConfigRegistry:ValidateOptionsTable(tab, appName, errlvl) -- upgradable
AceConfigRegistry.validated[uiType][appName] = true
end
trunk/Libs/AceConfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.lua
1,10 → 1,10
--- AceConfigDialog-3.0 generates AceGUI-3.0 based windows based on option tables.
-- @class file
-- @name AceConfigDialog-3.0
-- @release $Id: AceConfigDialog-3.0.lua 1049 2012-04-02 13:22:10Z mikk $
-- @release $Id: AceConfigDialog-3.0.lua 1126 2014-11-10 06:38:01Z nevcairiel $
 
local LibStub = LibStub
local MAJOR, MINOR = "AceConfigDialog-3.0", 57
local MAJOR, MINOR = "AceConfigDialog-3.0", 60
local AceConfigDialog, oldminor = LibStub:NewLibrary(MAJOR, MINOR)
 
if not AceConfigDialog then return end
542,16 → 542,16
 
if descStyle and descStyle ~= "tooltip" then return end
 
GameTooltip:SetText(name, 1, .82, 0, 1)
GameTooltip:SetText(name, 1, .82, 0, true)
 
if opt.type == "multiselect" then
GameTooltip:AddLine(user.text,0.5, 0.5, 0.8, 1)
GameTooltip:AddLine(user.text, 0.5, 0.5, 0.8, true)
end
if type(desc) == "string" then
GameTooltip:AddLine(desc, 1, 1, 1, 1)
GameTooltip:AddLine(desc, 1, 1, 1, true)
end
if type(usage) == "string" then
GameTooltip:AddLine("Usage: "..usage, NORMAL_FONT_COLOR.r, NORMAL_FONT_COLOR.g, NORMAL_FONT_COLOR.b, 1)
GameTooltip:AddLine("Usage: "..usage, NORMAL_FONT_COLOR.r, NORMAL_FONT_COLOR.g, NORMAL_FONT_COLOR.b, true)
end
 
GameTooltip:Show()
580,7 → 580,7
t.text = message
t.button1 = ACCEPT
t.button2 = CANCEL
t.preferredIndex = 3
t.preferredIndex = STATICPOPUP_NUMDIALOGS
local dialog, oldstrata
t.OnAccept = function()
safecall(func, unpack(t))
1448,10 → 1448,10
GameTooltip:SetPoint("LEFT",button,"RIGHT")
end
 
GameTooltip:SetText(name, 1, .82, 0, 1)
GameTooltip:SetText(name, 1, .82, 0, true)
 
if type(desc) == "string" then
GameTooltip:AddLine(desc, 1, 1, 1, 1)
GameTooltip:AddLine(desc, 1, 1, 1, true)
end
 
GameTooltip:Show()
1817,6 → 1817,14
tinsert(path, (select(n, ...)))
end
 
local option = options
if type(container) == "table" and container.type == "BlizOptionsGroup" and #path > 0 then
for i = 1, #path do
option = options.args[path[i]]
end
name = format("%s - %s", name, GetOptionsMemberValue("name", option, options, path, appName))
end
 
--if a container is given feed into that
if container then
f = container
trunk/Libs/AceDB-3.0/AceDB-3.0.lua
39,8 → 39,8
-- end
-- @class file
-- @name AceDB-3.0.lua
-- @release $Id: AceDB-3.0.lua 1035 2011-07-09 03:20:13Z kaelten $
local ACEDB_MAJOR, ACEDB_MINOR = "AceDB-3.0", 22
-- @release $Id: AceDB-3.0.lua 1124 2014-10-27 21:00:07Z funkydude $
local ACEDB_MAJOR, ACEDB_MINOR = "AceDB-3.0", 26
local AceDB, oldminor = LibStub:NewLibrary(ACEDB_MAJOR, ACEDB_MINOR)
 
if not AceDB then return end -- No upgrade needed
260,9 → 260,12
local _, raceKey = UnitRace("player")
local factionKey = UnitFactionGroup("player")
local factionrealmKey = factionKey .. " - " .. realmKey
local factionrealmregionKey = factionrealmKey .. " - " .. string.sub(GetCVar("realmList"), 1, 2):upper()
local localeKey = GetLocale():lower()
 
local regionTable = { "US", "KR", "EU", "TW", "CN" }
local regionKey = regionTable[GetCurrentRegion()]
local factionrealmregionKey = factionrealmKey .. " - " .. regionKey
 
-- Actual database initialization function
local function initdb(sv, defaults, defaultProfile, olddb, parent)
-- Generate the database keys for each section
300,7 → 303,7
["factionrealm"] = factionrealmKey,
["factionrealmregion"] = factionrealmregionKey,
["profile"] = profileKey,
["locale"] = localeKey,
["locale"] = localeKey,
["global"] = true,
["profiles"] = true,
}
525,6 → 528,15
end
end
 
-- switch all characters that use this profile back to the default
if self.sv.profileKeys then
for key, profile in pairs(self.sv.profileKeys) do
if profile == name then
self.sv.profileKeys[key] = nil
end
end
end
 
-- Callback: OnProfileDeleted, database, profileKey
self.callbacks:Fire("OnProfileDeleted", self, name)
end