From 054568b2e6462ad40bb6909c3a97e3c62e0ee0e3 Mon Sep 17 00:00:00 2001 From: PhatPhuckDave Date: Sat, 24 Aug 2024 22:45:28 +0200 Subject: [PATCH] Update --- .../AUCTION_HOUSE_BROWSE_RESULTS_UPDATED.lua | 36 +- NewAge/AHBot/EveryFrameThrottled.lua | 10 +- NewAge/AHBot/INIT.lua | 32 +- NewAge/AHBot/Info.txt | 4 +- NewAge/Automation/Eventz.lua | 408 +++++----- NewAge/Automation/INIT.lua | 758 +++++++++--------- NewAge/Automation/LOOT_READY.lua | 136 ++-- NewAge/CataAuraBar/CustomOptions.lua | 38 +- NewAge/CataAuraBar/CustomText.lua | 20 +- NewAge/CataAuraBar/INIT.lua | 614 +++++++------- NewAge/CataAuraBar/INIT_BFA.lua | 632 +++++++-------- NewAge/CataAuraBar/README.md | 20 +- NewAge/CataAuraBar/TSU.lua | 22 +- NewAge/EquipmentManager/INIT.lua | 204 ++--- NewAge/NullBarrier/CLEU1.lua | 18 +- NewAge/NullBarrier/CLEU2.lua | 18 +- NewAge/NullBarrier/CustomDuration1.lua | 4 +- NewAge/NullBarrier/CustomDuration2.lua | 4 +- NewAge/NullBarrier/INIT1.lua | 72 +- NewAge/NullBarrier/INIT2.lua | 6 +- NewAge/NullBarrier/Text1.lua | 4 +- NewAge/OverallAbsorbs/INIT.lua | 80 +- NewAge/PrimaryStatBar/CLEU.lua | 12 +- NewAge/PrimaryStatBar/CustomDuration.lua | 4 +- NewAge/PrimaryStatBar/INIT.lua | 32 +- 25 files changed, 1594 insertions(+), 1594 deletions(-) diff --git a/NewAge/AHBot/AUCTION_HOUSE_BROWSE_RESULTS_UPDATED.lua b/NewAge/AHBot/AUCTION_HOUSE_BROWSE_RESULTS_UPDATED.lua index c3898d1..85ef8c0 100644 --- a/NewAge/AHBot/AUCTION_HOUSE_BROWSE_RESULTS_UPDATED.lua +++ b/NewAge/AHBot/AUCTION_HOUSE_BROWSE_RESULTS_UPDATED.lua @@ -1,19 +1,19 @@ -function() - results = C_AuctionHouse.GetBrowseResults() - -- DevTools_Dump(results) - for k,v in ipairs(results) do - local itemID = v.itemKey.itemID - local itemName = GetItemInfo(itemID) - if aura_env.sellPriceThresholds[itemID] then - if v.minPrice > aura_env.sellPriceThresholds[itemID] then - print(itemName, "too expensive") - SendChatMessage("POKE", "WHISPER", nil, UnitName("player")) - end - elseif aura_env.buyPriceThresholds[itemID] then - if v.minPrice < aura_env.buyPriceThresholds[itemID] then - print(itemName, "too cheap") - SendChatMessage("POKE", "WHISPER", nil, UnitName("player")) - end - end - end +function() + results = C_AuctionHouse.GetBrowseResults() + -- DevTools_Dump(results) + for k,v in ipairs(results) do + local itemID = v.itemKey.itemID + local itemName = GetItemInfo(itemID) + if aura_env.sellPriceThresholds[itemID] then + if v.minPrice > aura_env.sellPriceThresholds[itemID] then + print(itemName, "too expensive") + SendChatMessage("POKE", "WHISPER", nil, UnitName("player")) + end + elseif aura_env.buyPriceThresholds[itemID] then + if v.minPrice < aura_env.buyPriceThresholds[itemID] then + print(itemName, "too cheap") + SendChatMessage("POKE", "WHISPER", nil, UnitName("player")) + end + end + end end \ No newline at end of file diff --git a/NewAge/AHBot/EveryFrameThrottled.lua b/NewAge/AHBot/EveryFrameThrottled.lua index 6e30da2..2fafe3f 100644 --- a/NewAge/AHBot/EveryFrameThrottled.lua +++ b/NewAge/AHBot/EveryFrameThrottled.lua @@ -1,6 +1,6 @@ -function() - if not aura_env.last or aura_env.last < GetTime() - aura_env.throttleTime then - aura_env.last = GetTime() - AuctionHouseFrame.SearchBar.FavoritesSearchButton:Click() - end +function() + if not aura_env.last or aura_env.last < GetTime() - aura_env.throttleTime then + aura_env.last = GetTime() + AuctionHouseFrame.SearchBar.FavoritesSearchButton:Click() + end end \ No newline at end of file diff --git a/NewAge/AHBot/INIT.lua b/NewAge/AHBot/INIT.lua index bcb3b97..e86393b 100644 --- a/NewAge/AHBot/INIT.lua +++ b/NewAge/AHBot/INIT.lua @@ -1,17 +1,17 @@ -aura_env.throttleTime = 10 - -aura_env.sellPriceThresholds = { - [168446] = 5000 * 100 * 100; -- Accord of Critical Strike - [168447] = 5000 * 100 * 100; -- Accord of Haste - [168448] = 5000 * 100 * 100; -- Accord of Mastery - [168449] = 5000 * 100 * 100; -- Accord of Versatility - [168592] = 4500 * 100 * 100; -- Oceanic Restoration - [168496] = 4500 * 100 * 100; -- Force Multiplier - [168593] = 4500 * 100 * 100; -- Machinist's Brilliance - [168598] = 4500 * 100 * 100; -- Naga Hide -} - -aura_env.buyPriceThresholds = { - [152576] = 5 * 100 * 100; -- Tidesrpay Linen - [152877] = 500 * 100 * 100; -- Veiled Crystal +aura_env.throttleTime = 10 + +aura_env.sellPriceThresholds = { + [168446] = 5000 * 100 * 100; -- Accord of Critical Strike + [168447] = 5000 * 100 * 100; -- Accord of Haste + [168448] = 5000 * 100 * 100; -- Accord of Mastery + [168449] = 5000 * 100 * 100; -- Accord of Versatility + [168592] = 4500 * 100 * 100; -- Oceanic Restoration + [168496] = 4500 * 100 * 100; -- Force Multiplier + [168593] = 4500 * 100 * 100; -- Machinist's Brilliance + [168598] = 4500 * 100 * 100; -- Naga Hide +} + +aura_env.buyPriceThresholds = { + [152576] = 5 * 100 * 100; -- Tidesrpay Linen + [152877] = 500 * 100 * 100; -- Veiled Crystal } \ No newline at end of file diff --git a/NewAge/AHBot/Info.txt b/NewAge/AHBot/Info.txt index 599f3f8..d4a3b55 100644 --- a/NewAge/AHBot/Info.txt +++ b/NewAge/AHBot/Info.txt @@ -1,3 +1,3 @@ -/run AuctionHouseFrame.SearchBar.FavoritesSearchButton:Click() - +/run AuctionHouseFrame.SearchBar.FavoritesSearchButton:Click() + /dump C_AuctionHouse.GetBrowseResults() \ No newline at end of file diff --git a/NewAge/Automation/Eventz.lua b/NewAge/Automation/Eventz.lua index 007e5a0..a9c580b 100644 --- a/NewAge/Automation/Eventz.lua +++ b/NewAge/Automation/Eventz.lua @@ -1,205 +1,205 @@ ---- LOOT_READY LOOT_OPENED MERCHANT_SHOW QUEST_POI_UPDATE QUEST_DETAIL QUEST_COMPLETE QUEST_GREETING QUEST_PROGRESS GOSSIP_SHOW SCRAPPING_MACHINE_SHOW MERCHANT_CLOSED EQUIP_BIND_CONFIRM -function(e) - local aura_env = aura_env - if e == "LOOT_READY" or e == "LOOT_OPENED" then --Auto Loot - local slot = 1 - local lootinfo = GetLootInfo() - for k, v in pairs(lootinfo) do - if v.locked == false then - local link = GetLootSlotLink(slot) - local looted = false - if not link then link = GetLootSlotLink(slot) end - if aura_env.filter[1] == true and (v.item:match("%d+ Gold") or v.item:match("%d+ Silver") or v.item:match("%d+ Copper")) then - LootSlot(slot) - elseif aura_env.filter[2] == true and link:match("Azerite") then - LootSlot(slot) - elseif aura_env.filter[3] == true and v.item:match("War Resources") then - LootSlot(slot) - elseif aura_env.filter[4] == true and v.item:match("Residuum") then - LootSlot(slot) - elseif aura_env.filter[5] == true and v.item:match("Manapearl") then - LootSlot(slot) - end - if link then - local icon = v.texture - local id = link:match("item:(%d+):") - local type = select(6, GetItemInfo(link)) or "" - local subtype = select(7, GetItemInfo(link)) or "" - local ilvl = select(4, GetItemInfo(link)) or 0 - local equip = select(9, GetItemInfo(link)) - if aura_env.filter[6] == true and (select(7, GetItemInfo(link)) or 0) == "Mount" then - LootSlot(slot) - elseif aura_env.filter[7] == true and ilvl > aura_env.ilvlFilter then - LootSlot(slot) - elseif aura_env.filter[8] == true and (select(7, GetItemInfo(link)) or 0) == "Herb" then - LootSlot(slot) - elseif aura_env.filter[9] == true and (select(7, GetItemInfo(link)) or 0) == "Cooking" then - LootSlot(slot) - elseif aura_env.filter[10] == true and (select(7, GetItemInfo(link)) or 0) == "Cloth" and type == "Tradeskill" then - LootSlot(slot) - elseif aura_env.filter[11] == true and (select(7, GetItemInfo(link)) or 0) == "Metal & Stone" then - LootSlot(slot) - elseif aura_env.filter[12] == true and (select(11, GetItemInfo(link)) or 0) > aura_env.goldFilter and v.quality == 0 then - LootSlot(slot) - elseif aura_env.filter[13] == true and v.quality > 1 and v.quality < 4 and type ~= "Weapon" and type ~= "Armor" then - LootSlot(slot) - elseif aura_env.filter[14] == true and v.isQuestItem == true then - LootSlot(slot) - elseif aura_env.filter[15] == true and v.quality == 0 then - LootSlot(slot) - elseif aura_env.filter[16] == true and aura_env.whitelist[v.item] then - LootSlot(slot) - elseif aura_env.filter[17] == true and type == "Quest" and subtype == "Quest" then - LootSlot(slot) - elseif aura_env.filter[21] == true and type == "Tradeskill" and subtype == "Elemental" then - LootSlot(slot) - else - if type == "Weapon" or type == "Armor" then - if aura_env.filter[18] == true and aura_env.skills[select(3, UnitClass("player"))][subtype] == 1 and v.quality > 2 then - LootSlot(slot) - elseif aura_env.filter[19] == true and (equip == "INVTYPE_FINGER" or equip == "INVTYPE_TRINKET" or equip == "INVTYPE_CLOAK" or equip == "INVTYPE_NECK") and v.quality > 2 then - LootSlot(slot) - end - elseif aura_env.filter[20] == true and type == "Miscellaneous" then - if subtype == "Mount" then - LootSlot(slot) - end - end - end - end - slot = slot + 1 - end - end - --CloseLoot() - elseif e == "EQUIP_BIND_CONFIRM" then - StaticPopup1Button1:Click() - elseif e == "SCRAPPING_MACHINE_SHOW" then - for i = 0, 4 do - for j = 1, GetContainerNumSlots(i) do - local link = select(7, GetContainerItemInfo(i, j)) - if link then - local name = GetItemInfo(link) - local rarity = select(3, GetItemInfo(link)) - local ilvl = select(4, GetItemInfo(link)) or 0 - local type = select(6, GetItemInfo(link)) - local equip = select(9, GetItemInfo(link)) or "" - local price = select(11, GetItemInfo(link)) - if aura_env.sellWhitelist[name] ~= 1 then - if name and rarity and ilvl and type and equip and price then - if (type == "Armor" or type == "Weapon") and rarity <= 3 and aura_env.getequipID(equip) then - UseContainerItem(i, j) - elseif rarity > 3 and aura_env.getequipID(equip) then - if equip ~= "INVTYPE_FINGER" then - local eqID = aura_env.getequipID(equip) - local elink = GetInventoryItemLink("player", eqID) - local eilvl = select(4, GetItemInfo(elink)) or 0 - if eilvl > ilvl + 5 then - print("Scrapping " .. link .. "over " .. eilvl - ilvl .. " ilvl difference from " .. elink) - UseContainerItem(i, j) - end - elseif equip == "INVTYPE_FINGER" then - local eqID1, eqID2 = 11, 12 - local elink1, elink2 = GetInventoryItemLink("player", eqID1), GetInventoryItemLink("player", eqID2) - local eilvl1, eilvl2 = select(4, GetItemInfo(elink1)) or 0, select(4, GetItemInfo(elink2)) or 0 - if eilvl1 > ilvl + 5 then - print("Scrapping " .. link .. " over " .. eilvl1 - ilvl .. " ilvl difference from " .. elink1) - UseContainerItem(i, j) - elseif eilvl2 > ilvl + 5 then - print("Scrapping " .. link .. " over " .. eilvl2 - ilvl .. " ilvl difference from " .. elink2) - UseContainerItem(i, j) - end - end - end - end - end - end - end - end - elseif e == "MERCHANT_SHOW" then --Sell grey and white wepaon - if CanMerchantRepair() == true then RepairAllItems() end - local i, j = 0, 1 - for c = 0, 4 do - for s = 1, GetContainerNumSlots(c) do - local link = select(7, GetContainerItemInfo(c, s)) - if link then - local name = GetItemInfo(link) - local rarity = select(3, GetItemInfo(link)) - local ilvl = select(4, GetItemInfo(link)) or 0 - local type = select(6, GetItemInfo(link)) - local price = select(11, GetItemInfo(link)) - if price and price > 0 then - if aura_env.sellWhitelist[name] ~= 1 then - if rarity == 0 then - if aura_env.throttleSell == true then - aura_env.toSell[#aura_env.toSell + 1] = {["c"] = c, ["s"] = s} - else - UseContainerItem(c, s) - end - elseif (type == "Armor" or type == "Weapon") and ilvl < 200 then - if aura_env.throttleSell == true then - aura_env.toSell[#aura_env.toSell + 1] = {["c"] = c, ["s"] = s} - else - UseContainerItem(c, s) - end - end - end - end - end - end - end - if aura_env.throttleSell == true then - aura_env.ticker = C_Timer.NewTicker(0.05, function() - if aura_env.toSell[1] then - UseContainerItem(aura_env.toSell[1].c, aura_env.toSell[1].s) - table.remove(aura_env.toSell, 1) - else - aura_env.ticker:Cancel() - end - if j >= GetContainerNumSlots(i) then i = i + 1 - j = 1 end - if i >= 4 then aura_env.ticker:Cancel() end - end) - end - elseif e == "MERCHANT_CLOSED" then - if aura_env.ticker then aura_env.ticker:Cancel() end - aura_env.toSell = {} - elseif e == "QUEST_POI_UPDATE" then - CloseGossip() - elseif e == "QUEST_DETAIL" then - AcceptQuest() - elseif e == "QUEST_COMPLETE" then - if GetNumQuestChoices() <= 1 then - GetQuestReward(1) - end - elseif e == "GOSSIP_SHOW" then - local quests = GetNumGossipAvailableQuests() - local complquests = GetNumGossipActiveQuests() - local opt = GetNumGossipOptions() - if complquests > 0 and opt == 0 then - for i = 1, complquests do - SelectGossipActiveQuest(i) - end - end - if quests > 0 and opt == 0 then - SelectGossipAvailableQuest(1) - end - if opt == 1 and quests + complquests == 0 then - SelectGossipOption(1) - end - elseif e == "QUEST_GREETING" then - local quests = GetNumGossipAvailableQuests() - local complquests = GetNumGossipActiveQuests() - if complquests > 0 then - for i = 1, complquests do - SelectActiveQuest(1) - end - end - if quests > 0 then - SelectAvailableQuest(1) - end - elseif e == "QUEST_PROGRESS" then - if IsQuestCompletable(i) then - CompleteQuest() - end - end +--- LOOT_READY LOOT_OPENED MERCHANT_SHOW QUEST_POI_UPDATE QUEST_DETAIL QUEST_COMPLETE QUEST_GREETING QUEST_PROGRESS GOSSIP_SHOW SCRAPPING_MACHINE_SHOW MERCHANT_CLOSED EQUIP_BIND_CONFIRM +function(e) + local aura_env = aura_env + if e == "LOOT_READY" or e == "LOOT_OPENED" then --Auto Loot + local slot = 1 + local lootinfo = GetLootInfo() + for k, v in pairs(lootinfo) do + if v.locked == false then + local link = GetLootSlotLink(slot) + local looted = false + if not link then link = GetLootSlotLink(slot) end + if aura_env.filter[1] == true and (v.item:match("%d+ Gold") or v.item:match("%d+ Silver") or v.item:match("%d+ Copper")) then + LootSlot(slot) + elseif aura_env.filter[2] == true and link:match("Azerite") then + LootSlot(slot) + elseif aura_env.filter[3] == true and v.item:match("War Resources") then + LootSlot(slot) + elseif aura_env.filter[4] == true and v.item:match("Residuum") then + LootSlot(slot) + elseif aura_env.filter[5] == true and v.item:match("Manapearl") then + LootSlot(slot) + end + if link then + local icon = v.texture + local id = link:match("item:(%d+):") + local type = select(6, GetItemInfo(link)) or "" + local subtype = select(7, GetItemInfo(link)) or "" + local ilvl = select(4, GetItemInfo(link)) or 0 + local equip = select(9, GetItemInfo(link)) + if aura_env.filter[6] == true and (select(7, GetItemInfo(link)) or 0) == "Mount" then + LootSlot(slot) + elseif aura_env.filter[7] == true and ilvl > aura_env.ilvlFilter then + LootSlot(slot) + elseif aura_env.filter[8] == true and (select(7, GetItemInfo(link)) or 0) == "Herb" then + LootSlot(slot) + elseif aura_env.filter[9] == true and (select(7, GetItemInfo(link)) or 0) == "Cooking" then + LootSlot(slot) + elseif aura_env.filter[10] == true and (select(7, GetItemInfo(link)) or 0) == "Cloth" and type == "Tradeskill" then + LootSlot(slot) + elseif aura_env.filter[11] == true and (select(7, GetItemInfo(link)) or 0) == "Metal & Stone" then + LootSlot(slot) + elseif aura_env.filter[12] == true and (select(11, GetItemInfo(link)) or 0) > aura_env.goldFilter and v.quality == 0 then + LootSlot(slot) + elseif aura_env.filter[13] == true and v.quality > 1 and v.quality < 4 and type ~= "Weapon" and type ~= "Armor" then + LootSlot(slot) + elseif aura_env.filter[14] == true and v.isQuestItem == true then + LootSlot(slot) + elseif aura_env.filter[15] == true and v.quality == 0 then + LootSlot(slot) + elseif aura_env.filter[16] == true and aura_env.whitelist[v.item] then + LootSlot(slot) + elseif aura_env.filter[17] == true and type == "Quest" and subtype == "Quest" then + LootSlot(slot) + elseif aura_env.filter[21] == true and type == "Tradeskill" and subtype == "Elemental" then + LootSlot(slot) + else + if type == "Weapon" or type == "Armor" then + if aura_env.filter[18] == true and aura_env.skills[select(3, UnitClass("player"))][subtype] == 1 and v.quality > 2 then + LootSlot(slot) + elseif aura_env.filter[19] == true and (equip == "INVTYPE_FINGER" or equip == "INVTYPE_TRINKET" or equip == "INVTYPE_CLOAK" or equip == "INVTYPE_NECK") and v.quality > 2 then + LootSlot(slot) + end + elseif aura_env.filter[20] == true and type == "Miscellaneous" then + if subtype == "Mount" then + LootSlot(slot) + end + end + end + end + slot = slot + 1 + end + end + --CloseLoot() + elseif e == "EQUIP_BIND_CONFIRM" then + StaticPopup1Button1:Click() + elseif e == "SCRAPPING_MACHINE_SHOW" then + for i = 0, 4 do + for j = 1, GetContainerNumSlots(i) do + local link = select(7, GetContainerItemInfo(i, j)) + if link then + local name = GetItemInfo(link) + local rarity = select(3, GetItemInfo(link)) + local ilvl = select(4, GetItemInfo(link)) or 0 + local type = select(6, GetItemInfo(link)) + local equip = select(9, GetItemInfo(link)) or "" + local price = select(11, GetItemInfo(link)) + if aura_env.sellWhitelist[name] ~= 1 then + if name and rarity and ilvl and type and equip and price then + if (type == "Armor" or type == "Weapon") and rarity <= 3 and aura_env.getequipID(equip) then + UseContainerItem(i, j) + elseif rarity > 3 and aura_env.getequipID(equip) then + if equip ~= "INVTYPE_FINGER" then + local eqID = aura_env.getequipID(equip) + local elink = GetInventoryItemLink("player", eqID) + local eilvl = select(4, GetItemInfo(elink)) or 0 + if eilvl > ilvl + 5 then + print("Scrapping " .. link .. "over " .. eilvl - ilvl .. " ilvl difference from " .. elink) + UseContainerItem(i, j) + end + elseif equip == "INVTYPE_FINGER" then + local eqID1, eqID2 = 11, 12 + local elink1, elink2 = GetInventoryItemLink("player", eqID1), GetInventoryItemLink("player", eqID2) + local eilvl1, eilvl2 = select(4, GetItemInfo(elink1)) or 0, select(4, GetItemInfo(elink2)) or 0 + if eilvl1 > ilvl + 5 then + print("Scrapping " .. link .. " over " .. eilvl1 - ilvl .. " ilvl difference from " .. elink1) + UseContainerItem(i, j) + elseif eilvl2 > ilvl + 5 then + print("Scrapping " .. link .. " over " .. eilvl2 - ilvl .. " ilvl difference from " .. elink2) + UseContainerItem(i, j) + end + end + end + end + end + end + end + end + elseif e == "MERCHANT_SHOW" then --Sell grey and white wepaon + if CanMerchantRepair() == true then RepairAllItems() end + local i, j = 0, 1 + for c = 0, 4 do + for s = 1, GetContainerNumSlots(c) do + local link = select(7, GetContainerItemInfo(c, s)) + if link then + local name = GetItemInfo(link) + local rarity = select(3, GetItemInfo(link)) + local ilvl = select(4, GetItemInfo(link)) or 0 + local type = select(6, GetItemInfo(link)) + local price = select(11, GetItemInfo(link)) + if price and price > 0 then + if aura_env.sellWhitelist[name] ~= 1 then + if rarity == 0 then + if aura_env.throttleSell == true then + aura_env.toSell[#aura_env.toSell + 1] = {["c"] = c, ["s"] = s} + else + UseContainerItem(c, s) + end + elseif (type == "Armor" or type == "Weapon") and ilvl < 200 then + if aura_env.throttleSell == true then + aura_env.toSell[#aura_env.toSell + 1] = {["c"] = c, ["s"] = s} + else + UseContainerItem(c, s) + end + end + end + end + end + end + end + if aura_env.throttleSell == true then + aura_env.ticker = C_Timer.NewTicker(0.05, function() + if aura_env.toSell[1] then + UseContainerItem(aura_env.toSell[1].c, aura_env.toSell[1].s) + table.remove(aura_env.toSell, 1) + else + aura_env.ticker:Cancel() + end + if j >= GetContainerNumSlots(i) then i = i + 1 + j = 1 end + if i >= 4 then aura_env.ticker:Cancel() end + end) + end + elseif e == "MERCHANT_CLOSED" then + if aura_env.ticker then aura_env.ticker:Cancel() end + aura_env.toSell = {} + elseif e == "QUEST_POI_UPDATE" then + CloseGossip() + elseif e == "QUEST_DETAIL" then + AcceptQuest() + elseif e == "QUEST_COMPLETE" then + if GetNumQuestChoices() <= 1 then + GetQuestReward(1) + end + elseif e == "GOSSIP_SHOW" then + local quests = GetNumGossipAvailableQuests() + local complquests = GetNumGossipActiveQuests() + local opt = GetNumGossipOptions() + if complquests > 0 and opt == 0 then + for i = 1, complquests do + SelectGossipActiveQuest(i) + end + end + if quests > 0 and opt == 0 then + SelectGossipAvailableQuest(1) + end + if opt == 1 and quests + complquests == 0 then + SelectGossipOption(1) + end + elseif e == "QUEST_GREETING" then + local quests = GetNumGossipAvailableQuests() + local complquests = GetNumGossipActiveQuests() + if complquests > 0 then + for i = 1, complquests do + SelectActiveQuest(1) + end + end + if quests > 0 then + SelectAvailableQuest(1) + end + elseif e == "QUEST_PROGRESS" then + if IsQuestCompletable(i) then + CompleteQuest() + end + end end \ No newline at end of file diff --git a/NewAge/Automation/INIT.lua b/NewAge/Automation/INIT.lua index 5d2439d..5e67227 100644 --- a/NewAge/Automation/INIT.lua +++ b/NewAge/Automation/INIT.lua @@ -1,380 +1,380 @@ -aura_env.debug = true -aura_env.filter = { - [1] = true, --Gold - [2] = true, --Azerite - [3] = true, --War resources - [4] = true, --Residuum - [5] = true, --Manapearls - [6] = true, --Mounts - [7] = true, --High ilvl - [8] = false, --Herbs - [9] = true, --Cooking - [10] = true, --Cloth - [11] = false, --Metal & Stone - [12] = true, --Gold filter greys - [13] = true, -- >1 && <4 quality items, no gear - [14] = true, --Quest items - [15] = true, --All greys - [16] = true, --Whitelist - [17] = true, --Quest items (different filter) - [18] = true, --Class aproperiate >2 items - [19] = true, --Jewelery >2 quality - [20] = true, --Additional mount filter - [21] = true, --Tradeskill // Elemental -} -aura_env.ilvlFilter = 200 -aura_env.goldFilter = 0.5 -aura_env.goldFilter = aura_env.goldFilter * 10000 -aura_env.throttleSell = false - -aura_env.whitelist = { - ["Pygmy Suckerfish"] = 1, - ["Drakkari Offerings"] = 1, - ["Deepcoral Pod"] = 1, - ["Hardened Spring"] = 1, - ["Machined Gear Assembly"] = 1, - ["Tempered Plating"] = 1, - ["Hefty Glimmershell"] = 1, - ["Fresh Meat"] = 1, - ["Wood"] = 1, - - - ["Gloom Dust"] = 1, - ["Veiled Crytal"] = 1, - ["Coalescing Visions"] = 1, - ["Echoes of Ny'alotha"] = 1, - ["Corrupted Mementos"] = 1, - - ["Blood of Sargeras"] = 1, - ["Primal Sargerite"] = 1, - - ["Chain Ignitercoil"] = 1, - ["Galvanic Oscillator"] = 1, - ["Corrupted Memento"] = 1, -} -aura_env.sellWhitelist = { - ["Blacksmith Hammer"] = 1, - ["Endless Tincture of Renewed Combat"] = 1, - ["Mr. Munchykins"] = 1, - ["Arclight Spanner"] = 1, - ["Runeblade of Baron Rivendare"] = 1, -} -aura_env.toSell = {} -aura_env.getequipID = function(equip) - if equip == "INVTYPE_HEAD" then return 1 - elseif equip == "INVTYPE_NECK" then return 2 - elseif equip == "INVTYPE_SHOULDER" then return 3 - elseif equip == "INVTYPE_BODY" then return 4 - elseif equip == "INVTYPE_CHEST" or equip == "INVTYPE_ROBE" then return 5 - elseif equip == "INVTYPE_WAIST" then return 6 - elseif equip == "INVTYPE_LEGS" then return 7 - elseif equip == "INVTYPE_FEET" then return 8 - elseif equip == "INVTYPE_WRIST" then return 9 - elseif equip == "INVTYPE_HAND" then return 10 - elseif equip == "INVTYPE_CLOAK" then return 15 - elseif equip == "INVTYPE_WEAPON" or equip == "INVTYPE_WEAPONMAINHAND" or equip == "INVTYPE_2HWEAPON" then return 16 - elseif equip == "INVTYPE_SHIELD" then return 17 - else return nil end -end -aura_env.skills = { - --Warrior - [1] = { - --Armor Skills - ["Cloth"] = 0, - ["Leather"] = 0, - ["Mail"] = 0, - ["Plate"] = 1, - ["Shields"] = 1, - --Weapon Skills - ["One-Handed Axes"] = 1, - ["Two-Handed Axes"] = 1, - ["Bows"] = 1, - ["Guns"] = 1, - ["One-Handed Maces"] = 1, - ["Two-Handed Maces"] = 1, - ["Polearms"] = 1, - ["One-Handed Swords"] = 1, - ["Two-Handed Swords"] = 1, - ["Warglaives"] = 1, - ["Staves"] = 1, - ["Fist Weapons"] = 1, - ["Daggers"] = 1, - ["Crossbows"] = 1, - ["Wands"] = 0, - }, - --Paladin - [2] = { - --Armor Skills - ["Cloth"] = 0, - ["Leather"] = 0, - ["Mail"] = 0, - ["Plate"] = 1, - ["Shields"] = 1, - --Weapon Skills - ["One-Handed Axes"] = 1, - ["Two-Handed Axes"] = 1, - ["Bows"] = 0, - ["Guns"] = 0, - ["One-Handed Maces"] = 1, - ["Two-Handed Maces"] = 1, - ["Polearms"] = 1, - ["One-Handed Swords"] = 1, - ["Two-Handed Swords"] = 1, - ["Warglaives"] = 0, - ["Staves"] = 0, - ["Fist Weapons"] = 0, - ["Daggers"] = 0, - ["Crossbows"] = 0, - ["Wands"] = 0, - }, - --Hunter - [3] = { - --Armor Skills - ["Cloth"] = 0, - ["Leather"] = 0, - ["Mail"] = 1, - ["Plate"] = 0, - ["Shields"] = 0, - --Weapon Skills - ["One-Handed Axes"] = 1, - ["Two-Handed Axes"] = 1, - ["Bows"] = 1, - ["Guns"] = 1, - ["One-Handed Maces"] = 0, - ["Two-Handed Maces"] = 0, - ["Polearms"] = 1, - ["One-Handed Swords"] = 1, - ["Two-Handed Swords"] = 1, - ["Warglaives"] = 0, - ["Staves"] = 1, - ["Fist Weapons"] = 1, - ["Daggers"] = 1, - ["Crossbows"] = 1, - ["Wands"] = 0, - }, - --Rogue - [4] = { - --Armor Skills - ["Cloth"] = 0, - ["Leather"] = 1, - ["Mail"] = 0, - ["Plate"] = 0, - ["Shields"] = 0, - --Weapon Skills - ["One-Handed Axes"] = 1, - ["Two-Handed Axes"] = 0, - ["Bows"] = 0, - ["Guns"] = 0, - ["One-Handed Maces"] = 1, - ["Two-Handed Maces"] = 0, - ["Polearms"] = 0, - ["One-Handed Swords"] = 1, - ["Two-Handed Swords"] = 0, - ["Warglaives"] = 0, - ["Staves"] = 0, - ["Fist Weapons"] = 1, - ["Daggers"] = 1, - ["Crossbows"] = 0, - ["Wands"] = 0, - }, - --Priest - [5] = { - --Armor Skills - ["Cloth"] = 1, - ["Leather"] = 0, - ["Mail"] = 0, - ["Plate"] = 0, - ["Shields"] = 0, - --Weapon Skills - ["One-Handed Axes"] = 0, - ["Two-Handed Axes"] = 0, - ["Bows"] = 0, - ["Guns"] = 0, - ["One-Handed Maces"] = 1, - ["Two-Handed Maces"] = 0, - ["Polearms"] = 0, - ["One-Handed Swords"] = 0, - ["Two-Handed Swords"] = 0, - ["Warglaives"] = 0, - ["Staves"] = 1, - ["Fist Weapons"] = 0, - ["Daggers"] = 1, - ["Crossbows"] = 0, - ["Wands"] = 1, - }, - --Death Knight - [6] = { - --Armor Skills - ["Cloth"] = 0, - ["Leather"] = 0, - ["Mail"] = 0, - ["Plate"] = 1, - ["Shields"] = 0, - --Weapon Skills - ["One-Handed Axes"] = 1, - ["Two-Handed Axes"] = 1, - ["Bows"] = 0, - ["Guns"] = 0, - ["One-Handed Maces"] = 1, - ["Two-Handed Maces"] = 1, - ["Polearms"] = 1, - ["One-Handed Swords"] = 1, - ["Two-Handed Swords"] = 1, - ["Warglaives"] = 0, - ["Staves"] = 0, - ["Fist Weapons"] = 0, - ["Daggers"] = 0, - ["Crossbows"] = 0, - ["Wands"] = 0, - }, - --Shaman - [7] = { - --Armor Skills - ["Cloth"] = 0, - ["Leather"] = 0, - ["Mail"] = 1, - ["Plate"] = 0, - ["Shields"] = 1, - --Weapon Skills - ["One-Handed Axes"] = 1, - ["Two-Handed Axes"] = 0, - ["Bows"] = 0, - ["Guns"] = 0, - ["One-Handed Maces"] = 1, - ["Two-Handed Maces"] = 0, - ["Polearms"] = 0, - ["One-Handed Swords"] = 0, - ["Two-Handed Swords"] = 0, - ["Warglaives"] = 0, - ["Staves"] = 1, - ["Fist Weapons"] = 1, - ["Daggers"] = 1, - ["Crossbows"] = 0, - ["Wands"] = 0, - }, - --Mage - [8] = { - --Armor Skills - ["Cloth"] = 1, - ["Leather"] = 0, - ["Mail"] = 0, - ["Plate"] = 0, - ["Shields"] = 0, - --Weapon Skills - ["One-Handed Axes"] = 0, - ["Two-Handed Axes"] = 0, - ["Bows"] = 0, - ["Guns"] = 0, - ["One-Handed Maces"] = 0, - ["Two-Handed Maces"] = 0, - ["Polearms"] = 0, - ["One-Handed Swords"] = 1, - ["Two-Handed Swords"] = 0, - ["Warglaives"] = 0, - ["Staves"] = 1, - ["Fist Weapons"] = 0, - ["Daggers"] = 1, - ["Crossbows"] = 0, - ["Wands"] = 1, - }, - --Warlock - [9] = { - --Armor Skills - ["Cloth"] = 1, - ["Leather"] = 0, - ["Mail"] = 0, - ["Plate"] = 0, - ["Shields"] = 0, - --Weapon Skills - ["One-Handed Axes"] = 0, - ["Two-Handed Axes"] = 0, - ["Bows"] = 0, - ["Guns"] = 0, - ["One-Handed Maces"] = 0, - ["Two-Handed Maces"] = 0, - ["Polearms"] = 0, - ["One-Handed Swords"] = 1, - ["Two-Handed Swords"] = 0, - ["Warglaives"] = 0, - ["Staves"] = 1, - ["Fist Weapons"] = 0, - ["Daggers"] = 1, - ["Crossbows"] = 0, - ["Wands"] = 1, - }, - --Monk - [10] = { - --Armor Skills - ["Cloth"] = 0, - ["Leather"] = 1, - ["Mail"] = 0, - ["Plate"] = 1, - ["Shields"] = 1, - --Weapon Skills - ["One-Handed Axes"] = 1, - ["Two-Handed Axes"] = 0, - ["Bows"] = 0, - ["Guns"] = 0, - ["One-Handed Maces"] = 1, - ["Two-Handed Maces"] = 0, - ["Polearms"] = 1, - ["One-Handed Swords"] = 1, - ["Two-Handed Swords"] = 0, - ["Warglaives"] = 0, - ["Staves"] = 1, - ["Fist Weapons"] = 1, - ["Daggers"] = 0, - ["Crossbows"] = 0, - ["Wands"] = 0, - }, - --Druid - [11] = { - --Armor Skills - ["Cloth"] = 0, - ["Leather"] = 1, - ["Mail"] = 0, - ["Plate"] = 0, - ["Shields"] = 0, - --Weapon Skills - ["One-Handed Axes"] = 0, - ["Two-Handed Axes"] = 0, - ["Bows"] = 0, - ["Guns"] = 0, - ["One-Handed Maces"] = 1, - ["Two-Handed Maces"] = 0, - ["Polearms"] = 1, - ["One-Handed Swords"] = 0, - ["Two-Handed Swords"] = 0, - ["Warglaives"] = 0, - ["Staves"] = 1, - ["Fist Weapons"] = 1, - ["Daggers"] = 1, - ["Crossbows"] = 0, - ["Wands"] = 0, - }, - --Demon Hunter - [12] = { - --Armor Skills - ["Cloth"] = 0, - ["Leather"] = 1, - ["Mail"] = 0, - ["Plate"] = 0, - ["Shields"] = 0, - --Weapon Skills - ["One-Handed Axes"] = 1, - ["Two-Handed Axes"] = 0, - ["Bows"] = 0, - ["Guns"] = 0, - ["One-Handed Maces"] = 0, - ["Two-Handed Maces"] = 0, - ["Polearms"] = 0, - ["One-Handed Swords"] = 1, - ["Two-Handed Swords"] = 0, - ["Warglaives"] = 1, - ["Staves"] = 0, - ["Fist Weapons"] = 1, - ["Daggers"] = 0, - ["Crossbows"] = 0, - ["Wands"] = 0, - }, +aura_env.debug = true +aura_env.filter = { + [1] = true, --Gold + [2] = true, --Azerite + [3] = true, --War resources + [4] = true, --Residuum + [5] = true, --Manapearls + [6] = true, --Mounts + [7] = true, --High ilvl + [8] = false, --Herbs + [9] = true, --Cooking + [10] = true, --Cloth + [11] = false, --Metal & Stone + [12] = true, --Gold filter greys + [13] = true, -- >1 && <4 quality items, no gear + [14] = true, --Quest items + [15] = true, --All greys + [16] = true, --Whitelist + [17] = true, --Quest items (different filter) + [18] = true, --Class aproperiate >2 items + [19] = true, --Jewelery >2 quality + [20] = true, --Additional mount filter + [21] = true, --Tradeskill // Elemental +} +aura_env.ilvlFilter = 200 +aura_env.goldFilter = 0.5 +aura_env.goldFilter = aura_env.goldFilter * 10000 +aura_env.throttleSell = false + +aura_env.whitelist = { + ["Pygmy Suckerfish"] = 1, + ["Drakkari Offerings"] = 1, + ["Deepcoral Pod"] = 1, + ["Hardened Spring"] = 1, + ["Machined Gear Assembly"] = 1, + ["Tempered Plating"] = 1, + ["Hefty Glimmershell"] = 1, + ["Fresh Meat"] = 1, + ["Wood"] = 1, + + + ["Gloom Dust"] = 1, + ["Veiled Crytal"] = 1, + ["Coalescing Visions"] = 1, + ["Echoes of Ny'alotha"] = 1, + ["Corrupted Mementos"] = 1, + + ["Blood of Sargeras"] = 1, + ["Primal Sargerite"] = 1, + + ["Chain Ignitercoil"] = 1, + ["Galvanic Oscillator"] = 1, + ["Corrupted Memento"] = 1, +} +aura_env.sellWhitelist = { + ["Blacksmith Hammer"] = 1, + ["Endless Tincture of Renewed Combat"] = 1, + ["Mr. Munchykins"] = 1, + ["Arclight Spanner"] = 1, + ["Runeblade of Baron Rivendare"] = 1, +} +aura_env.toSell = {} +aura_env.getequipID = function(equip) + if equip == "INVTYPE_HEAD" then return 1 + elseif equip == "INVTYPE_NECK" then return 2 + elseif equip == "INVTYPE_SHOULDER" then return 3 + elseif equip == "INVTYPE_BODY" then return 4 + elseif equip == "INVTYPE_CHEST" or equip == "INVTYPE_ROBE" then return 5 + elseif equip == "INVTYPE_WAIST" then return 6 + elseif equip == "INVTYPE_LEGS" then return 7 + elseif equip == "INVTYPE_FEET" then return 8 + elseif equip == "INVTYPE_WRIST" then return 9 + elseif equip == "INVTYPE_HAND" then return 10 + elseif equip == "INVTYPE_CLOAK" then return 15 + elseif equip == "INVTYPE_WEAPON" or equip == "INVTYPE_WEAPONMAINHAND" or equip == "INVTYPE_2HWEAPON" then return 16 + elseif equip == "INVTYPE_SHIELD" then return 17 + else return nil end +end +aura_env.skills = { + --Warrior + [1] = { + --Armor Skills + ["Cloth"] = 0, + ["Leather"] = 0, + ["Mail"] = 0, + ["Plate"] = 1, + ["Shields"] = 1, + --Weapon Skills + ["One-Handed Axes"] = 1, + ["Two-Handed Axes"] = 1, + ["Bows"] = 1, + ["Guns"] = 1, + ["One-Handed Maces"] = 1, + ["Two-Handed Maces"] = 1, + ["Polearms"] = 1, + ["One-Handed Swords"] = 1, + ["Two-Handed Swords"] = 1, + ["Warglaives"] = 1, + ["Staves"] = 1, + ["Fist Weapons"] = 1, + ["Daggers"] = 1, + ["Crossbows"] = 1, + ["Wands"] = 0, + }, + --Paladin + [2] = { + --Armor Skills + ["Cloth"] = 0, + ["Leather"] = 0, + ["Mail"] = 0, + ["Plate"] = 1, + ["Shields"] = 1, + --Weapon Skills + ["One-Handed Axes"] = 1, + ["Two-Handed Axes"] = 1, + ["Bows"] = 0, + ["Guns"] = 0, + ["One-Handed Maces"] = 1, + ["Two-Handed Maces"] = 1, + ["Polearms"] = 1, + ["One-Handed Swords"] = 1, + ["Two-Handed Swords"] = 1, + ["Warglaives"] = 0, + ["Staves"] = 0, + ["Fist Weapons"] = 0, + ["Daggers"] = 0, + ["Crossbows"] = 0, + ["Wands"] = 0, + }, + --Hunter + [3] = { + --Armor Skills + ["Cloth"] = 0, + ["Leather"] = 0, + ["Mail"] = 1, + ["Plate"] = 0, + ["Shields"] = 0, + --Weapon Skills + ["One-Handed Axes"] = 1, + ["Two-Handed Axes"] = 1, + ["Bows"] = 1, + ["Guns"] = 1, + ["One-Handed Maces"] = 0, + ["Two-Handed Maces"] = 0, + ["Polearms"] = 1, + ["One-Handed Swords"] = 1, + ["Two-Handed Swords"] = 1, + ["Warglaives"] = 0, + ["Staves"] = 1, + ["Fist Weapons"] = 1, + ["Daggers"] = 1, + ["Crossbows"] = 1, + ["Wands"] = 0, + }, + --Rogue + [4] = { + --Armor Skills + ["Cloth"] = 0, + ["Leather"] = 1, + ["Mail"] = 0, + ["Plate"] = 0, + ["Shields"] = 0, + --Weapon Skills + ["One-Handed Axes"] = 1, + ["Two-Handed Axes"] = 0, + ["Bows"] = 0, + ["Guns"] = 0, + ["One-Handed Maces"] = 1, + ["Two-Handed Maces"] = 0, + ["Polearms"] = 0, + ["One-Handed Swords"] = 1, + ["Two-Handed Swords"] = 0, + ["Warglaives"] = 0, + ["Staves"] = 0, + ["Fist Weapons"] = 1, + ["Daggers"] = 1, + ["Crossbows"] = 0, + ["Wands"] = 0, + }, + --Priest + [5] = { + --Armor Skills + ["Cloth"] = 1, + ["Leather"] = 0, + ["Mail"] = 0, + ["Plate"] = 0, + ["Shields"] = 0, + --Weapon Skills + ["One-Handed Axes"] = 0, + ["Two-Handed Axes"] = 0, + ["Bows"] = 0, + ["Guns"] = 0, + ["One-Handed Maces"] = 1, + ["Two-Handed Maces"] = 0, + ["Polearms"] = 0, + ["One-Handed Swords"] = 0, + ["Two-Handed Swords"] = 0, + ["Warglaives"] = 0, + ["Staves"] = 1, + ["Fist Weapons"] = 0, + ["Daggers"] = 1, + ["Crossbows"] = 0, + ["Wands"] = 1, + }, + --Death Knight + [6] = { + --Armor Skills + ["Cloth"] = 0, + ["Leather"] = 0, + ["Mail"] = 0, + ["Plate"] = 1, + ["Shields"] = 0, + --Weapon Skills + ["One-Handed Axes"] = 1, + ["Two-Handed Axes"] = 1, + ["Bows"] = 0, + ["Guns"] = 0, + ["One-Handed Maces"] = 1, + ["Two-Handed Maces"] = 1, + ["Polearms"] = 1, + ["One-Handed Swords"] = 1, + ["Two-Handed Swords"] = 1, + ["Warglaives"] = 0, + ["Staves"] = 0, + ["Fist Weapons"] = 0, + ["Daggers"] = 0, + ["Crossbows"] = 0, + ["Wands"] = 0, + }, + --Shaman + [7] = { + --Armor Skills + ["Cloth"] = 0, + ["Leather"] = 0, + ["Mail"] = 1, + ["Plate"] = 0, + ["Shields"] = 1, + --Weapon Skills + ["One-Handed Axes"] = 1, + ["Two-Handed Axes"] = 0, + ["Bows"] = 0, + ["Guns"] = 0, + ["One-Handed Maces"] = 1, + ["Two-Handed Maces"] = 0, + ["Polearms"] = 0, + ["One-Handed Swords"] = 0, + ["Two-Handed Swords"] = 0, + ["Warglaives"] = 0, + ["Staves"] = 1, + ["Fist Weapons"] = 1, + ["Daggers"] = 1, + ["Crossbows"] = 0, + ["Wands"] = 0, + }, + --Mage + [8] = { + --Armor Skills + ["Cloth"] = 1, + ["Leather"] = 0, + ["Mail"] = 0, + ["Plate"] = 0, + ["Shields"] = 0, + --Weapon Skills + ["One-Handed Axes"] = 0, + ["Two-Handed Axes"] = 0, + ["Bows"] = 0, + ["Guns"] = 0, + ["One-Handed Maces"] = 0, + ["Two-Handed Maces"] = 0, + ["Polearms"] = 0, + ["One-Handed Swords"] = 1, + ["Two-Handed Swords"] = 0, + ["Warglaives"] = 0, + ["Staves"] = 1, + ["Fist Weapons"] = 0, + ["Daggers"] = 1, + ["Crossbows"] = 0, + ["Wands"] = 1, + }, + --Warlock + [9] = { + --Armor Skills + ["Cloth"] = 1, + ["Leather"] = 0, + ["Mail"] = 0, + ["Plate"] = 0, + ["Shields"] = 0, + --Weapon Skills + ["One-Handed Axes"] = 0, + ["Two-Handed Axes"] = 0, + ["Bows"] = 0, + ["Guns"] = 0, + ["One-Handed Maces"] = 0, + ["Two-Handed Maces"] = 0, + ["Polearms"] = 0, + ["One-Handed Swords"] = 1, + ["Two-Handed Swords"] = 0, + ["Warglaives"] = 0, + ["Staves"] = 1, + ["Fist Weapons"] = 0, + ["Daggers"] = 1, + ["Crossbows"] = 0, + ["Wands"] = 1, + }, + --Monk + [10] = { + --Armor Skills + ["Cloth"] = 0, + ["Leather"] = 1, + ["Mail"] = 0, + ["Plate"] = 1, + ["Shields"] = 1, + --Weapon Skills + ["One-Handed Axes"] = 1, + ["Two-Handed Axes"] = 0, + ["Bows"] = 0, + ["Guns"] = 0, + ["One-Handed Maces"] = 1, + ["Two-Handed Maces"] = 0, + ["Polearms"] = 1, + ["One-Handed Swords"] = 1, + ["Two-Handed Swords"] = 0, + ["Warglaives"] = 0, + ["Staves"] = 1, + ["Fist Weapons"] = 1, + ["Daggers"] = 0, + ["Crossbows"] = 0, + ["Wands"] = 0, + }, + --Druid + [11] = { + --Armor Skills + ["Cloth"] = 0, + ["Leather"] = 1, + ["Mail"] = 0, + ["Plate"] = 0, + ["Shields"] = 0, + --Weapon Skills + ["One-Handed Axes"] = 0, + ["Two-Handed Axes"] = 0, + ["Bows"] = 0, + ["Guns"] = 0, + ["One-Handed Maces"] = 1, + ["Two-Handed Maces"] = 0, + ["Polearms"] = 1, + ["One-Handed Swords"] = 0, + ["Two-Handed Swords"] = 0, + ["Warglaives"] = 0, + ["Staves"] = 1, + ["Fist Weapons"] = 1, + ["Daggers"] = 1, + ["Crossbows"] = 0, + ["Wands"] = 0, + }, + --Demon Hunter + [12] = { + --Armor Skills + ["Cloth"] = 0, + ["Leather"] = 1, + ["Mail"] = 0, + ["Plate"] = 0, + ["Shields"] = 0, + --Weapon Skills + ["One-Handed Axes"] = 1, + ["Two-Handed Axes"] = 0, + ["Bows"] = 0, + ["Guns"] = 0, + ["One-Handed Maces"] = 0, + ["Two-Handed Maces"] = 0, + ["Polearms"] = 0, + ["One-Handed Swords"] = 1, + ["Two-Handed Swords"] = 0, + ["Warglaives"] = 1, + ["Staves"] = 0, + ["Fist Weapons"] = 1, + ["Daggers"] = 0, + ["Crossbows"] = 0, + ["Wands"] = 0, + }, } \ No newline at end of file diff --git a/NewAge/Automation/LOOT_READY.lua b/NewAge/Automation/LOOT_READY.lua index dc26120..d4bb2e2 100644 --- a/NewAge/Automation/LOOT_READY.lua +++ b/NewAge/Automation/LOOT_READY.lua @@ -1,69 +1,69 @@ --- LOOT_READY LOOT_OPENED - -function(e, ...) - local slot = 1 - local lootinfo = GetLootInfo() - for k, v in pairs(lootinfo) do - if v.locked == false then - local link = GetLootSlotLink(slot) - if not link then link = GetLootSlotLink(slot) end - if aura_env.filter[1] == true and (v.item:match("%d+ Gold") or v.item:match("%d+ Silver") or v.item:match("%d+ Copper")) then - LootSlot(slot) - elseif aura_env.filter[2] == true and link:match("Azerite") then - LootSlot(slot) - elseif aura_env.filter[3] == true and v.item:match("War Resources") then - LootSlot(slot) - elseif aura_env.filter[4] == true and v.item:match("Residuum") then - LootSlot(slot) - elseif aura_env.filter[5] == true and v.item:match("Manapearl") then - LootSlot(slot) - end - if link then - local type = select(6, GetItemInfo(link)) or "" - local subtype = select(7, GetItemInfo(link)) or "" - local ilvl = select(4, GetItemInfo(link)) or 0 - local equip = select(9, GetItemInfo(link)) - if aura_env.filter[6] == true and (select(7, GetItemInfo(link)) or 0) == "Mount" then - LootSlot(slot) - elseif aura_env.filter[7] == true and ilvl > aura_env.ilvlFilter then - LootSlot(slot) - elseif aura_env.filter[8] == true and (select(7, GetItemInfo(link)) or 0) == "Herb" then - LootSlot(slot) - elseif aura_env.filter[9] == true and (select(7, GetItemInfo(link)) or 0) == "Cooking" then - LootSlot(slot) - elseif aura_env.filter[10] == true and (select(7, GetItemInfo(link)) or 0) == "Cloth" and type == "Tradeskill" then - LootSlot(slot) - elseif aura_env.filter[11] == true and (select(7, GetItemInfo(link)) or 0) == "Metal & Stone" then - LootSlot(slot) - elseif aura_env.filter[12] == true and (select(11, GetItemInfo(link)) or 0) > aura_env.goldFilter and v.quality == 0 then - LootSlot(slot) - elseif aura_env.filter[13] == true and v.quality > 1 and v.quality < 4 and type ~= "Weapon" and type ~= "Armor" then - LootSlot(slot) - elseif aura_env.filter[14] == true and v.isQuestItem == true then - LootSlot(slot) - elseif aura_env.filter[15] == true and v.quality == 0 then - LootSlot(slot) - elseif aura_env.filter[16] == true and aura_env.whitelist[v.item] then - LootSlot(slot) - elseif aura_env.filter[17] == true and type == "Quest" and subtype == "Quest" then - LootSlot(slot) - elseif aura_env.filter[21] == true and type == "Tradeskill" and subtype == "Elemental" then - LootSlot(slot) - else - if type == "Weapon" or type == "Armor" then - if aura_env.filter[18] == true and aura_env.skills[select(3, UnitClass("player"))][subtype] == 1 and v.quality > 2 then - LootSlot(slot) - elseif aura_env.filter[19] == true and (equip == "INVTYPE_FINGER" or equip == "INVTYPE_TRINKET" or equip == "INVTYPE_CLOAK" or equip == "INVTYPE_NECK") and v.quality > 2 then - LootSlot(slot) - end - elseif aura_env.filter[20] == true and type == "Miscellaneous" then - if subtype == "Mount" then - LootSlot(slot) - end - end - end - end - slot = slot + 1 - end - end +-- LOOT_READY LOOT_OPENED + +function(e, ...) + local slot = 1 + local lootinfo = GetLootInfo() + for k, v in pairs(lootinfo) do + if v.locked == false then + local link = GetLootSlotLink(slot) + if not link then link = GetLootSlotLink(slot) end + if aura_env.filter[1] == true and (v.item:match("%d+ Gold") or v.item:match("%d+ Silver") or v.item:match("%d+ Copper")) then + LootSlot(slot) + elseif aura_env.filter[2] == true and link:match("Azerite") then + LootSlot(slot) + elseif aura_env.filter[3] == true and v.item:match("War Resources") then + LootSlot(slot) + elseif aura_env.filter[4] == true and v.item:match("Residuum") then + LootSlot(slot) + elseif aura_env.filter[5] == true and v.item:match("Manapearl") then + LootSlot(slot) + end + if link then + local type = select(6, GetItemInfo(link)) or "" + local subtype = select(7, GetItemInfo(link)) or "" + local ilvl = select(4, GetItemInfo(link)) or 0 + local equip = select(9, GetItemInfo(link)) + if aura_env.filter[6] == true and (select(7, GetItemInfo(link)) or 0) == "Mount" then + LootSlot(slot) + elseif aura_env.filter[7] == true and ilvl > aura_env.ilvlFilter then + LootSlot(slot) + elseif aura_env.filter[8] == true and (select(7, GetItemInfo(link)) or 0) == "Herb" then + LootSlot(slot) + elseif aura_env.filter[9] == true and (select(7, GetItemInfo(link)) or 0) == "Cooking" then + LootSlot(slot) + elseif aura_env.filter[10] == true and (select(7, GetItemInfo(link)) or 0) == "Cloth" and type == "Tradeskill" then + LootSlot(slot) + elseif aura_env.filter[11] == true and (select(7, GetItemInfo(link)) or 0) == "Metal & Stone" then + LootSlot(slot) + elseif aura_env.filter[12] == true and (select(11, GetItemInfo(link)) or 0) > aura_env.goldFilter and v.quality == 0 then + LootSlot(slot) + elseif aura_env.filter[13] == true and v.quality > 1 and v.quality < 4 and type ~= "Weapon" and type ~= "Armor" then + LootSlot(slot) + elseif aura_env.filter[14] == true and v.isQuestItem == true then + LootSlot(slot) + elseif aura_env.filter[15] == true and v.quality == 0 then + LootSlot(slot) + elseif aura_env.filter[16] == true and aura_env.whitelist[v.item] then + LootSlot(slot) + elseif aura_env.filter[17] == true and type == "Quest" and subtype == "Quest" then + LootSlot(slot) + elseif aura_env.filter[21] == true and type == "Tradeskill" and subtype == "Elemental" then + LootSlot(slot) + else + if type == "Weapon" or type == "Armor" then + if aura_env.filter[18] == true and aura_env.skills[select(3, UnitClass("player"))][subtype] == 1 and v.quality > 2 then + LootSlot(slot) + elseif aura_env.filter[19] == true and (equip == "INVTYPE_FINGER" or equip == "INVTYPE_TRINKET" or equip == "INVTYPE_CLOAK" or equip == "INVTYPE_NECK") and v.quality > 2 then + LootSlot(slot) + end + elseif aura_env.filter[20] == true and type == "Miscellaneous" then + if subtype == "Mount" then + LootSlot(slot) + end + end + end + end + slot = slot + 1 + end + end end \ No newline at end of file diff --git a/NewAge/CataAuraBar/CustomOptions.lua b/NewAge/CataAuraBar/CustomOptions.lua index 462869e..276c13d 100644 --- a/NewAge/CataAuraBar/CustomOptions.lua +++ b/NewAge/CataAuraBar/CustomOptions.lua @@ -1,20 +1,20 @@ -{ - IsOnCooldown = { - type = "bool", - test = function(state, needle) - return state.IsOnCooldown == (needle == 1) - end, - }, - IsActive = { - type = "bool", - test = function(state, needle) - return state.IsActive == (needle == 1) - end, - }, - IsDebuff = { - type = "bool", - test = function(state, needle) - return state.IsBad == (needle == 1) - end, - }, +{ + IsOnCooldown = { + type = "bool", + test = function(state, needle) + return state.IsOnCooldown == (needle == 1) + end, + }, + IsActive = { + type = "bool", + test = function(state, needle) + return state.IsActive == (needle == 1) + end, + }, + IsDebuff = { + type = "bool", + test = function(state, needle) + return state.IsBad == (needle == 1) + end, + }, } \ No newline at end of file diff --git a/NewAge/CataAuraBar/CustomText.lua b/NewAge/CataAuraBar/CustomText.lua index 5fc5c1a..2240411 100644 --- a/NewAge/CataAuraBar/CustomText.lua +++ b/NewAge/CataAuraBar/CustomText.lua @@ -1,11 +1,11 @@ -function() - if aura_env.state.pname then - output = "" - if aura_env.state.pclass then - output = aura_env.GetClassColor(aura_env.state.pclass) .. aura_env.state.pname .. "\124r" - else - output = aura_env.state.pname - end - return output - end +function() + if aura_env.statee.pname then + output = "" + if aura_env.statee.pclass then + output = aura_env.GetClassColor(aura_env.statee.pclass) .. aura_env.statee.pname .. "\124r" + else + output = aura_env.statee.pname + end + return output + end end \ No newline at end of file diff --git a/NewAge/CataAuraBar/INIT.lua b/NewAge/CataAuraBar/INIT.lua index 391db19..fa28845 100644 --- a/NewAge/CataAuraBar/INIT.lua +++ b/NewAge/CataAuraBar/INIT.lua @@ -1,308 +1,308 @@ -local function StrSplit(inputString, separator) - local outputTable = {} - for str in string.gmatch(inputString, "([^" .. separator .. "]+)") do - outputTable[#outputTable + 1] = str - end - return outputTable -end - -local function PrintTable(table) - for k,v in pairs(table) do - print(k .. " " .. v) - end -end - -aura_env.GetClassColor = function(class) - if class == "Death Knight" then - return "\124cFFC41E3A" - elseif class == "Druid" then - return "\124cFFFF7C0A" - elseif class == "Hunter" then - return "\124cFFAAD372" - elseif class == "Mage" then - return "\124cFF3FC7EB" - elseif class == "Paladin" then - return "\124cFFF48CBA" - elseif class == "Priest" then - return "\124cFFFFFFFF" - elseif class == "Rogue" then - return "\124cFFFFF468" - elseif class == "Shaman" then - return "\124cFF0070DD" - elseif class == "Warlock" then - return "\124cFF8788EE" - elseif class == "Warrior" then - return "\124cFFC69B6D" - end -end - -local Unit = { - New = function(self, unit) - o = { - ["unit"] = unit, - } - setmetatable(o, self) - self.__index = self - return o - end, - - GetAuras = function(self, auraFunc, name, type) - return nil - end, -} -local BasicUnit = Unit:New("player") -function BasicUnit:GetAuras(auraFunc, name) - local aura, _, _, stacks, _, duration, expirationTime, _, _, _, spellID = auraFunc(self.unit, name) - if aura ~= nil then - return { - [UnitName(self.unit)] = { - ["duration"] = duration, - ["expirationTime"] = expirationTime, - ["spellID"] = spellID, - ["stacks"] = stacks or 1, - } - } - else - return {} - end -end --- Maybe implement some sort of throttle to group unit? -local GroupUnit = Unit:New("group") -function GroupUnit:GetAuras(auraFunc, name) - local raidMem = GetNumRaidMembers() - local num = GetNumPartyMembers() - local unitPrefix = "party" - if raidMem > num then - unitPrefix = "raid" - num = raidMem - end - auras = {} - for i = 1, num do - local aura, _, _, stacks, _, duration, expirationTime, _, _, _, spellID = auraFunc(unitPrefix .. i, name) - if aura ~= nil then - auras[UnitName(unitPrefix .. i)] = { - ["duration"] = duration, - ["expirationTime"] = expirationTime, - ["spellID"] = spellID, - ["class"] = UnitClass(unitPrefix .. i) or "Paladin", - ["stacks"] = stacks or 1, - } - end - end - if unitPrefix == "party" then - local aura, _, _, stacks, _, duration, expirationTime, _, _, _, spellID = auraFunc("player", name) - if aura ~= nil then - auras[UnitName("player")] = { - ["duration"] = duration, - ["expirationTime"] = expirationTime, - ["spellID"] = spellID, - ["class"] = UnitClass(unitPrefix .. i) or "Paladin", - ["stacks"] = stacks or 1, - } - end - end - return auras -end --- Nameplate does not work, find out why? -local NameplateUnit = Unit:New("nameplate") -function NameplateUnit:GetAuras(auraFunc, name) - local unitPrefix = "nameplate" - auras = {} - for i = 1, 40 do - local aura, _, _, stacks, _, duration, expirationTime, _, _, _, spellID = auraFunc(auraPrefix .. i, name) - if aura ~= nil then - auras[UnitName(unitPrefix .. i)] = { - ["duration"] = duration, - ["expirationTime"] = expirationTime, - ["spellID"] = spellID, - ["stacks"] = stacks or 1, - } - end - end - return auras -end - -local UnitFactory = { - New = function(self) - o = {} - setmetatable(o, self) - self.__index = self - return o - end, - - CreateUnit = function(self, target) - target = string.lower(target) - if target == "player" or target == "target" or target == "focus" then - return BasicUnit:New(target) - elseif target == "group" then - return GroupUnit:New(target) - elseif target == "nameplate" then - return NameplateUnit:New(target) - end - end, -} -local unitFactory = UnitFactory:New() - -local Aura = { - New = function(self, entry, index) - o = { - ["name"] = entry.auraName, - ["unit"] = entry.target, - ["hasCooldown"] = entry.hasCooldown, - ["index"] = index, - ["GetAura"] = entry.GetAura, - } - setmetatable(o, self) - self.__index = self - return o - end, - - IsActive = function(self) - for k,v in pairs(self.unit:GetAuras(self.GetAura, self.name)) do - for k2, v2 in pairs(v) do - end - return true - end - return false - end, - IsOnCooldown = function(self) - if not self.hasCooldown then - return false - end - return GetSpellCooldown(self.name) > 0 - end, - - AddAsAura = function(self, allstates) - local auras = self.unit:GetAuras(self.GetAura, self.name) - for k,v in pairs(auras) do - duration = v.duration - expirationTime = v.expirationTime - icon = self:GetAuraIcon(v.spellID) - allstates[self.name .. k] = { - changed = true, - show = true, - resort = true, - progressType = "timed", - duration = duration, - expirationTime = expirationTime, - index = self.index, - icon = icon, - pname = k, - stacks = v.stacks, - pclass = v.class, - IsOnCooldown = true, - IsActive = true, - IsBad = self.GetAura == UnitDebuff, - } - end - end, - AddAsCooldown = function(self, allstates) - if not self.hasCooldown then - return false - end - startTime, duration = GetSpellCooldown(self.name) - icon = self:GetSpellIcon() - allstates[self.name] = { - changed = true, - show = true, - resort = true, - progressType = "timed", - duration = duration, - expirationTime = startTime + duration, - index = self.index, - icon = icon, - IsOnCooldown = true, - IsActive = false, - IsBad = self.GetAura == UnitDebuff, - } - end, - AddAsIcon = function(self, allstates) - if not self.hasCooldown then - return false - end - icon = self:GetSpellIcon() - allstates[self.name] = { - changed = true, - show = true, - resort = true, - progressType = "static", - value = 1, - total = 1, - index = self.index, - icon = icon, - IsOnCooldown = false, - IsActive = false, - IsBad = self.GetAura == UnitDebuff, - } - end, - - GetSpellIcon = function(self) - return select(3, GetSpellInfo(self.name)) - end, - GetAuraIcon = function(self, spellID) - return select(3, GetSpellInfo(spellID)) - end, -} - -local Entry = { - New = function(self, entry) - entry = self:TrimWhitespace(entry) - - local entryData = StrSplit(entry, ",") - local name = self:ReadEntryData(entryData, 1) - local type = self:ReadEntryData(entryData, 2) or "Buff" - local target = unitFactory:CreateUnit(self:ReadEntryData(entryData, 3) or "Player") - local cooldown = (self:ReadEntryData(entryData, 4) == "0") or false - cooldown = not cooldown - local GetAura = UnitBuff - - if type == "Debuff" then GetAura = UnitDebuff end - - o = { - ["entry"] = entry, - ["auraName"] = name, - ["GetAura"] = GetAura, - ["target"] = target, - ["hasCooldown"] = cooldown, - } - setmetatable(o, self) - self.__index = self - return o - end, - - ReadEntryData = function(self, entryData, index) - local str = entryData[index] - if str == nil then - return nil - end - str = self:TrimWhitespace(str) - return str - end, - - TrimWhitespace = function(self, str) - str = str:gsub("^[ ]+", "") - str = str:gsub("\n$", "") - str = str:gsub("[ ]+$", "") - return str - end, -} - -aura_env.auras = {} -for entry in string.gmatch(aura_env.config.spellList, "([a-zA-Z,0-9 ]+)") do - entry = Entry:New(entry) - - auraObj = Aura:New(entry, #aura_env.auras + 1) - aura_env.auras[#aura_env.auras + 1] = auraObj -end - -aura_env.HandleEvent = function(allstates) - for k, v in ipairs(aura_env.auras) do - if v:IsActive() then - v:AddAsAura(allstates) - elseif v:IsOnCooldown() and not v:IsActive() then - v:AddAsCooldown(allstates) - elseif not v:IsOnCooldown() and not v:IsActive() then - v:AddAsIcon(allstates) - end - end +local function StrSplit(inputString, separator) + local outputTable = {} + for str in string.gmatch(inputString, "([^" .. separator .. "]+)") do + outputTable[#outputTable + 1] = str + end + return outputTable +end + +local function PrintTable(table) + for k,v in pairs(table) do + print(k .. " " .. v) + end +end + +aura_env.GetClassColor = function(class) + if class == "Death Knight" then + return "\124cFFC41E3A" + elseif class == "Druid" then + return "\124cFFFF7C0A" + elseif class == "Hunter" then + return "\124cFFAAD372" + elseif class == "Mage" then + return "\124cFF3FC7EB" + elseif class == "Paladin" then + return "\124cFFF48CBA" + elseif class == "Priest" then + return "\124cFFFFFFFF" + elseif class == "Rogue" then + return "\124cFFFFF468" + elseif class == "Shaman" then + return "\124cFF0070DD" + elseif class == "Warlock" then + return "\124cFF8788EE" + elseif class == "Warrior" then + return "\124cFFC69B6D" + end +end + +local Unit = { + New = function(self, unit) + o = { + ["unit"] = unit, + } + setmetatable(o, self) + self.__index = self + return o + end, + + GetAuras = function(self, auraFunc, name, type) + return nil + end, +} +local BasicUnit = Unit:New("player") +function BasicUnit:GetAuras(auraFunc, name) + local aura, _, _, stacks, _, duration, expirationTime, _, _, _, spellID = auraFunc(self.unit, name) + if aura ~= nil then + return { + [UnitName(self.unit)] = { + ["duration"] = duration, + ["expirationTime"] = expirationTime, + ["spellID"] = spellID, + ["stacks"] = stacks or 1, + } + } + else + return {} + end +end +-- Maybe implement some sort of throttle to group unit? +local GroupUnit = Unit:New("group") +function GroupUnit:GetAuras(auraFunc, name) + local raidMem = GetNumRaidMembers() + local num = GetNumPartyMembers() + local unitPrefix = "party" + if raidMem > num then + unitPrefix = "raid" + num = raidMem + end + auras = {} + for i = 1, num do + local aura, _, _, stacks, _, duration, expirationTime, _, _, _, spellID = auraFunc(unitPrefix .. i, name) + if aura ~= nil then + auras[UnitName(unitPrefix .. i)] = { + ["duration"] = duration, + ["expirationTime"] = expirationTime, + ["spellID"] = spellID, + ["class"] = UnitClass(unitPrefix .. i) or "Paladin", + ["stacks"] = stacks or 1, + } + end + end + if unitPrefix == "party" then + local aura, _, _, stacks, _, duration, expirationTime, _, _, _, spellID = auraFunc("player", name) + if aura ~= nil then + auras[UnitName("player")] = { + ["duration"] = duration, + ["expirationTime"] = expirationTime, + ["spellID"] = spellID, + ["class"] = UnitClass(unitPrefix .. i) or "Paladin", + ["stacks"] = stacks or 1, + } + end + end + return auras +end +-- Nameplate does not work, find out why? +local NameplateUnit = Unit:New("nameplate") +function NameplateUnit:GetAuras(auraFunc, name) + local unitPrefix = "nameplate" + auras = {} + for i = 1, 40 do + local aura, _, _, stacks, _, duration, expirationTime, _, _, _, spellID = auraFunc(auraPrefix .. i, name) + if aura ~= nil then + auras[UnitName(unitPrefix .. i)] = { + ["duration"] = duration, + ["expirationTime"] = expirationTime, + ["spellID"] = spellID, + ["stacks"] = stacks or 1, + } + end + end + return auras +end + +local UnitFactory = { + New = function(self) + o = {} + setmetatable(o, self) + self.__index = self + return o + end, + + CreateUnit = function(self, target) + target = string.lower(target) + if target == "player" or target == "target" or target == "focus" then + return BasicUnit:New(target) + elseif target == "group" then + return GroupUnit:New(target) + elseif target == "nameplate" then + return NameplateUnit:New(target) + end + end, +} +local unitFactory = UnitFactory:New() + +local Aura = { + New = function(self, entry, index) + o = { + ["name"] = entry.auraName, + ["unit"] = entry.target, + ["hasCooldown"] = entry.hasCooldown, + ["index"] = index, + ["GetAura"] = entry.GetAura, + } + setmetatable(o, self) + self.__index = self + return o + end, + + IsActive = function(self) + for k,v in pairs(self.unit:GetAuras(self.GetAura, self.name)) do + for k2, v2 in pairs(v) do + end + return true + end + return false + end, + IsOnCooldown = function(self) + if not self.hasCooldown then + return false + end + return GetSpellCooldown(self.name) > 0 + end, + + AddAsAura = function(self, allstates) + local auras = self.unit:GetAuras(self.GetAura, self.name) + for k,v in pairs(auras) do + duration = v.duration + expirationTime = v.expirationTime + icon = self:GetAuraIcon(v.spellID) + allstates[self.name .. k] = { + changed = true, + show = true, + resort = true, + progressType = "timed", + duration = duration, + expirationTime = expirationTime, + index = self.index, + icon = icon, + pname = k, + stacks = v.stacks, + pclass = v.class, + IsOnCooldown = true, + IsActive = true, + IsBad = self.GetAura == UnitDebuff, + } + end + end, + AddAsCooldown = function(self, allstates) + if not self.hasCooldown then + return false + end + startTime, duration = GetSpellCooldown(self.name) + icon = self:GetSpellIcon() + allstates[self.name] = { + changed = true, + show = true, + resort = true, + progressType = "timed", + duration = duration, + expirationTime = startTime + duration, + index = self.index, + icon = icon, + IsOnCooldown = true, + IsActive = false, + IsBad = self.GetAura == UnitDebuff, + } + end, + AddAsIcon = function(self, allstates) + if not self.hasCooldown then + return false + end + icon = self:GetSpellIcon() + allstates[self.name] = { + changed = true, + show = true, + resort = true, + progressType = "static", + value = 1, + total = 1, + index = self.index, + icon = icon, + IsOnCooldown = false, + IsActive = false, + IsBad = self.GetAura == UnitDebuff, + } + end, + + GetSpellIcon = function(self) + return select(3, GetSpellInfo(self.name)) + end, + GetAuraIcon = function(self, spellID) + return select(3, GetSpellInfo(spellID)) + end, +} + +local Entry = { + New = function(self, entry) + entry = self:TrimWhitespace(entry) + + local entryData = StrSplit(entry, ",") + local name = self:ReadEntryData(entryData, 1) + local type = self:ReadEntryData(entryData, 2) or "Buff" + local target = unitFactory:CreateUnit(self:ReadEntryData(entryData, 3) or "Player") + local cooldown = (self:ReadEntryData(entryData, 4) == "0") or false + cooldown = not cooldown + local GetAura = UnitBuff + + if type == "Debuff" then GetAura = UnitDebuff end + + o = { + ["entry"] = entry, + ["auraName"] = name, + ["GetAura"] = GetAura, + ["target"] = target, + ["hasCooldown"] = cooldown, + } + setmetatable(o, self) + self.__index = self + return o + end, + + ReadEntryData = function(self, entryData, index) + local str = entryData[index] + if str == nil then + return nil + end + str = self:TrimWhitespace(str) + return str + end, + + TrimWhitespace = function(self, str) + str = str:gsub("^[ ]+", "") + str = str:gsub("\n$", "") + str = str:gsub("[ ]+$", "") + return str + end, +} + +aura_env.auras = {} +for entry in string.gmatch(aura_env.config.spellList, "([a-zA-Z,0-9 ]+)") do + entry = Entry:New(entry) + + auraObj = Aura:New(entry, #aura_env.auras + 1) + aura_env.auras[#aura_env.auras + 1] = auraObj +end + +aura_env.HandleEvent = function(allstates) + for k, v in ipairs(aura_env.auras) do + if v:IsActive() then + v:AddAsAura(allstates) + elseif v:IsOnCooldown() and not v:IsActive() then + v:AddAsCooldown(allstates) + elseif not v:IsOnCooldown() and not v:IsActive() then + v:AddAsIcon(allstates) + end + end end \ No newline at end of file diff --git a/NewAge/CataAuraBar/INIT_BFA.lua b/NewAge/CataAuraBar/INIT_BFA.lua index 3da4350..0157b4c 100644 --- a/NewAge/CataAuraBar/INIT_BFA.lua +++ b/NewAge/CataAuraBar/INIT_BFA.lua @@ -1,317 +1,317 @@ -local function StrSplit(inputString, separator) - local outputTable = {} - for str in string.gmatch(inputString, "([^" .. separator .. "]+)") do - outputTable[#outputTable + 1] = str - end - return outputTable -end - -local function PrintTable(table) - for k,v in pairs(table) do - print(k .. " " .. v) - end -end - -local function GetAuraIndex(func, unit, name) - for i = 1, 40 do - local aura = func(unit, i) - if aura == "name" then return i end - if aura == nil then return 0 end - end - return 0 -end - -aura_env.GetClassColor = function(class) - if class == "Death Knight" then - return "\124cFFC41E3A" - elseif class == "Druid" then - return "\124cFFFF7C0A" - elseif class == "Hunter" then - return "\124cFFAAD372" - elseif class == "Mage" then - return "\124cFF3FC7EB" - elseif class == "Paladin" then - return "\124cFFF48CBA" - elseif class == "Priest" then - return "\124cFFFFFFFF" - elseif class == "Rogue" then - return "\124cFFFFF468" - elseif class == "Shaman" then - return "\124cFF0070DD" - elseif class == "Warlock" then - return "\124cFF8788EE" - elseif class == "Warrior" then - return "\124cFFC69B6D" - end -end - -local Unit = { - New = function(self, unit) - o = { - ["unit"] = unit, - } - setmetatable(o, self) - self.__index = self - return o - end, - - GetAuras = function(self, auraFunc, name, type) - return nil - end, -} -local BasicUnit = Unit:New("player") -function BasicUnit:GetAuras(auraFunc, name) - local aura, _, _, stacks, _, duration, expirationTime, _, _, _, spellID = auraFunc(self.unit, name) - if aura ~= nil then - return { - [UnitName(self.unit)] = { - ["duration"] = duration, - ["expirationTime"] = expirationTime, - ["spellID"] = spellID, - ["stacks"] = stacks or 1, - } - } - else - return {} - end -end --- Maybe implement some sort of throttle to group unit? -local GroupUnit = Unit:New("group") -function GroupUnit:GetAuras(auraFunc, name) - local num = GetNumGroupMembers() - local unitPrefix = "party" - if IsInRaid() then - unitPrefix = "raid" - end - auras = {} - for i = 1, num do - -- local aura, _, _, stacks, _, duration, expirationTime, _, _, _, spellID = auraFunc(unitPrefix .. i, name) - local auraIndex = GetAuraIndex(auraFunc, unitPrefix .. i, name) - if auraIndex > 0 then - local aura, _, _, stacks, _, duration, expirationTime, _, _, _, spellID = auraFunc(unitPrefix .. i, auraIndex) - auras[UnitName(unitPrefix .. i)] = { - ["duration"] = duration, - ["expirationTime"] = expirationTime, - ["spellID"] = spellID, - ["class"] = UnitClass(unitPrefix .. i) or "Paladin", - ["stacks"] = stacks or 1, - } - end - end - if unitPrefix == "party" then - -- local aura, _, _, stacks, _, duration, expirationTime, _, _, _, spellID = auraFunc("player", name) - local auraIndex = GetAuraIndex(auraFunc, "player", name)if auraIndex > 0 then - local aura, _, _, stacks, _, duration, expirationTime, _, _, _, spellID = auraFunc("player", auraIndex) - auras[UnitName("player")] = { - ["duration"] = duration, - ["expirationTime"] = expirationTime, - ["spellID"] = spellID, - ["class"] = UnitClass(unitPrefix .. i) or "Paladin", - ["stacks"] = stacks or 1, - } - end - end - return auras -end --- Nameplate does not work, find out why? -local NameplateUnit = Unit:New("nameplate") -function NameplateUnit:GetAuras(auraFunc, name) - local unitPrefix = "nameplate" - auras = {} - for i = 1, 40 do - -- local aura, _, _, stacks, _, duration, expirationTime, _, _, _, spellID = auraFunc(unitPrefix .. i, name) - local auraIndex = GetAuraIndex(auraFunc, unitPrefix .. i, name)if auraIndex > 0 then - local aura, _, _, stacks, _, duration, expirationTime, _, _, _, spellID = auraFunc("player", auraIndex) - auras[UnitName(unitPrefix .. i)] = { - ["duration"] = duration, - ["expirationTime"] = expirationTime, - ["spellID"] = spellID, - ["stacks"] = stacks or 1, - } - end - end - return auras -end - -local UnitFactory = { - New = function(self) - o = {} - setmetatable(o, self) - self.__index = self - return o - end, - - CreateUnit = function(self, target) - target = string.lower(target) - if target == "player" or target == "target" or target == "focus" then - return BasicUnit:New(target) - elseif target == "group" then - return GroupUnit:New(target) - elseif target == "nameplate" then - return NameplateUnit:New(target) - end - end, -} -local unitFactory = UnitFactory:New() - -local Aura = { - New = function(self, entry, index) - o = { - ["name"] = entry.auraName, - ["unit"] = entry.target, - ["hasCooldown"] = entry.hasCooldown, - ["index"] = index, - ["GetAura"] = entry.GetAura, - } - setmetatable(o, self) - self.__index = self - return o - end, - - IsActive = function(self) - for k,v in pairs(self.unit:GetAuras(self.GetAura, self.name)) do - return true - end - return false - end, - IsOnCooldown = function(self) - if not self.hasCooldown then - return false - end - return GetSpellCooldown(self.name) > 0 - end, - - AddAsAura = function(self, allstates) - local auras = self.unit:GetAuras(self.GetAura, self.name) - for k,v in pairs(auras) do - duration = v.duration - expirationTime = v.expirationTime - icon = self:GetAuraIcon(v.spellID) - allstates[self.name .. k] = { - changed = true, - show = true, - resort = true, - progressType = "timed", - duration = duration, - expirationTime = expirationTime, - index = self.index, - icon = icon, - pname = k, - stacks = v.stacks, - pclass = v.class, - IsOnCooldown = true, - IsActive = true, - IsBad = self.GetAura == UnitDebuff, - } - end - end, - AddAsCooldown = function(self, allstates) - if not self.hasCooldown then - return false - end - startTime, duration = GetSpellCooldown(self.name) - icon = self:GetSpellIcon() - allstates[self.name] = { - changed = true, - show = true, - resort = true, - progressType = "timed", - duration = duration, - expirationTime = startTime + duration, - index = self.index, - icon = icon, - IsOnCooldown = true, - IsActive = false, - IsBad = self.GetAura == UnitDebuff, - } - end, - AddAsIcon = function(self, allstates) - if not self.hasCooldown then - return false - end - icon = self:GetSpellIcon() - allstates[self.name] = { - changed = true, - show = true, - resort = true, - progressType = "static", - value = 1, - total = 1, - index = self.index, - icon = icon, - IsOnCooldown = false, - IsActive = false, - IsBad = self.GetAura == UnitDebuff, - } - end, - - GetSpellIcon = function(self) - return select(3, GetSpellInfo(self.name)) - end, - GetAuraIcon = function(self, spellID) - return select(3, GetSpellInfo(spellID)) - end, -} - -local Entry = { - New = function(self, entry) - entry = self:TrimWhitespace(entry) - - local entryData = StrSplit(entry, ",") - local name = self:ReadEntryData(entryData, 1) - local type = self:ReadEntryData(entryData, 2) or "Buff" - local target = unitFactory:CreateUnit(self:ReadEntryData(entryData, 3) or "Player") - local cooldown = (self:ReadEntryData(entryData, 4) == "0") or false - cooldown = not cooldown - local GetAura = UnitBuff - - if type == "Debuff" then GetAura = UnitDebuff end - - o = { - ["entry"] = entry, - ["auraName"] = name, - ["GetAura"] = GetAura, - ["target"] = target, - ["hasCooldown"] = cooldown, - } - setmetatable(o, self) - self.__index = self - return o - end, - - ReadEntryData = function(self, entryData, index) - local str = entryData[index] - if str == nil then - return nil - end - str = self:TrimWhitespace(str) - return str - end, - - TrimWhitespace = function(self, str) - str = str:gsub("^[ ]+", "") - str = str:gsub("\n$", "") - str = str:gsub("[ ]+$", "") - return str - end, -} - -aura_env.auras = {} -for entry in string.gmatch(aura_env.config.spellList, "([a-zA-Z,0-9 ]+)") do - entry = Entry:New(entry) - - auraObj = Aura:New(entry, #aura_env.auras + 1) - aura_env.auras[#aura_env.auras + 1] = auraObj -end - -aura_env.HandleEvent = function(allstates) - for k, v in ipairs(aura_env.auras) do - if v:IsActive() then - v:AddAsAura(allstates) - elseif v:IsOnCooldown() and not v:IsActive() then - v:AddAsCooldown(allstates) - elseif not v:IsOnCooldown() and not v:IsActive() then - v:AddAsIcon(allstates) - end - end +local function StrSplit(inputString, separator) + local outputTable = {} + for str in string.gmatch(inputString, "([^" .. separator .. "]+)") do + outputTable[#outputTable + 1] = str + end + return outputTable +end + +local function PrintTable(table) + for k,v in pairs(table) do + print(k .. " " .. v) + end +end + +local function GetAuraIndex(func, unit, name) + for i = 1, 40 do + local aura = func(unit, i) + if aura == "name" then return i end + if aura == nil then return 0 end + end + return 0 +end + +aura_env.GetClassColor = function(class) + if class == "Death Knight" then + return "\124cFFC41E3A" + elseif class == "Druid" then + return "\124cFFFF7C0A" + elseif class == "Hunter" then + return "\124cFFAAD372" + elseif class == "Mage" then + return "\124cFF3FC7EB" + elseif class == "Paladin" then + return "\124cFFF48CBA" + elseif class == "Priest" then + return "\124cFFFFFFFF" + elseif class == "Rogue" then + return "\124cFFFFF468" + elseif class == "Shaman" then + return "\124cFF0070DD" + elseif class == "Warlock" then + return "\124cFF8788EE" + elseif class == "Warrior" then + return "\124cFFC69B6D" + end +end + +local Unit = { + New = function(self, unit) + o = { + ["unit"] = unit, + } + setmetatable(o, self) + self.__index = self + return o + end, + + GetAuras = function(self, auraFunc, name, type) + return nil + end, +} +local BasicUnit = Unit:New("player") +function BasicUnit:GetAuras(auraFunc, name) + local aura, _, _, stacks, _, duration, expirationTime, _, _, _, spellID = auraFunc(self.unit, name) + if aura ~= nil then + return { + [UnitName(self.unit)] = { + ["duration"] = duration, + ["expirationTime"] = expirationTime, + ["spellID"] = spellID, + ["stacks"] = stacks or 1, + } + } + else + return {} + end +end +-- Maybe implement some sort of throttle to group unit? +local GroupUnit = Unit:New("group") +function GroupUnit:GetAuras(auraFunc, name) + local num = GetNumGroupMembers() + local unitPrefix = "party" + if IsInRaid() then + unitPrefix = "raid" + end + auras = {} + for i = 1, num do + -- local aura, _, _, stacks, _, duration, expirationTime, _, _, _, spellID = auraFunc(unitPrefix .. i, name) + local auraIndex = GetAuraIndex(auraFunc, unitPrefix .. i, name) + if auraIndex > 0 then + local aura, _, _, stacks, _, duration, expirationTime, _, _, _, spellID = auraFunc(unitPrefix .. i, auraIndex) + auras[UnitName(unitPrefix .. i)] = { + ["duration"] = duration, + ["expirationTime"] = expirationTime, + ["spellID"] = spellID, + ["class"] = UnitClass(unitPrefix .. i) or "Paladin", + ["stacks"] = stacks or 1, + } + end + end + if unitPrefix == "party" then + -- local aura, _, _, stacks, _, duration, expirationTime, _, _, _, spellID = auraFunc("player", name) + local auraIndex = GetAuraIndex(auraFunc, "player", name)if auraIndex > 0 then + local aura, _, _, stacks, _, duration, expirationTime, _, _, _, spellID = auraFunc("player", auraIndex) + auras[UnitName("player")] = { + ["duration"] = duration, + ["expirationTime"] = expirationTime, + ["spellID"] = spellID, + ["class"] = UnitClass(unitPrefix .. i) or "Paladin", + ["stacks"] = stacks or 1, + } + end + end + return auras +end +-- Nameplate does not work, find out why? +local NameplateUnit = Unit:New("nameplate") +function NameplateUnit:GetAuras(auraFunc, name) + local unitPrefix = "nameplate" + auras = {} + for i = 1, 40 do + -- local aura, _, _, stacks, _, duration, expirationTime, _, _, _, spellID = auraFunc(unitPrefix .. i, name) + local auraIndex = GetAuraIndex(auraFunc, unitPrefix .. i, name)if auraIndex > 0 then + local aura, _, _, stacks, _, duration, expirationTime, _, _, _, spellID = auraFunc("player", auraIndex) + auras[UnitName(unitPrefix .. i)] = { + ["duration"] = duration, + ["expirationTime"] = expirationTime, + ["spellID"] = spellID, + ["stacks"] = stacks or 1, + } + end + end + return auras +end + +local UnitFactory = { + New = function(self) + o = {} + setmetatable(o, self) + self.__index = self + return o + end, + + CreateUnit = function(self, target) + target = string.lower(target) + if target == "player" or target == "target" or target == "focus" then + return BasicUnit:New(target) + elseif target == "group" then + return GroupUnit:New(target) + elseif target == "nameplate" then + return NameplateUnit:New(target) + end + end, +} +local unitFactory = UnitFactory:New() + +local Aura = { + New = function(self, entry, index) + o = { + ["name"] = entry.auraName, + ["unit"] = entry.target, + ["hasCooldown"] = entry.hasCooldown, + ["index"] = index, + ["GetAura"] = entry.GetAura, + } + setmetatable(o, self) + self.__index = self + return o + end, + + IsActive = function(self) + for k,v in pairs(self.unit:GetAuras(self.GetAura, self.name)) do + return true + end + return false + end, + IsOnCooldown = function(self) + if not self.hasCooldown then + return false + end + return GetSpellCooldown(self.name) > 0 + end, + + AddAsAura = function(self, allstates) + local auras = self.unit:GetAuras(self.GetAura, self.name) + for k,v in pairs(auras) do + duration = v.duration + expirationTime = v.expirationTime + icon = self:GetAuraIcon(v.spellID) + allstates[self.name .. k] = { + changed = true, + show = true, + resort = true, + progressType = "timed", + duration = duration, + expirationTime = expirationTime, + index = self.index, + icon = icon, + pname = k, + stacks = v.stacks, + pclass = v.class, + IsOnCooldown = true, + IsActive = true, + IsBad = self.GetAura == UnitDebuff, + } + end + end, + AddAsCooldown = function(self, allstates) + if not self.hasCooldown then + return false + end + startTime, duration = GetSpellCooldown(self.name) + icon = self:GetSpellIcon() + allstates[self.name] = { + changed = true, + show = true, + resort = true, + progressType = "timed", + duration = duration, + expirationTime = startTime + duration, + index = self.index, + icon = icon, + IsOnCooldown = true, + IsActive = false, + IsBad = self.GetAura == UnitDebuff, + } + end, + AddAsIcon = function(self, allstates) + if not self.hasCooldown then + return false + end + icon = self:GetSpellIcon() + allstates[self.name] = { + changed = true, + show = true, + resort = true, + progressType = "static", + value = 1, + total = 1, + index = self.index, + icon = icon, + IsOnCooldown = false, + IsActive = false, + IsBad = self.GetAura == UnitDebuff, + } + end, + + GetSpellIcon = function(self) + return select(3, GetSpellInfo(self.name)) + end, + GetAuraIcon = function(self, spellID) + return select(3, GetSpellInfo(spellID)) + end, +} + +local Entry = { + New = function(self, entry) + entry = self:TrimWhitespace(entry) + + local entryData = StrSplit(entry, ",") + local name = self:ReadEntryData(entryData, 1) + local type = self:ReadEntryData(entryData, 2) or "Buff" + local target = unitFactory:CreateUnit(self:ReadEntryData(entryData, 3) or "Player") + local cooldown = (self:ReadEntryData(entryData, 4) == "0") or false + cooldown = not cooldown + local GetAura = UnitBuff + + if type == "Debuff" then GetAura = UnitDebuff end + + o = { + ["entry"] = entry, + ["auraName"] = name, + ["GetAura"] = GetAura, + ["target"] = target, + ["hasCooldown"] = cooldown, + } + setmetatable(o, self) + self.__index = self + return o + end, + + ReadEntryData = function(self, entryData, index) + local str = entryData[index] + if str == nil then + return nil + end + str = self:TrimWhitespace(str) + return str + end, + + TrimWhitespace = function(self, str) + str = str:gsub("^[ ]+", "") + str = str:gsub("\n$", "") + str = str:gsub("[ ]+$", "") + return str + end, +} + +aura_env.auras = {} +for entry in string.gmatch(aura_env.config.spellList, "([a-zA-Z,0-9 ]+)") do + entry = Entry:New(entry) + + auraObj = Aura:New(entry, #aura_env.auras + 1) + aura_env.auras[#aura_env.auras + 1] = auraObj +end + +aura_env.HandleEvent = function(allstates) + for k, v in ipairs(aura_env.auras) do + if v:IsActive() then + v:AddAsAura(allstates) + elseif v:IsOnCooldown() and not v:IsActive() then + v:AddAsCooldown(allstates) + elseif not v:IsOnCooldown() and not v:IsActive() then + v:AddAsIcon(allstates) + end + end end \ No newline at end of file diff --git a/NewAge/CataAuraBar/README.md b/NewAge/CataAuraBar/README.md index 528ead0..4d6179b 100644 --- a/NewAge/CataAuraBar/README.md +++ b/NewAge/CataAuraBar/README.md @@ -1,11 +1,11 @@ -## While aura is active show aura - -## While aura is inactive and off cooldown show icon - -## While aura is inactive and on cooldown show cooldown - -## Use tsu - -### ACTIONBAR_UPDATE_COOLDOWN when anything on bar goes on cooldown - +## While aura is active show aura + +## While aura is inactive and off cooldown show icon + +## While aura is inactive and on cooldown show cooldown + +## Use tsu + +### ACTIONBAR_UPDATE_COOLDOWN when anything on bar goes on cooldown + ### UNIT_AURA with one argument which is unit when aura fades/gets applied \ No newline at end of file diff --git a/NewAge/CataAuraBar/TSU.lua b/NewAge/CataAuraBar/TSU.lua index 704ff7c..932438c 100644 --- a/NewAge/CataAuraBar/TSU.lua +++ b/NewAge/CataAuraBar/TSU.lua @@ -1,12 +1,12 @@ -function(allstates, e, ...) - for _,v in pairs(allstates) do - v.show = false - v.changed = true - end - - aura_env.HandleEvent(allstates) - return true -end - --- /run WeakAuras.ScanEvents("SPELL_UPDATE_COOLDOWN") +function(allstates, e, ...) + for _,v in pairs(allstates) do + v.show = false + v.changed = true + end + + aura_env.HandleEvent(allstates) + return true +end + +-- /run WeakAuras.ScanEvents("SPELL_UPDATE_COOLDOWN") -- /dump UnitAura("player", "Blessing of Might") \ No newline at end of file diff --git a/NewAge/EquipmentManager/INIT.lua b/NewAge/EquipmentManager/INIT.lua index 5d3f7f8..9e16570 100644 --- a/NewAge/EquipmentManager/INIT.lua +++ b/NewAge/EquipmentManager/INIT.lua @@ -1,102 +1,102 @@ -function() - --- @class Item - --- @field id number - --- @field name string - --- @field ilvl number - --- @field type string - - --- @field new function - Item = { - --- @param self Item - --- @return Item - new = function(self) - local obj = {} - obj.id = id or -1 - obj.name = name or "" - obj.ilvl = ilvl or -1 - obj.type = type or "" - setmetatable(obj, self) - self.__index = self - return obj - end, - } - - --- @class ItemSet - --- @field items Item[] - - --- @field new function - --- @field equip function - ItemSet = { - --- @param self ItemSet - --- @return ItemSet - new = function(self, items) - local obj = {} - obj.items = items or {} - setmetatable(obj, self) - self.__index = self - return obj - end, - - equip = function(self) - local equippedItems = getEquippedItems() - print(#equippedItems .. " items equipped") - - for itemSlot, eqItem in pairs(equippedItems) do - local item = self.items[itemSlot] - - if (eqItem.id ~= item.id and eqItem.ilvl ~= item.ilvl) then - print("Unequip " .. itemSlot) - PickupInventoryItem(itemSlot) - PutItemInBag(22) - print("Equip " .. item.id) - EquipItemByName(item.id, itemSlot) - end - end - end - } - - --- @return string - function getItemName(itemLink) - return select(1, GetItemInfo(itemLink)) - end - - --- @return number - function getItemIlvl(itemLink) - return select(4, GetItemInfo(itemLink)) - end - - --- @return string - function getItemType(itemLink) - return select(9, GetItemInfo(itemLink)) - end - - --- @return Item[] - function getEquippedItems() - --- @type Item[] - local items = {} - - for i = 1, 19 do - --- @type Item - local item = Item:new() - --- @type string - local eqItemLink = GetInventoryItemLink("player", i) - --- @type number - local eqItemId = GetInventoryItemID("player", i) - - if (eqItemLink ~= nil) then - item.name = getItemName(eqItemLink) - item.ilvl = getItemIlvl(eqItemLink) - item.type = getItemType(eqItemLink) - item.id = eqItemId - - items[i] = item - end - end - - return items - end - - --- @type ItemSet - local set = ItemSet:new(getEquippedItems()) - set:equip() -end +function() + --- @class Item + --- @field id number + --- @field name string + --- @field ilvl number + --- @field type string + + --- @field new function + Item = { + --- @param self Item + --- @return Item + new = function(self) + local obj = {} + obj.id = id or -1 + obj.name = name or "" + obj.ilvl = ilvl or -1 + obj.type = type or "" + setmetatable(obj, self) + self.__index = self + return obj + end, + } + + --- @class ItemSet + --- @field items Item[] + + --- @field new function + --- @field equip function + ItemSet = { + --- @param self ItemSet + --- @return ItemSet + new = function(self, items) + local obj = {} + obj.items = items or {} + setmetatable(obj, self) + self.__index = self + return obj + end, + + equip = function(self) + local equippedItems = getEquippedItems() + print(#equippedItems .. " items equipped") + + for itemSlot, eqItem in pairs(equippedItems) do + local item = self.items[itemSlot] + + if (eqItem.id ~= item.id and eqItem.ilvl ~= item.ilvl) then + print("Unequip " .. itemSlot) + PickupInventoryItem(itemSlot) + PutItemInBag(22) + print("Equip " .. item.id) + EquipItemByName(item.id, itemSlot) + end + end + end + } + + --- @return string + function getItemName(itemLink) + return select(1, GetItemInfo(itemLink)) + end + + --- @return number + function getItemIlvl(itemLink) + return select(4, GetItemInfo(itemLink)) + end + + --- @return string + function getItemType(itemLink) + return select(9, GetItemInfo(itemLink)) + end + + --- @return Item[] + function getEquippedItems() + --- @type Item[] + local items = {} + + for i = 1, 19 do + --- @type Item + local item = Item:new() + --- @type string + local eqItemLink = GetInventoryItemLink("player", i) + --- @type number + local eqItemId = GetInventoryItemID("player", i) + + if (eqItemLink ~= nil) then + item.name = getItemName(eqItemLink) + item.ilvl = getItemIlvl(eqItemLink) + item.type = getItemType(eqItemLink) + item.id = eqItemId + + items[i] = item + end + end + + return items + end + + --- @type ItemSet + local set = ItemSet:new(getEquippedItems()) + set:equip() +end diff --git a/NewAge/NullBarrier/CLEU1.lua b/NewAge/NullBarrier/CLEU1.lua index 68ec099..01cc500 100644 --- a/NewAge/NullBarrier/CLEU1.lua +++ b/NewAge/NullBarrier/CLEU1.lua @@ -1,10 +1,10 @@ -function() - if select(2, CombatLogGetCurrentEventInfo()) == "SPELL_AURA_APPLIED" then - local target = select(5, CombatLogGetCurrentEventInfo()) - local buff = select(13, CombatLogGetCurrentEventInfo()) - if target == UnitName("player") and aura_env.buffs[buff] ~= nil then - aura_env.max = aura_env.GetAbsorbs() - end - end - return aura_env.GetAbsorbs() > 0 +function() + if select(2, CombatLogGetCurrentEventInfo()) == "SPELL_AURA_APPLIED" then + local target = select(5, CombatLogGetCurrentEventInfo()) + local buff = select(13, CombatLogGetCurrentEventInfo()) + if target == UnitName("player") and aura_env.buffs[buff] ~= nil then + aura_env.max = aura_env.GetAbsorbs() + end + end + return aura_env.GetAbsorbs() > 0 end \ No newline at end of file diff --git a/NewAge/NullBarrier/CLEU2.lua b/NewAge/NullBarrier/CLEU2.lua index ea53242..c5a705e 100644 --- a/NewAge/NullBarrier/CLEU2.lua +++ b/NewAge/NullBarrier/CLEU2.lua @@ -1,10 +1,10 @@ -function() - if select(2, CombatLogGetCurrentEventInfo()) == "SPELL_AURA_APPLIED" then - local target = select(5, CombatLogGetCurrentEventInfo()) - local buff = select(13, CombatLogGetCurrentEventInfo()) - if target == UnitName("player") and aura_env.buffs[buff] ~= nil then - aura_env.timeApplied = GetTime() - return true - end - end +function() + if select(2, CombatLogGetCurrentEventInfo()) == "SPELL_AURA_APPLIED" then + local target = select(5, CombatLogGetCurrentEventInfo()) + local buff = select(13, CombatLogGetCurrentEventInfo()) + if target == UnitName("player") and aura_env.buffs[buff] ~= nil then + aura_env.timeApplied = GetTime() + return true + end + end end \ No newline at end of file diff --git a/NewAge/NullBarrier/CustomDuration1.lua b/NewAge/NullBarrier/CustomDuration1.lua index 8732875..7c61f99 100644 --- a/NewAge/NullBarrier/CustomDuration1.lua +++ b/NewAge/NullBarrier/CustomDuration1.lua @@ -1,3 +1,3 @@ -function() - return aura_env.GetAbsorbs(), aura_env.max, 1 +function() + return aura_env.GetAbsorbs(), aura_env.max, 1 end \ No newline at end of file diff --git a/NewAge/NullBarrier/CustomDuration2.lua b/NewAge/NullBarrier/CustomDuration2.lua index 5d2f12c..ab30a4b 100644 --- a/NewAge/NullBarrier/CustomDuration2.lua +++ b/NewAge/NullBarrier/CustomDuration2.lua @@ -1,3 +1,3 @@ -function() - return 15, aura_env.timeApplied + 15 +function() + return 15, aura_env.timeApplied + 15 end \ No newline at end of file diff --git a/NewAge/NullBarrier/INIT1.lua b/NewAge/NullBarrier/INIT1.lua index 0390795..00fe2a4 100644 --- a/NewAge/NullBarrier/INIT1.lua +++ b/NewAge/NullBarrier/INIT1.lua @@ -1,37 +1,37 @@ -aura_env.buffs = { - ["Null Barrier"] = 1, - ["Empowered Null Barrier"] = 1, -} -aura_env.max = 0 - -aura_env.GetBuff = function(name) - for i = 1, 40 do - if UnitBuff("player", i) == name then - return i - end - end - return 0 -end - -aura_env.GetAbsorb = function(name) - local temp = select(16, UnitBuff("player", aura_env.GetBuff(name))) - if temp then return temp else return 0 end -end - -aura_env.GetAbsorbs = function() - local abs = 0 - for k, v in pairs(aura_env.buffs) do - abs = abs + aura_env.GetAbsorb(k) - end - return abs -end - -aura_env.PrettyPrintNum = function(n) - if n > 1e6 then - return string.format("%.2fM", n / 1e6) - elseif n > 1e3 then - return string.format("%.2fk", n / 1e3) - else - return n - end +aura_env.buffs = { + ["Null Barrier"] = 1, + ["Empowered Null Barrier"] = 1, +} +aura_env.max = 0 + +aura_env.GetBuff = function(name) + for i = 1, 40 do + if UnitBuff("player", i) == name then + return i + end + end + return 0 +end + +aura_env.GetAbsorb = function(name) + local temp = select(16, UnitBuff("player", aura_env.GetBuff(name))) + if temp then return temp else return 0 end +end + +aura_env.GetAbsorbs = function() + local abs = 0 + for k, v in pairs(aura_env.buffs) do + abs = abs + aura_env.GetAbsorb(k) + end + return abs +end + +aura_env.PrettyPrintNum = function(n) + if n > 1e6 then + return string.format("%.2fM", n / 1e6) + elseif n > 1e3 then + return string.format("%.2fk", n / 1e3) + else + return n + end end \ No newline at end of file diff --git a/NewAge/NullBarrier/INIT2.lua b/NewAge/NullBarrier/INIT2.lua index 3c074e2..85984f8 100644 --- a/NewAge/NullBarrier/INIT2.lua +++ b/NewAge/NullBarrier/INIT2.lua @@ -1,4 +1,4 @@ -aura_env.buffs = { - ["Null Barrier"] = 1, -} +aura_env.buffs = { + ["Null Barrier"] = 1, +} aura_env.timeApplied = 0 \ No newline at end of file diff --git a/NewAge/NullBarrier/Text1.lua b/NewAge/NullBarrier/Text1.lua index 7459d14..9a93ed4 100644 --- a/NewAge/NullBarrier/Text1.lua +++ b/NewAge/NullBarrier/Text1.lua @@ -1,3 +1,3 @@ -function() - return aura_env.PrettyPrintNum(aura_env.GetAbsorbs()) +function() + return aura_env.PrettyPrintNum(aura_env.GetAbsorbs()) end \ No newline at end of file diff --git a/NewAge/OverallAbsorbs/INIT.lua b/NewAge/OverallAbsorbs/INIT.lua index 2fe5496..21f04ec 100644 --- a/NewAge/OverallAbsorbs/INIT.lua +++ b/NewAge/OverallAbsorbs/INIT.lua @@ -1,41 +1,41 @@ -aura_env.buffs = { - ["Null Barrier"] = 1, - ["Empowered Null Barrier"] = 1, - ["Resounding Protection"] = 1, - ["Guard"] = 1, - ["Void Shroud"] = 1, - ["Stoneskin"] = 1, -} -aura_env.max = 0 - -aura_env.GetBuff = function(name) - for i = 1, 40 do - if UnitBuff("player", i) == name then - return i - end - end - return 0 -end - -aura_env.GetAbsorb = function(name) - local temp = select(16, UnitBuff("player", aura_env.GetBuff(name))) - if temp then return temp else return 0 end -end - -aura_env.GetAbsorbs = function() - local abs = 0 - for k, v in pairs(aura_env.buffs) do - abs = abs + aura_env.GetAbsorb(k) - end - return abs -end - -aura_env.PrettyPrintNum = function(n) - if n > 1e6 then - return string.format("%.2fM", n / 1e6) - elseif n > 1e3 then - return string.format("%.2fk", n / 1e3) - else - return n - end +aura_env.buffs = { + ["Null Barrier"] = 1, + ["Empowered Null Barrier"] = 1, + ["Resounding Protection"] = 1, + ["Guard"] = 1, + ["Void Shroud"] = 1, + ["Stoneskin"] = 1, +} +aura_env.max = 0 + +aura_env.GetBuff = function(name) + for i = 1, 40 do + if UnitBuff("player", i) == name then + return i + end + end + return 0 +end + +aura_env.GetAbsorb = function(name) + local temp = select(16, UnitBuff("player", aura_env.GetBuff(name))) + if temp then return temp else return 0 end +end + +aura_env.GetAbsorbs = function() + local abs = 0 + for k, v in pairs(aura_env.buffs) do + abs = abs + aura_env.GetAbsorb(k) + end + return abs +end + +aura_env.PrettyPrintNum = function(n) + if n > 1e6 then + return string.format("%.2fM", n / 1e6) + elseif n > 1e3 then + return string.format("%.2fk", n / 1e3) + else + return n + end end \ No newline at end of file diff --git a/NewAge/PrimaryStatBar/CLEU.lua b/NewAge/PrimaryStatBar/CLEU.lua index d3a2230..398a605 100644 --- a/NewAge/PrimaryStatBar/CLEU.lua +++ b/NewAge/PrimaryStatBar/CLEU.lua @@ -1,7 +1,7 @@ -function(e, ...) - aura_env.currentStat = aura_env.GetPrimaryStat() - if aura_env.maxStat < aura_env.currentStat then - aura_env.maxStat = aura_env.currentStat - end - return true +function(e, ...) + aura_env.currentStat = aura_env.GetPrimaryStat() + if aura_env.maxStat < aura_env.currentStat then + aura_env.maxStat = aura_env.currentStat + end + return true end \ No newline at end of file diff --git a/NewAge/PrimaryStatBar/CustomDuration.lua b/NewAge/PrimaryStatBar/CustomDuration.lua index 0f7d858..314bbce 100644 --- a/NewAge/PrimaryStatBar/CustomDuration.lua +++ b/NewAge/PrimaryStatBar/CustomDuration.lua @@ -1,3 +1,3 @@ -function() - return aura_env.currentStat, aura_env.maxStat, 1 +function() + return aura_env.currentStat, aura_env.maxStat, 1 end \ No newline at end of file diff --git a/NewAge/PrimaryStatBar/INIT.lua b/NewAge/PrimaryStatBar/INIT.lua index 3a66dbc..80ad0b2 100644 --- a/NewAge/PrimaryStatBar/INIT.lua +++ b/NewAge/PrimaryStatBar/INIT.lua @@ -1,17 +1,17 @@ -aura_env.specStatTable = { - ["Windwalker"] = 2, - ["Brewmaster"] = 2, - ["Mistweaver"] = 4, -} -aura_env.maxStat = 0 -aura_env.currentStat = 0 - -aura_env.GetPrimaryStat = function() - stat = UnitStat("player", aura_env.GetPrimStatID()) - return stat -end - -aura_env.GetPrimStatID = function() - specID, specName = GetSpecializationInfo(GetSpecialization()) - return aura_env.specStatTable[specName] +aura_env.specStatTable = { + ["Windwalker"] = 2, + ["Brewmaster"] = 2, + ["Mistweaver"] = 4, +} +aura_env.maxStat = 0 +aura_env.currentStat = 0 + +aura_env.GetPrimaryStat = function() + stat = UnitStat("player", aura_env.GetPrimStatID()) + return stat +end + +aura_env.GetPrimStatID = function() + specID, specName = GetSpecializationInfo(GetSpecialization()) + return aura_env.specStatTable[specName] end \ No newline at end of file