diff --git a/bids.lua b/bids.lua index af708c6..8bff708 100644 --- a/bids.lua +++ b/bids.lua @@ -40,12 +40,30 @@ function sepgp_bids:Refresh() T:Refresh("sepgp_bids") end +function sepgp_bids:setHideScript() + local detachedFrame, tablet + for i=1,4 do + tablet = getglobal(string.format("Tablet20DetachedFrame%d",1)) + if tablet and tablet.owner ~= nil and tablet.owner == "sepgp_bids" then + if not (tablet:GetScript("OnHide")) then + tablet:SetScript("OnHide",function() + if not T:IsAttached("sepgp_bids") then + T:Attach("sepgp_bids") + this:SetScript("OnHide",nil) + end + end) + end + end + end +end + function sepgp_bids:Toggle(forceShow) if T:IsAttached("sepgp_bids") then T:Detach("sepgp_bids") if (T:IsLocked("sepgp_bids")) then T:ToggleLocked("sepgp_bids") end + self:setHideScript() --[[if not (sepgp:IsEventScheduled("shootyepgpBidRefresh")) then sepgp:ScheduleRepeatingEvent("shootyepgpBidRefresh", self.Refresh, 5, self) end]] diff --git a/logs.lua b/logs.lua new file mode 100644 index 0000000..b7c6866 --- /dev/null +++ b/logs.lua @@ -0,0 +1,107 @@ +local T = AceLibrary("Tablet-2.0") +local D = AceLibrary("Dewdrop-2.0") +local C = AceLibrary("Crayon-2.0") +local CP = AceLibrary("Compost-2.0") + +sepgp_logs = sepgp:NewModule("sepgp_logs", "AceDB-2.0") +sepgp_logs.tmp = CP:Acquire() + +function sepgp_logs:OnEnable() + if not T:IsRegistered("sepgp_logs") then + T:Register("sepgp_logs", + "children", function() + T:SetTitle("shootyepgp logs") + self:OnTooltipUpdate() + end, + "showTitleWhenDetached", true, + "showHintWhenDetached", true, + "cantAttach", true, + "menu", function() + D:AddLine( + "text", "Refresh", + "tooltipText", "Refresh window", + "func", function() sepgp_logs:Refresh() end + ) + end + ) + end + if not T:IsAttached("sepgp_logs") then + T:Open("sepgp_logs") + end +end + +function sepgp_logs:OnDisable() + T:Close("sepgp_logs") +end + +function sepgp_logs:Refresh() + T:Refresh("sepgp_logs") +end + +function sepgp_logs:setHideScript() + local detachedFrame, tablet + for i=1,4 do + tablet = getglobal(string.format("Tablet20DetachedFrame%d",1)) + if tablet and tablet.owner ~= nil and tablet.owner == "sepgp_logs" then + if not (tablet:GetScript("OnHide")) then + tablet:SetScript("OnHide",function() + if not T:IsAttached("sepgp_logs") then + T:Attach("sepgp_logs") + this:SetScript("OnHide",nil) + end + end) + end + end + end +end + +function sepgp_logs:Toggle(forceShow) + if T:IsAttached("sepgp_logs") then + T:Detach("sepgp_logs") + if (T:IsLocked("sepgp_logs")) then + T:ToggleLocked("sepgp_logs") + end + self:setHideScript() + elseif (forceShow) then + else + T:Attach("sepgp_logs") + if GameTooltip:IsOwned(self.tipOwner) and GameTooltip:IsShown() then + GameTooltip:Hide() + end + end +end + +function sepgp_logs:reverse(arr) + CP:Recycle(sepgp_logs.tmp) + for _,val in ipairs(arr) do + table.insert(sepgp_logs.tmp,val) + end + local i, j = 1, table.getn(sepgp_logs.tmp) + while i < j do + sepgp_logs.tmp[i], sepgp_logs.tmp[j] = sepgp_logs.tmp[j], sepgp_logs.tmp[i] + i = i + 1 + j = j - 1 + end + return sepgp_logs.tmp +end + +function sepgp_logs:BuildLogsTable() + -- {timestamp,line} + return self:reverse(sepgp_log) +end + +function sepgp_logs:OnTooltipUpdate() + local cat = T:AddCategory( + "columns", 2, + "text", C:Orange("Time"), "child_textR", 1, "child_textG", 1, "child_textB", 1, "child_justify", "LEFT", + "text2", C:Orange("Action"), "child_text2R", 1, "child_text2G", 1, "child_text2B", 1, "child_justify2", "RIGHT" + ) + local t = sepgp_logs:BuildLogsTable() + for i = 1, table.getn(t) do + local timestamp, line = unpack(t[i]) + cat:AddLine( + "text", C:Silver(timestamp), + "text2", line + ) + end +end \ No newline at end of file diff --git a/prices.lua b/prices.lua index 6a687c4..157665b 100644 --- a/prices.lua +++ b/prices.lua @@ -11,7 +11,6 @@ local prices = { [23664] = {48,"T3"}; --Pauldrons of Elemental Fury [23237] = {60,"T3"}; --Ring of Eternal Flame [23238] = {40,"T3"}; --Stygian Buckler - [22939] = {72,"T3"}; --Band of Unanswered Prayers [22938] = {96,"T3"}; --Cryptfiend Silk Cloak [22937] = {48,"T3"}; --Gem of Nerubis @@ -20,13 +19,11 @@ local prices = { [22369] = {84,"T3"}; --T3 Wrist Token [22362] = {84,"T3"}; --T3 Wrist Token [22355] = {84,"T3"}; --T3 Wrist Token - [22940] = {4,"T3"}; --Icebane Pauldrons [22943] = {60,"T3"}; --Malice Stone Pendant [22941] = {4,"T3"}; --Polar Shoulderpads [22942] = {116,"T3"}; --The Widow's Embrace [22806] = {116,"T3"}; --Widow's Remorse - [23220] = {132,"T3"}; --Crystal Webbed Robe [22954] = {116,"T3"}; --Kiss of the Spider [22804] = {116,"T3"}; --Maexxna's Fang @@ -35,7 +32,6 @@ local prices = { [22371] = {96,"T3"}; --T3 Gloves Token [22364] = {96,"T3"}; --T3 Gloves Token [22357] = {96,"T3"}; --T3 Gloves Token - [22961] = {80,"T3"}; --Band of Reanimation [22960] = {96,"T3"}; --Cloak of Suturing [22815] = {88,"T3"}; --Severance @@ -44,19 +40,16 @@ local prices = { [22368] = {100,"T3"}; --T3 Shoulder Token [22361] = {100,"T3"}; --T3 Shoulder Token [22354] = {100,"T3"}; --T3 Shoulder Token - [22968] = {4,"T3"}; --Glacial Mantle [22967] = {4,"T3"}; --Icy Scale Spaulders [22803] = {80,"T3"}; --Midnight Haze [22988] = {152,"T3"}; --The End of Dreams [22810] = {44,"T3"}; --Toxin Injector - [22813] = {72,"T3"}; --Claymore of Unholy Might [23075] = {80,"T3"}; --Death's Bargain [22994] = {24,"T3"}; --Digested Hand of Power [22981] = {52,"T3"}; --Gluth's Missing Collar [22983] = {112,"T3"}; --Rime Covered Mantle - [23001] = {96,"T3"}; --Eye of Diminution [23070] = {136,"T3"}; --Leggings of Polarity [23000] = {136,"T3"}; --Plated Abomination Ribcage @@ -65,7 +58,6 @@ local prices = { [22367] = {120,"T3"}; --T3 Helm Token [22360] = {120,"T3"}; --T3 Helm Token [22353] = {120,"T3"}; --T3 Helm Token - [23031] = {76,"T3"}; --Band of the Inevitable [23030] = {68,"T3"}; --Cloak of the Scourge [23028] = {16,"T3"}; --Hailstone Band @@ -75,13 +67,11 @@ local prices = { [22370] = {92,"T3"}; --T3 Belt Token [22363] = {92,"T3"}; --T3 Belt Token [22356] = {92,"T3"}; --T3 Belt Token - [23019] = {4,"T3"}; --Icebane Helmet [23033] = {4,"T3"}; --Icy Scale Coif [23068] = {124,"T3"}; --Legplates of Carnage [23036] = {72,"T3"}; --Necklace of Necropsy [23035] = {112,"T3"}; --Preceptor's Hat - [23038] = {88,"T3"}; --Band of Unnatural Forces [22800] = {160,"T3"}; --Brimstone Staff [23042] = {12,"T3"}; --Loatheb's Reflection @@ -90,23 +80,20 @@ local prices = { [22366] = {136,"T3"}; --T3 Pants Token [22359] = {136,"T3"}; --T3 Pants Token [22352] = {136,"T3"}; --T3 Pants Token - [23017] = {48,"T3"}; --Veil of Eclipse [23219] = {124,"T3"}; --Girdle of the Mentor - [23014] = {120,"T3"}; --Iblis, Blade of the Fallen Seraph + [23014] = {120,"T3"}; --"Iblis, Blade of the Fallen Seraph" [23009] = {72,"T3"}; --Wand of the Whispering Dead [23018] = {84,"T3"}; --Signets of the Fallen Defender [23004] = {48,"T3"}; --Idol of Longevity [22372] = {92,"T3"}; --T3 Boots Token [22365] = {92,"T3"}; --T3 Boots Token [22358] = {92,"T3"}; --T3 Boots Token - [23073] = {32,"T3"}; --Boots of Displacement [23032] = {4,"T3"}; --Glacial Headdress [23020] = {4,"T3"}; --Polar Helmet [23021] = {96,"T3"}; --The Soul Harvester's Bindings [23023] = {48,"T3"}; --Sadist's Collar - [22691] = {200,"T3"}; --Corrupted Ashbringer [22811] = {172,"T3"}; --Soulstring [22809] = {60,"T3"}; --Maul of the Redeemed Crusader @@ -116,7 +103,6 @@ local prices = { [22351] = {148,"T3"}; --T3 Chest Token [22350] = {148,"T3"}; --T3 Chest Token [22349] = {148,"T3"}; --T3 Chest Token - [23050] = {160,"T3"}; --Cloak of the Necropolis [23045] = {160,"T3"}; --Shroud of Dominion [23043] = {150,"T3"}; --The Face of Death @@ -131,9 +117,8 @@ local prices = { [23545] = {80,"T3"}; --Power of the Scourge [23547] = {80,"T3"}; --Resilience of the Scourge [23549] = {120,"T3"}; --Fortitude of the Scourge - [22802] = {200,"T3"}; --Kingsfall - [23054] = {200,"T3"}; --Gressil, Dawn of Ruin + [23054] = {200,"T3"}; --"Gressil, Dawn of Ruin" [23577] = {200,"T3"}; --The Hungering Cold [23056] = {240,"T3"}; --Hammer of the Twisting Nether [22798] = {300,"T3"}; --Might of Menethil @@ -144,8 +129,7 @@ local prices = { [23057] = {140,"T3"}; --Gem of Trapped Innocents [23053] = {140,"T3"}; --Stormrage's Talisman of Seething [22520] = {0,"T3"}; --The Phylactery of Kel'Thuzad - [22733] = {400,"T3"}; --Staff Head of Atiesh - + [22733] = {0,"T3"}; --Staff Head of Atiesh [22490] = {120,"T3"}; --Dreamwalker Raiment [22491] = {100,"T3"}; --Dreamwalker Raiment [22488] = {148,"T3"}; --Dreamwalker Raiment @@ -155,7 +139,6 @@ local prices = { [22489] = {136,"T3"}; --Dreamwalker Raiment [22492] = {92,"T3"}; --Dreamwalker Raiment [23064] = {500,"T3"}; --Dreamwalker Raiment - [22438] = {120,"T3"}; --Cryptstalker Armor [22439] = {100,"T3"}; --Cryptstalker Armor [22436] = {148,"T3"}; --Cryptstalker Armor @@ -165,7 +148,6 @@ local prices = { [22437] = {136,"T3"}; --Cryptstalker Armor [22440] = {92,"T3"}; --Cryptstalker Armor [23067] = {500,"T3"}; --Cryptstalker Armor - [22498] = {120,"T3"}; --Frostfire Regalia [22499] = {100,"T3"}; --Frostfire Regalia [22496] = {148,"T3"}; --Frostfire Regalia @@ -175,7 +157,6 @@ local prices = { [22497] = {136,"T3"}; --Frostfire Regalia [22500] = {92,"T3"}; --Frostfire Regalia [23062] = {500,"T3"}; --Frostfire Regalia - [22514] = {120,"T3"}; --Vestments of Faith [22515] = {100,"T3"}; --Vestments of Faith [22512] = {148,"T3"}; --Vestments of Faith @@ -185,7 +166,6 @@ local prices = { [22513] = {136,"T3"}; --Vestments of Faith [22516] = {92,"T3"}; --Vestments of Faith [23061] = {500,"T3"}; --Vestments of Faith - [22478] = {120,"T3"}; --Bonescythe Armor [22479] = {100,"T3"}; --Bonescythe Armor [22476] = {148,"T3"}; --Bonescythe Armor @@ -195,7 +175,6 @@ local prices = { [22477] = {136,"T3"}; --Bonescythe Armor [22480] = {92,"T3"}; --Bonescythe Armor [23060] = {500,"T3"}; --Bonescythe Armor - [22466] = {120,"T3"}; --The Earthshatterer [22467] = {100,"T3"}; --The Earthshatterer [22464] = {148,"T3"}; --The Earthshatterer @@ -205,7 +184,6 @@ local prices = { [22465] = {136,"T3"}; --The Earthshatterer [22468] = {92,"T3"}; --The Earthshatterer [23065] = {500,"T3"}; --The Earthshatterer - [22506] = {120,"T3"}; --Plaguehart Raiment [22507] = {100,"T3"}; --Plaguehart Raiment [22504] = {148,"T3"}; --Plaguehart Raiment @@ -215,7 +193,6 @@ local prices = { [22505] = {136,"T3"}; --Plaguehart Raiment [22508] = {92,"T3"}; --Plaguehart Raiment [23063] = {500,"T3"}; --Plaguehart Raiment - [22418] = {120,"T3"}; --Dreadnaught's Battlegear [22419] = {100,"T3"}; --Dreadnaught's Battlegear [22416] = {148,"T3"}; --Dreadnaught's Battlegear @@ -229,602 +206,534 @@ local prices = { --------------------------- --- Temple of Ahn'Qiraj --- --------------------------- - - [21837] = {40,"T2.5"}; --Anubisath Warhammer + [21889] = {12,"T2.5"}; --Gloves of the Redeemed Prophet + [21683] = {12,"T2.5"}; --Mantle of the Desert Crusade + [21667] = {16,"T2.5"}; --Legplates of Blazing Light + [22402] = {0,"T2.5"}; --Libram of Grace + [21623] = {4,"T2.5"}; --Gauntlets of the Right. Champ + [21606] = {12,"T2.5"}; --Belt of the Fallen Emperor [21838] = {4,"T2.5"}; --Garb of Royal Ascension - [21888] = {8,"T2.5"}; --Gloves of the Immortal - [21889] = {0,"T2.5"}; --Gloves of the Redeemed Prophet - [21856] = {16,"T2.5"}; --Neretzek, The Blood Drinker - [21836] = {44,"T2.5"}; --Ritssyn's Ring of Chaos - [21891] = {64,"T2.5"}; --Shard of the Fallen Star - [21702] = {4,"T2.5"}; --Amulet of Foul Warding - [21699] = {36,"T2.5"}; --Barrage Shoulders [21708] = {4,"T2.5"}; --Beetle Scaled Wristguards + [21697] = {4,"T2.5"}; --Cape of the Trinity + [21696] = {4,"T2.5"}; --Robes of the Triumvirate + [21691] = {4,"T2.5"}; --Ooze-ridden Gauntlets + [21685] = {4,"T2.5"}; --Petrified Scarab + [21682] = {4,"T2.5"}; --Bile-Covered Gauntlets + [21684] = {4,"T2.5"}; --Mantle of the Desert's Fury + [21687] = {4,"T2.5"}; --Ukko's Ring of Darkness + [21678] = {4,"T2.5"}; --Necklace of Purity + [21648] = {4,"T2.5"}; --Recomposed Boots + [21627] = {4,"T2.5"}; --Cloak of Untold Secrets + [21652] = {4,"T2.5"}; --Silithid Carapace Chestguard + [22396] = {4,"T2.5"}; --Totem of Life + [21626] = {4,"T2.5"}; --Slime-coated Leggings + [21888] = {8,"T2.5"}; --Gloves of the Immortal [21705] = {12,"T2.5"}; --Boots of the Fallen Prophet - [21706] = {28,"T2.5"}; --Boots of the Unwavering Will - [21814] = {92,"T2.5"}; --Breastplate of Annihilation - [21701] = {88,"T2.5"}; --Cloak of the Concentrated Hatred + [21856] = {16,"T2.5"}; --"Neretzek, The Blood Drinker" + [21668] = {20,"T2.5"}; --Scaled Leggings of Qiraji Fury + [21607] = {20,"T2.5"}; --Grasp of the Fallen Emperor [21703] = {24,"T2.5"}; --Hammer of Ji'zhi - [21698] = {40,"T2.5"}; --Leggings of Immersion [21700] = {24,"T2.5"}; --Pendant of the Qiraji Guardian + [21618] = {24,"T2.5"}; --Hive Defiler Wristguards + [23558] = {24,"T2.5"}; --The Burrower's Shell + [21706] = {28,"T2.5"}; --Boots of the Unwavering Will + [21647] = {28,"T2.5"}; --Fetish of the Sand Reaver + [21692] = {32,"T2.5"}; --Triad Girdle + [21676] = {32,"T2.5"}; --Leggings of the Festering Swa.. + [21673] = {32,"T2.5"}; --Silithid Claw + [21699] = {36,"T2.5"}; --Barrage Shoulders + [21837] = {40,"T2.5"}; --Anubisath Warhammer + [21698] = {40,"T2.5"}; --Leggings of Immersion + [21686] = {40,"T2.5"}; --Mantle of Phrenic Power + [21621] = {40,"T2.5"}; --Cloak of the Golden Hive + [21836] = {44,"T2.5"}; --Ritssyn's Ring of Chaos + [21670] = {44,"T2.5"}; --Badge of the Swarmguard + [21619] = {44,"T2.5"}; --Gloves of the Messiah + [21579] = {44,"T2.5"}; --Vanquished Tentacle of C'thun [21707] = {48,"T2.5"}; --Ring of Swarming Thought + [21690] = {48,"T2.5"}; --Angelista's Charm + [21669] = {48,"T2.5"}; --Creeping Vine Helm + [21671] = {48,"T2.5"}; --Robes of the Battleguard + [21624] = {48,"T2.5"}; --Gauntlets of Kalimdor + [21625] = {48,"T2.5"}; --Scarab Brooch + [21679] = {48,"T2.5"}; --Kalimdor's Revenge + [21611] = {48,"T2.5"}; --Burrower Bracers [21128] = {52,"T2.5"}; --Staff of the Qiraji Prophets + [21651] = {52,"T2.5"}; --Scaled Sand Reaver Leggings + [21616] = {52,"T2.5"}; --Huhuran's Stinger + [21609] = {52,"T2.5"}; --Regenerating Belt of Vek'nilash + [21680] = {56,"T2.5"}; --Vest of Swift Execution + [21603] = {56,"T2.5"}; --Wand of the Qiraji Nobility + [21677] = {56,"T2.5"}; --Ring of the Qiraji Fury + [21693] = {60,"T2.5"}; --Guise of the Devourer + [21694] = {60,"T2.5"}; --Ternary Mantle + [21689] = {60,"T2.5"}; --Gloves of Ebru + [21675] = {60,"T2.5"}; --Thick Qirajihide Belt + [21645] = {60,"T2.5"}; --Hive Tunneler's Boots + [21605] = {60,"T2.5"}; --Gloves of the Hidden Temple + [21891] = {64,"T2.5"}; --Shard of the Fallen Star + [21681] = {64,"T2.5"}; --Ring of the Devoured + [21674] = {64,"T2.5"}; --Gauntlets of Steadfast Determ.. + [21672] = {64,"T2.5"}; --Gloves of Enforcement + [21617] = {64,"T2.5"}; --Wasphide Gauntlets + [21688] = {68,"T2.5"}; --Boots of the Fallen Hero + [22399] = {68,"T2.5"}; --Idol of Health + [20928] = {68,"T2.5"}; --Qiraji Bindings of Command + [20932] = {68,"T2.5"}; --Qiraji Bindings of Dominance + [21599] = {68,"T2.5"}; --Vek'lor's Gloves of Devastation + [21354] = {68,"T2.5"}; --Genesis Raiment + [21355] = {68,"T2.5"}; --Genesis Raiment + [21367] = {68,"T2.5"}; --Striker's Garb + [21365] = {68,"T2.5"}; --Striker's Garb + [21345] = {68,"T2.5"}; --Enigma Vestments + [21344] = {68,"T2.5"}; --Enigma Vestments + [21350] = {68,"T2.5"}; --Garments of the Oracle + [21349] = {68,"T2.5"}; --Garments of the Oracle + [21361] = {68,"T2.5"}; --Deathdealer's Embrace + [21359] = {68,"T2.5"}; --Deathdealer's Embrace + [21376] = {68,"T2.5"}; --Stormcaller's Garb + [21373] = {68,"T2.5"}; --Stormcaller's Garb + [21335] = {68,"T2.5"}; --Doomcaller's Attire + [21338] = {68,"T2.5"}; --Doomcaller's Attire + [21330] = {68,"T2.5"}; --Conqueror's Battlegear + [21333] = {68,"T2.5"}; --Conqueror's Battlegear + [21665] = {72,"T2.5"}; --Mantle of Wicked Revenge + [20926] = {72,"T2.5"}; --Vek'nilash's Circlet + [20930] = {72,"T2.5"}; --Vek'lor's Diadem + [21353] = {72,"T2.5"}; --Genesis Raiment + [21366] = {72,"T2.5"}; --Striker's Garb + [21347] = {72,"T2.5"}; --Enigma Vestments + [21348] = {72,"T2.5"}; --Garments of the Oracle + [21360] = {72,"T2.5"}; --Deathdealer's Embrace + [21372] = {72,"T2.5"}; --Stormcaller's Garb + [21337] = {72,"T2.5"}; --Doomcaller's Attire + [21329] = {72,"T2.5"}; --Conqueror's Battlegear + [21639] = {76,"T2.5"}; --Pauldrons of the Unrelenting + [20927] = {76,"T2.5"}; --Ouro's Intact Hide + [20931] = {76,"T2.5"}; --Skin of the Great Sandworm + [21356] = {76,"T2.5"}; --Genesis Raiment + [21368] = {76,"T2.5"}; --Striker's Garb + [21346] = {76,"T2.5"}; --Enigma Vestments + [21352] = {76,"T2.5"}; --Garments of the Oracle + [21362] = {76,"T2.5"}; --Deathdealer's Embrace + [21375] = {76,"T2.5"}; --Stormcaller's Garb + [21336] = {76,"T2.5"}; --Doomcaller's Attire + [21332] = {76,"T2.5"}; --Conqueror's Battlegear + [21695] = {80,"T2.5"}; --Angelista's Touch + [21664] = {80,"T2.5"}; --Barbed Choker + [21620] = {80,"T2.5"}; --Ring of the Martyr + [21608] = {80,"T2.5"}; --Amulet of Vek'nilash + [21604] = {80,"T2.5"}; --Bracelets of Royal Redemption + [21601] = {80,"T2.5"}; --Ring of Emperor Vek'lor + [23570] = {80,"T2.5"}; --Jom Gabbar + [21237] = {84,"T2.5"}; --Imperial Qiraji Regalia + [21273] = {84,"T2.5"}; --Imperial Qiraji Regalia + [21275] = {84,"T2.5"}; --Imperial Qiraji Regalia + [21268] = {84,"T2.5"}; --Imperial Qiraji Regalia + [21598] = {84,"T2.5"}; --Royal Qiraji Belt + [21701] = {88,"T2.5"}; --Cloak of the Concentrated Hatred + [21666] = {88,"T2.5"}; --Sartura's Might + [21600] = {88,"T2.5"}; --Boots of Epiphany + [21597] = {88,"T2.5"}; --Royal Scepter of Vek'lor + [21602] = {88,"T2.5"}; --Qiraji Execution Bracers + [21615] = {88,"T2.5"}; --Don Rigoberto's Lost Hat + [21610] = {88,"T2.5"}; --Wormscale Blocker + [21814] = {92,"T2.5"}; --Breastplate of Annihilation + [21221] = {96,"T2.5"}; --Eye of C'thun + [21712] = {96,"T2.5"}; --Eye of C'thun + [21710] = {96,"T2.5"}; --Eye of C'thun + [21709] = {96,"T2.5"}; --Eye of C'thun + [21622] = {100,"T2.5"}; --Sharpened Silithid Femur + [21635] = {104,"T2.5"}; --Barb of the Sand Reaver + [21596] = {104,"T2.5"}; --Ring of the Godslayer + [21650] = {112,"T2.5"}; --Ancient Qiraji Ripper [21232] = {116,"T2.5"}; --Imperial Qiraji Armaments [21242] = {116,"T2.5"}; --Imperial Qiraji Armaments [21272] = {116,"T2.5"}; --Imperial Qiraji Armaments [21244] = {116,"T2.5"}; --Imperial Qiraji Armaments [21269] = {116,"T2.5"}; --Imperial Qiraji Armaments - [21237] = {84,"T2.5"}; --Imperial Qiraji Regalia - [21273] = {84,"T2.5"}; --Imperial Qiraji Regalia - [21275] = {84,"T2.5"}; --Imperial Qiraji Regalia - [21268] = {84,"T2.5"}; --Imperial Qiraji Regalia - - [21695] = {80,"T2.5"}; --Angelista's Touch - [21697] = {4,"T2.5"}; --Cape of the Trinity - [21693] = {60,"T2.5"}; --Guise of the Devourer - [21696] = {4,"T2.5"}; --Robes of the Triumvirate - [21694] = {60,"T2.5"}; --Ternary Mantle - [21692] = {32,"T2.5"}; --Triad Girdle - - [21690] = {48,"T2.5"}; --Angelista's Charm - [21688] = {68,"T2.5"}; --Boots of the Fallen Hero - [21689] = {60,"T2.5"}; --Gloves of Ebru - [21691] = {4,"T2.5"}; --Ooze-ridden Gauntlets - - [21685] = {4,"T2.5"}; --Petrified Scarab - [21681] = {64,"T2.5"}; --Ring of the Devoured - [21680] = {56,"T2.5"}; --Vest of Swift Execution - [21603] = {56,"T2.5"}; --Wand of the Qiraji Nobility - - [21682] = {4,"T2.5"}; --Bile-Covered Gauntlets - [21686] = {40,"T2.5"}; --Mantle of Phrenic Power - [21683] = {0,"T2.5"}; --Mantle of the Desert Crusade - [21684] = {4,"T2.5"}; --Mantle of the Desert's Fury - [21687] = {4,"T2.5"}; --Ukko's Ring of Darkness - - [21670] = {44,"T2.5"}; --Badge of the Swarmguard - [21669] = {48,"T2.5"}; --Creeping Vine Helm - [21674] = {64,"T2.5"}; --Gauntlets of Steadfast Determ.. - [21672] = {64,"T2.5"}; --Gloves of Enforcement - [21667] = {0,"T2.5"}; --Legplates of Blazing Light - [21676] = {32,"T2.5"}; --Leggings of the Festering Swa.. - [21678] = {4,"T2.5"}; --Necklace of Purity - [21648] = {4,"T2.5"}; --Recomposed Boots - [21671] = {48,"T2.5"}; --Robes of the Battleguard - [21666] = {88,"T2.5"}; --Sartura's Might - [21668] = {20,"T2.5"}; --Scaled Leggings of Qiraji Fury - [21673] = {32,"T2.5"}; --Silithid Claw - [21675] = {60,"T2.5"}; --Thick Qirajihide Belt - - [21650] = {112,"T2.5"}; --Ancient Qiraji Ripper - [21664] = {80,"T2.5"}; --Barbed Choker - [21635] = {104,"T2.5"}; --Barb of the Sand Reaver - [21627] = {4,"T2.5"}; --Cloak of Untold Secrets - [21647] = {28,"T2.5"}; --Fetish of the Sand Reaver - [21645] = {60,"T2.5"}; --Hive Tunneler's Boots - [22402] = {0,"T2.5"}; --Libram of Grace - [21665] = {72,"T2.5"}; --Mantle of Wicked Revenge - [21639] = {76,"T2.5"}; --Pauldrons of the Unrelenting - [21663] = {136,"T2.5"}; --Robes of the Guardian Saint - [21651] = {52,"T2.5"}; --Scaled Sand Reaver Leggings - [21652] = {4,"T2.5"}; --Silithid Carapace Chestguard - [22396] = {4,"T2.5"}; --Totem of Life - - [21623] = {0,"T2.5"}; --Gauntlets of the Right. Champ - [21624] = {48,"T2.5"}; --Gauntlets of Kalimdor - [22399] = {68,"T2.5"}; --Idol of Health - [21677] = {56,"T2.5"}; --Ring of the Qiraji Fury - [21625] = {48,"T2.5"}; --Scarab Brooch - [21622] = {100,"T2.5"}; --Sharpened Silithid Femur - [21626] = {4,"T2.5"}; --Slime-coated Leggings - - [20928] = {68,"T2.5"}; --Qiraji Bindings of Command - [20932] = {68,"T2.5"}; --Qiraji Bindings of Dominance - - [21621] = {40,"T2.5"}; --Cloak of the Golden Hive - [21619] = {44,"T2.5"}; --Gloves of the Messiah - [21618] = {24,"T2.5"}; --Hive Defiler Wristguards - [21616] = {52,"T2.5"}; --Huhuran's Stinger - [21620] = {80,"T2.5"}; --Ring of the Martyr - [21617] = {64,"T2.5"}; --Wasphide Gauntlets - - [21608] = {80,"T2.5"}; --Amulet of Vek'nilash - [21606] = {0,"T2.5"}; --Belt of the Fallen Emperor - [21600] = {88,"T2.5"}; --Boots of Epiphany - [21604] = {80,"T2.5"}; --Bracelets of Royal Redemption - [21605] = {60,"T2.5"}; --Gloves of the Hidden Temple - [21607] = {20,"T2.5"}; --Grasp of the Fallen Emperor - [21679] = {48,"T2.5"}; --Kalimdor's Revenge - [21609] = {52,"T2.5"}; --Regenerating Belt of Vek'nilash - [21601] = {80,"T2.5"}; --Ring of Emperor Vek'lor - [21597] = {88,"T2.5"}; --Royal Scepter of Vek'lor - [21598] = {84,"T2.5"}; --Royal Qiraji Belt - [21599] = {68,"T2.5"}; --Vek'lor's Gloves of Devastation - [21602] = {88,"T2.5"}; --Qiraji Execution Bracers - - [20926] = {72,"T2.5"}; --Vek'nilash's Circlet - [20930] = {72,"T2.5"}; --Vek'lor's Diadem - - [21611] = {48,"T2.5"}; --Burrower Bracers - [21615] = {88,"T2.5"}; --Don Rigoberto's Lost Hat - [23570] = {80,"T2.5"}; --Jom Gabbar - [23557] = {128,"T2.5"}; --Larvae of the Great Worm - [23558] = {24,"T2.5"}; --The Burrower's Shell - [21610] = {88,"T2.5"}; --Wormscale Blocker - - [20927] = {76,"T2.5"}; --Ouro's Intact Hide - [20931] = {76,"T2.5"}; --Skin of the Great Sandworm - - [21586] = {124,"T2.5"}; --Belt of Never-ending Agony [21583] = {116,"T2.5"}; --Cloak of Clarity [22731] = {116,"T2.5"}; --Cloak of the Devoured - [21134] = {172,"T2.5"}; --Dark Edge of Insanity - [21585] = {132,"T2.5"}; --Dark Storm Gauntlets - [21126] = {152,"T2.5"}; --Death's Sting - [22730] = {124,"T2.5"}; --Eyestalk Waist Cord [21581] = {116,"T2.5"}; --Gauntlets of Annihilation - [21582] = {124,"T2.5"}; --Grasp of the Old God [22732] = {116,"T2.5"}; --Mark of C'thun - [21596] = {104,"T2.5"}; --Ring of the Godslayer - [21839] = {180,"T2.5"}; --Scepter of the False Prophet - [21579] = {44,"T2.5"}; --Vanquished Tentacle of C'thun - - [21221] = {96,"T2.5"}; --Eye of C'thun - [21712] = {96,"T2.5"}; --Eye of C'thun - [21710] = {96,"T2.5"}; --Eye of C'thun - [21709] = {96,"T2.5"}; --Eye of C'thun + [21586] = {124,"T2.5"}; --Belt of Never-ending Agony + [22730] = {124,"T2.5"}; --Eyestalk Waist Cord + [21582] = {124,"T2.5"}; --Grasp of the Old God + [23557] = {128,"T2.5"}; --Larvae of the Great Worm [20929] = {128,"T2.5"}; --Carapace of the Old God [20933] = {128,"T2.5"}; --Husk of the Old God - [21357] = {128,"T2.5"}; --Genesis Raiment - [21353] = {72,"T2.5"}; --Genesis Raiment - [21356] = {76,"T2.5"}; --Genesis Raiment - [21354] = {68,"T2.5"}; --Genesis Raiment - [21355] = {68,"T2.5"}; --Genesis Raiment - [21370] = {128,"T2.5"}; --Striker's Garb - [21366] = {72,"T2.5"}; --Striker's Garb - [21368] = {76,"T2.5"}; --Striker's Garb - [21367] = {68,"T2.5"}; --Striker's Garb - [21365] = {68,"T2.5"}; --Striker's Garb - [21343] = {128,"T2.5"}; --Enigma Vestments - [21347] = {72,"T2.5"}; --Enigma Vestments - [21346] = {76,"T2.5"}; --Enigma Vestments - [21345] = {68,"T2.5"}; --Enigma Vestments - [21344] = {68,"T2.5"}; --Enigma Vestments - [21351] = {128,"T2.5"}; --Garments of the Oracle - [21348] = {72,"T2.5"}; --Garments of the Oracle - [21352] = {76,"T2.5"}; --Garments of the Oracle - [21350] = {68,"T2.5"}; --Garments of the Oracle - [21349] = {68,"T2.5"}; --Garments of the Oracle - [21364] = {128,"T2.5"}; --Deathdealer's Embrace - [21360] = {72,"T2.5"}; --Deathdealer's Embrace - [21362] = {76,"T2.5"}; --Deathdealer's Embrace - [21361] = {68,"T2.5"}; --Deathdealer's Embrace - [21359] = {68,"T2.5"}; --Deathdealer's Embrace - [21374] = {128,"T2.5"}; --Stormcaller's Garb - [21372] = {72,"T2.5"}; --Stormcaller's Garb - [21375] = {76,"T2.5"}; --Stormcaller's Garb - [21376] = {68,"T2.5"}; --Stormcaller's Garb - [21373] = {68,"T2.5"}; --Stormcaller's Garb - [21334] = {128,"T2.5"}; --Doomcaller's Attire - [21337] = {72,"T2.5"}; --Doomcaller's Attire - [21336] = {76,"T2.5"}; --Doomcaller's Attire - [21335] = {68,"T2.5"}; --Doomcaller's Attire - [21338] = {68,"T2.5"}; --Doomcaller's Attire - [21331] = {128,"T2.5"}; --Conqueror's Battlegear - [21329] = {72,"T2.5"}; --Conqueror's Battlegear - [21332] = {76,"T2.5"}; --Conqueror's Battlegear - [21330] = {68,"T2.5"}; --Conqueror's Battlegear - [21333] = {68,"T2.5"}; --Conqueror's Battlegear + [21585] = {132,"T2.5"}; --Dark Storm Gauntlets + [21663] = {136,"T2.5"}; --Robes of the Guardian Saint + [21126] = {152,"T2.5"}; --Death's Sting + [21134] = {172,"T2.5"}; --Dark Edge of Insanity + [21839] = {180,"T2.5"}; --Scepter of the False Prophet ---------------------- --- Blackwing Lair --- ---------------------- - - [19434] = {40,"T2"}; --Band of Dark Dominion - [19437] = {48,"T2"}; --Boots of Pure Thought - [19436] = {16,"T2"}; --Cloak of Draconic Might - [19362] = {32,"T2"}; --Doom's Edge - [19354] = {16,"T2"}; --Draconic Avenger - [19358] = {12,"T2"}; --Draconic Maul - [19435] = {8,"T2"}; --Essence Gatherer + [19402] = {4,"T2"}; --Legguards of the Fallen Crusader + [19392] = {4,"T2"}; --Girdle of the Fallen Crusader [19439] = {4,"T2"}; --Interlaced Shadow Jerkin - [19438] = {48,"T2"}; --Ringo's Blizzard Boots - + [19435] = {8,"T2"}; --Essence Gatherer + [19358] = {12,"T2"}; --Draconic Maul + [19399] = {12,"T2"}; --Black Ash Robe + [19433] = {12,"T2"}; --Emberweave Leggings + [19436] = {16,"T2"}; --Cloak of Draconic Might + [19354] = {16,"T2"}; --Draconic Avenger [19336] = {16,"T2"}; --Arcane Infused Gem [19369] = {16,"T2"}; --Gloves of Rapid Evolution - [19370] = {72,"T2"}; --Mantle of the Blackwing Cabal - [19335] = {20,"T2"}; --Spineshatter [19337] = {16,"T2"}; --The Black Book - [19334] = {32,"T2"}; --The Untamed Blade - - [19346] = {48,"T2"}; --Dragonfang Blade - [19372] = {44,"T2"}; --Helm of Endless Rage - [19339] = {40,"T2"}; --Mind Quickening Gem - [19371] = {28,"T2"}; --Pendant of the Fallen Dragon - [19348] = {28,"T2"}; --Red Dragonscale Protector [19340] = {16,"T2"}; --Rune of Metamorphosis - - [19373] = {40,"T2"}; --Black Brood Pauldrons - [19374] = {72,"T2"}; --Bracers of Arcane Accuracy - [19350] = {40,"T2"}; --Heartstriker - [19341] = {68,"T2"}; --Lifegiving Gem - [19351] = {92,"T2"}; --Maladath, Runed Blade of the.. [19342] = {16,"T2"}; --Venomous Totem - [20383] = {40,"T2"}; --Head of Broodlord Lashlayer - - [19399] = {12,"T2"}; --Black Ash Robe - [19365] = {52,"T2"}; --Claw of the Black Drake - [19398] = {32,"T2"}; --Cloak of Firemaw - [19353] = {32,"T2"}; --Drake Talon Cleaver - [19394] = {52,"T2"}; --Drake Talon Pauldrons - [19400] = {44,"T2"}; --Firemaw's Clutch - [19402] = {0,"T2"}; --Legguards of the Fallen Crusader + [19393] = {16,"T2"}; --Primalist's Linked Waistguard + [19335] = {20,"T2"}; --Spineshatter [19344] = {20,"T2"}; --Natural Alignment Crystal [19401] = {20,"T2"}; --Primalist's Linked Legguards - [19395] = {116,"T2"}; --Rejuvenating Gem - [19397] = {52,"T2"}; --Ring of Blackrock - [19355] = {48,"T2"}; --Shadow Wing Focus Staff - [19396] = {36,"T2"}; --Taut Dragonhide Belt - [19345] = {20,"T2"}; --Aegis of Preservation - [19403] = {52,"T2"}; --Band of Forced Concentration - [19368] = {52,"T2"}; --Dragonbreath Hand Cannon - [19406] = {116,"T2"}; --Drake Fang Talisman - [19407] = {40,"T2"}; --Ebony Flame Gloves - [19405] = {60,"T2"}; --Malfurion's Blessed Bulwark - + [19376] = {20,"T2"}; --Archimtiros' Ring of Reckoning + [19378] = {20,"T2"}; --Cloak of the Brood Lord + [19390] = {24,"T2"}; --Taut Dragonhide Gloves + [19371] = {28,"T2"}; --Pendant of the Fallen Dragon + [19348] = {28,"T2"}; --Red Dragonscale Protector + [16904] = {28,"T2"}; --Stormrage Raiment + [16935] = {28,"T2"}; --Dragonstalker Armor + [16918] = {28,"T2"}; --Netherwind Regalia + [16926] = {28,"T2"}; --Vestments of Transcendence + [16911] = {28,"T2"}; --Bloodfang Armor + [16943] = {28,"T2"}; --The Ten Storms + [16934] = {28,"T2"}; --Nemesis Raiment + [16959] = {28,"T2"}; --Battlegear of Wrath + [19362] = {32,"T2"}; --Doom's Edge + [19334] = {32,"T2"}; --The Untamed Blade + [19398] = {32,"T2"}; --Cloak of Firemaw + [19353] = {32,"T2"}; --Drake Talon Cleaver [19432] = {32,"T2"}; --Circle of Applied Force [19367] = {32,"T2"}; --Dragon's Touch - [19433] = {12,"T2"}; --Emberweave Leggings [19357] = {32,"T2"}; --Herald of Woe - [19430] = {64,"T2"}; --Shroud of Pure Thought - [19431] = {116,"T2"}; --Styleen's Impeding Scarab - - [19388] = {36,"T2"}; --Angelista's Grasp - [19361] = {124,"T2"}; --Ashjre'thul, Crossbow of Smiting - [19352] = {76,"T2"}; --Chromatically Tempered Sword - [19387] = {84,"T2"}; --Chromatic Boots - [19347] = {72,"T2"}; --Claw of Chromaggus - [19349] = {76,"T2"}; --Elementium Reinforced Bulwark [19386] = {32,"T2"}; --Elementium Threaded Cloak - [19385] = {100,"T2"}; --Empowered Leggings - [19392] = {0,"T2"}; --Girdle of the Fallen Crusader - [19393] = {16,"T2"}; --Primalist's Linked Waistguard - [19391] = {40,"T2"}; --Shimmering Geta - [19390] = {24,"T2"}; --Taut Dragonhide Gloves - [19389] = {44,"T2"}; --Taut Dragonhide Shoulderpads - - [19376] = {20,"T2"}; --Archimtiros' Ring of Reckoning - [19364] = {64,"T2"}; --Ashkandi, Greatsword of the Bro.. - [19381] = {84,"T2"}; --Boots of the Shadow Flame - [19378] = {20,"T2"}; --Cloak of the Brood Lord - [19363] = {100,"T2"}; --Crul'shoruk, Edge of Chaos - [19360] = {60,"T2"}; --Lok'amir il Romathis - [19375] = {96,"T2"}; --Mish'undare, Circlet of the Mind… - [19379] = {116,"T2"}; --Neltharion's Tear - [19377] = {76,"T2"}; --Prestor's Talisman of Connivery - [19382] = {76,"T2"}; --Pure Elementium Band - [19356] = {80,"T2"}; --Staff of the Shadow Flame - [19380] = {36,"T2"}; --Therazane's Link - - [19003] = {52,"T2"}; --Head of Nefarian - [19383] = {52,"T2"}; --Head of Nefarian - [19366] = {52,"T2"}; --Head of Nefarian - [19384] = {52,"T2"}; --Head of Nefarian - - [16900] = {40,"T2"}; --Stormrage Raiment - [16902] = {40,"T2"}; --Stormrage Raiment - [16897] = {48,"T2"}; --Stormrage Raiment - [16904] = {28,"T2"}; --Stormrage Raiment [16899] = {32,"T2"}; --Stormrage Raiment [16903] = {32,"T2"}; --Stormrage Raiment [16901] = {32,"T2"}; --Stormrage Raiment [16898] = {32,"T2"}; --Stormrage Raiment - - [16939] = {40,"T2"}; --Dragonstalker Armor - [16937] = {40,"T2"}; --Dragonstalker Armor - [16942] = {48,"T2"}; --Dragonstalker Armor - [16935] = {28,"T2"}; --Dragonstalker Armor [16940] = {32,"T2"}; --Dragonstalker Armor [16936] = {32,"T2"}; --Dragonstalker Armor [16938] = {32,"T2"}; --Dragonstalker Armor [16941] = {32,"T2"}; --Dragonstalker Armor - - [16914] = {40,"T2"}; --Netherwind Regalia - [16917] = {40,"T2"}; --Netherwind Regalia - [16916] = {48,"T2"}; --Netherwind Regalia - [16918] = {28,"T2"}; --Netherwind Regalia [16913] = {32,"T2"}; --Netherwind Regalia [16818] = {32,"T2"}; --Netherwind Regalia [16915] = {32,"T2"}; --Netherwind Regalia [16912] = {32,"T2"}; --Netherwind Regalia - - [16921] = {40,"T2"}; --Vestments of Transcendence - [16924] = {40,"T2"}; --Vestments of Transcendence - [16923] = {48,"T2"}; --Vestments of Transcendence - [16926] = {28,"T2"}; --Vestments of Transcendence [16920] = {32,"T2"}; --Vestments of Transcendence [16925] = {32,"T2"}; --Vestments of Transcendence [16922] = {32,"T2"}; --Vestments of Transcendence [16919] = {32,"T2"}; --Vestments of Transcendence - - [16908] = {40,"T2"}; --Bloodfang Armor - [16832] = {40,"T2"}; --Bloodfang Armor - [16905] = {48,"T2"}; --Bloodfang Armor - [16911] = {28,"T2"}; --Bloodfang Armor [16907] = {32,"T2"}; --Bloodfang Armor [16910] = {32,"T2"}; --Bloodfang Armor [16909] = {32,"T2"}; --Bloodfang Armor [16906] = {32,"T2"}; --Bloodfang Armor - - [16947] = {40,"T2"}; --The Ten Storms - [16945] = {40,"T2"}; --The Ten Storms - [16950] = {48,"T2"}; --The Ten Storms - [16943] = {28,"T2"}; --The Ten Storms [16948] = {32,"T2"}; --The Ten Storms [16944] = {32,"T2"}; --The Ten Storms [16946] = {32,"T2"}; --The Ten Storms [16949] = {32,"T2"}; --The Ten Storms - - [16929] = {40,"T2"}; --Nemesis Raiment - [16932] = {40,"T2"}; --Nemesis Raiment - [16931] = {48,"T2"}; --Nemesis Raiment - [16934] = {28,"T2"}; --Nemesis Raiment [16928] = {32,"T2"}; --Nemesis Raiment [16933] = {32,"T2"}; --Nemesis Raiment [16930] = {32,"T2"}; --Nemesis Raiment [16927] = {32,"T2"}; --Nemesis Raiment - - [16963] = {40,"T2"}; --Battlegear of Wrath - [16961] = {40,"T2"}; --Battlegear of Wrath - [16966] = {48,"T2"}; --Battlegear of Wrath - [16959] = {28,"T2"}; --Battlegear of Wrath [16964] = {32,"T2"}; --Battlegear of Wrath [16960] = {32,"T2"}; --Battlegear of Wrath [16962] = {32,"T2"}; --Battlegear of Wrath [16965] = {32,"T2"}; --Battlegear of Wrath + [19396] = {36,"T2"}; --Taut Dragonhide Belt + [19388] = {36,"T2"}; --Angelista's Grasp + [19380] = {36,"T2"}; --Therazane's Link + [19434] = {40,"T2"}; --Band of Dark Dominion + [19339] = {40,"T2"}; --Mind Quickening Gem + [19373] = {40,"T2"}; --Black Brood Pauldrons + [19350] = {40,"T2"}; --Heartstriker + [20383] = {40,"T2"}; --Head of Broodlord Lashlayer + [19407] = {40,"T2"}; --Ebony Flame Gloves + [19391] = {40,"T2"}; --Shimmering Geta + [16900] = {40,"T2"}; --Stormrage Raiment + [16902] = {40,"T2"}; --Stormrage Raiment + [16939] = {40,"T2"}; --Dragonstalker Armor + [16937] = {40,"T2"}; --Dragonstalker Armor + [16914] = {40,"T2"}; --Netherwind Regalia + [16917] = {40,"T2"}; --Netherwind Regalia + [16921] = {40,"T2"}; --Vestments of Transcendence + [16924] = {40,"T2"}; --Vestments of Transcendence + [16908] = {40,"T2"}; --Bloodfang Armor + [16832] = {40,"T2"}; --Bloodfang Armor + [16947] = {40,"T2"}; --The Ten Storms + [16945] = {40,"T2"}; --The Ten Storms + [16929] = {40,"T2"}; --Nemesis Raiment + [16932] = {40,"T2"}; --Nemesis Raiment + [16963] = {40,"T2"}; --Battlegear of Wrath + [16961] = {40,"T2"}; --Battlegear of Wrath + [19372] = {44,"T2"}; --Helm of Endless Rage + [19400] = {44,"T2"}; --Firemaw's Clutch + [19389] = {44,"T2"}; --Taut Dragonhide Shoulderpads + [19437] = {48,"T2"}; --Boots of Pure Thought + [19438] = {48,"T2"}; --Ringo's Blizzard Boots + [19346] = {48,"T2"}; --Dragonfang Blade + [19355] = {48,"T2"}; --Shadow Wing Focus Staff + [16897] = {48,"T2"}; --Stormrage Raiment + [16942] = {48,"T2"}; --Dragonstalker Armor + [16916] = {48,"T2"}; --Netherwind Regalia + [16923] = {48,"T2"}; --Vestments of Transcendence + [16905] = {48,"T2"}; --Bloodfang Armor + [16950] = {48,"T2"}; --The Ten Storms + [16931] = {48,"T2"}; --Nemesis Raiment + [16966] = {48,"T2"}; --Battlegear of Wrath + [19365] = {52,"T2"}; --Claw of the Black Drake + [19394] = {52,"T2"}; --Drake Talon Pauldrons + [19397] = {52,"T2"}; --Ring of Blackrock + [19403] = {52,"T2"}; --Band of Forced Concentration + [19368] = {52,"T2"}; --Dragonbreath Hand Cannon + [19003] = {52,"T2"}; --Head of Nefarian + [19383] = {52,"T2"}; --Head of Nefarian + [19366] = {52,"T2"}; --Head of Nefarian + [19384] = {52,"T2"}; --Head of Nefarian + [19405] = {60,"T2"}; --Malfurion's Blessed Bulwark + [19360] = {60,"T2"}; --Lok'amir il Romathis + [19430] = {64,"T2"}; --Shroud of Pure Thought + [19364] = {64,"T2"}; --"Ashkandi, Greatsword of the Bro.." + [19341] = {68,"T2"}; --Lifegiving Gem + [19370] = {72,"T2"}; --Mantle of the Blackwing Cabal + [19374] = {72,"T2"}; --Bracers of Arcane Accuracy + [19347] = {72,"T2"}; --Claw of Chromaggus + [19352] = {76,"T2"}; --Chromatically Tempered Sword + [19349] = {76,"T2"}; --Elementium Reinforced Bulwark + [19377] = {76,"T2"}; --Prestor's Talisman of Connivery + [19382] = {76,"T2"}; --Pure Elementium Band + [19356] = {80,"T2"}; --Staff of the Shadow Flame + [19387] = {84,"T2"}; --Chromatic Boots + [19381] = {84,"T2"}; --Boots of the Shadow Flame + [19351] = {92,"T2"}; --"Maladath, Runed Blade of the.." + [19375] = {96,"T2"}; --"Mish'undare, Circlet of the Mind…" + [19385] = {100,"T2"}; --Empowered Leggings + [19363] = {100,"T2"}; --"Crul'shoruk, Edge of Chaos" + [19395] = {116,"T2"}; --Rejuvenating Gem + [19406] = {116,"T2"}; --Drake Fang Talisman + [19431] = {116,"T2"}; --Styleen's Impeding Scarab + [19379] = {116,"T2"}; --Neltharion's Tear + [19361] = {124,"T2"}; --"Ashjre'thul, Crossbow of Smiting" ------------------- --- Molten Core --- ------------------- - [17109] = {8,"T1"}; --Choker of Enlightenment + [16665] = {0,"T1"}; --Tome of Tranquilizing Shot + [18824] = {0,"T1"}; --Magma Tempered Boots + [18564] = {0,"T1"}; --Bindings of the Windseeker + [18563] = {0,"T1"}; --Bindings of the Windseeker + [18703] = {0,"T1"}; --Ancient Petrified Leaf + [18646] = {0,"T1"}; --The Eye of Divinity + [17204] = {0,"T1"}; --Eye of Sulfuras [17077] = {4,"T1"}; --Crimson Shocker [18861] = {4,"T1"}; --Flamewalker Legplates - [18879] = {40,"T1"}; --Heavy Dark Iron Ring + [18861] = {4,"T1"}; --Flamewalker Legplates + [17074] = {4,"T1"}; --Shadowstrike + [18806] = {4,"T1"}; --Core Forged Greaves + [19139] = {4,"T1"}; --Fireguard Shoulders + [18811] = {4,"T1"}; --Fireproof Cloak + [17109] = {8,"T1"}; --Choker of Enlightenment [18870] = {8,"T1"}; --Helm of the Lifegiver [18872] = {8,"T1"}; --Manastorm Leggings [19147] = {8,"T1"}; --Ring of Spell Power - [19145] = {60,"T1"}; --Robe of Volatile Power - [18875] = {60,"T1"}; --Salamander Scale Pants - [18878] = {16,"T1"}; --Sorcerous Dagger [19146] = {8,"T1"}; --Wristguards of Stability - [16665] = {0,"T1"}; --Tome of Tranquilizing Shot - - [18823] = {12,"T1"}; --Aged Core Leather Gloves - [18829] = {20,"T1"}; --Deep Earth Spaulders - [17073] = {12,"T1"}; --Earthshaker - [18203] = {16,"T1"}; --Eskhandar's Right Claw - [19142] = {12,"T1"}; --Fire Runed Grimoire - [19143] = {14,"T1"}; --Flameguard Gauntlets - [18861] = {4,"T1"}; --Flamewalker Legplates - [18824] = {0,"T1"}; --Magma Tempered Boots - [19136] = {36,"T1"}; --Mana Igniting Cord - [17065] = {48,"T1"}; --Medallion of Steadfast Might - [18822] = {12,"T1"}; --Obsidian Edged Blade - [18821] = {48,"T1"}; --Quick Strike Ring - [19144] = {12,"T1"}; --Sabatons of the Flamewalker - [17069] = {56,"T1"}; --Striker's Mark - [18820] = {48,"T1"}; --Talisman of Ephemeral Power - - [17105] = {24,"T1"}; --Aurastone Hammer - [18832] = {28,"T1"}; --Brutality Blade - [17066] = {28,"T1"}; --Drillborer Disk - [17071] = {12,"T1"}; --Gutgore Ripper - [18564] = {150,"T1"}; --Bindings of the Windseeker - [17110] = {8,"T1"}; --Seal of the Archmagus - - [18563] = {150,"T1"}; --Bindings of the Windseeker - - [17074] = {4,"T1"}; --Shadowstrike - - [17103] = {36,"T1"}; --Azuresong Mageblade - [17072] = {24,"T1"}; --Blastershot Launcher - [18842] = {28,"T1"}; --Staff of Dominance - - [18703] = {48,"T1"}; --Ancient Petrified Leaf - [19140] = {36,"T1"}; --Cauterizing Band - [18806] = {4,"T1"}; --Core Forged Greaves - [18805] = {44,"T1"}; --Core Hound Tooth + [16830] = {8,"T1"}; --Cenarion Raiment + [16828] = {8,"T1"}; --Cenarion Raiment + [16850] = {8,"T1"}; --Giantstalker Armor + [16851] = {8,"T1"}; --Giantstalker Armor + [16799] = {8,"T1"}; --Arcanist Regalia + [16802] = {8,"T1"}; --Arcanist Regalia + [16819] = {8,"T1"}; --Vestments of Prophecy + [16817] = {8,"T1"}; --Vestments of Prophecy + [16825] = {8,"T1"}; --Nightslayer Armor + [16827] = {8,"T1"}; --Nightslayer Armor + [16840] = {8,"T1"}; --The Earthfury + [16838] = {8,"T1"}; --The Earthfury + [16804] = {8,"T1"}; --Felheart Raiment + [16806] = {8,"T1"}; --Felheart Raiment + [16861] = {8,"T1"}; --Battlegear of Might + [16864] = {8,"T1"}; --Battlegear of Might + [18823] = {12,"T1"}; --Aged Core Leather Gloves + [17073] = {12,"T1"}; --Earthshaker + [19142] = {12,"T1"}; --Fire Runed Grimoire + [18822] = {12,"T1"}; --Obsidian Edged Blade + [19144] = {12,"T1"}; --Sabatons of the Flamewalker + [17071] = {12,"T1"}; --Gutgore Ripper [18803] = {12,"T1"}; --Finkle's Lava Dredger - [19139] = {4,"T1"}; --Fireguard Shoulders - [18811] = {4,"T1"}; --Fireproof Cloak - [18808] = {16,"T1"}; --Gloves of the Hypnotic Flame - [18809] = {16,"T1"}; --Sash of Whispered Secrets - [18646] = {36,"T1"}; --The Eye of Divinity - [18810] = {48,"T1"}; --Wild Growth Spaulders - [18812] = {36,"T1"}; --Wristguards of True Flight - - [17063] = {80,"T1"}; --Band of Accuria - [19138] = {28,"T1"}; --Band of Sulfuras - [17076] = {24,"T1"}; --Bonereaver's Edge - [18814] = {60,"T1"}; --Choker of the Firelord - [17102] = {20,"T1"}; --Cloak of the Shrouded Mists - [18817] = {56,"T1"}; --Crown of Destruction - [17107] = {16,"T1"}; --Dragon's Blood Cape [18815] = {12,"T1"}; --Essence of the Pure Flame - [17106] = {16,"T1"}; --Malistar's Defender - [19137] = {80,"T1"}; --Onslaught Girdle - [18816] = {56,"T1"}; --Perdition's Blade [17082] = {12,"T1"}; --Shard of the Flame - [17104] = {20,"T1"}; --Spinal Reaper - - [17204] = {150,"T1"}; --Eye of Sulfuras - [16834] = {12,"T1"}; --Cenarion Raiment [16836] = {12,"T1"}; --Cenarion Raiment - [16833] = {16,"T1"}; --Cenarion Raiment - [16830] = {8,"T1"}; --Cenarion Raiment [16831] = {12,"T1"}; --Cenarion Raiment - [16828] = {8,"T1"}; --Cenarion Raiment [16835] = {12,"T1"}; --Cenarion Raiment [16829] = {12,"T1"}; --Cenarion Raiment - [16846] = {12,"T1"}; --Giantstalker Armor [16848] = {12,"T1"}; --Giantstalker Armor - [16845] = {16,"T1"}; --Giantstalker Armor - [16850] = {8,"T1"}; --Giantstalker Armor [16852] = {12,"T1"}; --Giantstalker Armor - [16851] = {8,"T1"}; --Giantstalker Armor [16847] = {12,"T1"}; --Giantstalker Armor [16849] = {12,"T1"}; --Giantstalker Armor - [16795] = {12,"T1"}; --Arcanist Regalia [16797] = {12,"T1"}; --Arcanist Regalia - [16798] = {16,"T1"}; --Arcanist Regalia - [16799] = {8,"T1"}; --Arcanist Regalia [16801] = {12,"T1"}; --Arcanist Regalia - [16802] = {8,"T1"}; --Arcanist Regalia [16796] = {12,"T1"}; --Arcanist Regalia [16800] = {12,"T1"}; --Arcanist Regalia - [16813] = {12,"T1"}; --Vestments of Prophecy [16816] = {12,"T1"}; --Vestments of Prophecy - [16815] = {16,"T1"}; --Vestments of Prophecy - [16819] = {8,"T1"}; --Vestments of Prophecy [16812] = {12,"T1"}; --Vestments of Prophecy - [16817] = {8,"T1"}; --Vestments of Prophecy [16814] = {12,"T1"}; --Vestments of Prophecy [16811] = {12,"T1"}; --Vestments of Prophecy - [16821] = {12,"T1"}; --Nightslayer Armor [16823] = {12,"T1"}; --Nightslayer Armor - [16820] = {16,"T1"}; --Nightslayer Armor - [16825] = {8,"T1"}; --Nightslayer Armor [16826] = {12,"T1"}; --Nightslayer Armor - [16827] = {8,"T1"}; --Nightslayer Armor [16822] = {12,"T1"}; --Nightslayer Armor [16824] = {12,"T1"}; --Nightslayer Armor - [16842] = {12,"T1"}; --The Earthfury [16844] = {12,"T1"}; --The Earthfury - [16841] = {16,"T1"}; --The Earthfury - [16840] = {8,"T1"}; --The Earthfury [16839] = {12,"T1"}; --The Earthfury - [16838] = {8,"T1"}; --The Earthfury [16843] = {12,"T1"}; --The Earthfury [16837] = {12,"T1"}; --The Earthfury - [16808] = {12,"T1"}; --Felheart Raiment [16807] = {12,"T1"}; --Felheart Raiment - [16809] = {16,"T1"}; --Felheart Raiment - [16804] = {8,"T1"}; --Felheart Raiment [16805] = {12,"T1"}; --Felheart Raiment - [16806] = {8,"T1"}; --Felheart Raiment [16810] = {12,"T1"}; --Felheart Raiment [16803] = {12,"T1"}; --Felheart Raiment - [16866] = {12,"T1"}; --Battlegear of Might [16868] = {12,"T1"}; --Battlegear of Might - [16865] = {16,"T1"}; --Battlegear of Might - [16861] = {8,"T1"}; --Battlegear of Might [16863] = {12,"T1"}; --Battlegear of Might - [16864] = {8,"T1"}; --Battlegear of Might [16867] = {12,"T1"}; --Battlegear of Might [16862] = {12,"T1"}; --Battlegear of Might + [19143] = {14,"T1"}; --Flameguard Gauntlets + [18878] = {16,"T1"}; --Sorcerous Dagger + [18203] = {16,"T1"}; --Eskhandar's Right Claw + [18808] = {16,"T1"}; --Gloves of the Hypnotic Flame + [18809] = {16,"T1"}; --Sash of Whispered Secrets + [17107] = {16,"T1"}; --Dragon's Blood Cape + [17106] = {16,"T1"}; --Malistar's Defender + [16833] = {16,"T1"}; --Cenarion Raiment + [16845] = {16,"T1"}; --Giantstalker Armor + [16798] = {16,"T1"}; --Arcanist Regalia + [16815] = {16,"T1"}; --Vestments of Prophecy + [16820] = {16,"T1"}; --Nightslayer Armor + [16841] = {16,"T1"}; --The Earthfury + [16809] = {16,"T1"}; --Felheart Raiment + [16865] = {16,"T1"}; --Battlegear of Might + [18829] = {20,"T1"}; --Deep Earth Spaulders + [17102] = {20,"T1"}; --Cloak of the Shrouded Mists + [17104] = {20,"T1"}; --Spinal Reaper + [17105] = {22,"T1"}; --Aurastone Hammer + [17072] = {22,"T1"}; --Blastershot Launcher + [17076] = {22,"T1"}; --Bonereaver's Edge + [18832] = {24,"T1"}; --Brutality Blade + [17066] = {24,"T1"}; --Drillborer Disk + [18842] = {24,"T1"}; --Staff of Dominance + [19138] = {24,"T1"}; --Band of Sulfuras + [19136] = {28,"T1"}; --Mana Igniting Cord + [17103] = {28,"T1"}; --Azuresong Mageblade + [19140] = {28,"T1"}; --Cauterizing Band + [18812] = {28,"T1"}; --Wristguards of True Flight + [18879] = {30,"T1"}; --Heavy Dark Iron Ring + [18805] = {32,"T1"}; --Core Hound Tooth + [17065] = {36,"T1"}; --Medallion of Steadfast Might + [18821] = {36,"T1"}; --Quick Strike Ring + [18820] = {36,"T1"}; --Talisman of Ephemeral Power + [18810] = {36,"T1"}; --Wild Growth Spaulders + [17069] = {40,"T1"}; --Striker's Mark + [18817] = {40,"T1"}; --Crown of Destruction + [18816] = {40,"T1"}; --Perdition's Blade + [19145] = {42,"T1"}; --Robe of Volatile Power + [18875] = {42,"T1"}; --Salamander Scale Pants + [18814] = {42,"T1"}; --Choker of the Firelord + [17063] = {48,"T1"}; --Band of Accuria + [19137] = {48,"T1"}; --Onslaught Girdle --------------------- --- Single Bosses --- --------------------- - [17067] = {12,"T1.5"}; --Ancient Cornerstone Grimoire - [17068] = {32,"T1.5"}; --Deathbringer - [18205] = {16,"T1.5"}; --Eskhandar's Collar [18705] = {0,"T1.5"}; --Mature Black Dragon Sinew + [18704] = {0,"T1.5"}; --Mature Black Dragon Sinew + [18665] = {0,"T1.5"}; --The Eye of Shadow [18813] = {4,"T1.5"}; --Ring of Binding + [18545] = {4,"T1.5"}; --Leggings of Arcane Supremacy + [18547] = {4,"T1.5"}; --Unmelting Ice Girdle + [20625] = {4,"T1.5"}; --Belt of the Dark Bog + [20619] = {4,"T1.5"}; --Acid Inscribed Greaves + [20579] = {4,"T1.5"}; --Green Dragonskin Cloak + [20644] = {4,"T1.5"}; --Nightmare Engulfed Object + [20600] = {4,"T1.5"}; --Nightmare Engulfed Object + [20633] = {4,"T1.5"}; --Unnatural Leather Spaulders + [20637] = {4,"T1.5"}; --Acid Inscribed Pauldrons + [20630] = {10,"T1.5"}; --Gauntlets of the Shining Light + [20639] = {12,"T1.5"}; --Strangely Glyphed Legplates + [17067] = {12,"T1.5"}; --Ancient Cornerstone Grimoire + [18208] = {12,"T1.5"}; --Drape of Benediction + [18542] = {12,"T1.5"}; --Typhoon + [20629] = {12,"T1.5"}; --Malignant Footguards + [19135] = {12,"T1.5"}; --Blacklight Bracer + [18204] = {12,"T1.5"}; --Eskhandar's Pelt + [18543] = {12,"T1.5"}; --Ring of Entropy + [18205] = {16,"T1.5"}; --Eskhandar's Collar + [20616] = {16,"T1.5"}; --Dragonbone Wristguards + [20615] = {16,"T1.5"}; --Dragonspur Wraps + [17111] = {16,"T1.5"}; --Blazefury Medallion + [19134] = {16,"T1.5"}; --Flayed Doomguard Belt [17078] = {20,"T1.5"}; --Sapphiron Drape - [17064] = {68,"T1.5"}; --Shard of the Scale + [18202] = {20,"T1.5"}; --Eskhandar's Left Claw + [20626] = {20,"T1.5"}; --Black Bark Wristbands + [20582] = {20,"T1.5"}; --Trance Stone + [20622] = {20,"T1.5"}; --Dragonheart Necklace + [20632] = {20,"T1.5"}; --Mindtear Band + [18544] = {20,"T1.5"}; --Doomhide Gauntlets + [17112] = {20,"T1.5"}; --Empyrean Demolisher [17075] = {24,"T1.5"}; --Vis'kag the Bloodletter - + [20621] = {24,"T1.5"}; --Boots of the Endless Moor + [20624] = {24,"T1.5"}; --Ring of the Unliving + [20634] = {24,"T1.5"}; --Boots of Fright + [17113] = {24,"T1.5"}; --Amberseal Keeper + [18546] = {24,"T1.5"}; --Infernal Headcage + [20617] = {28,"T1.5"}; --Ancient Corroded Leggings + [20599] = {28,"T1.5"}; --Polished Ironwood Crossbow + [17068] = {32,"T1.5"}; --Deathbringer + [20580] = {32,"T1.5"}; --Hammer of Bestial Fury + [20623] = {32,"T1.5"}; --Circlet of Restless Dreams + [20638] = {32,"T1.5"}; --Leggings of the Demented Mind + [17070] = {36,"T1.5"}; --Fang of the Mystics + [20577] = {36,"T1.5"}; --Nightmare Blade + [20578] = {36,"T1.5"}; --Emerald Dragonfang + [20635] = {36,"T1.5"}; --Jade Inlaid Vestments + [20618] = {40,"T1.5"}; --Gloves of Delusional Power + [20581] = {40,"T1.5"}; --Staff of Rampant Growth + [20631] = {40,"T1.5"}; --Mendicant's Slippers [18423] = {48,"T1.5"}; --Head of Onyxia [18403] = {48,"T1.5"}; --Head of Onyxia [18404] = {48,"T1.5"}; --Head of Onyxia [18406] = {48,"T1.5"}; --Head of Onyxia - - [19130] = {52,"T1.5"}; --Cold Snap - [19132] = {92,"T1.5"}; --Crystal Adorned Crown - [18208] = {12,"T1.5"}; --Drape of Benediction - [18202] = {20,"T1.5"}; --Eskhandar's Left Claw - [17070] = {36,"T1.5"}; --Fang of the Mystics - [18545] = {4,"T1.5"}; --Leggings of Arcane Supremacy - [18704] = {0,"T1.5"}; --Mature Black Dragon Sinew - [18541] = {68,"T1.5"}; --Puissant Cape - [19131] = {80,"T1.5"}; --Snowblind Shoes - [18542] = {12,"T1.5"}; --Typhoon - [18547] = {4,"T1.5"}; --Unmelting Ice Girdle - - [20625] = {4,"T1.5"}; --Belt of the Dark Bog - [20626] = {20,"T1.5"}; --Black Bark Wristbands - [20627] = {64,"T1.5"}; --Dark Heart Pants - [20628] = {72,"T1.5"}; --Deviate Growth Cap - [20630] = {0,"T1.5"}; --Gauntlets of the Shining Light - [20629] = {12,"T1.5"}; --Malignant Footguards - - [20619] = {4,"T1.5"}; --Acid Inscribed Greaves - [20617] = {28,"T1.5"}; --Ancient Corroded Leggings - [20616] = {16,"T1.5"}; --Dragonbone Wristguards - [20615] = {16,"T1.5"}; --Dragonspur Wraps - [20579] = {4,"T1.5"}; --Green Dragonskin Cloak - [20618] = {40,"T1.5"}; --Gloves of Delusional Power - [20580] = {32,"T1.5"}; --Hammer of Bestial Fury - [20581] = {40,"T1.5"}; --Staff of Rampant Growth - [20582] = {20,"T1.5"}; --Trance Stone - [20644] = {4,"T1.5"}; --Nightmare Engulfed Object - [20600] = {4,"T1.5"}; --Nightmare Engulfed Object - - [20621] = {24,"T1.5"}; --Boots of the Endless Moor - [20623] = {32,"T1.5"}; --Circlet of Restless Dreams - [20622] = {20,"T1.5"}; --Dragonheart Necklace - [20599] = {28,"T1.5"}; --Polished Ironwood Crossbow - [20624] = {24,"T1.5"}; --Ring of the Unliving - - [20634] = {24,"T1.5"}; --Boots of Fright - [20631] = {40,"T1.5"}; --Mendicant's Slippers - [20632] = {20,"T1.5"}; --Mindtear Band - [20577] = {36,"T1.5"}; --Nightmare Blade - [20633] = {4,"T1.5"}; --Unnatural Leather Spaulders - - [20637] = {4,"T1.5"}; --Acid Inscribed Pauldrons - [20578] = {36,"T1.5"}; --Emerald Dragonfang - [20636] = {68,"T1.5"}; --Hibernating Crystal - [20635] = {36,"T1.5"}; --Jade Inlaid Vestments - [20638] = {32,"T1.5"}; --Leggings of the Demented Mind - [20639] = {0,"T1.5"}; --Strangely Glyphed Legplates - - [17113] = {24,"T1.5"}; --Amberseal Keeper - [19135] = {12,"T1.5"}; --Blacklight Bracer - [17111] = {16,"T1.5"}; --Blazefury Medallion - [18544] = {20,"T1.5"}; --Doomhide Gauntlets - [17112] = {20,"T1.5"}; --Empyrean Demolisher - [18204] = {12,"T1.5"}; --Eskhandar's Pelt - [19133] = {72,"T1.5"}; --Fel Infused Leggings - [19134] = {16,"T1.5"}; --Flayed Doomguard Belt - [18546] = {24,"T1.5"}; --Infernal Headcage - [18543] = {12,"T1.5"}; --Ring of Entropy - [18665] = {0,"T1.5"}; --The Eye of Shadow + [19130] = {46,"T1.5"}; --Cold Snap + [20627] = {50,"T1.5"}; --Dark Heart Pants + [17064] = {52,"T1.5"}; --Shard of the Scale + [18541] = {52,"T1.5"}; --Puissant Cape + [20636] = {52,"T1.5"}; --Hibernating Crystal + [20628] = {54,"T1.5"}; --Deviate Growth Cap + [19133] = {54,"T1.5"}; --Fel Infused Leggings + [19131] = {56,"T1.5"}; --Snowblind Shoes + [19132] = {60,"T1.5"}; --Crystal Adorned Crown } sepgp.gp_prices = prices --[[local price_scaling = { ["T1"] = 1, - ["T1.5"] = 1, + ["T1.5"] = 1.5, ["T2"] = 3, ["T2.5"] = 6, ["T3"] = 9 @@ -833,7 +742,7 @@ local progress_scaling = { ["T3"] = {["T3"]=1,["T2.5"]=1,["T2"]=1,["T1.5"]=1,["T1"]=1}, ["T2.5"] = {["T3"]=1.5,["T2.5"]=1.5,["T2"]=2,["T1.5"]=2,["T1"]=2}, ["T2"] = {["T3"]=1.5,["T2.5"]=1.5,["T2"]=3,["T1.5"]=3,["T1"]=3}, - ["T1"] = {["T3"]=4.5,["T2.5"]=4.5,["T2"]=4.5,["T1.5"]=9,["T1"]=9} + ["T1"] = {["T3"]=4.5,["T2.5"]=4.5,["T2"]=4.5,["T1.5"]=6,["T1"]=9} } local function get_adjusted_price(price,tier,progress) if not progress_scaling[progress] then return price end diff --git a/reserves.lua b/reserves.lua index 462e838..02c6242 100644 --- a/reserves.lua +++ b/reserves.lua @@ -38,12 +38,30 @@ function sepgp_reserves:Refresh() T:Refresh("sepgp_reserves") end +function sepgp_reserves:setHideScript() + local detachedFrame, tablet + for i=1,4 do + tablet = getglobal(string.format("Tablet20DetachedFrame%d",1)) + if tablet and tablet.owner ~= nil and tablet.owner == "sepgp_reserves" then + if not (tablet:GetScript("OnHide")) then + tablet:SetScript("OnHide",function() + if not T:IsAttached("sepgp_reserves") then + T:Attach("sepgp_reserves") + this:SetScript("OnHide",nil) + end + end) + end + end + end +end + function sepgp_reserves:Toggle(forceShow) if T:IsAttached("sepgp_reserves") then T:Detach("sepgp_reserves") if (T:IsLocked("sepgp_reserves")) then T:ToggleLocked("sepgp_reserves") end + self:setHideScript() elseif (forceShow) then else T:Attach("sepgp_reserves") diff --git a/shootyepgp.lua b/shootyepgp.lua index d00a8b5..8a2813d 100644 --- a/shootyepgp.lua +++ b/shootyepgp.lua @@ -7,14 +7,16 @@ local playerName = (UnitName("player")) local shooty_basegp = 135 local shooty_baseaward_ep = 100 local shooty_decay = 0.85 -local shooty_max = 10000 +local shooty_max = 5000 local shooty_timeout = 45 +local shooty_maxloglines = 300 local shooty_reservechan = "Reserves" local shooty_reservecall = string.format("{shootyepgp}Type \"+\" in this channel if on main, or \"+\" if on alt within %dsec.",shooty_timeout) local shooty_reserveanswer = "^(%+)(%a*)$" local out = "|cff9664c8shootyepgp:|r %s" local lastUpdate = 0 local needInit = true +local admin local shooty_debugchat local running_check,running_bid local partyUnit,raidUnit = {},{} @@ -41,6 +43,7 @@ function sepgp:OnInitialize() -- ADDON_LOADED (1) unless LoD if sepgp_decay == nil then sepgp_decay = shooty_decay end if sepgp_progress == nil then sepgp_progress = "T1" end if sepgp_discount == nil then sepgp_discount = 0.25 end + if sepgp_log == nil then sepgp_log = {} end sepgp.extratip = CreateFrame("GameTooltip","shootyepgp_tooltip",UIParent,"GameTooltipTemplate") end @@ -71,6 +74,11 @@ function sepgp:AceEvent_FullyInitialized() -- SYNTHETIC EVENT, later than PLAYER end -- hook tooltip to add our GP values sepgp:TipHook() + + -- make tablets closable with ESC + for i=1,4 do + table.insert(UISpecialFrames,string.format("Tablet20DetachedFrame%d",i)) + end end function sepgp:OnEnable() -- PLAYER_LOGIN (2) @@ -300,6 +308,7 @@ end function sepgp:award_raid_ep(ep) -- awards ep to raid members in zone if GetNumRaidMembers()>0 then sepgp:simpleSay(string.format("Giving %d ep to all raidmembers",ep)) + self:addToLog(string.format("Giving %d ep to all raidmembers",ep)) for i = 1, GetNumRaidMembers(true) do local name, rank, subgroup, level, class, fileName, zone, online, isDead = GetRaidRosterInfo(i) sepgp:givename_ep(name,ep) @@ -310,6 +319,7 @@ end function sepgp:award_reserve_ep(ep) -- awards ep to reserve list if table.getn(sepgp.shooty_reserves) > 0 then sepgp:simpleSay(string.format("Giving %d ep to active reserves",ep)) + self:addToLog(string.format("Giving %d ep to active reserves",ep)) for i, name in ipairs(sepgp.shooty_reserves) do sepgp:givename_ep(name,ep) end @@ -319,20 +329,24 @@ function sepgp:award_reserve_ep(ep) -- awards ep to reserve list end function sepgp:givename_ep(getname,ep) -- awards ep to a single character + if not (admin()) then return end sepgp:debugPrint(string.format("Giving %d ep to %s",ep,getname)) ep = ep + sepgp:get_ep(getname) sepgp:update_ep(getname,ep) end function sepgp:givename_gp(getname,gp) -- assigns gp to a single character + if not (admin()) then return end sepgp:debugPrint(string.format("Giving %d gp to %s",gp,getname)) local oldgp = sepgp:get_gp(getname) local newgp = gp + oldgp sepgp:adminSay(string.format("Awarding %d GP to %s. (Previous: %d, New: %d)",gp,getname,oldgp,newgp)) + self:addToLog(string.format("Awarding %d GP to %s. (Previous: %d, New: %d)",gp,getname,oldgp,newgp)) sepgp:update_gp(getname,newgp) end function sepgp:decay_epgp() -- decays entire roster's ep and gp + if not (admin()) then return end for i = 1, GetNumGuildMembers(1) do local name,_,_,_,class,_,ep,gp,_,_ = GetGuildRosterInfo(i) ep = tonumber(ep) @@ -345,15 +359,21 @@ function sepgp:decay_epgp() -- decays entire roster's ep and gp GuildRosterSetOfficerNote(i,gp) end end - local msg = string.format("all ep and gp decayed by %d%%",(1-sepgp_decay)*100) + local msg = string.format("All EP and GP decayed by %d%%",(1-sepgp_decay)*100) sepgp:simpleSay(msg) + if not (sepgp_saychannel=="OFFICER") then sepgp:adminSay(msg) end + self:addToLog(msg) end function sepgp:gp_reset() - for i = 1, GetNumGuildMembers(1) do - GuildRosterSetOfficerNote(i, shooty_basegp) - end - sepgp:debugPrint(string.format("All GP has been reset to %d.",shooty_basegp)) + if (IsGuildLeader()) then + for i = 1, GetNumGuildMembers(1) do + GuildRosterSetOfficerNote(i, shooty_basegp) + end + sepgp:debugPrint(string.format("All GP has been reset to %d.",shooty_basegp)) + self:adminSay(string.format("All GP has been reset to %d.",shooty_basegp)) + self:addToLog(string.format("All GP has been reset to %d.",shooty_basegp)) + end end --------- @@ -367,14 +387,23 @@ sepgp.tooltipHidderWhenEmpty = false sepgp.hasIcon = "Interface\\Icons\\INV_Misc_Orb_04" function sepgp:OnTooltipUpdate() - T:SetHint("|cffffff00Click|r to toggle Standings. \n|cffffff00Ctrl+Click|r to toggle Reserves. \n|cffffff00Alt+Click|r to toggle Bids. \n|cffffff00Right-Click|r for Options.") + local hint = "|cffffff00Click|r to toggle Standings.%s \n|cffffff00Right-Click|r for Options." + if (admin()) then + hint = string.format(hint," \n|cffffff00Ctrl+Click|r to toggle Reserves. \n|cffffff00Alt+Click|r to toggle Bids. \n|cffffff00Shift+Click|r to toggle Logs.") + else + hint = string.format(hint,"") + end + T:SetHint(hint) end function sepgp:OnClick() - if (IsControlKeyDown()) then + local is_admin = admin() + if (IsControlKeyDown() and is_admin) then sepgp_reserves:Toggle() - elseif (IsAltKeyDown()) then + elseif (IsAltKeyDown() and is_admin) then sepgp_bids:Toggle() + elseif (IsShiftKeyDown() and is_admin) then + sepgp_logs:Toggle() else sepgp_standings:Toggle() end @@ -426,7 +455,7 @@ function sepgp:buildClassMemberTable(roster,epgp) c[class].type = "group" c[class].name = class c[class].desc = class .. " members" - c[class].hidden = function() return not (CanEditOfficerNote() and CanEditPublicNote()) end + c[class].hidden = function() return not (admin()) end c[class].args = { } end if c[class].args[name] == nil then @@ -462,7 +491,7 @@ function sepgp:buildMenu() name = "+EPs to Member", desc = "Account EPs for member.", order = 10, - hidden = function() return not (CanEditOfficerNote() and CanEditPublicNote()) end, + hidden = function() return not (admin()) end, } options.args["ep_raid"] = { type = "text", @@ -472,7 +501,7 @@ function sepgp:buildMenu() get = "suggestedAwardEP", set = function(v) sepgp:award_raid_ep(tonumber(v)) end, usage = "", - hidden = function() return not (CanEditOfficerNote() and CanEditPublicNote()) end, + hidden = function() return not (admin()) end, validate = function(v) local n = tonumber(v) return n and n >= 0 and n < shooty_max @@ -483,7 +512,7 @@ function sepgp:buildMenu() name = "+GPs to Member", desc = "Account GPs for member.", order = 30, - hidden = function() return not (CanEditOfficerNote() and CanEditPublicNote()) end, + hidden = function() return not (admin()) end, } options.args["ep_reserves"] = { type = "text", @@ -493,7 +522,7 @@ function sepgp:buildMenu() get = "suggestedAwardEP", set = function(v) sepgp:award_reserve_ep(tonumber(v)) end, usage = "", - hidden = function() return not (CanEditOfficerNote() and CanEditPublicNote()) end, + hidden = function() return not (admin()) end, validate = function(v) local n = tonumber(v) return n and n >= 0 and n < shooty_max @@ -513,7 +542,7 @@ function sepgp:buildMenu() name = "AFK Check Reserves", desc = "AFK Check Reserves List", order = 60, - hidden = function() return not (CanEditOfficerNote() and CanEditPublicNote()) end, + hidden = function() return not (admin()) end, func = function() sepgp:afkcheck_reserves() end } options.args["set_main"] = { @@ -536,30 +565,31 @@ function sepgp:buildMenu() sepgp:SetRefresh(true) end, } - options.args["report_channel"] = { - type = "text", - name = "Reporting channel", - desc = "Channel used by reporting functions.", - order = 90, - get = function() return sepgp_saychannel end, - set = function(v) sepgp_saychannel = v end, - validate = { "PARTY", "RAID", "GUILD", "OFFICER" }, - } options.args["progress_tier"] = { type = "text", name = "Raid Progress", desc = "Highest Tier the Guild is raiding.\nUsed to adjust GP Prices.", - order = 95, + order = 90, get = function() return sepgp_progress end, set = function(v) sepgp_progress = v sepgp_bids:Refresh() end, validate = { ["T3"]="4.Naxxramas", ["T2.5"]="3.Temple of Ahn\'Qiraj", ["T2"]="2.Blackwing Lair", ["T1"]="1.Molten Core"}, } + options.args["report_channel"] = { + type = "text", + name = "Reporting channel", + desc = "Channel used by reporting functions.", + order = 95, + hidden = function() return not (admin()) end, + get = function() return sepgp_saychannel end, + set = function(v) sepgp_saychannel = v end, + validate = { "PARTY", "RAID", "GUILD", "OFFICER" }, + } options.args["decay"] = { type = "execute", name = "Decay EPGP", desc = string.format("Decays all EPGP by %d%%",(1-(sepgp_decay or shooty_decay))*100), order = 100, - hidden = function() return not (CanEditOfficerNote() and CanEditPublicNote()) end, + hidden = function() return not (admin()) end, func = function() sepgp:decay_epgp() end } options.args["set_decay"] = { @@ -575,7 +605,7 @@ function sepgp:buildMenu() step = 0.01, bigStep = 0.05, isPercent = true, - hidden = function() return not (CanEditOfficerNote() and CanEditPublicNote()) end, + hidden = function() return not (admin()) end, } options.args["set_discount"] = { type = "range", @@ -595,7 +625,7 @@ function sepgp:buildMenu() desc = string.format("gives everybody %d basic GP (Admin only).",shooty_basegp), order = 120, hidden = function() return not (IsGuildLeader()) end, - func = function() sepgp:gp_reset() end + func = function() StaticPopup_Show("SHOOTY_EPGP_CONFIRM_RESET_GP") end } end if (needInit) or (needRefresh) then @@ -737,13 +767,23 @@ lootCall.whisp = { "^(whisper)[%s%p%c]+.+",".+[%s%p%c]+(whisper)$",".+[%s%p%c]+(whisper)[%s%p%c]+.*",".*[%s%p%c]+(whisper)[%s%p%c]+.+", ".+[%s%p%c]+(bid)[%s%p%c]*.*",".*[%s%p%c]*(bid)[%s%p%c]+.+" } -lootCall.ms = {".+(%+).*",".*(%+).+", ".+(ms).*",".*(ms).+", ".+(mainspec).*",".*(mainspec).+"} -lootCall.os = {".+(%-).*",".*(%-).+", ".+(os).*",".*(os).+", ".+(offspec).*",".*(offspec).+"} +lootCall.ms = { + ".+(%+).*",".*(%+).+", + "^(ms)[%s%p%c]+.+",".+[%s%p%c]+(ms)$",".+[%s%p%c]+(ms)[%s%p%c]+.*",".*[%s%p%c]+(ms)[%s%p%c]+.+", + ".+(mainspec).*",".*(mainspec).+" +} +lootCall.os = { + ".+(%-).*",".*(%-).+", + "^(os)[%s%p%c]+.+",".+[%s%p%c]+(os)$",".+[%s%p%c]+(os)[%s%p%c]+.*",".*[%s%p%c]+(os)[%s%p%c]+.+", + ".+(offspec).*",".*(offspec).+" +} function sepgp:captureLootCall(text, sender) if not (IsRaidLeader() or self:lootMaster()) then return end if not sender == playerName then return end if not (string.find(text, "|Hitem:", 1, true)) then return end - local lowtext = string.lower(text) + local linkstriptext, count = string.gsub(text,"|c%x+|H[eimt:%d]+|h%[[%w%s'%-]+%]|h|r"," ; ") + if count > 1 then return end + local lowtext = string.lower(linkstriptext) local whisperkw_found, mskw_found, oskw_found, link_found local _, itemLink, itemColor, itemString, itemName for _,f in ipairs(lootCall.whisp) do @@ -759,7 +799,7 @@ function sepgp:captureLootCall(text, sender) if (oskw_found) then break end end if (whisperkw_found) or (mskw_found) or (oskw_found) then - _,_,itemLink = string.find(text,"(|c%x+|H.+|h%[.+%]|h|r)") + _,_,itemLink = string.find(text,"(|c%x+|H[eimt:%d]+|h%[[%w%s'%-]+%]|h|r)") if (itemLink) and (itemLink ~= "") then link_found, _, itemColor, itemString, itemName = string.find(itemLink, "^(|c%x+)|H(.+)|h(%[.+%])") end @@ -831,6 +871,26 @@ function sepgp:clearBids() sepgp_bids:Refresh() end +------------ +-- Logging +------------ + +function sepgp:addToLog(line,skipTime) + local over = table.getn(sepgp_log)-shooty_maxloglines+1 + if over > 0 then + for i=1,over do + table.remove(sepgp_log,1) + end + end + local timestamp + if (skipTime) then + timestamp = "" + else + timestamp = date("%b/%d %H:%M:%S") + end + table.insert(sepgp_log,{timestamp,line}) +end + ------------ -- Utility ------------ @@ -904,6 +964,10 @@ function sepgp:suggestedAwardEP() end end +admin = function() + return (CanEditOfficerNote() and CanEditPublicNote()) +end + ------------- -- Dialogs ------------- @@ -953,3 +1017,16 @@ StaticPopupDialogs["SHOOTY_EPGP_RESERVE_AFKCHECK_RESPONCE"] = { whileDead = 1, hideOnEscape = 1 } +StaticPopupDialogs["SHOOTY_EPGP_CONFIRM_RESET_GP"] = { + text = "Are you sure you want to Reset ALL GP?", + button1 = "|cffff0000"..TEXT(OKAY).."|r", + button2 = TEXT(CANCEL), + OnAccept = function() + sepgp:gp_reset() + end, + timeout = 0, + whileDead = 1, + exclusive = 1, + showAlert = 1, + hideOnEscape = 1 +}; diff --git a/shootyepgp.toc b/shootyepgp.toc index a5f4134..08c36e1 100644 --- a/shootyepgp.toc +++ b/shootyepgp.toc @@ -1,11 +1,12 @@ ## Interface: 11200 ## Title: shootyepgp ## Notes: Effort Points/Gear Points Loot System -## Author: shooty, Roadblock -## Version: 2.11 +## Author: Roadblock +## X-Credits: shooty for original version +## Version: 2.2 ## OptionalDeps: Ace2 ## SavedVariables: sepgp_saychannel,sepgp_groupbyclass,sepgp_raidonly,sepgp_decay,sepgp_reservechannel,sepgp_main,sepgp_progress,sepgp_discount -## SavedVariablesPerCharacter: +## SavedVariablesPerCharacter: sepgp_log Libs\AceLibrary\AceLibrary.lua Libs\AceOO-2.0\AceOO-2.0.lua @@ -30,4 +31,5 @@ shootyepgp.lua standings.lua reserves.lua bids.lua -prices.lua \ No newline at end of file +prices.lua +logs.lua \ No newline at end of file diff --git a/standings.lua b/standings.lua index 68831ef..a85dccf 100644 --- a/standings.lua +++ b/standings.lua @@ -12,18 +12,22 @@ shooty_export:SetPoint('TOP', UIParent, 'TOP', 0,-80) shooty_export:SetFrameStrata('DIALOG') shooty_export:Hide() shooty_export:SetBackdrop({ - bgFile = [[Interface\Buttons\WHITE8x8]], - insets = {left = 3, right = 3, top = 4, bottom = 3 -}}) -shooty_export:SetBackdropColor(0, 0, 0, 0.7) + bgFile = [[Interface\Tooltips\UI-Tooltip-Background]], + edgeFile = [[Interface\Tooltips\UI-Tooltip-Border]], + tile = true, + tileSize = 16, + edgeSize = 16, + insets = {left = 5, right = 5, top = 5, bottom = 5} + }) +shooty_export:SetBackdropBorderColor(TOOLTIP_DEFAULT_COLOR.r, TOOLTIP_DEFAULT_COLOR.g, TOOLTIP_DEFAULT_COLOR.b) +shooty_export:SetBackdropColor(TOOLTIP_DEFAULT_BACKGROUND_COLOR.r, TOOLTIP_DEFAULT_BACKGROUND_COLOR.g, TOOLTIP_DEFAULT_BACKGROUND_COLOR.b) shooty_export.title = shooty_export:CreateFontString(nil,"OVERLAY") -shooty_export.title:SetPoint("TOP",0,0) +shooty_export.title:SetPoint("TOP",0,-5) shooty_export.title:SetFont("Fonts\\FRIZQT__.TTF", 12) shooty_export.title:SetWidth(200) shooty_export.title:SetJustifyH("LEFT") shooty_export.title:SetJustifyV("CENTER") -shooty_export.title:SetText("Ctrl-C to copy. Esc to close.") -shooty_export.title:SetTextColor(204/255,204/255,0) +shooty_export.title:SetText(C:Gold("Ctrl-C to copy. Esc to close.")) shooty_export.title:SetShadowOffset(1, -1) shooty_export.edit = CreateFrame("EditBox", "shooty_exportedit", shooty_export) shooty_export.edit:SetMultiLine(true) @@ -118,12 +122,30 @@ function sepgp_standings:Export() shooty_export.AddSelectText(txt) end +function sepgp_standings:setHideScript() + local detachedFrame, tablet + for i=1,4 do + tablet = getglobal(string.format("Tablet20DetachedFrame%d",1)) + if tablet and tablet.owner ~= nil and tablet.owner == "sepgp_standings" then + if not (tablet:GetScript("OnHide")) then + tablet:SetScript("OnHide",function() + if not T:IsAttached("sepgp_standings") then + T:Attach("sepgp_standings") + this:SetScript("OnHide",nil) + end + end) + end + end + end +end + function sepgp_standings:Toggle() if T:IsAttached("sepgp_standings") then T:Detach("sepgp_standings") if (T:IsLocked("sepgp_standings")) then T:ToggleLocked("sepgp_standings") end + self:setHideScript() else T:Attach("sepgp_standings") end