diff --git a/AddOns/Bartender4/ActionBar.lua b/AddOns/Bartender4/ActionBar.lua index 5ed224269..a9e5e3723 100644 --- a/AddOns/Bartender4/ActionBar.lua +++ b/AddOns/Bartender4/ActionBar.lua @@ -1,5 +1,5 @@ --[[ - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > All rights reserved. ]] local _, Bartender4 = ... @@ -221,7 +221,7 @@ function ActionBar:UpdateButtons(numbuttons) buttons[i]:SetAttribute("statehidden", true) end - self.button_count = numbuttons + self.numbuttons = numbuttons self.buttons = buttons self:UpdateButtonLayout() diff --git a/AddOns/Bartender4/ActionBars.lua b/AddOns/Bartender4/ActionBars.lua index 40fc33c62..a2123d550 100644 --- a/AddOns/Bartender4/ActionBars.lua +++ b/AddOns/Bartender4/ActionBars.lua @@ -1,5 +1,5 @@ --[[ - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > All rights reserved. ]] local _, Bartender4 = ... diff --git a/AddOns/Bartender4/BagBar.lua b/AddOns/Bartender4/BagBar.lua index 531a81d01..b1fcaa180 100644 --- a/AddOns/Bartender4/BagBar.lua +++ b/AddOns/Bartender4/BagBar.lua @@ -1,5 +1,5 @@ --[[ - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > All rights reserved. ]] local _, Bartender4 = ... diff --git a/AddOns/Bartender4/Bartender4.lua b/AddOns/Bartender4/Bartender4.lua index 3977969bf..492227c02 100644 --- a/AddOns/Bartender4/Bartender4.lua +++ b/AddOns/Bartender4/Bartender4.lua @@ -1,5 +1,5 @@ --[[ - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > All rights reserved. ]] local _, Bartender4 = ... diff --git a/AddOns/Bartender4/Bartender4.toc b/AddOns/Bartender4/Bartender4.toc index 91869e1c7..a8cc7335b 100644 --- a/AddOns/Bartender4/Bartender4.toc +++ b/AddOns/Bartender4/Bartender4.toc @@ -1,5 +1,5 @@ ## Interface: 60200 -## X-Curse-Packaged-Version: 4.6.12 +## X-Curse-Packaged-Version: 4.6.13 ## X-Curse-Project-Name: Bartender4 ## X-Curse-Project-ID: bartender4 ## X-Curse-Repository-ID: wow/bartender4/mainline @@ -7,7 +7,7 @@ ## Title: Bartender4 ## Notes: Simple and Advanced combined - Bartender4 ActionBar AddOn -## Version: 4.6.12 +## Version: 4.6.13 ## Author: Nevcairiel ## X-Email: h.leppkes at gmail dot com diff --git a/AddOns/Bartender4/BlizzardArt.lua b/AddOns/Bartender4/BlizzardArt.lua index 97f39598e..229966f5d 100644 --- a/AddOns/Bartender4/BlizzardArt.lua +++ b/AddOns/Bartender4/BlizzardArt.lua @@ -1,6 +1,6 @@ --[[ Copyright (c) 2009, CMTitan - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > Based on Nevcairiel's RepXPBar.lua All rights to be transferred to Nevcairiel upon inclusion into Bartender4. All rights reserved, otherwise. diff --git a/AddOns/Bartender4/ButtonBar.lua b/AddOns/Bartender4/ButtonBar.lua index f5c0887a8..0b20e4920 100644 --- a/AddOns/Bartender4/ButtonBar.lua +++ b/AddOns/Bartender4/ButtonBar.lua @@ -1,5 +1,5 @@ --[[ - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > All rights reserved. ]] --[[ Generic Template for a Bar which contains Buttons ]] @@ -185,7 +185,7 @@ function ButtonBar:UpdateButtonLayout() local buttons = self.buttons local pad = self:GetPadding() - local numbuttons = self.button_count or #buttons + local numbuttons = self.numbuttons or #buttons -- bail out if the bar has no buttons, for whatever reason -- (eg. stanceless class, or no stances learned yet, etc.) diff --git a/AddOns/Bartender4/Changelog-Bartender4-4.6.13.txt b/AddOns/Bartender4/Changelog-Bartender4-4.6.13.txt new file mode 100644 index 000000000..874b3c071 --- /dev/null +++ b/AddOns/Bartender4/Changelog-Bartender4-4.6.13.txt @@ -0,0 +1,16 @@ +tag 4.6.13 +a9ebd580707f46f79646dfb4f62d236909770898 +Hendrik Leppkes +2016-01-29 12:44:30 +0100 + +Tag as 4.6.13 + + +-------------------- + +Hendrik Leppkes: + - Update copyright to 2016 + - Revert "Rename .numbuttons to .button_count" + This reverts commit 8fb4327d14074209519b7e991ac015455047a1bb. + + This needlessly breaks some addons trying to interact with Bartender4 diff --git a/AddOns/Bartender4/ExtraActionBar.lua b/AddOns/Bartender4/ExtraActionBar.lua index a6d07970d..79c3f439b 100644 --- a/AddOns/Bartender4/ExtraActionBar.lua +++ b/AddOns/Bartender4/ExtraActionBar.lua @@ -1,5 +1,5 @@ --[[ - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > All rights reserved. ]] local _, Bartender4 = ... diff --git a/AddOns/Bartender4/MicroMenu.lua b/AddOns/Bartender4/MicroMenu.lua index edf25b25f..428e5b6dc 100644 --- a/AddOns/Bartender4/MicroMenu.lua +++ b/AddOns/Bartender4/MicroMenu.lua @@ -1,5 +1,5 @@ --[[ - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > All rights reserved. ]] local _, Bartender4 = ... diff --git a/AddOns/Bartender4/Options/AceGUIWidget-NumberEditBox.lua b/AddOns/Bartender4/Options/AceGUIWidget-NumberEditBox.lua index 3e7dac93e..f9801af8d 100644 --- a/AddOns/Bartender4/Options/AceGUIWidget-NumberEditBox.lua +++ b/AddOns/Bartender4/Options/AceGUIWidget-NumberEditBox.lua @@ -1,5 +1,5 @@ --[[ - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > All rights reserved. ]] local AceGUI = LibStub("AceGUI-3.0") diff --git a/AddOns/Bartender4/Options/ActionBar.lua b/AddOns/Bartender4/Options/ActionBar.lua index 05bdbad72..bbe10c4e5 100644 --- a/AddOns/Bartender4/Options/ActionBar.lua +++ b/AddOns/Bartender4/Options/ActionBar.lua @@ -1,5 +1,5 @@ --[[ - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > All rights reserved. ]] local _, Bartender4 = ... diff --git a/AddOns/Bartender4/Options/BagBar.lua b/AddOns/Bartender4/Options/BagBar.lua index 99e283d27..9ba304b8f 100644 --- a/AddOns/Bartender4/Options/BagBar.lua +++ b/AddOns/Bartender4/Options/BagBar.lua @@ -1,5 +1,5 @@ --[[ - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > All rights reserved. ]] local _, Bartender4 = ... diff --git a/AddOns/Bartender4/Options/Bar.lua b/AddOns/Bartender4/Options/Bar.lua index a9edcb750..d461f61dc 100644 --- a/AddOns/Bartender4/Options/Bar.lua +++ b/AddOns/Bartender4/Options/Bar.lua @@ -1,5 +1,5 @@ --[[ - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > All rights reserved. ]] local _, Bartender4 = ... diff --git a/AddOns/Bartender4/Options/BlizzardArt.lua b/AddOns/Bartender4/Options/BlizzardArt.lua index 4dffcda17..254507dc7 100644 --- a/AddOns/Bartender4/Options/BlizzardArt.lua +++ b/AddOns/Bartender4/Options/BlizzardArt.lua @@ -1,6 +1,6 @@ --[[ Copyright (c) 2009, CMTitan - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > Based on Nevcairiel's RepXPBar.lua All rights to be transferred to Nevcairiel upon inclusion into Bartender4. All rights reserved, otherwise. diff --git a/AddOns/Bartender4/Options/ButtonBar.lua b/AddOns/Bartender4/Options/ButtonBar.lua index 21319b3c6..4cf76fe5c 100644 --- a/AddOns/Bartender4/Options/ButtonBar.lua +++ b/AddOns/Bartender4/Options/ButtonBar.lua @@ -1,5 +1,5 @@ --[[ - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > All rights reserved. ]] local _, Bartender4 = ... diff --git a/AddOns/Bartender4/Options/ExtraActionBar.lua b/AddOns/Bartender4/Options/ExtraActionBar.lua index 6421b1a8e..fc6981065 100644 --- a/AddOns/Bartender4/Options/ExtraActionBar.lua +++ b/AddOns/Bartender4/Options/ExtraActionBar.lua @@ -1,5 +1,5 @@ --[[ - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > All rights reserved. ]] local _, Bartender4 = ... diff --git a/AddOns/Bartender4/Options/MicroMenu.lua b/AddOns/Bartender4/Options/MicroMenu.lua index ab8cf0e34..a06644237 100644 --- a/AddOns/Bartender4/Options/MicroMenu.lua +++ b/AddOns/Bartender4/Options/MicroMenu.lua @@ -1,5 +1,5 @@ --[[ - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > All rights reserved. ]] local _, Bartender4 = ... diff --git a/AddOns/Bartender4/Options/Options.lua b/AddOns/Bartender4/Options/Options.lua index 32e1f0656..5debd6f32 100644 --- a/AddOns/Bartender4/Options/Options.lua +++ b/AddOns/Bartender4/Options/Options.lua @@ -1,5 +1,5 @@ --[[ - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > All rights reserved. ]] local _, Bartender4 = ... diff --git a/AddOns/Bartender4/Options/PetBar.lua b/AddOns/Bartender4/Options/PetBar.lua index 10740f19a..be63344c8 100644 --- a/AddOns/Bartender4/Options/PetBar.lua +++ b/AddOns/Bartender4/Options/PetBar.lua @@ -1,5 +1,5 @@ --[[ - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > All rights reserved. ]] local _, Bartender4 = ... diff --git a/AddOns/Bartender4/Options/Presets.lua b/AddOns/Bartender4/Options/Presets.lua index 5a67c4dfd..2c307a6a9 100644 --- a/AddOns/Bartender4/Options/Presets.lua +++ b/AddOns/Bartender4/Options/Presets.lua @@ -1,6 +1,6 @@ --[[ Copyright (c) 2009, CMTitan - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > Based on Nevcairiel's RepXPBar.lua All rights to be transferred to Nevcairiel upon inclusion into Bartender4. All rights reserved, otherwise. diff --git a/AddOns/Bartender4/Options/RepXPBar.lua b/AddOns/Bartender4/Options/RepXPBar.lua index 5a5dc86c5..88fd3b89e 100644 --- a/AddOns/Bartender4/Options/RepXPBar.lua +++ b/AddOns/Bartender4/Options/RepXPBar.lua @@ -1,5 +1,5 @@ --[[ - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > All rights reserved. ]] local _, Bartender4 = ... diff --git a/AddOns/Bartender4/Options/StanceBar.lua b/AddOns/Bartender4/Options/StanceBar.lua index c6626bcb5..f27b438da 100644 --- a/AddOns/Bartender4/Options/StanceBar.lua +++ b/AddOns/Bartender4/Options/StanceBar.lua @@ -1,5 +1,5 @@ --[[ - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > All rights reserved. ]] local _, Bartender4 = ... diff --git a/AddOns/Bartender4/Options/StateBar.lua b/AddOns/Bartender4/Options/StateBar.lua index 48c4c8da0..d75445bd8 100644 --- a/AddOns/Bartender4/Options/StateBar.lua +++ b/AddOns/Bartender4/Options/StateBar.lua @@ -1,5 +1,5 @@ --[[ - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > All rights reserved. ]] local _, Bartender4 = ... diff --git a/AddOns/Bartender4/Options/VehicleBar.lua b/AddOns/Bartender4/Options/VehicleBar.lua index 13793015c..b988c8544 100644 --- a/AddOns/Bartender4/Options/VehicleBar.lua +++ b/AddOns/Bartender4/Options/VehicleBar.lua @@ -1,5 +1,5 @@ --[[ - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > All rights reserved. ]] local _, Bartender4 = ... diff --git a/AddOns/Bartender4/PetBar.lua b/AddOns/Bartender4/PetBar.lua index 547a4f0a0..4bdeb865f 100644 --- a/AddOns/Bartender4/PetBar.lua +++ b/AddOns/Bartender4/PetBar.lua @@ -1,5 +1,5 @@ --[[ - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > All rights reserved. ]] local _, Bartender4 = ... diff --git a/AddOns/Bartender4/PetButton.lua b/AddOns/Bartender4/PetButton.lua index 224ebac0d..869bca9ae 100644 --- a/AddOns/Bartender4/PetButton.lua +++ b/AddOns/Bartender4/PetButton.lua @@ -1,5 +1,5 @@ --[[ - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > All rights reserved. ]] --[[ diff --git a/AddOns/Bartender4/RepXPBar.lua b/AddOns/Bartender4/RepXPBar.lua index c6131a9f4..f845b7a25 100644 --- a/AddOns/Bartender4/RepXPBar.lua +++ b/AddOns/Bartender4/RepXPBar.lua @@ -1,5 +1,5 @@ --[[ - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > All rights reserved. ]] local _, Bartender4 = ... diff --git a/AddOns/Bartender4/StanceBar.lua b/AddOns/Bartender4/StanceBar.lua index 7e2e4f878..01ec1a023 100644 --- a/AddOns/Bartender4/StanceBar.lua +++ b/AddOns/Bartender4/StanceBar.lua @@ -1,5 +1,5 @@ --[[ - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > All rights reserved. ]] local _, Bartender4 = ... @@ -259,7 +259,7 @@ function StanceBar:UpdateStanceButtons() buttons[i]:Hide() end - self.button_count = num_stances + self.numbuttons = num_stances StanceBarMod.button_count = num_stances if StanceBarMod.optionobject then StanceBarMod.optionobject.table.general.args.rows.max = num_stances diff --git a/AddOns/Bartender4/StateBar.lua b/AddOns/Bartender4/StateBar.lua index f0dc74567..25d2adfd2 100644 --- a/AddOns/Bartender4/StateBar.lua +++ b/AddOns/Bartender4/StateBar.lua @@ -1,5 +1,5 @@ --[[ - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > All rights reserved. ]] --[[ Generic Template for a ButtonBar with state control ]] diff --git a/AddOns/Bartender4/VehicleBar.lua b/AddOns/Bartender4/VehicleBar.lua index 52c3dd1c6..9db9f168d 100644 --- a/AddOns/Bartender4/VehicleBar.lua +++ b/AddOns/Bartender4/VehicleBar.lua @@ -1,5 +1,5 @@ --[[ - Copyright (c) 2009-2015, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > + Copyright (c) 2009-2016, Hendrik "Nevcairiel" Leppkes < h.leppkes at gmail dot com > All rights reserved. ]] local _, Bartender4 = ... diff --git a/AddOns/Bartender4/libs/LibActionButton-1.0/LibButtonGlow-1.0/LibButtonGlow-1.0.lua b/AddOns/Bartender4/libs/LibActionButton-1.0/LibButtonGlow-1.0/LibButtonGlow-1.0.lua index 03c78fb52..0c764dada 100644 --- a/AddOns/Bartender4/libs/LibActionButton-1.0/LibButtonGlow-1.0/LibButtonGlow-1.0.lua +++ b/AddOns/Bartender4/libs/LibActionButton-1.0/LibButtonGlow-1.0/LibButtonGlow-1.0.lua @@ -28,7 +28,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ]] local MAJOR_VERSION = "LibButtonGlow-1.0" -local MINOR_VERSION = 5 +local MINOR_VERSION = 6 if not LibStub then error(MAJOR_VERSION .. " requires LibStub.") end local lib, oldversion = LibStub:NewLibrary(MAJOR_VERSION, MINOR_VERSION) @@ -68,12 +68,13 @@ local function CreateScaleAnim(group, target, order, duration, x, y, delay) end end -local function CreateAlphaAnim(group, target, order, duration, change, delay) +local function CreateAlphaAnim(group, target, order, duration, fromAlpha, toAlpha, delay) local alpha = group:CreateAnimation("Alpha") alpha:SetTarget(target:GetName()) alpha:SetOrder(order) alpha:SetDuration(duration) - alpha:SetChange(change) + alpha:SetFromAlpha(fromAlpha) + alpha:SetToAlpha(toAlpha) if delay then alpha:SetStartDelay(delay) @@ -162,25 +163,25 @@ local function CreateOverlayGlow() -- setup antimations overlay.animIn = overlay:CreateAnimationGroup() CreateScaleAnim(overlay.animIn, overlay.spark, 1, 0.2, 1.5, 1.5) - CreateAlphaAnim(overlay.animIn, overlay.spark, 1, 0.2, 1) + CreateAlphaAnim(overlay.animIn, overlay.spark, 1, 0.2, 0, 1) CreateScaleAnim(overlay.animIn, overlay.innerGlow, 1, 0.3, 2, 2) CreateScaleAnim(overlay.animIn, overlay.innerGlowOver, 1, 0.3, 2, 2) - CreateAlphaAnim(overlay.animIn, overlay.innerGlowOver, 1, 0.3, -1) + CreateAlphaAnim(overlay.animIn, overlay.innerGlowOver, 1, 0.3, 1, 0) CreateScaleAnim(overlay.animIn, overlay.outerGlow, 1, 0.3, 0.5, 0.5) CreateScaleAnim(overlay.animIn, overlay.outerGlowOver, 1, 0.3, 0.5, 0.5) - CreateAlphaAnim(overlay.animIn, overlay.outerGlowOver, 1, 0.3, -1) + CreateAlphaAnim(overlay.animIn, overlay.outerGlowOver, 1, 0.3, 1, 0) CreateScaleAnim(overlay.animIn, overlay.spark, 1, 0.2, 2/3, 2/3, 0.2) - CreateAlphaAnim(overlay.animIn, overlay.spark, 1, 0.2, -1, 0.2) - CreateAlphaAnim(overlay.animIn, overlay.innerGlow, 1, 0.2, -1, 0.3) - CreateAlphaAnim(overlay.animIn, overlay.ants, 1, 0.2, 1, 0.3) + CreateAlphaAnim(overlay.animIn, overlay.spark, 1, 0.2, 1, 0, 0.2) + CreateAlphaAnim(overlay.animIn, overlay.innerGlow, 1, 0.2, 1, 0, 0.3) + CreateAlphaAnim(overlay.animIn, overlay.ants, 1, 0.2, 0, 1, 0.3) overlay.animIn:SetScript("OnPlay", AnimIn_OnPlay) overlay.animIn:SetScript("OnFinished", AnimIn_OnFinished) overlay.animOut = overlay:CreateAnimationGroup() - CreateAlphaAnim(overlay.animOut, overlay.outerGlowOver, 1, 0.2, 1) - CreateAlphaAnim(overlay.animOut, overlay.ants, 1, 0.2, -1) - CreateAlphaAnim(overlay.animOut, overlay.outerGlowOver, 2, 0.2, -1) - CreateAlphaAnim(overlay.animOut, overlay.outerGlow, 2, 0.2, -1) + CreateAlphaAnim(overlay.animOut, overlay.outerGlowOver, 1, 0.2, 0, 1) + CreateAlphaAnim(overlay.animOut, overlay.ants, 1, 0.2, 1, 0) + CreateAlphaAnim(overlay.animOut, overlay.outerGlowOver, 2, 0.2, 1, 0) + CreateAlphaAnim(overlay.animOut, overlay.outerGlow, 2, 0.2, 1, 0) overlay.animOut:SetScript("OnFinished", OverlayGlowAnimOutFinished) -- scripts diff --git a/AddOns/Bartender4/libs/LibActionButton-1.0/LibButtonGlow-1.0/LibButtonGlow-1.0.toc b/AddOns/Bartender4/libs/LibActionButton-1.0/LibButtonGlow-1.0/LibButtonGlow-1.0.toc index 026d8e72f..bad202126 100644 --- a/AddOns/Bartender4/libs/LibActionButton-1.0/LibButtonGlow-1.0/LibButtonGlow-1.0.toc +++ b/AddOns/Bartender4/libs/LibActionButton-1.0/LibButtonGlow-1.0/LibButtonGlow-1.0.toc @@ -6,9 +6,9 @@ ## X-Category: Library ## X-License: BSD ## X-Website: http://www.wowace.com/addons/libbuttonglow-1-0/ -## Version: 1.2.3 +## Version: 1.2.4 ## OptionalDeps: Masque -## X-Curse-Packaged-Version: 1.2.3 +## X-Curse-Packaged-Version: 1.2.4 ## X-Curse-Project-Name: LibButtonGlow-1.0 ## X-Curse-Project-ID: libbuttonglow-1-0 ## X-Curse-Repository-ID: wow/libbuttonglow-1-0/mainline diff --git a/AddOns/Bartender4/libs/LibButtonGlow-1.0/LibButtonGlow-1.0.lua b/AddOns/Bartender4/libs/LibButtonGlow-1.0/LibButtonGlow-1.0.lua index 03c78fb52..0c764dada 100644 --- a/AddOns/Bartender4/libs/LibButtonGlow-1.0/LibButtonGlow-1.0.lua +++ b/AddOns/Bartender4/libs/LibButtonGlow-1.0/LibButtonGlow-1.0.lua @@ -28,7 +28,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ]] local MAJOR_VERSION = "LibButtonGlow-1.0" -local MINOR_VERSION = 5 +local MINOR_VERSION = 6 if not LibStub then error(MAJOR_VERSION .. " requires LibStub.") end local lib, oldversion = LibStub:NewLibrary(MAJOR_VERSION, MINOR_VERSION) @@ -68,12 +68,13 @@ local function CreateScaleAnim(group, target, order, duration, x, y, delay) end end -local function CreateAlphaAnim(group, target, order, duration, change, delay) +local function CreateAlphaAnim(group, target, order, duration, fromAlpha, toAlpha, delay) local alpha = group:CreateAnimation("Alpha") alpha:SetTarget(target:GetName()) alpha:SetOrder(order) alpha:SetDuration(duration) - alpha:SetChange(change) + alpha:SetFromAlpha(fromAlpha) + alpha:SetToAlpha(toAlpha) if delay then alpha:SetStartDelay(delay) @@ -162,25 +163,25 @@ local function CreateOverlayGlow() -- setup antimations overlay.animIn = overlay:CreateAnimationGroup() CreateScaleAnim(overlay.animIn, overlay.spark, 1, 0.2, 1.5, 1.5) - CreateAlphaAnim(overlay.animIn, overlay.spark, 1, 0.2, 1) + CreateAlphaAnim(overlay.animIn, overlay.spark, 1, 0.2, 0, 1) CreateScaleAnim(overlay.animIn, overlay.innerGlow, 1, 0.3, 2, 2) CreateScaleAnim(overlay.animIn, overlay.innerGlowOver, 1, 0.3, 2, 2) - CreateAlphaAnim(overlay.animIn, overlay.innerGlowOver, 1, 0.3, -1) + CreateAlphaAnim(overlay.animIn, overlay.innerGlowOver, 1, 0.3, 1, 0) CreateScaleAnim(overlay.animIn, overlay.outerGlow, 1, 0.3, 0.5, 0.5) CreateScaleAnim(overlay.animIn, overlay.outerGlowOver, 1, 0.3, 0.5, 0.5) - CreateAlphaAnim(overlay.animIn, overlay.outerGlowOver, 1, 0.3, -1) + CreateAlphaAnim(overlay.animIn, overlay.outerGlowOver, 1, 0.3, 1, 0) CreateScaleAnim(overlay.animIn, overlay.spark, 1, 0.2, 2/3, 2/3, 0.2) - CreateAlphaAnim(overlay.animIn, overlay.spark, 1, 0.2, -1, 0.2) - CreateAlphaAnim(overlay.animIn, overlay.innerGlow, 1, 0.2, -1, 0.3) - CreateAlphaAnim(overlay.animIn, overlay.ants, 1, 0.2, 1, 0.3) + CreateAlphaAnim(overlay.animIn, overlay.spark, 1, 0.2, 1, 0, 0.2) + CreateAlphaAnim(overlay.animIn, overlay.innerGlow, 1, 0.2, 1, 0, 0.3) + CreateAlphaAnim(overlay.animIn, overlay.ants, 1, 0.2, 0, 1, 0.3) overlay.animIn:SetScript("OnPlay", AnimIn_OnPlay) overlay.animIn:SetScript("OnFinished", AnimIn_OnFinished) overlay.animOut = overlay:CreateAnimationGroup() - CreateAlphaAnim(overlay.animOut, overlay.outerGlowOver, 1, 0.2, 1) - CreateAlphaAnim(overlay.animOut, overlay.ants, 1, 0.2, -1) - CreateAlphaAnim(overlay.animOut, overlay.outerGlowOver, 2, 0.2, -1) - CreateAlphaAnim(overlay.animOut, overlay.outerGlow, 2, 0.2, -1) + CreateAlphaAnim(overlay.animOut, overlay.outerGlowOver, 1, 0.2, 0, 1) + CreateAlphaAnim(overlay.animOut, overlay.ants, 1, 0.2, 1, 0) + CreateAlphaAnim(overlay.animOut, overlay.outerGlowOver, 2, 0.2, 1, 0) + CreateAlphaAnim(overlay.animOut, overlay.outerGlow, 2, 0.2, 1, 0) overlay.animOut:SetScript("OnFinished", OverlayGlowAnimOutFinished) -- scripts diff --git a/AddOns/Bartender4/libs/LibButtonGlow-1.0/LibButtonGlow-1.0.toc b/AddOns/Bartender4/libs/LibButtonGlow-1.0/LibButtonGlow-1.0.toc index 026d8e72f..bad202126 100644 --- a/AddOns/Bartender4/libs/LibButtonGlow-1.0/LibButtonGlow-1.0.toc +++ b/AddOns/Bartender4/libs/LibButtonGlow-1.0/LibButtonGlow-1.0.toc @@ -6,9 +6,9 @@ ## X-Category: Library ## X-License: BSD ## X-Website: http://www.wowace.com/addons/libbuttonglow-1-0/ -## Version: 1.2.3 +## Version: 1.2.4 ## OptionalDeps: Masque -## X-Curse-Packaged-Version: 1.2.3 +## X-Curse-Packaged-Version: 1.2.4 ## X-Curse-Project-Name: LibButtonGlow-1.0 ## X-Curse-Project-ID: libbuttonglow-1-0 ## X-Curse-Repository-ID: wow/libbuttonglow-1-0/mainline diff --git a/AddOns/Bartender4/locale/deDE.lua b/AddOns/Bartender4/locale/deDE.lua index fdb4ff37a..beff1087f 100644 --- a/AddOns/Bartender4/locale/deDE.lua +++ b/AddOns/Bartender4/locale/deDE.lua @@ -197,7 +197,7 @@ L["Select the Self-Cast Modifier"] = "Den Selbstzauber-Modifikator auswählen" L["Self-Cast by modifier"] = "Selbstzauber mittels Modifikators" L["Self-Cast Modifier"] = "Selbstzauber-Modifikator" L["SHIFT"] = "SHIFT" -L["Show a Icon to open the config at the Minimap"] = "Icon zum Öffnen der Konfiguration an der Minikarte zeigen." +L["Show a Icon to open the config at the Minimap"] = "Zeigt ein Symbol zum Öffnen der Konfiguration an der Minikarte." L["Show Reputation Bar"] = "Rufleiste anzeigen" L["Show XP Bar"] = "Erfahrungsleiste anzeigen" L["Smart Target selection"] = "Automatisches Zielen" diff --git a/AddOns/Chatter/Changelog-Chatter-1.4.7.txt b/AddOns/Chatter/Changelog-Chatter-1.4.7.txt new file mode 100644 index 000000000..8c42e7ece --- /dev/null +++ b/AddOns/Chatter/Changelog-Chatter-1.4.7.txt @@ -0,0 +1,11 @@ +tag 1.4.7 +11d6c2e9d09255e48629c7c01667d7250568b2aa +Benjamin Staneck +2016-01-04 18:36:51 +0100 + + + +-------------------- + +Benjamin Staneck: + - Update TOC for Patch 6.2 diff --git a/AddOns/Chatter/Chatter.toc b/AddOns/Chatter/Chatter.toc index ac9f2aced..26676829d 100644 --- a/AddOns/Chatter/Chatter.toc +++ b/AddOns/Chatter/Chatter.toc @@ -1,13 +1,13 @@ -## Interface: 60100 +## Interface: 60200 ## Title: Chatter ## Notes: Lightweight Chat Improvements ## Notes-zhTW: 一個輕量級的聊天增強插件 ## Notes-zhCN: 一个轻量级的聊天增强插件 ## Author: Antiarc ## X-Category: Chat/Communication -## Version: 1.4.6 +## Version: 1.4.7 ## SavedVariables: ChatterDB -## X-Curse-Packaged-Version: 1.4.6 +## X-Curse-Packaged-Version: 1.4.7 ## X-Curse-Project-Name: Chatter ## X-Curse-Project-ID: chatter ## X-Curse-Repository-ID: wow/chatter/mainline diff --git a/AddOns/Chatter/Libs/AceDBOptions-3.0/AceDBOptions-3.0.lua b/AddOns/Chatter/Libs/AceDBOptions-3.0/AceDBOptions-3.0.lua index 616f35ece..e591c0e58 100644 --- a/AddOns/Chatter/Libs/AceDBOptions-3.0/AceDBOptions-3.0.lua +++ b/AddOns/Chatter/Libs/AceDBOptions-3.0/AceDBOptions-3.0.lua @@ -1,8 +1,8 @@ --- AceDBOptions-3.0 provides a universal AceConfig options screen for managing AceDB-3.0 profiles. -- @class file -- @name AceDBOptions-3.0 --- @release $Id: AceDBOptions-3.0.lua 1066 2012-09-18 14:36:49Z nevcairiel $ -local ACEDBO_MAJOR, ACEDBO_MINOR = "AceDBOptions-3.0", 14 +-- @release $Id: AceDBOptions-3.0.lua 1136 2015-10-22 23:09:27Z nevcairiel $ +local ACEDBO_MAJOR, ACEDBO_MINOR = "AceDBOptions-3.0", 15 local AceDBOptions, oldminor = LibStub:NewLibrary(ACEDBO_MAJOR, ACEDBO_MINOR) if not AceDBOptions then return end -- No upgrade needed @@ -53,7 +53,7 @@ if LOCALE == "deDE" then L["choose_sub"] = "Wählt ein bereits vorhandenes Profil aus." L["copy"] = "Kopieren von..." L["copy_desc"] = "Kopiere die Einstellungen von einem vorhandenen Profil in das aktive Profil." - -- L["current"] = "Current Profile:" + L["current"] = "Aktuelles Profil:" L["default"] = "Standard" L["delete"] = "Profil löschen" L["delete_confirm"] = "Willst du das ausgewählte Profil wirklich löschen?" @@ -73,7 +73,7 @@ elseif LOCALE == "frFR" then L["choose_sub"] = "Permet de choisir un des profils déjà disponibles." L["copy"] = "Copier à partir de" L["copy_desc"] = "Copie les paramètres d'un profil déjà existant dans le profil actuellement actif." - -- L["current"] = "Current Profile:" + L["current"] = "Profil actuel :" L["default"] = "Défaut" L["delete"] = "Supprimer un profil" L["delete_confirm"] = "Etes-vous sûr de vouloir supprimer le profil sélectionné ?" @@ -89,31 +89,31 @@ elseif LOCALE == "frFR" then L["reset_sub"] = "Réinitialise le profil actuel avec les paramètres par défaut." elseif LOCALE == "koKR" then L["choose"] = "프로필 선택" - L["choose_desc"] = "새로운 이름을 입력하거나, 이미 있는 프로필중 하나를 선택하여 새로운 프로필을 만들 수 있습니다." - L["choose_sub"] = "당신이 현재 이용할수 있는 프로필을 선택합니다." - L["copy"] = "복사" - L["copy_desc"] = "현재 사용중인 프로필에, 선택한 프로필의 설정을 복사합니다." - -- L["current"] = "Current Profile:" + L["choose_desc"] = "새로운 이름을 입력하거나, 이미 있는 프로필 중 하나를 선택하여 새로운 프로필을 만들 수 있습니다." + L["choose_sub"] = "현재 이용할 수 있는 프로필을 선택합니다." + L["copy"] = "불러오기" + L["copy_desc"] = "현재 사용 중인 프로필에, 선택한 프로필의 설정을 복사합니다." + L["current"] = "현재 프로필:" L["default"] = "기본값" L["delete"] = "프로필 삭제" L["delete_confirm"] = "정말로 선택한 프로필의 삭제를 원하십니까?" - L["delete_desc"] = "데이터베이스에 사용중이거나 저장된 프로파일 삭제로 SavedVariables 파일의 정리와 공간 절약이 됩니다." + L["delete_desc"] = "데이터베이스에 있는 안 쓰는 프로필을 삭제하면 SavedVariables 파일 정리와 공간 절약이 됩니다." L["delete_sub"] = "데이터베이스의 프로필을 삭제합니다." - L["intro"] = "모든 캐릭터의 다양한 설정과 사용중인 데이터베이스 프로필, 어느것이던지 매우 다루기 쉽게 바꿀수 있습니다." + L["intro"] = "사용 중인 데이터베이스 프로필을 바꾸면 각 캐릭터별로 다른 설정을 할 수 있습니다." L["new"] = "새로운 프로필" L["new_sub"] = "새로운 프로필을 만듭니다." L["profiles"] = "프로필" L["profiles_sub"] = "프로필 설정" L["reset"] = "프로필 초기화" - L["reset_desc"] = "단순히 다시 새롭게 구성을 원하는 경우, 현재 프로필을 기본값으로 초기화 합니다." - L["reset_sub"] = "현재의 프로필을 기본값으로 초기화 합니다" + L["reset_desc"] = "설정이 깨졌거나 처음부터 다시 설정을 원하시는 경우, 현재 프로필을 기본값으로 초기화하세요." + L["reset_sub"] = "현재 프로필을 기본값으로 초기화합니다." elseif LOCALE == "esES" or LOCALE == "esMX" then L["choose"] = "Perfiles existentes" L["choose_desc"] = "Puedes crear un nuevo perfil introduciendo un nombre en el recuadro o puedes seleccionar un perfil de los ya existentes." L["choose_sub"] = "Selecciona uno de los perfiles disponibles." L["copy"] = "Copiar de" L["copy_desc"] = "Copia los ajustes de un perfil existente al perfil actual." - -- L["current"] = "Current Profile:" + L["current"] = "Perfil actual:" L["default"] = "Por defecto" L["delete"] = "Borrar un Perfil" L["delete_confirm"] = "¿Estas seguro que quieres borrar el perfil seleccionado?" @@ -129,31 +129,31 @@ elseif LOCALE == "esES" or LOCALE == "esMX" then L["reset_sub"] = "Reinicar el perfil actual al de por defecto" elseif LOCALE == "zhTW" then L["choose"] = "現有的設定檔" - L["choose_desc"] = "你可以通過在文本框內輸入一個名字創立一個新的設定檔,也可以選擇一個已經存在的設定檔。" - L["choose_sub"] = "從當前可用的設定檔裏面選擇一個。" + L["choose_desc"] = "您可以在文字方塊內輸入名字以建立新的設定檔,或是選擇一個現有的設定檔使用。" + L["choose_sub"] = "從當前可用的設定檔裡面選擇一個。" L["copy"] = "複製自" - L["copy_desc"] = "從當前某個已保存的設定檔複製到當前正使用的設定檔。" - -- L["current"] = "Current Profile:" + L["copy_desc"] = "從一個現有的設定檔,將設定複製到現在使用中的設定檔。" + L["current"] = "目前設定檔:" L["default"] = "預設" L["delete"] = "刪除一個設定檔" - L["delete_confirm"] = "你確定要刪除所選擇的設定檔嗎?" - L["delete_desc"] = "從資料庫裏刪除不再使用的設定檔,以節省空間,並且清理SavedVariables檔。" - L["delete_sub"] = "從資料庫裏刪除一個設定檔。" - L["intro"] = "你可以選擇一個活動的資料設定檔,這樣你的每個角色就可以擁有不同的設定值,可以給你的插件設定帶來極大的靈活性。" + L["delete_confirm"] = "確定要刪除所選擇的設定檔嗎?" + L["delete_desc"] = "從資料庫裡刪除不再使用的設定檔,以節省空間,並且清理 SavedVariables 檔案。" + L["delete_sub"] = "從資料庫裡刪除一個設定檔。" + L["intro"] = "您可以從資料庫中選擇一個設定檔來使用,如此就可以讓每個角色使用不同的設定。" L["new"] = "新建" L["new_sub"] = "新建一個空的設定檔。" L["profiles"] = "設定檔" L["profiles_sub"] = "管理設定檔" L["reset"] = "重置設定檔" - L["reset_desc"] = "將當前的設定檔恢復到它的預設值,用於你的設定檔損壞,或者你只是想重來的情況。" - L["reset_sub"] = "將當前的設定檔恢復為預設值" + L["reset_desc"] = "將現用的設定檔重置為預設值;用於設定檔損壞,或者單純想要重來的情況。" + L["reset_sub"] = "將目前的設定檔重置為預設值" elseif LOCALE == "zhCN" then L["choose"] = "现有的配置文件" L["choose_desc"] = "你可以通过在文本框内输入一个名字创立一个新的配置文件,也可以选择一个已经存在的配置文件。" L["choose_sub"] = "从当前可用的配置文件里面选择一个。" L["copy"] = "复制自" L["copy_desc"] = "从当前某个已保存的配置文件复制到当前正使用的配置文件。" - -- L["current"] = "Current Profile:" + L["current"] = "当前配置文件:" L["default"] = "默认" L["delete"] = "删除一个配置文件" L["delete_confirm"] = "你确定要删除所选择的配置文件么?" @@ -173,7 +173,7 @@ elseif LOCALE == "ruRU" then L["choose_sub"] = "Выбор одиного из уже доступных профилей" L["copy"] = "Скопировать из" L["copy_desc"] = "Скопировать настройки из выбранного профиля в активный." - -- L["current"] = "Current Profile:" + L["current"] = "Текущий профиль:" L["default"] = "По умолчанию" L["delete"] = "Удалить профиль" L["delete_confirm"] = "Вы уверены, что вы хотите удалить выбранный профиль?" @@ -185,17 +185,17 @@ elseif LOCALE == "ruRU" then L["profiles"] = "Профили" L["profiles_sub"] = "Управление профилями" L["reset"] = "Сброс профиля" - L["reset_desc"] = "Если ваша конфигурации испорчена или если вы хотите настроить всё заново - сбросьте текущий профиль на стандартные значения." + L["reset_desc"] = "Сбросить текущий профиль к стандартным настройкам, если ваша конфигурация испорчена или вы хотите настроить всё заново." L["reset_sub"] = "Сброс текущего профиля на стандартный" elseif LOCALE == "itIT" then - L["choose"] = "Profili esistenti" - L["choose_desc"] = "Puoi creare un nuovo profilo digitando il nome della casella di testo, oppure scegliendone uno tra i profili gia' esistenti." - L["choose_sub"] = "Seleziona uno dei profili disponibili." + L["choose"] = "Profili Esistenti" + L["choose_desc"] = "Puoi creare un nuovo profilo digitando il nome della casella di testo, oppure scegliendone uno tra i profili già esistenti." + L["choose_sub"] = "Seleziona uno dei profili attualmente disponibili." L["copy"] = "Copia Da" L["copy_desc"] = "Copia le impostazioni da un profilo esistente, nel profilo attivo in questo momento." L["current"] = "Profilo Attivo:" L["default"] = "Standard" - L["delete"] = "Cancella un profilo" + L["delete"] = "Cancella un Profilo" L["delete_confirm"] = "Sei sicuro di voler cancellare il profilo selezionato?" L["delete_desc"] = "Cancella i profili non utilizzati dal database per risparmiare spazio e mantenere puliti i file di configurazione SavedVariables." L["delete_sub"] = "Cancella un profilo dal Database." @@ -205,8 +205,28 @@ elseif LOCALE == "itIT" then L["profiles"] = "Profili" L["profiles_sub"] = "Gestisci Profili" L["reset"] = "Reimposta Profilo" - L["reset_desc"] = "Riporta il tuo profilo attivo alle sue impostazioni di default, nel caso in cui la tua configurazione si sia corrotta, o semplicemente tu voglia re-inizializzarla." - L["reset_sub"] = "Reimposta il profilo ai suoi valori di default." + L["reset_desc"] = "Riporta il tuo profilo attivo alle sue impostazioni predefinite, nel caso in cui la tua configurazione si sia corrotta, o semplicemente tu voglia re-inizializzarla." + L["reset_sub"] = "Reimposta il profilo ai suoi valori predefiniti." +elseif LOCALE == "ptBR" then + L["choose"] = "Perfis Existentes" + L["choose_desc"] = "Você pode tanto criar um perfil novo tanto digitando um nome na caixa de texto, quanto escolher um dos perfis já existentes." + L["choose_sub"] = "Selecione um de seus perfis atualmente disponíveis." + L["copy"] = "Copiar De" + L["copy_desc"] = "Copia as definições de um perfil existente no perfil atualmente ativo." + L["current"] = "Perfil Autal:" + L["default"] = "Padrão" + L["delete"] = "Remover um Perfil" + L["delete_confirm"] = "Tem certeza que deseja remover o perfil selecionado?" + L["delete_desc"] = "Remove perfis existentes e inutilizados do banco de dados para economizar espaço, e limpar o arquivo SavedVariables." + L["delete_sub"] = "Remove um perfil do banco de dados." + L["intro"] = "Você pode alterar o perfil do banco de dados ativo, para que possa ter definições diferentes para cada personagem." + L["new"] = "Novo" + L["new_sub"] = "Cria um novo perfil vazio." + L["profiles"] = "Perfis" + L["profiles_sub"] = "Gerenciar Perfis" + L["reset"] = "Resetar Perfil" + L["reset_desc"] = "Reseta o perfil atual para os valores padrões, no caso de sua configuração estar quebrada, ou simplesmente se deseja começar novamente." + L["reset_sub"] = "Resetar o perfil atual ao padrão" end local defaultProfiles diff --git a/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets.toc b/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets.toc index 9bf77d2e4..0c96fb0d5 100644 --- a/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets.toc +++ b/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets.toc @@ -1,5 +1,5 @@ -## Interface: 60000 -## X-Curse-Packaged-Version: r49 +## Interface: 60200 +## X-Curse-Packaged-Version: r51 ## X-Curse-Project-Name: AceGUI-3.0-SharedMediaWidgets ## X-Curse-Project-ID: ace-gui-3-0-shared-media-widgets ## X-Curse-Repository-ID: wow/ace-gui-3-0-shared-media-widgets/mainline diff --git a/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets/BackgroundWidget.lua b/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets/BackgroundWidget.lua index e181b231e..0b75952b7 100644 --- a/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets/BackgroundWidget.lua +++ b/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets/BackgroundWidget.lua @@ -8,7 +8,7 @@ local AGSMW = LibStub("AceGUISharedMediaWidgets-1.0") do local widgetType = "LSM30_Background" - local widgetVersion = 10 + local widgetVersion = 11 local contentFrameCache = {} local function ReturnSelf(self) @@ -57,8 +57,8 @@ do local font, size = text:GetFont() text:SetFont(font,size,"OUTLINE") - text:SetPoint("LEFT", check, "RIGHT", 1, 0) - text:SetPoint("RIGHT", frame, "RIGHT", -2, 0) + text:SetPoint("TOPLEFT", check, "TOPRIGHT", 1, 0) + text:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -2, 0) text:SetJustifyH("LEFT") text:SetText("Test Test Test Test Test Test Test") frame.text = text diff --git a/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets/BorderWidget.lua b/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets/BorderWidget.lua index 0f06117b0..0cd295918 100644 --- a/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets/BorderWidget.lua +++ b/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets/BorderWidget.lua @@ -8,7 +8,7 @@ local AGSMW = LibStub("AceGUISharedMediaWidgets-1.0") do local widgetType = "LSM30_Border" - local widgetVersion = 10 + local widgetVersion = 11 local contentFrameCache = {} local function ReturnSelf(self) @@ -55,8 +55,8 @@ do check:Hide() frame.check = check local text = frame:CreateFontString(nil,"OVERLAY","GameFontWhite") - text:SetPoint("LEFT", check, "RIGHT", 1, 0) - text:SetPoint("RIGHT", frame, "RIGHT", -2, 0) + text:SetPoint("TOPLEFT", check, "TOPRIGHT", 1, 0) + text:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -2, 0) text:SetJustifyH("LEFT") text:SetText("Test Test Test Test Test Test Test") frame.text = text diff --git a/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets/FontWidget.lua b/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets/FontWidget.lua index 1cd19e41a..eadf35ff9 100644 --- a/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets/FontWidget.lua +++ b/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets/FontWidget.lua @@ -8,7 +8,7 @@ local AGSMW = LibStub("AceGUISharedMediaWidgets-1.0") do local widgetType = "LSM30_Font" - local widgetVersion = 10 + local widgetVersion = 11 local contentFrameCache = {} local function ReturnSelf(self) @@ -44,8 +44,8 @@ do check:Hide() frame.check = check local text = frame:CreateFontString(nil,"OVERLAY","GameFontWhite") - text:SetPoint("LEFT", check, "RIGHT", 1, 0) - text:SetPoint("RIGHT", frame, "RIGHT", -2, 0) + text:SetPoint("TOPLEFT", check, "TOPRIGHT", 1, 0) + text:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -2, 0) text:SetJustifyH("LEFT") text:SetText("Test Test Test Test Test Test Test") frame.text = text diff --git a/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets/SoundWidget.lua b/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets/SoundWidget.lua index c2d3d84c0..1d39c28d7 100644 --- a/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets/SoundWidget.lua +++ b/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets/SoundWidget.lua @@ -8,7 +8,7 @@ local AGSMW = LibStub("AceGUISharedMediaWidgets-1.0") do local widgetType = "LSM30_Sound" - local widgetVersion = 10 + local widgetVersion = 11 local contentFrameCache = {} local function ReturnSelf(self) @@ -68,8 +68,8 @@ do frame.speakeron = speakeron local text = frame:CreateFontString(nil,"OVERLAY","GameFontWhite") - text:SetPoint("LEFT", check, "RIGHT", 1, 0) - text:SetPoint("RIGHT", soundbutton, "LEFT", -2, 0) + text:SetPoint("TOPLEFT", check, "TOPRIGHT", 1, 0) + text:SetPoint("BOTTOMRIGHT", soundbutton, "BOTTOMLEFT", -2, 0) text:SetJustifyH("LEFT") text:SetText("Test Test Test Test Test Test Test") frame.text = text diff --git a/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets/StatusbarWidget.lua b/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets/StatusbarWidget.lua index d8930dd8e..2d0e32c8f 100644 --- a/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets/StatusbarWidget.lua +++ b/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets/StatusbarWidget.lua @@ -8,7 +8,7 @@ local AGSMW = LibStub("AceGUISharedMediaWidgets-1.0") do local widgetType = "LSM30_Statusbar" - local widgetVersion = 10 + local widgetVersion = 11 local contentFrameCache = {} local function ReturnSelf(self) @@ -53,8 +53,8 @@ do local font, size = text:GetFont() text:SetFont(font,size,"OUTLINE") - text:SetPoint("LEFT", check, "RIGHT", 3, 0) - text:SetPoint("RIGHT", frame, "RIGHT", -2, 0) + text:SetPoint("TOPLEFT", check, "TOPRIGHT", 3, 0) + text:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -2, 0) text:SetJustifyH("LEFT") text:SetText("Test Test Test Test Test Test Test") frame.text = text diff --git a/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets/prototypes.lua b/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets/prototypes.lua index 370ca3dba..14ccd5973 100644 --- a/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets/prototypes.lua +++ b/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets/prototypes.lua @@ -3,7 +3,7 @@ local DataVersion = 9001 -- dev version always overwrites everything else :) --@end-debug@]===] --@non-debug@ -local DataVersion = 49 +local DataVersion = 51 --@end-non-debug@ local AGSMW = LibStub:NewLibrary("AceGUISharedMediaWidgets-1.0", DataVersion) diff --git a/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua b/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua index 589201d71..085449b44 100644 --- a/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua +++ b/AddOns/Chatter/Libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua @@ -2,7 +2,7 @@ TreeGroup Container Container that uses a tree control to switch between groups. -------------------------------------------------------------------------------]] -local Type, Version = "TreeGroup", 37 +local Type, Version = "TreeGroup", 38 local AceGUI = LibStub and LibStub("AceGUI-3.0", true) if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end @@ -335,6 +335,8 @@ local methods = { button.toggle.button = button button.toggle:SetScript("OnClick",Expand_OnClick) + button.text:SetHeight(14) -- Prevents text wrapping + return button end, diff --git a/AddOns/Chatter/Libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua b/AddOns/Chatter/Libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua index 589201d71..085449b44 100644 --- a/AddOns/Chatter/Libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua +++ b/AddOns/Chatter/Libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua @@ -2,7 +2,7 @@ TreeGroup Container Container that uses a tree control to switch between groups. -------------------------------------------------------------------------------]] -local Type, Version = "TreeGroup", 37 +local Type, Version = "TreeGroup", 38 local AceGUI = LibStub and LibStub("AceGUI-3.0", true) if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end @@ -335,6 +335,8 @@ local methods = { button.toggle.button = button button.toggle:SetScript("OnClick",Expand_OnClick) + button.text:SetHeight(14) -- Prevents text wrapping + return button end, diff --git a/AddOns/Chatter/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua b/AddOns/Chatter/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua index a1273017a..675d7b03a 100644 --- a/AddOns/Chatter/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua +++ b/AddOns/Chatter/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua @@ -1,4 +1,4 @@ ---[[ $Id: CallbackHandler-1.0.lua 965 2010-08-09 00:47:52Z mikk $ ]] +--[[ $Id: CallbackHandler-1.0.lua 1131 2015-06-04 07:29:24Z nevcairiel $ ]] local MAJOR, MINOR = "CallbackHandler-1.0", 6 local CallbackHandler = LibStub:NewLibrary(MAJOR, MINOR) @@ -65,9 +65,7 @@ end}) -- UnregisterName - name of the callback unregistration API, default "UnregisterCallback" -- UnregisterAllName - name of the API to unregister all callbacks, default "UnregisterAllCallbacks". false == don't publish this API. -function CallbackHandler:New(target, RegisterName, UnregisterName, UnregisterAllName, OnUsed, OnUnused) - -- TODO: Remove this after beta has gone out - assert(not OnUsed and not OnUnused, "ACE-80: OnUsed/OnUnused are deprecated. Callbacks are now done to registry.OnUsed and registry.OnUnused") +function CallbackHandler:New(target, RegisterName, UnregisterName, UnregisterAllName) RegisterName = RegisterName or "RegisterCallback" UnregisterName = UnregisterName or "UnregisterCallback" diff --git a/AddOns/Chatter/Libs/LibChatAnims/LibChatAnims.lua b/AddOns/Chatter/Libs/LibChatAnims/LibChatAnims.lua index bdb1f9e9b..268ae476e 100644 --- a/AddOns/Chatter/Libs/LibChatAnims/LibChatAnims.lua +++ b/AddOns/Chatter/Libs/LibChatAnims/LibChatAnims.lua @@ -1,6 +1,6 @@ local MAJOR, MINOR = "LibChatAnims", 1 -- Bump minor on changes -local LCA, oldminor = LibStub:NewLibrary(MAJOR, MINOR) +local LCA = LibStub:NewLibrary(MAJOR, MINOR) if not LCA then return end -- No upgrade needed LCA.animations = LCA.animations or {} -- Animation storage diff --git a/AddOns/Chatter/Libs/LibDialog-1.0/LibDialog-1.0.toc b/AddOns/Chatter/Libs/LibDialog-1.0/LibDialog-1.0.toc index a24305881..877962073 100644 --- a/AddOns/Chatter/Libs/LibDialog-1.0/LibDialog-1.0.toc +++ b/AddOns/Chatter/Libs/LibDialog-1.0/LibDialog-1.0.toc @@ -1,13 +1,13 @@ -## Interface: 60100 +## Interface: 60200 ## Title: Lib: Dialog-1.0 ## Notes: Replacement for the default UI's StaticPopup dialogs. ## Author: Torhal -## Version: r82 +## Version: r84 ## LoadOnDemand: 1 -## X-Date: 2015-02-26T04:13:52Z +## X-Date: 2015-06-24T01:59:26Z ## X-Category: Libraries ## X-License: All Rights Reserved -## X-Curse-Packaged-Version: r82 +## X-Curse-Packaged-Version: r84 ## X-Curse-Project-Name: LibDialog-1.0 ## X-Curse-Project-ID: libdialog-1-0 ## X-Curse-Repository-ID: wow/libdialog-1-0/mainline diff --git a/AddOns/Chatter/Libs/LibSharedMedia-3.0/LibSharedMedia-3.0.toc b/AddOns/Chatter/Libs/LibSharedMedia-3.0/LibSharedMedia-3.0.toc index 48d43a2f7..7da61dc0d 100644 --- a/AddOns/Chatter/Libs/LibSharedMedia-3.0/LibSharedMedia-3.0.toc +++ b/AddOns/Chatter/Libs/LibSharedMedia-3.0/LibSharedMedia-3.0.toc @@ -1,6 +1,6 @@ -## Interface: 60100 +## Interface: 60200 ## LoadOnDemand: 1 -## X-Curse-Packaged-Version: r91 +## X-Curse-Packaged-Version: r93 ## X-Curse-Project-Name: LibSharedMedia-3.0 ## X-Curse-Project-ID: libsharedmedia-3-0 ## X-Curse-Repository-ID: wow/libsharedmedia-3-0/mainline @@ -8,12 +8,12 @@ ## Title: Lib: SharedMedia-3.0 ## Notes: Shared handling of media data (fonts, sounds, textures, ...) between addons. ## Author: Elkano -## Version: 3.0-91 +## Version: 3.0-93 ## X-Website: http://www.wowace.com/projects/libsharedmedia-3-0/ ## X-Category: Library -## X-Revision: 91 -## X-Date: 2015-02-27T01:36:14Z +## X-Revision: 93 +## X-Date: 2015-06-24T01:30:16Z LibStub\LibStub.lua CallbackHandler-1.0\CallbackHandler-1.0.lua diff --git a/AddOns/Chatter/Libs/LibSink-2.0/LibSink-2.0.lua b/AddOns/Chatter/Libs/LibSink-2.0/LibSink-2.0.lua index 9888918ec..ee4ec13a3 100644 --- a/AddOns/Chatter/Libs/LibSink-2.0/LibSink-2.0.lua +++ b/AddOns/Chatter/Libs/LibSink-2.0/LibSink-2.0.lua @@ -1,14 +1,14 @@ --[[ Name: Sink-2.0 -Revision: $Rev: 97 $ -Author(s): Funkydude, Rabbit +Revision: $Rev: 110 $ +Author(s): Funkydude Description: Library that handles chat output. Dependencies: LibStub, SharedMedia-3.0 (optional) License: CC-BY-NC-SA 3.0 ]] --[[ -Copyright (C) 2008-2013 +Copyright (C) 2008-2015 For the attribution bit of the license, as long as you distribute the library unmodified, no attribution is required. If you derive from the library or change it in any way, you are required to contact the author(s). @@ -18,7 +18,7 @@ If you derive from the library or change it in any way, you are required to cont -- Sink-2.0 local SINK20 = "LibSink-2.0" -local SINK20_MINOR = 90000 + tonumber(("$Revision: 97 $"):match("(%d+)")) +local SINK20_MINOR = 90102 local sink = LibStub:NewLibrary(SINK20, SINK20_MINOR) if not sink then return end @@ -34,210 +34,199 @@ sink.stickyAddons = sink.stickyAddons or { Blizzard = true, MikSBT = true, SCT = true, - Parrot = true, } -- Upgrade complete -local format = string.format - -local L_DEFAULT = "Default" -local L_DEFAULT_DESC = "Route output from this addon through the first available handler, preferring scrolling combat text addons if available." -local L_ROUTE = "Route output from this addon through %s." -local L_SCT = "Scrolling Combat Text" -local L_MSBT = "MikSBT" -local L_BIGWIGS = "BigWigs" -local L_UIERROR = "Blizzard Error Frame" -local L_CHAT = "Chat" -local L_BLIZZARD = "Blizzard FCT" -local L_RW = "Raid Warning" -local L_PARROT = "Parrot" -local L_CHANNEL = "Channel" -local L_OUTPUT = "Output" -local L_OUTPUT_DESC = "Where to route the output from this addon." -local L_SCROLL = "Sub section" -local L_SCROLL_DESC = "Set the sub section where messages should appear.\n\nOnly available for some output sinks." -local L_STICKY = "Sticky" -local L_STICKY_DESC = "Set messages from this addon to appear as sticky.\n\nOnly available for some output sinks." -local L_NONE = "None" -local L_NONE_DESC = "Hide all messages from this addon." -local L_NOTINCHANNEL = " (You tried sending this to the channel %s, but it appears you are not there.)" - -local l = GetLocale() -if l == "koKR" then - L_DEFAULT = "기본" - L_DEFAULT_DESC = "처음으로 사용 가능한 트레이너를 통해 이 애드온으로부터 출력을 보냅니다." - L_ROUTE = "%s|1을;를; 통해 이 애드온의 메시지를 출력합니다." - L_SCT = "Scrolling Combat Text" - L_MSBT = "MikSBT" - L_BIGWIGS = "BigWigs" - L_UIERROR = "블리자드 오류 창" - L_CHAT = "대화창" - L_BLIZZARD = "블리자드 FCT" - L_RW = "공격대 경보" - L_PARROT = "Parrot" - L_OUTPUT = "출력" - L_OUTPUT_DESC = "어디에 이 애드온의 메시지를 출력할지 선택합니다." - L_SCROLL = "스크롤 영역" - L_SCROLL_DESC = "메시지를 출력할 스크룰 영역을 설정합니다.\n\nParrot, SCT나 MikSBT만 사용 가능합니다." - L_STICKY = "점착" - L_STICKY_DESC = "달라붙는 것처럼 보일 이 애드온의 메시지를 설정합니다.\n\n블리자드 FCT, Parrot, SCT나 MikSBT만 사용 가능합니다." - L_NONE = "없음" - L_NONE_DESC = "이 애드온의 모든 메시지를 숨김니다." -elseif l == "frFR" then - L_DEFAULT = "Par défaut" - L_DEFAULT_DESC = "Transmet la sortie de cet addon via le premier handler disponible, de préférence les textes de combat défilants s'il y en a." - L_ROUTE = "Transmet la sortie de cet addon via %s." - L_SCT = "Scrolling Combat Text" - L_MSBT = "MikSBT" - L_BIGWIGS = "BigWigs" - L_UIERROR = "Cadre des erreurs" - L_CHAT = "Fenêtre de discussion" - L_BLIZZARD = "TCF de Blizzard" - L_RW = "Avertissement raid" - L_PARROT = "Parrot" - L_CHANNEL = "Canal" - L_OUTPUT = "Sortie" - L_OUTPUT_DESC = "Destination de la sortie de cet addon." - L_SCROLL = "Sous-section" - L_SCROLL_DESC = "Définit la sous-section où les messages doivent apparaitre.\n\nDisponible uniquement dans certains cas." - L_STICKY = "En évidence" - L_STICKY_DESC = "Fait en sortie que les messages de cet addon apparaissent en évidence.\n\nDisponible uniquement dans certains cas." - L_NONE = "Aucun" - L_NONE_DESC = "Masque tous les messages provenant de cet addon." -elseif l == "deDE" then - L_DEFAULT = "Voreinstellung" - L_DEFAULT_DESC = "Leitet die Ausgabe von diesem Addon zum ersten verfügbaren Ausgabeort, vorzugsweise Scrollende Kampf Text Addons wenn verfügbar." - L_ROUTE = "Schickt die Meldungen dieses Addons an %s." - L_SCT = "Scrolling Combat Text(SCT)" - L_MSBT = "MikSBT" - L_BIGWIGS = "BigWigs" - L_UIERROR = "Blizzard's Fehler Fenster" - L_CHAT = "Im Chat" - L_BLIZZARD = "Blizzard's schwebenden Kampftext" - L_RW = "Schlachtzug's Warnung" - L_PARROT = "Parrot" - L_OUTPUT = "Ausgabe" - L_OUTPUT_DESC = "Wohin die Meldungen des Addons gesendet werden soll." - L_SCROLL = "Scroll Bereich" - L_SCROLL_DESC = "Setzt die Scroll Bereich, wo die Meldungen erscheinen sollen.\n\nNur verfügbar für Parrot, SCT oder MikSBT." - L_STICKY = "Stehend" - L_STICKY_DESC = "Läßt Nachrichten von diesem Addon als stehende Nachrichten erscheinen.\n\nNur verfügbar für Blizzard FCT, Parrot, SCT oder MikSBT." - L_NONE = "Nirgends" - L_NONE_DESC = "Versteckt alle Meldungen von diesem Addon." -elseif l == "zhCN" then - L_DEFAULT = "默认" - L_DEFAULT_DESC = "插件的输出方式取决于第一个可用插件,例如有 SCT 插件,则优先使用。" - L_ROUTE = "经由%s显示信息。" - L_SCT = "SCT" - L_MSBT = "MikSBT" - L_BIGWIGS = "BigWigs" - L_UIERROR = "Blizzard 错误框体" - L_CHAT = "聊天框体" - L_BLIZZARD = "系统自带滚动战斗信息" - L_RW = "团队警告" - L_PARROT = "Parrot" - L_CHANNEL = "频道" - L_OUTPUT = "输出模式" - L_OUTPUT_DESC = "设置显示位置。" - L_SCROLL = "滚动区域" - L_SCROLL_DESC = "设置滚动信息显示位置。\n\n只有 Parrot、SCT 及 MikSBT 支持。" - L_STICKY = "固定" - L_STICKY_DESC = "设置信息固定显示位置。\n\n只有系统自带滚动战斗信息、Parrot、SCT 及 MikSBT 支持。" - L_NONE = "隐藏" - L_NONE_DESC = "隐藏所有来自插件的信息。" - L_NOTINCHANNEL = "(尝试发送到%s频道,但其并不存在。)" -elseif l == "zhTW" then - L_DEFAULT = "預設" - L_DEFAULT_DESC = "插件輸出經由第一個可使用的處理器顯示,如果有 SCT 的話,則優先使用。" - L_ROUTE = "插件輸出經由%s顯示。" - L_SCT = "SCT" - L_MSBT = "MikSBT" - L_BIGWIGS = "BigWigs" - L_UIERROR = "Blizzard 錯誤訊息框架" - L_CHAT = "聊天視窗" - L_BLIZZARD = "Blizzard 浮動戰鬥文字" - L_RW = "團隊警告" - L_PARROT = "Parrot" - L_CHANNEL = "頻道" - L_OUTPUT = "顯示模式" - L_OUTPUT_DESC = "插件輸出經由哪裡顯示。" - L_SCROLL = "滾動區域" - L_SCROLL_DESC = "設定滾動訊息出現位置。\n\n只有 Parrot,SCT 及 MikSBT 有支援。" - L_STICKY = "固定" - L_STICKY_DESC = "設定使用固定訊息。\n\n只有 Blizzard 浮動戰鬥文字,Parrot,SCT 及 MikSBT 有支援。" - L_NONE = "隱藏" - L_NONE_DESC = "隱藏所有插件輸出。" - L_NOTINCHANNEL = "(你嘗試發送訊息到頻道%s,但是此頻道不存在。)" -elseif l == "ruRU" then - L_DEFAULT = "По умолчанию" - L_DEFAULT_DESC = "Маршрут вывода сообщений данного аддона через первое доступное устройство, предпочитая доступные аддоны прокрутки текста боя." - L_ROUTE = "Маршрут вывода сообщений данного аддона через %s." - L_SCT = "SCT" - L_MSBT = "MikSBT" - L_BIGWIGS = "BigWigs" - L_UIERROR = "Фрейм ошибок Blizzard" - L_CHAT = "Чат" - L_BLIZZARD = "Blizzard FCT" - L_RW = "Объявление рейду" - L_PARROT = "Parrot" - L_CHANNEL = "Канал" - L_OUTPUT = "Вывод" - L_OUTPUT_DESC = "Куда выводить сообщения данного аддона." - L_SCROLL = "Область прокрутки" - L_SCROLL_DESC = "Назначить область прокрутки куда должны выводиться сообщения.\n\nДоступно только для Parrotа, SCT или MikSBT." - L_STICKY = "Клейкий" - L_STICKY_DESC = "Сделать сообщения данного аддона клейкими.\n\nДоступно только для Blizzard FCT, Parrot, SCT или MikSBT." - L_NONE = "Нету" - L_NONE_DESC = "Скрыть все сообщения данного аддона." -elseif l == "esES" or l == "esMX" then - L_DEFAULT = "Por defecto" - L_DEFAULT_DESC = "Envía los mensajes de este addon al primer canal disponible, preferiblemente a addons SCT si los hay." - L_ROUTE = "Envía los mensajes de este addon a %s." - L_SCT = "Scrolling Combat Text" - L_MSBT = "MikSBT" - L_BIGWIGS = "BigWigs" - L_UIERROR = "Marco de errores de Blizzard" - L_CHAT = "Chat" - L_BLIZZARD = "Texto flotante de Blizzard" - L_RW = "Aviso de la banda" - L_PARROT = "Parrot" - L_CHANNEL = "Canal específico" - L_OUTPUT = "Salida" - L_OUTPUT_DESC = "Dónde enviar los mensajes de este addon." - L_SCROLL = "Sub seción" - L_SCROLL_DESC = "Especifica dónde deberán mostrarse los mensajes.\n\nSólo disponible en algunas opciones de salida." - L_STICKY = "Destacar" - L_STICKY_DESC = "Especifica que los mensajes deberán mostrarse de forma destacada.\n\nSólo disponible en algunas opciones de salida." - L_NONE = "Ninguno" - L_NONE_DESC = "Oculta todos los mensajes de este addon." -elseif l == "ptBR" then - -- Missing -elseif l == "itIT" then - -- Missing -end +local _G = _G +local format, gsub, wipe, next, select = string.format, string.gsub, wipe, next, select +local IsInRaid, IsInGroup, SendChatMessage = IsInRaid, IsInGroup, SendChatMessage + +local L = {} +L.DEFAULT = _G.DEFAULT -- "Default" +L.CHAT = _G.CHAT -- "Chat" +L.NONE = _G.NONE -- "None" +L.RW = _G.RAID_WARNING -- "Raid Warning" +L.BLIZZARD = _G.FLOATING_COMBATTEXT_LABEL -- "Floating Combat Text" +L.CHANNEL = _G.CHANNEL -- "Channel" + +L.DEFAULT_DESC = "Route output from this addon through the first available handler, preferring scrolling combat text addons if available." +L.ROUTE = "Route output from this addon through %s." +L.UIERROR = "Blizzard Error Frame" +L.OUTPUT = "Output" +L.OUTPUT_DESC = "Where to route the output from this addon." +L.SCROLL = "Sub section" +L.SCROLL_DESC = "Set the sub section where messages should appear.\n\nOnly available for some outputs." +L.STICKY = "Sticky" +L.STICKY_DESC = "Set messages from this addon to appear as sticky.\n\nOnly available for some outputs." +L.NONE_DESC = "Hide all messages from this addon." +L.NOTINCHANNEL = "LibSink: %s (Sending to channel '%s' failed, you're not in it)" -local SML = LibStub("LibSharedMedia-3.0", true) +do + -- These localization strings are translated on WoWAce: http://www.wowace.com/addons/libsink-2-0/localization/ + local l = GetLocale() + if l == "koKR" then +L["DEFAULT_DESC"] = "처음으로 사용 가능한 트레이너를 통해 이 애드온으로부터 출력을 보냅니다." -- Needs review +L["NONE_DESC"] = "이 애드온의 모든 메시지를 숨김니다." -- Needs review +L["NOTINCHANNEL"] = "LibSink: %s (%s 채널로 전송 실패)" -- Needs review +L["OUTPUT"] = "출력" -- Needs review +L["OUTPUT_DESC"] = "어디에 이 애드온의 메시지를 출력할지 선택합니다." -- Needs review +L["ROUTE"] = "%s|1을;를; 통해 이 애드온의 메시지를 출력합니다." -- Needs review +L["SCROLL"] = "스크롤 영역" -- Needs review +L["SCROLL_DESC"] = "메시지를 출력할 스크룰 영역을 설정합니다." -- Needs review +L["STICKY"] = "점착" -- Needs review +L["STICKY_DESC"] = "달라붙는 것처럼 보일 이 애드온의 메시지를 설정합니다." -- Needs review +L["UIERROR"] = "블리자드 오류 창" -- Needs review + + elseif l == "frFR" then +L["DEFAULT_DESC"] = "Dirige la sortie de cet addon vers le premier gestionnaire disponible, de préférence les addons de texte de combat flottant si disponibles." -- Needs review +L["NONE_DESC"] = "Cache tous les messages de cet addon." -- Needs review +L["NOTINCHANNEL"] = "LibSink : %s (l'envoi vers le canal '%s' a échoué, car vous n'êtes pas dessus)" -- Needs review +L["OUTPUT"] = "Sortie" -- Needs review +L["OUTPUT_DESC"] = "Vers où diriger la sortie de cet addon." -- Needs review +L["ROUTE"] = "Dirige la sortie de cet addon vers %s" -- Needs review +L["SCROLL"] = "Sous-section" -- Needs review +L["SCROLL_DESC"] = [=[Définit la sous-section dans laquelle les messages doivent apparaître. + +Disponible uniquement pour certaines sorties.]=] -- Needs review +L["STICKY"] = "Épinglé" -- Needs review +L["STICKY_DESC"] = [=[Fait apparaître les messages de cet addon comme épinglés. + +Disponible uniquement pour certaines sorties.]=] -- Needs review +L["UIERROR"] = "Cadre des erreurs de Blizzard" -- Needs review + + elseif l == "deDE" then +L["DEFAULT_DESC"] = "Die Ausgaben dieses Addons werden durch den ersten verfügbaren Handler geleitet, es werden Schwebender-Kampftext-Addons bevorzugt, wenn diese vorhanden sind." +L["NONE_DESC"] = "Alle Meldungen dieses Addons verstecken." +L["NOTINCHANNEL"] = "LibSink : %s (Senden auf Channel \"%s\" gescheitert, da du nicht in ihm bist)" +L["OUTPUT"] = "Ausgabe" +L["OUTPUT_DESC"] = "Wohin die Ausgaben dieses Addons geleitet werden sollen." +L["ROUTE"] = "Die Ausgaben dieses Addons werden durch %s geleitet." +L["SCROLL"] = "Unterabschnitt" +L["SCROLL_DESC"] = [=[Stelle den Unterabschnitt ein, in dem die Nachrichten erscheinen sollen. + +Dies ist nur für manche Ausgaben verfügbar.]=] +L["STICKY"] = "Fixiert" +L["STICKY_DESC"] = [=[Lässt Nachrichten dieses Addons als fixiert erscheinen, das heißt, dass die Ausgaben an einer festen Position auf dem Bildschirm erscheinen und dort wieder verschwinden. + +Dies ist nur für manche Ausgaben verfügbar.]=] +L["UIERROR"] = "Blizzards Fehlerfenster" + + elseif l == "zhCN" then +L["DEFAULT_DESC"] = "从这个插件路由输出到第一个可用的处理程序,倾向于可用的滚动战斗文本插件。" +L["NONE_DESC"] = "隐藏此插件全部消息。" +L["NOTINCHANNEL"] = "LibSink:%s(发送到频道“%s”失败,不在此频道)" +L["OUTPUT"] = "输出" +L["OUTPUT_DESC"] = "从此插件路由输出。" +L["ROUTE"] = "从此插件通过%s路由输出。" +L["SCROLL"] = "子区段" +L["SCROLL_DESC"] = [=[设置子区段消息出现状态。 + +只在一些输出可用。]=] +L["STICKY"] = "固定" +L["STICKY_DESC"] = [=[设置信息从此插件出现状态为固定。 + +只在一些输出可用。]=] +L["UIERROR"] = "暴雪错误框体" + + elseif l == "zhTW" then +L["DEFAULT_DESC"] = "從這個插件路由輸出到第一個可用的處理程式,傾向於可用的滾動戰鬥文本插件。" +L["NONE_DESC"] = "隱藏此插件全部訊息。" +L["NOTINCHANNEL"] = "LibSink:%s(發送到頻道“%s”失敗,不在此頻道)" +L["OUTPUT"] = "輸出" +L["OUTPUT_DESC"] = "從此插件路由輸出。" +L["ROUTE"] = "從此插件通過%s路由輸出。" +L["SCROLL"] = "子區段" +L["SCROLL_DESC"] = [=[設置子區段訊息出現狀態。 + +只在一些輸出可用。 ]=] +L["STICKY"] = "固定" +L["STICKY_DESC"] = [=[設置訊息從此插件出現狀態為固定。 + +只在一些輸出可用。 ]=] +L["UIERROR"] = "暴雪錯誤框體" + + elseif l == "ruRU" then +L["DEFAULT_DESC"] = "Направлять вывод из этого аддона через первый доступный обработчик, предпочитая аддоны прокрутки журнала боя если они доступны." +L["NONE_DESC"] = "Скрыть все сообщения этого аддона" +L["NOTINCHANNEL"] = "LibSink: %s (Отправка в канал '%s' неудачна, вы не в нем)" +L["OUTPUT"] = "Вывод" +L["OUTPUT_DESC"] = "Куда направлять вывод из этого аддона." +L["ROUTE"] = "Направлять вывод из этого аддона через %s." +L["SCROLL"] = "Подразделы" +L["SCROLL_DESC"] = [=[Установить подраздел, где должны появляться сообщения. + +Доступно только для некоторых выводов.]=] +L["STICKY"] = "Прикрепление" +L["STICKY_DESC"] = [=[Прикреплять сообщения из этого аддона + +Доступно только для некоторых выводов.]=] +L["UIERROR"] = "Фрейм ошибок Blizzard." + + elseif l == "esES" then +L["DEFAULT_DESC"] = "Ruta de salida de este addon mediante el primer controlador disponible, prefiriendo el desplazamiento de texto de combate si está disponible." -- Needs review +L["NONE_DESC"] = "Oculta todos los mensajes de este addon." -- Needs review +L["NOTINCHANNEL"] = "LibSink: %s (Falló al enviar al canal '%s', no estás en el)" -- Needs review +L["OUTPUT"] = "Salida" -- Needs review +L["OUTPUT_DESC"] = "Donde se ajustará la ruta de salida de este addon." -- Needs review +L["ROUTE"] = "Ruta de salida de este addon mediante %s." -- Needs review +L["SCROLL"] = "Sub sección." -- Needs review +L["SCROLL_DESC"] = [=[Ajusta la sub sección donde los mensajes deben aparecer. + +Disponible sólo para algunas salidas.]=] -- Needs review +L["STICKY"] = "Chincheta" -- Needs review +L["STICKY_DESC"] = [=[Ajusta los mensajes de este addon para que aparezcan como chincheta. + +Disponible sólo para algunas salidas.]=] -- Needs review +L["UIERROR"] = "Marco de Errores de Blizzard" -- Needs review + + elseif l == "esMX" then +L["DEFAULT_DESC"] = "Ruta de salida de este addon mediante el primer controlador disponible, prefiriendo el desplazamiento de texto de combate si está disponible." -- Needs review +L["NONE_DESC"] = "Oculta todos los mensajes de este addon." -- Needs review +L["NOTINCHANNEL"] = "LibSink: %s (Falló al enviar al canal '%s', no estás en el)" -- Needs review +L["OUTPUT"] = "Salida" -- Needs review +L["OUTPUT_DESC"] = "Donde se ajustará la ruta de salida de este addon." -- Needs review +L["ROUTE"] = "Ruta de salida de este addon mediante %s." -- Needs review +L["SCROLL"] = "Sub sección." -- Needs review +L["SCROLL_DESC"] = [=[Ajusta la sub sección donde los mensajes deben aparecer. + +Disponible sólo para algunas salidas.]=] -- Needs review +L["STICKY"] = "Chincheta" -- Needs review +L["STICKY_DESC"] = [=[Ajusta los mensajes de este addon para que aparezcan como chincheta. + +Disponible sólo para algunas salidas.]=] -- Needs review +L["UIERROR"] = "Marco de Errores de Blizzard" -- Needs review + + elseif l == "ptBR" then + + elseif l == "itIT" then +L["DEFAULT_DESC"] = "Indirizza l'uscita da questo addon attraverso il primo metodo di uscita disponibile, preferibilmente un addon visivo a schermo se disponibile." +L["NONE_DESC"] = "Nasconti tutti i messaggi per questo addon." +L["NOTINCHANNEL"] = "LibSink: %s (Invio al canale '%s' non riuscito, non sei dentro)" +L["OUTPUT"] = "Uscita" +L["OUTPUT_DESC"] = "Dove indirizzare l'uscita da questo addon." +L["ROUTE"] = "Indirizza l'uscita da questo addon attraverso %s." +L["SCROLL"] = "Sotto sezione" +L["SCROLL_DESC"] = [=[Imposta la sotto sezione in cui i messaggi devono apparire. + +Disponibile solo per alcune uscite.]=] +L["STICKY"] = "Importante" +L["STICKY_DESC"] = [=[Imposta i messaggi di questo addon di apparire come importanti. + +Disponibile solo per alcune uscite.]=] +L["UIERROR"] = "Frame Errore Blizzard" -local function getSticky(addon) - return sink.storageForAddon[addon] and sink.storageForAddon[addon].sink20Sticky or nil + end end --- Thanks to Antiarc and his Soar-1.0 library for most of the 'meat' of the --- sink-specific functions. - -local function parrot(addon, text, r, g, b, font, size, outline, sticky, loc, icon) - local location = sink.storageForAddon[addon] and sink.storageForAddon[addon].sink20ScrollArea or "Notification" - local s = getSticky(addon) or sticky - Parrot:ShowMessage(text, location, s, r, g, b, font, size, outline, icon) -end +local SML = LibStub("LibSharedMedia-3.0", true) local sct_color = {} local function sct(addon, text, r, g, b, font, size, outline, sticky, _, icon) sct_color.r, sct_color.g, sct_color.b = r, g, b local loc = sink.storageForAddon[addon] and sink.storageForAddon[addon].sink20ScrollArea or "Messages" local location = (loc == "Outgoing" and SCT.FRAME1) or (loc == "Incoming" and SCT.FRAME2) or SCT.MSG - local s = getSticky(addon) or sticky + local s = sink.storageForAddon[addon] and sink.storageForAddon[addon].sink20Sticky or sticky SCT:DisplayCustomEvent(text, sct_color, s, location, nil, icon) end @@ -248,15 +237,15 @@ local function msbt(addon, text, r, g, b, font, size, outline, sticky, _, icon) sink.msbt_registered_fonts[font] = true end local location = sink.storageForAddon[addon] and sink.storageForAddon[addon].sink20ScrollArea or MikSBT.DISPLAYTYPE_NOTIFICATION - local s = getSticky(addon) or sticky + local s = sink.storageForAddon[addon] and sink.storageForAddon[addon].sink20Sticky or sticky MikSBT.DisplayMessage(text, location, s, r * 255, g * 255, b * 255, size, font, msbt_outlines[outline], icon) end local function blizzard(addon, text, r, g, b, font, size, outline, sticky, _, icon) - if icon then text = "|T"..icon..":20:20:-5|t"..text end - if tostring(SHOW_COMBAT_TEXT) ~= "0" then - local s = getSticky(addon) or sticky - if type(CombatText_AddMessage) == "nil" then + if icon then text = "\124T"..icon..":15:15:0:0:64:64:4:60:4:60\124t "..text end + if SHOW_COMBAT_TEXT == "1" then + local s = sink.storageForAddon[addon] and sink.storageForAddon[addon].sink20Sticky or sticky + if not CombatText_AddMessage then UIParentLoadAddOn("Blizzard_CombatText") end CombatText_AddMessage(text, CombatText_StandardScroll, r, g, b, s and "crit" or nil, false) @@ -266,15 +255,15 @@ local function blizzard(addon, text, r, g, b, font, size, outline, sticky, _, ic end sink.channelMapping = sink.channelMapping or { - [SAY] = "SAY", - [PARTY] = "PARTY", - [INSTANCE_CHAT] = "INSTANCE_CHAT", - [GUILD_CHAT] = "GUILD", - [OFFICER_CHAT] = "OFFICER", - [YELL] = "YELL", - [RAID] = "RAID", - [RAID_WARNING] = "RAID_WARNING", - [GROUP] = "GROUP", + [_G.SAY] = "SAY", + [_G.PARTY] = "PARTY", + [_G.INSTANCE_CHAT] = "INSTANCE_CHAT", + [_G.GUILD_CHAT] = "GUILD", + [_G.OFFICER_CHAT] = "OFFICER", + [_G.YELL] = "YELL", + [_G.RAID] = "RAID", + [_G.RAID_WARNING] = "RAID_WARNING", + [_G.GROUP] = "GROUP", } sink.channelMappingIds = sink.channelMappingIds or {} sink.frame = sink.frame or CreateFrame("Frame") @@ -309,9 +298,10 @@ local function color_strip(a, b, c) end local function channel(addon, text) - -- Sanitize the text, remove all color codes. - text = text:gsub("(|c%x%x%x%x%x%x%x%x)(.-)(|r)", color_strip) - local loc = sink.storageForAddon[addon] and sink.storageForAddon[addon].sink20ScrollArea or "SAY" + -- Sanitize the text, remove all color codes & icons + text = gsub(text, "(|c%x%x%x%x%x%x%x%x)(.-)(|r)", color_strip) + text = gsub(text, "|T.-|t", "") + local loc = sink.storageForAddon[addon] and sink.storageForAddon[addon].sink20ScrollArea local chan = sink.channelMapping[loc] if chan == "GROUP" then chan = (IsInGroup(2) and "INSTANCE_CHAT") or (IsInRaid() and "RAID") or (IsInGroup() and "PARTY") or "SAY" @@ -320,20 +310,21 @@ local function channel(addon, text) if name then SendChatMessage(text, "CHANNEL", nil, id) else - print("LibSink:", text, L_NOTINCHANNEL:format(loc)) + print(format(L.NOTINCHANNEL, text, loc)) end return end SendChatMessage(text, chan or "SAY") end +-- |TTexturePath:size1:size2:xoffset:yoffset:dimx:dimy:coordx1:coordx2:coordy1:coordy2:red:green:blue|t local function chat(addon, text, r, g, b, _, _, _, _, _, icon) - if icon then text = "|T"..icon..":15|t"..text end + if icon then text = "\124T"..icon..":15:15:0:0:64:64:4:60:4:60\124t"..text end DEFAULT_CHAT_FRAME:AddMessage(text, r, g, b) end local function uierror(addon, text, r, g, b, _, _, _, _, _, icon) - if icon then text = "|T"..icon..":20:20:-5|t"..text end + if icon then text = "\124T"..icon..":15:15:0:0:64:64:4:60:4:60\124t "..text end UIErrorsFrame:AddMessage(text, r, g, b, 1.0) end @@ -344,19 +335,15 @@ do if r or g or b then text = format("\124cff%02x%02x%02x%s\124r", (r or 0) * 255, (g or 0) * 255, (b or 0) * 255, text) end - if icon then text = "\124T"..icon..":20:20:-5\124t"..text end + if icon then text = "\124T"..icon..":15:15:0:0:64:64:4:60:4:60\124t "..text end RaidNotice_AddMessage(RaidWarningFrame, text, white) end end local function noop() --[[ noop! ]] end -local handlerPriority = { "Parrot", "SCT", "MikSBT" } +local handlerPriority = { "SCT", "MikSBT" } local customHandlersEnabled = { - Parrot = function() - if not _G.Parrot then return end - return _G.Parrot.IsEnabled and _G.Parrot:IsEnabled() or _G.Parrot:IsActive() - end, SCT = function() return _G.SCT and _G.SCT:IsEnabled() end, @@ -425,25 +412,15 @@ do local function shouldDisableMSBT() return not _G.MikSBT end - local function shouldDisableParrot() - return not _G.Parrot - end local function shouldDisableFCT() return not SHOW_COMBAT_TEXT or tostring(SHOW_COMBAT_TEXT) == "0" end local sctFrames = {"Incoming", "Outgoing", "Messages"} local msbtFrames = nil - local tmp = {} local function getScrollAreasForAddon(addon) if type(addon) ~= "string" then return nil end - if addon == "Parrot" then - if Parrot.GetScrollAreasChoices then - return Parrot:GetScrollAreasChoices() - else - return Parrot:GetScrollAreasValidate() - end - elseif addon == "MikSBT" then + if addon == "MikSBT" then if not msbtFrames then msbtFrames = {} for key, name in MikSBT.IterateScrollAreas() do @@ -454,7 +431,7 @@ do elseif addon == "SCT" then return sctFrames elseif addon == "Channel" then - wipe(tmp) + local tmp = {} for k in next, sink.channelMapping do tmp[#tmp + 1] = k end @@ -467,16 +444,15 @@ do local emptyTable, args, options = {}, {}, {} sinks = { - Default = {L_DEFAULT, L_DEFAULT_DESC}, - SCT = {L_SCT, nil, shouldDisableSCT}, - MikSBT = {L_MSBT, nil, shouldDisableMSBT}, - Parrot = {L_PARROT, nil, shouldDisableParrot}, - Blizzard = {L_BLIZZARD, nil, shouldDisableFCT}, - RaidWarning = {L_RW}, - ChatFrame = {L_CHAT}, - Channel = {L_CHANNEL}, - UIErrorsFrame = {L_UIERROR}, - None = {L_NONE, L_NONE_DESC} + Default = {L.DEFAULT, L.DEFAULT_DESC}, + SCT = {"Scrolling Combat Text (SCT)", nil, shouldDisableSCT}, + MikSBT = {"MikSBT", nil, shouldDisableMSBT}, + Blizzard = {L.BLIZZARD, nil, shouldDisableFCT}, + RaidWarning = {L.RW}, + ChatFrame = {L.CHAT}, + Channel = {L.CHANNEL}, + UIErrorsFrame = {L.UIERROR}, + None = {L.NONE, L.NONE_DESC} } local function getAce2SinkOptions(key, opts) @@ -484,7 +460,7 @@ do args["Ace2"][key] = { type = "toggle", name = name, - desc = desc or format(L_ROUTE, name), + desc = desc or format(L.ROUTE, name), isRadio = true, hidden = hidden } @@ -494,8 +470,8 @@ do options["Ace2"][addon] = options["Ace2"][addon] or { output = { type = "group", - name = L_OUTPUT, - desc = L_OUTPUT_DESC, + name = L.OUTPUT, + desc = L.OUTPUT_DESC, pass = true, get = function(key) if not sink.storageForAddon[addon] then @@ -504,7 +480,7 @@ do if tostring(key) == "nil" then -- Means AceConsole wants to list the output option, -- so we should show which sink is currently used. - return sink.storageForAddon[addon].sink20OutputSink or L_DEFAULT + return sink.storageForAddon[addon].sink20OutputSink or L.DEFAULT end if key == "ScrollArea" then return sink.storageForAddon[addon].sink20ScrollArea @@ -549,7 +525,7 @@ do args["Ace3"][key] = { type = "toggle", name = name, - desc = desc or format(L_ROUTE, name), + desc = desc or format(L.ROUTE, name), hidden = hidden } end @@ -558,8 +534,8 @@ do if not options["Ace3"][addon] then options["Ace3"][addon] = { type = "group", - name = L_OUTPUT, - desc = L_OUTPUT_DESC, + name = L.OUTPUT, + desc = L.OUTPUT_DESC, args = args["Ace3"], get = function(info) local key = info[#info] @@ -569,7 +545,7 @@ do if tostring(key) == "nil" then -- Means AceConsole wants to list the output option, -- so we should show which sink is currently used. - return sink.storageForAddon[addon].sink20OutputSink or L_DEFAULT + return sink.storageForAddon[addon].sink20OutputSink or L.DEFAULT end if key == "ScrollArea" then return sink.storageForAddon[addon].sink20ScrollArea @@ -579,13 +555,17 @@ do if sink.storageForAddon[addon].sink20OutputSink == key then local sa = getScrollAreasForAddon(key) if sa then - for k,v in ipairs(sa) do - sa[k] = nil - sa[v] = v + local tbl = {} + for i = 1, #sa do + local n = sa[i] + tbl[n] = n end + options["Ace3"][addon].args.ScrollArea.values = tbl + options["Ace3"][addon].args.ScrollArea.disabled = nil + else + options["Ace3"][addon].args.ScrollArea.disabled = true + options["Ace3"][addon].args.ScrollArea.values = emptyTable end - options["Ace3"][addon].args.ScrollArea.values = sa or emptyTable - options["Ace3"][addon].args.ScrollArea.disabled = not sa options["Ace3"][addon].args.Sticky.disabled = not sink.stickyAddons[key] end return sink.storageForAddon[addon].sink20OutputSink and sink.storageForAddon[addon].sink20OutputSink == key or nil @@ -601,13 +581,17 @@ do elseif v then local sa = getScrollAreasForAddon(key) if sa then - for k,v in ipairs(sa) do - sa[k] = nil - sa[v] = v + local tbl = {} + for i = 1, #sa do + local n = sa[i] + tbl[n] = n end + options["Ace3"][addon].args.ScrollArea.values = tbl + options["Ace3"][addon].args.ScrollArea.disabled = nil + else + options["Ace3"][addon].args.ScrollArea.disabled = true + options["Ace3"][addon].args.ScrollArea.values = emptyTable end - options["Ace3"][addon].args.ScrollArea.values = sa or emptyTable - options["Ace3"][addon].args.ScrollArea.disabled = not sa options["Ace3"][addon].args.Sticky.disabled = not sink.stickyAddons[key] sink.storageForAddon[addon].sink20OutputSink = key end @@ -634,16 +618,16 @@ do args["Ace2"].ScrollArea = { type = "text", - name = L_SCROLL, - desc = L_SCROLL_DESC, + name = L.SCROLL, + desc = L.SCROLL_DESC, validate = emptyTable, order = -1, disabled = true } args["Ace2"].Sticky = { type = "toggle", - name = L_STICKY, - desc = L_STICKY_DESC, + name = L.STICKY, + desc = L.STICKY_DESC, validate = emptyTable, order = -2, disabled = true @@ -651,16 +635,16 @@ do args["Ace3"].ScrollArea = { type = "select", - name = L_SCROLL, - desc = L_SCROLL_DESC, + name = L.SCROLL, + desc = L.SCROLL_DESC, values = emptyTable, order = -1, disabled = true } args["Ace3"].Sticky = { type = "toggle", - name = L_STICKY, - desc = L_STICKY_DESC, + name = L.STICKY, + desc = L.STICKY_DESC, order = -2, disabled = true } @@ -670,7 +654,7 @@ do assert(type(name) == "string") assert(type(desc) == "string" or desc == nil) assert(type(func) == "function" or type(func) == "string") - assert(type(scrollAreaFunc) == "function" or scrollAreaFunc == nil) + assert(type(scrollAreaFunc) == "function" or type(scrollAreaFunc) == "string" or scrollAreaFunc == nil) assert(type(hasSticky) == "boolean" or hasSticky == nil) if sinks[shortName] or sink.handlers[shortName] then @@ -720,7 +704,6 @@ end -- Put this at the bottom, because we need the local functions to exist first. local handlers = { - Parrot = parrot, SCT = sct, MikSBT = msbt, ChatFrame = chat, diff --git a/AddOns/Chatter/Localization/deDE.lua b/AddOns/Chatter/Localization/deDE.lua index 801868432..12c3dbaf1 100644 --- a/AddOns/Chatter/Localization/deDE.lua +++ b/AddOns/Chatter/Localization/deDE.lua @@ -6,78 +6,78 @@ local AceLocale = LibStub:GetLibrary("AceLocale-3.0") local L = AceLocale:NewLocale(addon, "deDE") if not L then return end -L["Add space after channels"] = "Fügt Leerstelle hinter Channel-Namen hinzu." +L["Add space after channels"] = "Füge Leerzeichen hinter dem Kanalnamen hinzu." L["Adds timestamps to chat."] = "Fügt dem Chat Zeitstempel hinzu." L["Add surrounding brackets to own charname in messages."] = "Fügt umschließende Klammern dem eigenen Namen in Nachrichten hinzu." L["Add Word"] = "Wort hinzufügen" -L["Add word to your highlight list"] = "Fügt Wörter zur Highlight-Liste hinzu." -L["Add word to your invite trigger list"] = "Triggerbegriff zur Gruppeneinladung hinzufügen" -L["Alerts you when someone says a keyword or speaks in a specified channel."] = "Benachrichtigt wenn jemand ein Schlüsselwort sagt oder in einem besimmten Kanal spricht." +L["Add word to your highlight list"] = "Fügt Wörter zu deiner Benachrichtigungsliste hinzu." +L["Add word to your invite trigger list"] = "Füge ein Wort zu Deiner Auslöserliste zur Gruppeneinladung hinzu" +L["Alerts you when someone says a keyword or speaks in a specified channel."] = "Benachrichtigt Dich, wenn jemand ein Schlüsselwort sagt oder in einem bestimmten Kanal spricht." L["All Edge resizing"] = "Veränderbare Größe an allen Ecken" L["Allows you to make the chat frames much smaller than usual."] = "Erlaubt Dir die Chatfenster wesentlich kleiner zu machen als bisher möglich." -L["Allows you to type messages longer than normal, and splits message that are too long."] = "Erlaubt Dir das Schreiben längerer Nachrichten und splittet Nachrichten, welche zu lang sind." +L["Allows you to type messages longer than normal, and splits message that are too long."] = "Erlaubt Dir das Schreiben längerer Nachrichten und teilt diese zu langen Nachrichten automatisch auf." L["Allows you to use the edge for resizing, instead of just the lower right corner."] = "Erlaubt das Verändern der Größe in allen Ecken statt nur in der unteren rechten." L["alt2"] = "BekanntAls2" L["alt3"] = "BekanntAls3" L["Alt-click name to invite"] = "Alt+Klick auf Namen zum Einladen" -L["Alt Linking"] = "Twink Verlinkung" +L["Alt Linking"] = "Twink-Verlinkung" L["Alt note fallback"] = "Notiz verwerfen." -L["Are you sure you want to delete all your saved class/level data?"] = "Bist du sicher, dass du ALLE deine gespeicherten Klassen/Level Daten löschen willst?" +L["Are you sure you want to delete all your saved class/level data?"] = "Bist Du sicher, dass du ALLE deine gespeicherten Klassen-/Stufendaten löschen willst?" L["Attach edit box to..."] = "Andocken des Eingabefelds an..." L["Attach to..."] = "Andocken an..." -L["Automatically turns on chat logging."] = "Automatische Chat Aufzeichnung aktivieren." +L["Automatically turns on chat logging."] = "Automatische Chataufzeichnung aktivieren." L["Automatic Whisper Windows"] = "Automatische Flüsterfenster" L["Background color"] = "Hintergrundfarbe" -L["Background Inset"] = "Hintergrund Teile" +L["Background Inset"] = "Hintergrundteile" L["Background texture"] = "Hintergrundtextur" L["Battleground"] = "Schlachtfeld" L["Battleground Leader"] = "Schlachtfeldleiter" -L["Border color"] = "Rahmen Farbe" +L["Border color"] = "Rahmenfarbe" L["Borders/Background"] = "Rahmen/Hintergrund" -L["Border texture"] = "Rahmen Textur" +L["Border texture"] = "Rahmentextur" L["Bottom"] = "Unten" L["Button Height"] = "Tastenhöhe" -L["Button's height, and text offset from the frame"] = "Tastenhöhe und Text Abstand vom Fenster." +L["Button's height, and text offset from the frame"] = "Tastenhöhe und Textabstand vom Fenster." L["Center"] = "Zentrieren" -L["Channel Colors"] = "Kanal Farben" -L["Channel Names"] = "Kanal Namen" -L["Character to use between the name and level"] = "Buchstabe, der zwischen Namen und Level verwendet werden soll" -L["Character to use for the left bracket"] = "Schriftzeichen für die linke Klammer" -L["Character to use for the right bracket"] = "Schriftzeichen für die rechte Klammer" -L["Chat Autolog"] = "Chat Aufzeichnung" -L["Chat Font"] = "Chat Schriftart" +L["Channel Colors"] = "Kanalfarben" +L["Channel Names"] = "Kanalnamen" +L["Character to use between the name and level"] = "Zeichen, das zwischen Name und Stufe verwendet werden soll" +L["Character to use for the left bracket"] = "Zeichen für die linke Klammer" +L["Character to use for the right bracket"] = "Zeichen für die rechte Klammer" +L["Chat Autolog"] = "Chataufzeichnung" +L["Chat Font"] = "Chatschriftart" L["Chat Frame "] = "Chatfenster" -L["Chat Link"] = "Chat Links" -L["Chat Tabs"] = "Chat Karteikarten" +L["Chat Link"] = "Chatlinks" +L["Chat Tabs"] = "Chatreiter" L["Chatter"] = "Chatter" -L["Chatter Settings"] = "Chatter Einstellungen" +L["Chatter Settings"] = "Chatter-Einstellungen" L["Choose which chat frames display timestamps"] = "Wähle welche Chatfenster Zeitstempel anzeigen sollen." L["Class"] = "Klasse" L["Color border by channel"] = "Färbe Rahmen nach Kanal" -L["Color level by difficulty"] = "Färbe Level nach Schwierigkeit" +L["Color level by difficulty"] = "Färbe Stufe nach Schwierigkeit" L["Color own charname in messages."] = "Färbt deinen eigenen Namen in Nachrichten ein." -L["Color Player Names By..."] = "Färbe Spieler Namen nach..." +L["Color Player Names By..."] = "Färbe Spielernamen nach..." L["Color self in messages"] = "Färbe dich in Nachrichten" -L["Color timestamps the same as the channel they appear in."] = "Färbe den Zeitsempel in der gleichen Farbe wie der Kanal eingestellt ist." -L["Combat Log Fix"] = "Kampflog Fix" +L["Color timestamps the same as the channel they appear in."] = "Färbt den Zeitstempel mit der Kanalfarbe ein." +L["Combat Log Fix"] = "Kampflog-Reparatur" L["Configure"] = "Justiere" -L["Copy Chat"] = "Chat Kopieren Taste" +L["Copy Chat"] = "Chat Kopieren" L["Copy text from this frame."] = "Kopiere Text von diesem Fenster" L["Custom channels"] = "Benutzerdefinierte Kanäle" -L["Custom Channels"] = "Eigene Kanäle" -L["Custom Channel Sounds"] = "Selbstdefinierte Kanal Sounds" -L["Custom color"] = "Selbstdefinierte Farbe" -L["Custom format (advanced)"] = "Eigene Formatierung (erweitert)" +L["Custom Channels"] = "Benutzerdefinierte Kanäle" +L["Custom Channel Sounds"] = "Benutzerdefinierte Kanalsounds" +L["Custom color"] = "Benutzerdefinierte Farbe" +L["Custom format (advanced)"] = "Benutzerdefinierte Formatierung (erweitert)" L["Death Knight"] = "Todesritter" -L["Destroys all your saved class/level data"] = "Zerstört alle deine gespeicherten Klassen/Level Daten." +L["Destroys all your saved class/level data"] = "Zerstört alle deine gespeicherten Klassen-/Stufendaten." L["Disable Buttons"] = "Tasten Ausblenden" L["Disabled"] = "Deaktiviert" L["Disable Fading"] = "Ausblenden Deaktivieren" L["Disable server side storage of chat frame position and size."] = "Deaktiviere die serverseitige Speicherung der Position und Größe des Chatfensters." L["Druid"] = "Druide" L["Dungeon Guide"] = "Dungeonführer" -L["Edge Size"] = "Kanten Größe" -L["Edit Box History"] = "Eingabefeld Verlauf" +L["Edge Size"] = "Kantengröße" +L["Edit Box History"] = "Eingabefeldverlauf" L["Edit Box Polish"] = "Eingabefeld" L["Emote"] = "Emote" L["Emphasize self in messages"] = "Betone eigenen Namen in Nachrichten" @@ -86,26 +86,26 @@ L["Enable"] = "Aktiviere" L["Enable "] = "Aktiviere " L["Enable borders on this frame"] = "Aktiviere Rahmen in diesem Fenster." L["Enabled"] = "Aktiviert" -L["Enable Scrollback length modification"] = "Aktiviere die Zurückscrollen Modifikation" -L["Enables the Tab to flash when you miss a message"] = "Aktiviert blinkende Registerkarten, wenn du eine Nachricht verpasst." -L["Enables the /tt command to send a tell to your target."] = "Aktiviert das /tt Kommando um dem Ziel das du gegenwärtig angeklickt hast eine Nachricht zu senden." -L["Enables you to replace channel names with your own names. You can use '%s' to force an empty string."] = "Erlaubt es Dir Channel-Namen zu ändern. Benutze '%s' um einen leeren String zu erzeugen." -L["Enables you to right-click a person's name in chat and set a note on them to be displayed in chat, such as their main character's name. Can also scan guild notes for character names to display, if no note has been manually set."] = "Ermöglicht Dir das Rechtsklicken des Namens einer Person im Chat und fügt eine im Chat angezeigte Notiz hinzu, welche jetzt mitsamt des Charakternamens angezeigt wird. Kann auch nach Gilden-Notizen für Charakternamen scannen um diese anzuzeigen, sofern eine Notiz hinzugefügt wurde." -L["Enables you to set a custom font and font size for your chat frames"] = "Ermöglicht dir beliebige Schriftarten und Schriftgrößen zu verwenden bei deinen Chatfenstern." -L["Enable Tab Flashing"] = "Aktiviere blinkende Registerkarten" -L["Enable text justification"] = "Aktiviere die Text Justierung." -L["Enter a custom time format. See http://www.lua.org/pil/22.1.html for a list of valid formatting symbols."] = "Gib eine eigene Zeitstempel Formatierung ein. Besuch http://www.lua.org/pil/22.1.html für eine Liste der gültigen Formatierungssymbole." -L["Exclude level display for max level characters"] = "Zeige das Level bei Stufe 80 Spielern nicht an." -L["Exclude max levels"] = "Max Level Aus" +L["Enable Scrollback length modification"] = "Aktiviere die Zurückscrollen-Modifikation" +L["Enables the Tab to flash when you miss a message"] = "Aktiviert blinkende Reiter, wenn du eine Nachricht verpasst." +L["Enables the /tt command to send a tell to your target."] = "Aktiviert den /tt-Befehl, um dem Ziel, das du gegenwärtig angeklickt hast, eine Nachricht zu senden." +L["Enables you to replace channel names with your own names. You can use '%s' to force an empty string."] = "Erlaubt es Dir Kanalnamen zu ändern. Benutze '%s', um einen leeren String zu erzeugen." +L["Enables you to right-click a person's name in chat and set a note on them to be displayed in chat, such as their main character's name. Can also scan guild notes for character names to display, if no note has been manually set."] = "Ermöglicht Dir das Rechtsklicken des Namens einer Person im Chat und fügt eine im Chat angezeigte Notiz hinzu, welche jetzt mitsamt des Charakternamens angezeigt wird. Kann auch nach Gildennotizen für Charakternamen scannen um diese anzuzeigen, sofern eine Notiz hinzugefügt wurde." +L["Enables you to set a custom font and font size for your chat frames"] = "Ermöglicht es dir, benutzerdefinierte Schriftarten und Schriftgrößen für deine Chatfenstern zu verwenden" +L["Enable Tab Flashing"] = "Aktiviere blinkende Reiter" +L["Enable text justification"] = "Aktiviere die Textjustierung" +L["Enter a custom time format. See http://www.lua.org/pil/22.1.html for a list of valid formatting symbols."] = "Gib eine benutzerdefinierte Zeitstempel-Formatierung ein. Besuch http://www.lua.org/pil/22.1.html für eine Liste der gültigen Formatierungssymbole." +L["Exclude level display for max level characters"] = "Zeige die Stufe bei Spielern auf Maximalstufe nicht an." +L["Exclude max levels"] = "Maximalstufen ausschließen" L["Font"] = "Schriftart" -L["Font Outline"] = "Schrift Umriss" -L["Font outlining"] = "Schrift Umrandung" +L["Font Outline"] = "Schriftumriss" +L["Font outlining"] = "Schriftumrandung" L["Font size"] = "Schriftgröße" L["Free-floating"] = "Frei-schwebend" L["Free-floating, Locked"] = "Frei-schwebend, Gesperrt" L["Friends"] = "Freunde" -L["Gives you finer control over the chat frame's background and border colors"] = "Gibt dir eine feinere Einstellungsmöglichkeit über die Chatfenster Hintergründe und Rahmen Farben." -L["Gives you more flexibility in how you invite people to your group."] = "Gibt dir mehr Möglichkeiten wie du Leute in deine(n) Gruppe/Raid einladen kannst." +L["Gives you finer control over the chat frame's background and border colors"] = "Gibt dir eine feinere Einstellungsmöglichkeit über die Hintergründe und Rahmenfarben der Chatfenster." +L["Gives you more flexibility in how you invite people to your group."] = "Gibt dir mehr Möglichkeiten, um Leute in deine(n) Gruppe/Schlachtzug einzuladen." L["Group"] = "Gruppe" L["Group Say (/gr)"] = "Gruppe Sagen (/gr)" L["Guild"] = "Gilde" @@ -115,45 +115,45 @@ L["HH:MM (12-hour)"] = "HH:MM (12-Stunden)" L["HH:MM (24-hour)"] = "HH:MM (24-Stunden)" L["HH:MM:SS (24-hour)"] = "HH:MM:SS (24-Stunden)" L["HH:MM:SS AM (12-hour)"] = "HH:MM:SS AM (12-Stunden)" -L["Hides chat frame tabs"] = "Versteckt die Karteikarten der Chatfenster." -L["Hides the buttons attached to the chat frame"] = "Versteckt die Tasten die Stadardmäßig zum Chatfenster gehören." -L["Hide Tabs"] = "Verstecke Karteikarten" +L["Hides chat frame tabs"] = "Versteckt die Reiter der Chatfenster." +L["Hides the buttons attached to the chat frame"] = "Versteckt die standardmäßig zum Chatfenster gehörenden Tasten." +L["Hide Tabs"] = "Verstecke Reiter" L["Highlights"] = "Benachrichtigungen" -L["How many lines to scroll per mouse wheel click"] = "Wieviele Linien soll der Chat bei einem Rastersprung des Mausrades scrollen?" +L["How many lines to scroll per mouse wheel click"] = "Wie viele Zeilen soll der Chat bei einem Rastersprung des Mausrades scrollen?" L["(|Hplayer.-|h) whispers:"] = "(|Hplayer.-|h) flüstert:" L["Hunter"] = "Jäger" L["^(.-|h) whispers:"] = "^(.-|h) flüstert:" L["If no name can be found for an 'alt' rank character, use entire note"] = "Falls kein Name für bekannten Charakter gefunden werden kann, benutze gesamte Notiz." -L["Include level"] = "Level hinzufügen" -L["Include the player's level"] = "Füge dem Namen, den Level des Spielers hinzu." +L["Include level"] = "Stufe hinzufügen" +L["Include the player's level"] = "Füge dem Namen die Stufe des Spielers hinzu." L["inv"] = "lad" L["invite"] = "einladen" -L["Invite Links"] = "Einladen Links" -L["Keeps your channel colors by name rather than by number."] = "Sortiert deine Kanal Farben nach Name anstatt nach Nummer." +L["Invite Links"] = "Einladungslinks" +L["Keeps your channel colors by name rather than by number."] = "Sortiert deine Kanalfarben nach Name anstatt nach Nummer." L["Left"] = "Linksbündig" L["Left Bracket"] = "Linke Klammer" -L["Lets you alt-click player names to invite them to your party."] = "Lässt dich durch Alt+Klick auf Spielernamen diese automatisch ein Gruppe/Raid einladen." -L["Lets you copy text out of your chat frames."] = "Läst dich aus deinen Chatfenstern Text kopieren." -L["Lets you copy URLs out of chat."] = "Läst dich URL's aus dem Chat kopieren." -L["Lets you customize the position and look of the edit box"] = "Läst dich die Position und das Aussehn des Eingabefelds, deinen eigenen Wünschen nach anpassen." -L["Lets you link items, enchants, spells, talents, achievements and quests in custom channels."] = "Ermöglicht es Gegenstände, Verzauberungen, Zauber, Talente, Erfolge und Quests in benutzerdefinierten Kanälen zu verlinken." -L["Lets you set the justification of text in your chat frames."] = "Läst dich die Bündigkeit der Texte in den Chatfenstern Justieren." -L["Lets you set the scrollback length of your chat frames."] = "Läst dich justieren wieviele Zeilen du in den Chatfenstern zurückscrollen kannst." -L["Lets you use the mousewheel to page up and down chat."] = "Läst dich mit dem Mausrad im Chat rauf und runter scrollen." -L["Level Options"] = "Level Optionen" +L["Lets you alt-click player names to invite them to your party."] = "Lässt dich Spieler durch Alt+Klick auf deren Namen automatisch in deine(n) Gruppe/Schlachtzug einladen." +L["Lets you copy text out of your chat frames."] = "Lässt dich aus deinen Chatfenstern Text kopieren." +L["Lets you copy URLs out of chat."] = "Lässt dich URL's aus dem Chat kopieren." +L["Lets you customize the position and look of the edit box"] = "Lässt dich die Position und das Aussehen des Eingabefelds, deinen eigenen Wünschen nach, anpassen." +L["Lets you link items, enchants, spells, talents, achievements and quests in custom channels."] = "Ermöglicht es, Gegenstände, Verzauberungen, Zauber, Talente, Erfolge und Quests in benutzerdefinierten Kanälen zu verlinken." +L["Lets you set the justification of text in your chat frames."] = "Lässt dich die Bündigkeit der Texte in den Chatfenstern justieren." +L["Lets you set the scrollback length of your chat frames."] = "Lässt dich justieren wie viele Zeilen du in den Chatfenstern zurückscrollen kannst." +L["Lets you use the mousewheel to page up and down chat."] = "Lässt dich mit dem Mausrad im Chat rauf und runter scrollen." +L["Level Options"] = "Stufenoptionen" L["Link Hover"] = "Links bei Mausüber" L["LookingForGroup"] = "SucheNachGruppe" -L["Look in guildnotes for character names, unless a note is set manually"] = "Suche in Gilden-Notizen nach Charakternamen, sofern eine Notiz hinzugefügt wurde." +L["Look in guildnotes for character names, unless a note is set manually"] = "Suche in Gildennotizen nach Charakternamen, sofern eine Notiz hinzugefügt wurde." L["Mage"] = "Magier" L["Makes channels you select sticky."] = "Macht Kanäle, die du auswählst, beständig." -L["Makes link tooltips show when you hover them in chat."] = "Lässt Tooltips von Links automatisch erscheinen wenn du mit der Maus über Links im Chat schwebst." +L["Makes link tooltips show when you hover them in chat."] = "Lässt Tooltips von Links automatisch erscheinen, wenn du mit der Maus über Links im Chat schwebst." L["Makes old text disappear rather than fade out"] = "Läst alten Text verschwinden anstatt ihn auszublenden." L["Make %s sticky"] = "Macht %s beständig" L["Message Split"] = "Nachricht aufgeteilt." L["MM:SS"] = "MM:SS" L["Module"] = "Module" L["Modules"] = "Module" -L["Mousewheel Scroll"] = "Mausrad Scrollen" +L["Mousewheel Scroll"] = "Mausrad-Scrollen" -- L["Move the Toast X offset to ChatFrame1"] = "Move the Toast X offset to ChatFrame1" -- L["Move the Toast Y offset, relative to ChatFrame1"] = "Move the Toast Y offset, relative to ChatFrame1" L["Name"] = "Name" @@ -161,113 +161,113 @@ L["Name color"] = "Namensfarbe" L["None"] = "Nichts" L["No RealNames"] = "Keine echten Namen" L["Officer"] = "Offizier" -L["Open a standalone config window. You might consider installing |cffffff00BetterBlizzOptions|r to make the Blizzard UI options panel resizable."] = "Öffnet ein eigenes Options Menü. Vielleicht solltest du in Erwägung ziehen |cffffff00BetterBlizzOptions|r zu installieren damit das Blizzard Optionsmenü in der Größe dynamisch anpassbar wird." +L["Open a standalone config window. You might consider installing |cffffff00BetterBlizzOptions|r to make the Blizzard UI options panel resizable."] = "Öffnet ein eigenes Optionsmenü. Vielleicht solltest du in Erwägung ziehen |cffffff00BetterBlizzOptions|r zu installieren, damit das Blizzard-Optionsmenü in der Größe dynamisch anpassbar wird." L["Options"] = "Optionen" L["Other Channels"] = "Andere Kanäle" L["Paladin"] = "Paladin" L["Party"] = "Gruppe" -L["Party Leader"] = "Gruppenleiter" +L["Party Leader"] = "Gruppenanführer" L["Per chat frame settings"] = "Einstellungen nach Chatfenster" -L["Play a soundfile when one of your keywords is said."] = "Spiele einen Sound ab wenn eienr deiner Schlüsselwörter gesagt wurde." -L["Play a sound when a message is received in this channel"] = "Spiel einen Sound ab wenn eine Nachricht in diesem Kanal eingeht" -L["Player Names"] = "Spieler Namen" +L["Play a soundfile when one of your keywords is said."] = "Spiele einen Sound ab, wenn eines deiner Schlüsselwörter gesagt wurde." +L["Play a sound when a message is received in this channel"] = "Spiel einen Sound ab, wenn eine Nachricht in diesem Kanal eingeht" +L["Player Names"] = "Spielernamen" L["Priest"] = "Priester" L["Profiles"] = "Profile" -L["Provides a /gr slash command to let you speak in your group (raid, party, or battleground) automatically."] = "Fügt das /gr Slash Kommando hinzu damit du immer (Raid, Gruppe, Schlachtfeld) im Gruppenchat schreiben kannst." -L["Provides options to color player names, add player levels, and add tab completion of player names."] = "Fügt die Möglichkeiten hinzu Spieler Namen einzufärben, Spieler Level anzuzeigen und per Tab Taste die Namen vervollständigen zu lassen." +L["Provides a /gr slash command to let you speak in your group (raid, party, or battleground) automatically."] = "Fügt den /gr-Slash-Befehl hinzu, damit du immer in deiner Gruppe (Schlachtzug, Gruppe oder Schlachtfeld) schreiben kannst." +L["Provides options to color player names, add player levels, and add tab completion of player names."] = "Fügt die Möglichkeiten hinzu Spielernamen einzufärben, Spielerstufen anzuzeigen und per Tab-Taste die Namen vervollständigen zu lassen." L["Raid"] = "Schlachtzug" L["Raid Leader"] = "Schlachtzugsleiter" L["Raid Warning"] = "Schlachtzugswarnung" -L["RealID Brackets"] = "RealID Klammern" -L["RealID Conversation"] = "RealID Unterhaltung" -L["RealID Polish"] = "RealID Verbesserung" -L["RealID Whisper"] = "RealID Flüstern" +L["RealID Brackets"] = "RealID-Klammern" +L["RealID Conversation"] = "RealID-Unterhaltung" +L["RealID Polish"] = "RealID-Verbesserung" +L["RealID Whisper"] = "RealID-Flüstern" L["Remembers the history of the editbox across sessions."] = "Merkt sich die Texte des Eingabefeldes zwischen den Sitzungen." -L["Remove a word from your highlight list"] = "Entferne ein Wort aus deiner Höhepunkte Liste" -L["Remove a word from your invite trigger list"] = "Entferne ein Wort zu deiner Einladen Ativierungsliste." -L["Remove this word from your highlights?"] = "Entferne dieses Wort aus deiner Höhepunkte Liste" -L["Remove this word from your trigger list?"] = "Entferne dieses Wort zu deiner Einladen Ativierungsliste." +L["Remove a word from your highlight list"] = "Entferne ein Wort aus deiner Benachrichtigungsliste " +L["Remove a word from your invite trigger list"] = "Entferne ein Wort von Deiner Auslöserliste zur Gruppeneinladung" +L["Remove this word from your highlights?"] = "Entferne dieses Wort aus deiner Benachrichtigungsliste " +L["Remove this word from your trigger list?"] = "Dieses Wort von Deiner Auslöserliste zur Gruppeneinladung entfernen?" L["Remove Word"] = "Wort Entfernen" -L["Replace this channel name with..."] = "Ersetze diesen Kanal Namen mit..." -L["Requires the Alt key to be held down to move the cursor in chat"] = "Setzt das halten der Alt Taste vorraus um im Eingabefeld den Courser bewegen zu können." +L["Replace this channel name with..."] = "Ersetze diesen Kanalnamen mit..." +L["Requires the Alt key to be held down to move the cursor in chat"] = "Setzt das Halten der Alt-Taste voraus, um im Eingabefeld den Cursor bewegen zu können." L["Reroute whole message to SCT"] = "Leite die gesamte Nachricht an SCT" -L["Reroute whole message to SCT instead of just displaying 'who said keyword in channel'"] = "Leite die gesammte Nachricht an SCT weiter anstatt nur zu informieren wer ein Schlüsselwort geschrieben hat." -L["Reset Data"] = "Resette Daten" -L["Resize this border to fit the new combat log"] = "Größe dieses Rahmens anpassen um mit den neuen Kampflog kompatibel zu bleiben." +L["Reroute whole message to SCT instead of just displaying 'who said keyword in channel'"] = "Leite die gesammte Nachricht an SCT weiter, anstatt nur zu informieren, wer ein Schlüsselwort geschrieben hat." +L["Reset Data"] = "Daten zurücksetzen" +L["Resize this border to fit the new combat log"] = "Größe dieses Rahmens anpassen, um mit dem neuen Kampflog kompatibel zu bleiben." L["Right"] = "Rechtsbündig" L["Right Bracket"] = "Rechte Klammer" L["Rogue"] = "Schurke" -L["Save all /who data"] = "Speichere die gesamten /who-Daten." -L["Save class data from friends between sessions."] = "Speichere Klassen-Daten von Freunden zwischen den Sessions." -L["Save class data from groups between sessions."] = "Speichere Klassen Daten von Gruppen zwischen den Sitzungen." -L["Save class data from guild between sessions."] = "Speichere Klassen Daten aus Gilde zwischen den Sitzungen." -L["Save class data from target/mouseover between sessions."] = "Speichere Klassen Daten vom Ziel/Mausüber zwischen den Sitzungen." -L["Save class data from /who queries between sessions."] = "Speichere Klassen Daten vom /wer Anfragen zwischen den Sitzungen." +L["Save all /who data"] = "Speichere die gesamten /wer-Daten." +L["Save class data from friends between sessions."] = "Speichere Klassendaten von Freunden zwischen den Sitzungen." +L["Save class data from groups between sessions."] = "Speichere Klassendaten von Gruppen zwischen den Sitzungen." +L["Save class data from guild between sessions."] = "Speichere Klassendaten aus Gilde zwischen den Sitzungen." +L["Save class data from target/mouseover between sessions."] = "Speichere Klassendaten vom Ziel/Mausüber zwischen den Sitzungen." +L["Save class data from /who queries between sessions."] = "Speichert Klassendaten von /wer-Anfragen zwischen den Sitzungen." L["Save Data"] = "Speichere Daten" L["Save data between sessions. Will increase memory usage"] = "Speicher Daten zwischen den Sitzungen. Dies wird den Speicherverbrauch erhöhen." L["Say"] = "Sagen" L["Scrollback"] = "Zurückscrollen" -L["Scroll lines"] = "Scroll Linien" +L["Scroll lines"] = "Scrollzeilen" L["Select a color for this channel"] = "Wähle eine Farbe für diesen Kanal" -L["Select a method for coloring player names"] = "Wähle eine Methode wie Spielernamen eingefärbt werden." -L["Select the custom color to use for alt names"] = "Wähle eine Farbe die nur bei Twink Namen benutzt wird." +L["Select a method for coloring player names"] = "Wähle eine Methode, wie Spielernamen eingefärbt werden." +L["Select the custom color to use for alt names"] = "Wähle eine Farbe, die nur bei Twinknamen benutzt wird." L["Select the font to use for the edit box"] = "Wähle die Schriftart die beim Eingabefeld benutzt wird" -L["Separator"] = "Zerteiler" -L["Server Positioning"] = "Server Positionierung" +L["Separator"] = "Trennzeichen" +L["Server Positioning"] = "Server-Positionierung" L["Set Main"] = "Setze Hauptcharakter" -L["Sets the alpha value for your chat tabs"] = "Legt Alpha Werte für eure Chat Tabs fest." -L["Sets the frame's border color to the color of your currently active channel"] = "Passt die Rahmenfarbe der Farbe an die für das entsprechnde Chatfenster eingestellt ist." -L["Set the coloring mode for alt names"] = "Justiere die Einfärbe Methode für Twink Namen." +L["Sets the alpha value for your chat tabs"] = "Legt die Transparenz deiner Chatreiter fest." +L["Sets the frame's border color to the color of your currently active channel"] = "Passt die Rahmenfarbe der Farbe an, die für das entsprechende Chatfenster eingestellt ist." +L["Set the coloring mode for alt names"] = "Justiere die Einfärbungsmethode für Twinknamen." L["Settings"] = "Einstellungen" L["Shaman"] = "Schamane" -L["Show bottom button when scrolled up"] = "Eine 'Nach unten' Taste wird automatisch eingeblendet wenn im Chat nach oben gescrollt wird." -L["Show bottom when scrolled"] = "Zeige 'unten' wenn gescrollt wird" -L["Show copy icon"] = "Kopieren-Symbol anzeigen" -L["Show highlights in your SCT mod"] = "Zeige die Höhepunkte in deinem Scrollendem Kampftext Mod." -L["Show SCT message"] = "Zeige SCT Nachrichten" -L["Show Toast Icons"] = "Zeige Pop-Up-Nachricht Icons" -- Needs review --- L["Show toast icons in the chat frames"] = "Show toast icons in the chat frames" -L["Show toon names instead of real names"] = "Zeigt Namen der Charakter statt der der Spieler." -L["Sound File"] = "Sound Datei" -L["Sound file to play"] = "Sound Datei zum Abspielen." +L["Show bottom button when scrolled up"] = "Eine Nach-unten-Taste wird automatisch eingeblendet, wenn im Chat nach oben gescrollt wird." +L["Show bottom when scrolled"] = "Zeige 'unten', wenn gescrollt wurde" +L["Show copy icon"] = "Kopiersymbol anzeigen" +L["Show highlights in your SCT mod"] = "Zeige die Hervorhebungen in deinem Schwebender-Kampftext-Mod an" +L["Show SCT message"] = "Zeige SCT-Nachrichten" +L["Show Toast Icons"] = "Zeige Pop-up-Nachricht-Symbole" +L["Show toast icons in the chat frames"] = "Zeigt Pop-up-Nachricht-Symbole in den Chatfenster" +L["Show toon names instead of real names"] = "Zeigt Namen der Charaktere statt der der Spieler." +L["Sound File"] = "Sounddatei" +L["Sound file to play"] = "Sounddatei zum Abspielen." L["%s said '%s' in %s"] = "%s sagte '%s' in %s" L["[%s] %s: %s"] = "[%s] %s: %s" L["Standalone Config"] = "Eigenes Menü" L["Sticky Channels"] = "Beständige Kanäle" -L["Strip RealID brackets"] = "Entfernt RealID Klammern" -L["Tab Alpha"] = "Transparenz der Register" +L["Strip RealID brackets"] = "Entfernt RealID-Klammern" +L["Tab Alpha"] = "Reitertransparenz" L["Target/Mouseover"] = "Ziel/Mausüber" L["Tell Target (/tt)"] = "Ziel Flüstern (/tt)" L["Test"] = "Test" -L["Text Justification"] = "Text Justierung" -L["Tile Size"] = "Ziegel Größe" -L["Timestamp color"] = "Zeitstempel Farbe" -L["Timestamp format"] = "Zeitstempel Formatierung" +L["Text Justification"] = "Textjustierung" +L["Tile Size"] = "Ziegelgröße" +L["Timestamp color"] = "Zeitstempelfarbe" +L["Timestamp format"] = "Zeitstempelformatierung" L["Timestamps"] = "Zeitstempel" L["Tiny Chat"] = "Kleiner Chat" L["^To "] = "^Zu " -L["Toast X offset"] = "Pop-Up-Nachricht X Offset" -- Needs review -L["Toast Y offset"] = "Pop-Up-Nachricht Y Offset" -- Needs review +L["Toast X offset"] = "Pop-up-Nachricht: X-Versatz" +L["Toast Y offset"] = "Pop-up-Nachricht: Y-Versatz" L["To (|HBNplayer.-|h):"] = "An (|HBNplayer.-|h):" L["To (|HBNplayer.-|h):"] = "An (|HBNplayer.-|h):" -L["Toggle the copy icon on the chat frame."] = "Schaltet das Kopiericon im Chatfenster ein oder aus" +L["Toggle the copy icon on the chat frame."] = "Schaltet das Kopiersymbol im Chatfenster ein oder aus" L["^To (.-|h):"] = "an (.-|h):" L["To (|HBNplayer.-|h):"] = "Zu (|HBNplayer.-|h):" L["To (|Hplayer.-|h):"] = "Zu (|Hplayer.-|h):" L["Top"] = "Oben" L["Trade -"] = "Handel -" L["URL Copy"] = "URL Kopieren" -L["Use Alt key for cursor movement"] = "Benutze Alt Taste für Courser Bewegung" -L["Use channel color"] = "Benutze Kanal Farbe" -L["Use custom color"] = "Benutze selbstdefinierte Farbe" -L["Use guildnotes"] = "Verwende Gilden-Notizen." -L["Use PlayerNames coloring"] = "Benutze Spielernamen Farben" +L["Use Alt key for cursor movement"] = "Benutze Alt-Taste für Cursorbewegung" +L["Use channel color"] = "Benutze Kanalfarbe" +L["Use custom color"] = "Benutze benutzerdefinierte Farbe" +L["Use guildnotes"] = "Verwende Gildennotizen." +L["Use PlayerNames coloring"] = "Einfärben von Spielernamen verwenden" L["Use sound"] = "Benutze Sound" -L["Use Tab Complete"] = "Benutze Tab Vervollständigen" -L["Use tab key to automatically complete character names."] = "Benutze die Tab Taste um Namen automatisch zu vervollständigen." +L["Use Tab Complete"] = "Benutze Vervollständigung per Tab" +L["Use tab key to automatically complete character names."] = "Benutze die Tab-Taste, um Namen automatisch zu vervollständigen." L["Warlock"] = "Hexenmeister" L["Warrior"] = "Krieger" -L["Welcome to Chatter! Type /chatter to configure."] = "Willkommen zu Chatter! Tipp /chatter um die Optionen zu Justieren." +L["Welcome to Chatter! Type /chatter to configure."] = "Willkommen zu Chatter! Tippe /chatter ein, um zu den Einstellungen zu gelangen." L["Whisper"] = "Flüstern" L["Who"] = "Wer" L["Who is %s's main?"] = "Wer ist %s's Hauptcharakter?" diff --git a/AddOns/Chatter/Localization/zhTW.lua b/AddOns/Chatter/Localization/zhTW.lua index 9a854e74f..e626b0973 100644 --- a/AddOns/Chatter/Localization/zhTW.lua +++ b/AddOns/Chatter/Localization/zhTW.lua @@ -166,7 +166,7 @@ L["Options"] = "選項" L["Other Channels"] = "其他頻道" L["Paladin"] = "聖騎士" L["Party"] = "隊伍" -L["Party Leader"] = "隊伍隊長" -- Needs review +L["Party Leader"] = "隊伍隊長" L["Per chat frame settings"] = "各聊天框設定" L["Play a soundfile when one of your keywords is said."] = "當出現你所設定的關鍵字時播放音效" L["Play a sound when a message is received in this channel"] = "當此頻道有新訊息時播放音效" diff --git a/AddOns/DBM-BlackrockFoundry/Blackhand.lua b/AddOns/DBM-BlackrockFoundry/Blackhand.lua index 5e300d10e..493ec3bef 100644 --- a/AddOns/DBM-BlackrockFoundry/Blackhand.lua +++ b/AddOns/DBM-BlackrockFoundry/Blackhand.lua @@ -1,7 +1,7 @@ local mod = DBM:NewMod(959, "DBM-BlackrockFoundry", nil, 457) local L = mod:GetLocalizedStrings() -mod:SetRevision(("$Revision: 14569 $"):sub(12, -3)) +mod:SetRevision(("$Revision: 14741 $"):sub(12, -3)) mod:SetCreatureID(77325)--68168 mod:SetEncounterID(1704) mod:SetZone() @@ -38,8 +38,8 @@ local warnAttachSlagBombs = mod:NewTargetCountAnnounce(157000, 4) local specWarnDemolition = mod:NewSpecialWarningCount(156425, nil, nil, nil, 2, 2) local specWarnMassiveDemolition = mod:NewSpecialWarningCount(156479, false, nil, nil, 2) local specWarnMarkedforDeath = mod:NewSpecialWarningYou(156096, nil, nil, nil, 3, 2) -local specWarnMFDPosition = mod:NewSpecialWarning("specWarnMFDPosition", nil, false, nil, 1, 4)--Mythic Position Assignment. No option, connected to specWarnMarkedforDeath -local specWarnMarkedforDeathOther = mod:NewSpecialWarningTargetCount(156096, false, nil, nil, nil, 2) +local specWarnMFDPosition = mod:NewSpecialWarning("specWarnMFDPosition", nil, false, nil, 1)--Mythic Position Assignment. No option, connected to specWarnMarkedforDeath +local specWarnMarkedforDeathOther = mod:NewSpecialWarningTargetCount(156096, false, nil, nil, 1, 2) local yellMarkedforDeath = mod:NewYell(156096) local specWarnThrowSlagBombs = mod:NewSpecialWarningCount(156030, nil, nil, nil, 2, 2)--This spell is not gtfo. local specWarnShatteringSmash = mod:NewSpecialWarningCount(155992, "Melee", nil, nil, nil, 2) diff --git a/AddOns/DBM-BlackrockFoundry/DBM-BlackrockFoundry.toc b/AddOns/DBM-BlackrockFoundry/DBM-BlackrockFoundry.toc index 9d9473e81..9b6b36607 100644 --- a/AddOns/DBM-BlackrockFoundry/DBM-BlackrockFoundry.toc +++ b/AddOns/DBM-BlackrockFoundry/DBM-BlackrockFoundry.toc @@ -18,7 +18,7 @@ ## X-DBM-Mod-Sort: 101 ## X-DBM-Mod-MapID: 1205 ## X-DBM-Mod-MinCoreRevision: 12473 -## X-Curse-Packaged-Version: 6.2.16-1-g294da72 +## X-Curse-Packaged-Version: 6.2.18-7-gc13aff2 ## X-Curse-Project-Name: Deadly Boss Mods ## X-Curse-Project-ID: deadly-boss-mods ## X-Curse-Repository-ID: wow/deadly-boss-mods/mainline diff --git a/AddOns/DBM-Brawlers/DBM-Brawlers.toc b/AddOns/DBM-Brawlers/DBM-Brawlers.toc index 4b39d19af..d3b948d95 100644 --- a/AddOns/DBM-Brawlers/DBM-Brawlers.toc +++ b/AddOns/DBM-Brawlers/DBM-Brawlers.toc @@ -28,7 +28,7 @@ ## X-DBM-Mod-Sort: 135 ## X-DBM-Mod-MapID: 369,1043 ## X-DBM-Mod-MinCoreRevision: 12473 -## X-Curse-Packaged-Version: 6.2.16-1-g294da72 +## X-Curse-Packaged-Version: 6.2.18-7-gc13aff2 ## X-Curse-Project-Name: Deadly Boss Mods ## X-Curse-Project-ID: deadly-boss-mods ## X-Curse-Repository-ID: wow/deadly-boss-mods/mainline diff --git a/AddOns/DBM-Brawlers/localization.en.lua b/AddOns/DBM-Brawlers/localization.en.lua index ee7664bd0..9a51ae3b4 100644 --- a/AddOns/DBM-Brawlers/localization.en.lua +++ b/AddOns/DBM-Brawlers/localization.en.lua @@ -136,7 +136,7 @@ L:SetGeneralLocalization({ L= DBM:GetModLocalization("BrawlRare1") L:SetGeneralLocalization({ - name = "Brawlers: Lagacy Challenges" + name = "Brawlers: Legacy Challenges" }) ------------- diff --git a/AddOns/DBM-Core/Changelog-DBM-Core-6.2.18-7-gc13aff2.txt b/AddOns/DBM-Core/Changelog-DBM-Core-6.2.18-7-gc13aff2.txt new file mode 100644 index 000000000..78f5e57d8 --- /dev/null +++ b/AddOns/DBM-Core/Changelog-DBM-Core-6.2.18-7-gc13aff2.txt @@ -0,0 +1,8 @@ +subversion: + - Omega via svn r14778: CN update + - Omega via svn r14777: re-enable voice for that but use these + - Omega via svn r14776: disable voice alerts for that, they won?\226?\128?\153t match + - Omega via svn r14775: Don?\226?\128?\153t reload options every level, just the level range of learning specs + - Omega via svn r14774: add auto assignments to archimonde. On by default but can be disabled. This makes mark of legion all in one solution and no one needs nay WA of any kind now for archimonde + - Omega via svn r14773: Fix typo + - tandanu via svn r14772: increase alpha version diff --git a/AddOns/DBM-Core/DBM-Core.lua b/AddOns/DBM-Core/DBM-Core.lua index ce016d4ef..5999a5bff 100644 --- a/AddOns/DBM-Core/DBM-Core.lua +++ b/AddOns/DBM-Core/DBM-Core.lua @@ -40,9 +40,9 @@ -- Globals/Default Options -- ------------------------------- DBM = { - Revision = tonumber(("$Revision: 14714 $"):sub(12, -3)), - DisplayVersion = "6.2.17 alpha", -- the string that is shown as version - ReleaseRevision = 14712 -- the revision of the latest stable version that is available + Revision = tonumber(("$Revision: 14778 $"):sub(12, -3)), + DisplayVersion = "6.2.19 alpha", -- the string that is shown as version + ReleaseRevision = 14770 -- the revision of the latest stable version that is available } DBM.HighestRelease = DBM.ReleaseRevision --Updated if newer version is detected, used by update nags to reflect critical fixes user is missing on boss pulls @@ -394,7 +394,7 @@ local statusWhisperDisabled = false local wowTOC = select(4, GetBuildInfo()) local dbmToc = 0 -local fakeBWRevision = 13695 +local fakeBWRevision = 13712 local enableIcons = true -- set to false when a raid leader or a promoted player has a newer version of DBM local guiRequested = false @@ -1085,10 +1085,6 @@ do else--It must have ended while we were offline, kill variable. self.Options.tempBreak2 = nil end - --Try asking top two DBM version in group - elseif IsInGroup() and not timerRequestInProgress then - self:Schedule(2.5, self.RequestTimers, self, 1)--Break timer recovery doesn't work if outside the zone when reloadui or relogging (no loadmod). Need request timer here. - self:Schedule(5, self.RequestTimers, self, 2)--Break timer recovery doesn't work if outside the zone when reloadui or relogging (no loadmod). Need request timer here. end end @@ -2035,6 +2031,11 @@ do local mapID = GetCurrentMapAreaID() local mapx, mapy = GetPlayerMapPosition("player") DBM:AddMsg(("Location Information\nYou are at zone %u (%s): x=%f, y=%f.\nLocal Map ID %u (%s): x=%f, y=%f"):format(map, GetRealZoneText(map), x, y, mapID, GetZoneText(), mapx, mapy)) + elseif cmd:sub(1, 7) == "request" then + DBM:Unschedule(DBM.RequestTimers) + DBM:RequestTimers(1) + DBM:RequestTimers(2) + DBM:RequestTimers(3) else DBM:LoadGUI() end @@ -3017,7 +3018,9 @@ end function DBM:PLAYER_LEVEL_UP() playerLevel = UnitLevel("player") - self:SpecChanged() + if playerLevel < 15 and playerLevel > 9 then + self:SpecChanged() + end end function DBM:LoadAllModDefaultOption(modId) @@ -3589,7 +3592,6 @@ do self:Debug("No action taken because mapID hasn't changed since last check") return end--ID hasn't changed, don't waste cpu doing anything else (example situation, porting into garrosh phase 4 is a loading screen) - timerRequestInProgress = false LastInstanceMapID = mapID LastGroupSize = instanceGroupSize difficultyIndex = difficulty @@ -3617,6 +3619,7 @@ do end --Faster and more accurate loading for instances, but useless outside of them function DBM:LOADING_SCREEN_DISABLED() + timerRequestInProgress = false self:Debug("LOADING_SCREEN_DISABLED fired") SecondaryLoadCheck(self) self:Unschedule(SecondaryLoadCheck) @@ -5093,67 +5096,8 @@ do sendSync("EE", encounterID.."\t"..success.."\t"..v.id.."\t"..(v.revision or 0)) end - local function wipeRecoveryDelay(self) - --Wipe Recovery stuff - self:Debug("wipeRecoveryDelay running") - local ResSpell = GetSpellInfo(95223)--Cannot be mass resurrected - local MassResDebuff = 0 - local playersOutofRange = 0 - local playersAlive = 0 - local playersDead = 0 - local playerIsDead = UnitIsDeadOrGhost("player")--Check if player alive or dead. - for i = 1, self:GetNumRealPlayersInZone() do - local unitId = "raid"..i - if UnitDebuff(unitId, ResSpell) then - MassResDebuff = MassResDebuff + 1 - end - if not UnitIsDeadOrGhost(unitId) then - playersAlive = playersAlive + 1 - else - playersDead = playersDead + 1 - end - local range = DBM.RangeCheck:GetDistance("player", unitId) - if range > 250 then--Very far away, released players probably - playersOutofRange = playersOutofRange + 1 - end - end - if MassResDebuff > 0 then - self:Debug(MassResDebuff.." players in raid are affected by mass resurrection debuff") - self:Debug("There are currently "..playersAlive.." players alive and "..playersOutofRange.." players very far from your location (I.E. either they released, or you did)") - else - if playersAlive > 0 then--Mass resurrection possibly available - if playersDead > 0 then - if playersOutofRange == 0 then - if playerIsDead then - self:Debug("No players have debuff, no one has released and there is a living player nearby, wait for mass resurrection!") - else - if playersDead > 4 then--At least 5 dead - self:Debug("No players have debuff, no one has released and you are alive, cast mass resurrection!") - else - self:Debug("No players have debuff, no one has released and you are alive, but only "..playersDead.." players are dead, consider using single ressurections") - end - end - else - if playerIsDead then - self:Debug("No players have debuff. However, "..playersOutofRange.." players have already released. Consider releasing as well and holding mass ressurection") - else - self:Debug("No players have debuff. However, "..playersOutofRange.." players are out of range. Either you already released, or they did and you probably shouldn't use mass resurrection") - end - end - else - self:Debug("Everyone is alive, congrats!") - end - else - self:Debug("No players have debuff, but no one is alive. If anyone had a soulstone or battle rez, now is time to pop it. Otherwise run back") - end - end - end - function DBM:ENCOUNTER_END(encounterID, name, difficulty, size, success) self:Debug("ENCOUNTER_END event fired: "..encounterID.." "..name.." "..difficulty.." "..size.." "..success) - if IsInRaid() and success == 0 then - self:Schedule(3, wipeRecoveryDelay, self) - end for i = #inCombat, 1, -1 do local v = inCombat[i] if not v.combatInfo then return end @@ -6169,7 +6113,7 @@ DBM.UNIT_DESTROYED = DBM.UNIT_DIED -- Timer recovery -- ---------------------- do - local requestedFrom = nil + local requestedFrom = {} local requestTime = 0 local clientUsed = {} local sortMe = {} @@ -6209,21 +6153,22 @@ do end if not selectedClient then return end self:Debug("Requesting timer recovery to "..selectedClient.name) - requestedFrom = selectedClient.name + requestedFrom[selectedClient.name] = true requestTime = GetTime() SendAddonMessage("D4", "RT", "WHISPER", selectedClient.name) end function DBM:ReceiveCombatInfo(sender, mod, time) - if dbmIsEnabled and sender == requestedFrom and (GetTime() - requestTime) < 5 and #inCombat == 0 then + if dbmIsEnabled and requestedFrom[sender] and (GetTime() - requestTime) < 5 and #inCombat == 0 then self:StartCombat(mod, time, "TIMER_RECOVERY") --Recovery successful, someone sent info, abort other recovery requests self:Unschedule(self.RequestTimers) + twipe(requestedFrom) end end function DBM:ReceiveTimerInfo(sender, mod, timeLeft, totalTime, id, ...) - if sender == requestedFrom and (GetTime() - requestTime) < 5 then + if requestedFrom[sender] and (GetTime() - requestTime) < 5 then local lag = select(4, GetNetStats()) / 1000 for i, v in ipairs(mod.timers) do if v.id == id then @@ -6235,7 +6180,7 @@ do end function DBM:ReceiveVariableInfo(sender, mod, name, value) - if sender == requestedFrom and (GetTime() - requestTime) < 5 then + if requestedFrom[sender] and (GetTime() - requestTime) < 5 then if value == "true" then mod.vb[name] = true elseif value == "false" then @@ -6730,6 +6675,10 @@ function DBM:AntiSpam(time, id) end end +function DBM:GetTOC() + return wowTOC +end + function DBM:FlashClientIcon() if self:AntiSpam(5, "FLASH") then FlashClientIcon() @@ -6738,16 +6687,16 @@ end --To speed up creating new mods. function DBM:FindDungeonIDs() - for i=1, 1000 do - local dungeon = GetDungeonInfo(i) - if dungeon then + for i=1, 2000 do + local dungeon = GetRealZoneText(i) + if dungeon and dungeon ~= "" then self:AddMsg(i..": "..dungeon) end end end function DBM:FindInstanceIDs() - for i=1, 1000 do + for i=1, 2000 do local instance = EJ_GetInstanceInfo(i) if instance then self:AddMsg(i..": "..instance) @@ -6755,6 +6704,8 @@ function DBM:FindInstanceIDs() end end +--/run DBM:FindEncounterIDs(768)--Emerald Nightmare +--/run DBM:FindEncounterIDs(786)--Suramar Raid function DBM:FindEncounterIDs(instanceID, diff) if not instanceID then self:AddMsg("Error: Function requires instanceID be provided") @@ -6771,6 +6722,9 @@ function DBM:FindEncounterIDs(instanceID, diff) end end +--Taint the script that disables /run /dump, etc +ScriptsDisallowedForBeta = function() return false end + ------------------- -- Movie Filter -- ------------------- @@ -8899,7 +8853,7 @@ do --TODO, maybe make this not use an entire sound object? local sound5 = self:NewSound(5, true, false) timer = timer or 10 - count = count or 5 + count = count or 4 spellId = spellId or 39505 local obj = setmetatable( { @@ -9511,6 +9465,10 @@ do function bossModPrototype:NewSpecialWarningYouPos(text, optionDefault, ...) return newSpecialWarning(self, "youpos", text, nil, optionDefault, ...) end + + function bossModPrototype:NewSpecialWarningSoakPos(text, optionDefault, ...) + return newSpecialWarning(self, "soakpos", text, nil, optionDefault, ...) + end function bossModPrototype:NewSpecialWarningTarget(text, optionDefault, ...) return newSpecialWarning(self, "target", text, nil, optionDefault, ...) @@ -9543,6 +9501,10 @@ do function bossModPrototype:NewSpecialWarningMoveTo(text, optionDefault, ...) return newSpecialWarning(self, "moveto", text, nil, optionDefault, ...) end + + function bossModPrototype:NewSpecialWarningJump(text, optionDefault, ...) + return newSpecialWarning(self, "jump", text, nil, optionDefault, ...) + end function bossModPrototype:NewSpecialWarningRun(text, optionDefault, ...) return newSpecialWarning(self, "run", text, nil, optionDefault, ...) diff --git a/AddOns/DBM-Core/DBM-Core.toc b/AddOns/DBM-Core/DBM-Core.toc index 7aee8abb9..64d6a597b 100644 --- a/AddOns/DBM-Core/DBM-Core.toc +++ b/AddOns/DBM-Core/DBM-Core.toc @@ -17,7 +17,7 @@ ## DefaultState: enabled ## Author: Tandanu and Nitram ## X-Website: http://www.deadlybossmods.com -## X-Curse-Packaged-Version: 6.2.16-1-g294da72 +## X-Curse-Packaged-Version: 6.2.18-7-gc13aff2 ## X-Curse-Project-Name: Deadly Boss Mods ## X-Curse-Project-ID: deadly-boss-mods ## X-Curse-Repository-ID: wow/deadly-boss-mods/mainline diff --git a/AddOns/DBM-Core/DBM-HudMap.lua b/AddOns/DBM-Core/DBM-HudMap.lua index 88f937d57..350724a66 100644 --- a/AddOns/DBM-Core/DBM-HudMap.lua +++ b/AddOns/DBM-Core/DBM-HudMap.lua @@ -923,7 +923,7 @@ do b = bool and self.alert.b or self.normal.b or 1 a = bool and self.alert.a or self.normal.a or 1 self.texture:SetVertexColor(r, g, b, a) - if bool then + if self.alertLabel then self:SetLabel(self.alertLabel, nil, nil, nil, nil, nil, 0.8) end return self diff --git a/AddOns/DBM-Core/DBM-RangeCheck.lua b/AddOns/DBM-Core/DBM-RangeCheck.lua index b597c33a8..3222e173a 100644 --- a/AddOns/DBM-Core/DBM-RangeCheck.lua +++ b/AddOns/DBM-Core/DBM-RangeCheck.lua @@ -79,17 +79,18 @@ local max, sin, cos, pi, pi2 = math.max, math.sin, math.cos, math.pi, math.pi * -- for Phanx' Class Colors local RAID_CLASS_COLORS = CUSTOM_CLASS_COLORS or RAID_CLASS_COLORS local BLIP_TEX_COORDS = { - ["WARRIOR"] = { 0, 0.125, 0, 0.25 }, - ["PALADIN"] = { 0.125, 0.25, 0, 0.25 }, - ["HUNTER"] = { 0.25, 0.375, 0, 0.25 }, - ["ROGUE"] = { 0.375, 0.5, 0, 0.25 }, - ["PRIEST"] = { 0.5, 0.625, 0, 0.25 }, - ["DEATHKNIGHT"] = { 0.625, 0.75, 0, 0.25 }, - ["SHAMAN"] = { 0.75, 0.875, 0, 0.25 }, - ["MAGE"] = { 0.875, 1, 0, 0.25 }, - ["WARLOCK"] = { 0, 0.125, 0.25, 0.5 }, - ["DRUID"] = { 0.25, 0.375, 0.25, 0.5 }, - ["MONK"] = { 0.125, 0.25, 0.25, 0.5 } + ["WARRIOR"] = { 0, 0.125, 0, 0.25 }, + ["PALADIN"] = { 0.125, 0.25, 0, 0.25 }, + ["HUNTER"] = { 0.25, 0.375, 0, 0.25 }, + ["ROGUE"] = { 0.375, 0.5, 0, 0.25 }, + ["PRIEST"] = { 0.5, 0.625, 0, 0.25 }, + ["DEATHKNIGHT"] = { 0.625, 0.75, 0, 0.25 }, + ["SHAMAN"] = { 0.75, 0.875, 0, 0.25 }, + ["MAGE"] = { 0.875, 1, 0, 0.25 }, + ["WARLOCK"] = { 0, 0.125, 0.25, 0.5 }, + ["DRUID"] = { 0.25, 0.375, 0.25, 0.5 }, + ["MONK"] = { 0.125, 0.25, 0.25, 0.5 }, + ["DEMONHUNTER"] = { 0.375, 0.5, 0.25, 0.5 }, } --------------------- -- Dropdown Menu -- diff --git a/AddOns/DBM-Core/Libs/LibChatAnims/LibChatAnims.lua b/AddOns/DBM-Core/Libs/LibChatAnims/LibChatAnims.lua index 268ae476e..f3a5eaf05 100644 --- a/AddOns/DBM-Core/Libs/LibChatAnims/LibChatAnims.lua +++ b/AddOns/DBM-Core/Libs/LibChatAnims/LibChatAnims.lua @@ -1,5 +1,5 @@ -local MAJOR, MINOR = "LibChatAnims", 1 -- Bump minor on changes +local MAJOR, MINOR = "LibChatAnims", 2 -- Bump minor on changes local LCA = LibStub:NewLibrary(MAJOR, MINOR) if not LCA then return end -- No upgrade needed @@ -39,12 +39,14 @@ FCFDockOverflowButton_UpdatePulseState = function(self) local fade1 = anims[tex]:CreateAnimation("Alpha") fade1:SetDuration(1) - fade1:SetChange(1) + fade1:SetFromAlpha(0) + fade1:SetToAlpha(1) fade1:SetOrder(1) local fade2 = anims[tex]:CreateAnimation("Alpha") fade2:SetDuration(1) - fade2:SetChange(-1) + fade2:SetFromAlpha(1) + fade2:SetToAlpha(0) fade2:SetOrder(2) end tex:Show() @@ -99,12 +101,14 @@ FCFDockOverflowListButton_SetValue = function(button, chatFrame) local fade1 = anims[button.glow]:CreateAnimation("Alpha") fade1:SetDuration(1) - fade1:SetChange(1) + fade1:SetFromAlpha(0) + fade1:SetToAlpha(1) fade1:SetOrder(1) local fade2 = anims[button.glow]:CreateAnimation("Alpha") fade2:SetDuration(1) - fade2:SetChange(-1) + fade2:SetFromAlpha(1) + fade2:SetToAlpha(0) fade2:SetOrder(2) end button.glow:Show() @@ -130,12 +134,14 @@ FCF_StartAlertFlash = function(chatFrame) local fade1 = anims[chatFrame.minFrame]:CreateAnimation("Alpha") fade1:SetDuration(1) - fade1:SetChange(1) + fade1:SetFromAlpha(0) + fade1:SetToAlpha(1) fade1:SetOrder(1) local fade2 = anims[chatFrame.minFrame]:CreateAnimation("Alpha") fade2:SetDuration(1) - fade2:SetChange(-1) + fade2:SetFromAlpha(1) + fade2:SetToAlpha(0) fade2:SetOrder(2) end chatFrame.minFrame.glow:Show() @@ -150,12 +156,14 @@ FCF_StartAlertFlash = function(chatFrame) local fade1 = anims[chatTab.glow]:CreateAnimation("Alpha") fade1:SetDuration(1) - fade1:SetChange(1) + fade1:SetFromAlpha(0) + fade1:SetToAlpha(1) fade1:SetOrder(1) local fade2 = anims[chatTab.glow]:CreateAnimation("Alpha") fade2:SetDuration(1) - fade2:SetChange(-1) + fade2:SetFromAlpha(1) + fade2:SetToAlpha(0) fade2:SetOrder(2) end chatTab.glow:Show() diff --git a/AddOns/DBM-Core/localization.cn.lua b/AddOns/DBM-Core/localization.cn.lua index 695d5056d..b1b83c4e2 100644 --- a/AddOns/DBM-Core/localization.cn.lua +++ b/AddOns/DBM-Core/localization.cn.lua @@ -2,7 +2,7 @@ -- Diablohu(diablohudream@gmail.com) -- yleaf(yaroot@gmail.com) -- Mini Dragon(projecteurs@gmail.com) --- Last update: Dec 13 2015, 04:13 UTC@14710 +-- Last update: Feb 02 2016, 08:00 UTC@14774 if GetLocale() ~= "zhCN" then return end @@ -313,6 +313,7 @@ DBM_CORE_AUTO_SPEC_WARN_TEXTS.interruptcount = "%s - 快打断 (%%d)" DBM_CORE_AUTO_SPEC_WARN_TEXTS.you = "你中了%s" DBM_CORE_AUTO_SPEC_WARN_TEXTS.youcount = "你中了%s (%%s)" DBM_CORE_AUTO_SPEC_WARN_TEXTS.youpos = "你中了%s (位置:%%s)" +DBM_CORE_AUTO_SPEC_WARN_TEXTS.soakpos = "%s - 快去%%s吸收" DBM_CORE_AUTO_SPEC_WARN_TEXTS.target = ">%%s<中了%s" DBM_CORE_AUTO_SPEC_WARN_TEXTS.targetcount = ">%%2$s<中了%s (%%1$s)" DBM_CORE_AUTO_SPEC_WARN_TEXTS.taunt = ">%%s<中了%s - 快嘲讽" @@ -321,6 +322,7 @@ DBM_CORE_AUTO_SPEC_WARN_TEXTS.move = "%s - 快躲开" DBM_CORE_AUTO_SPEC_WARN_TEXTS.dodge = "%s - 躲开攻击" DBM_CORE_AUTO_SPEC_WARN_TEXTS.moveaway = "%s - 离开人群" DBM_CORE_AUTO_SPEC_WARN_TEXTS.moveto = "%s - 靠近 >%%s<" +DBM_CORE_AUTO_SPEC_WARN_TEXTS.jump = "%s - 快跳" DBM_CORE_AUTO_SPEC_WARN_TEXTS.run = "%s - 快跑" DBM_CORE_AUTO_SPEC_WARN_TEXTS.cast = "%s - 停止施法" DBM_CORE_AUTO_SPEC_WARN_TEXTS.reflect = ">%%s<中了%s - 快停手" @@ -342,6 +344,7 @@ DBM_CORE_AUTO_SPEC_WARN_OPTIONS.interruptcount = "特殊警报:需要打断$sp DBM_CORE_AUTO_SPEC_WARN_OPTIONS.you = "特殊警报:当你受到$spell:%s影响时" DBM_CORE_AUTO_SPEC_WARN_OPTIONS.youcount = "特殊警报:当你受到$spell:%s影响时(带计数)" DBM_CORE_AUTO_SPEC_WARN_OPTIONS.youpos = "特殊警报:当你受到$spell:%s影响时(带位置)" +DBM_CORE_AUTO_SPEC_WARN_OPTIONS.soakpos = "特殊警报:当你需要为受到$spell:%s的玩家分担伤害时(带位置)" DBM_CORE_AUTO_SPEC_WARN_OPTIONS.target = "特殊警报:当他人受到$spell:%s影响时" DBM_CORE_AUTO_SPEC_WARN_OPTIONS.targetcount = "特殊警报:当他人受到$spell:%s影响时(带计数)" DBM_CORE_AUTO_SPEC_WARN_OPTIONS.taunt = "特殊警报:当另外一个T中了$spell:%s并需要你嘲讽时" @@ -350,6 +353,7 @@ DBM_CORE_AUTO_SPEC_WARN_OPTIONS.move = "特殊警报:当你受到$spell:%s DBM_CORE_AUTO_SPEC_WARN_OPTIONS.dodge = "特殊警报:当你受到$spell:%s影响并需要躲开攻击" DBM_CORE_AUTO_SPEC_WARN_OPTIONS.moveaway = "特殊警报:当你受到$spell:%s影响并需要跑开人群时" DBM_CORE_AUTO_SPEC_WARN_OPTIONS.moveto = "特殊警报:当他人中了$spell:%s并需要你去靠近时" +DBM_CORE_AUTO_SPEC_WARN_OPTIONS.jump = "特殊警报:当你受到$spell:%s影响并需要跳起来时" DBM_CORE_AUTO_SPEC_WARN_OPTIONS.run = "特殊警报:$spell:%s" DBM_CORE_AUTO_SPEC_WARN_OPTIONS.cast = "特殊警报:$spell:%s的施放(用于打断玩家的技能)" DBM_CORE_AUTO_SPEC_WARN_OPTIONS.count = "特殊警报:$spell:%s" diff --git a/AddOns/DBM-Core/localization.de.lua b/AddOns/DBM-Core/localization.de.lua index 812862984..acb79e6f9 100644 --- a/AddOns/DBM-Core/localization.de.lua +++ b/AddOns/DBM-Core/localization.de.lua @@ -297,8 +297,8 @@ DBM_CORE_AUTO_SPEC_WARN_TEXTS.fades = "%s beendet" DBM_CORE_AUTO_SPEC_WARN_TEXTS.soon = "%s bald" DBM_CORE_AUTO_SPEC_WARN_TEXTS.prewarn = "%s in %s" DBM_CORE_AUTO_SPEC_WARN_TEXTS.dispel = "%s auf >%%s< - jetzt reinigen" -DBM_CORE_AUTO_SPEC_WARN_TEXTS.interrupt = "%s - unterbreche >%%s%%s%%s%%s%%s<", targetcount = "%s (%%s) on >%%s< ", taunt = "%s on >%%s< - taunt now", @@ -315,6 +316,7 @@ DBM_CORE_AUTO_SPEC_WARN_TEXTS = { dodge = "%s - dodge attack", moveaway = "%s - move away from others", moveto = "%s - move to >%%s<", + jump = "%s - jump", run = "%s - run away", cast = "%s - stop casting", reflect = "%s on >%%s< - stop attacking", @@ -337,6 +339,7 @@ DBM_CORE_AUTO_SPEC_WARN_OPTIONS = { you = "Show special warning when you are affected by $spell:%s", youcount = "Show special warning (with count) when you are affected by $spell:%s", youpos = "Show special warning (with position) when you are affected by $spell:%s", + soakpos = "Show special warning (with position) to help soak others affected by $spell:%s", target = "Show special warning when someone is affected by $spell:%s", targetcount = "Show special warning (with count) when someone is affected by $spell:%s", taunt = "Show special warning to taunt when other tank affected by $spell:%s", @@ -345,6 +348,7 @@ DBM_CORE_AUTO_SPEC_WARN_OPTIONS = { dodge = "Show special warning to dodge $spell:%s", moveaway = "Show special warning to move away from others for $spell:%s", moveto = "Show special warning to move to someone affected by $spell:%s", + jump = "Show special warning to move to jump for $spell:%s", run = "Show special warning to run away from $spell:%s", cast = "Show special warning to stop casting for $spell:%s",--Spell Interrupt reflect = "Show special warning to stop attacking $spell:%s",--Spell Reflect diff --git a/AddOns/DBM-Core/localization.ru.lua b/AddOns/DBM-Core/localization.ru.lua index c8c04114f..6159118f2 100644 --- a/AddOns/DBM-Core/localization.ru.lua +++ b/AddOns/DBM-Core/localization.ru.lua @@ -309,6 +309,7 @@ DBM_CORE_AUTO_SPEC_WARN_TEXTS.move = "%s - отбегите" DBM_CORE_AUTO_SPEC_WARN_TEXTS.dodge = "%s - избегайте" DBM_CORE_AUTO_SPEC_WARN_TEXTS.moveaway = "%s - отбегите от остальных" DBM_CORE_AUTO_SPEC_WARN_TEXTS.moveto = "%s - бегите к >%%s<" +DBM_CORE_AUTO_SPEC_WARN_TEXTS.jump = "%s - подпрыгните" DBM_CORE_AUTO_SPEC_WARN_TEXTS.run = "%s - убегайте" DBM_CORE_AUTO_SPEC_WARN_TEXTS.cast = "%s - прекратите чтение заклинаний" DBM_CORE_AUTO_SPEC_WARN_TEXTS.reflect = "%s на |3-5(>%%s<) - прекратите атаку" @@ -336,6 +337,7 @@ DBM_CORE_AUTO_SPEC_WARN_OPTIONS.move = "Спец-предупреждение DBM_CORE_AUTO_SPEC_WARN_OPTIONS.dodge = "Спец-предупреждение \"избегайте\" для $spell:%s" DBM_CORE_AUTO_SPEC_WARN_OPTIONS.moveaway = "Спец-предупреждение \"отбегите от остальных\" для $spell:%s" DBM_CORE_AUTO_SPEC_WARN_OPTIONS.moveto = "Спец-предупреждение \"бегите к кому-то\", на ком $spell:%s" +DBM_CORE_AUTO_SPEC_WARN_OPTIONS.jump = "Спец-предупреждение \"подпрыгните\" для $spell:%s" DBM_CORE_AUTO_SPEC_WARN_OPTIONS.run = "Спец-предупреждение \"убегайте\" для $spell:%s" DBM_CORE_AUTO_SPEC_WARN_OPTIONS.cast = "Спец-предупреждение \"прекратите чтение заклинаний\" для $spell:%s" DBM_CORE_AUTO_SPEC_WARN_OPTIONS.reflect = "Спец-предупреждение \"прекратите атаку\" для $spell:%s" diff --git a/AddOns/DBM-Core/localization.tw.lua b/AddOns/DBM-Core/localization.tw.lua index 0f0b26290..8114daa7d 100644 --- a/AddOns/DBM-Core/localization.tw.lua +++ b/AddOns/DBM-Core/localization.tw.lua @@ -307,6 +307,7 @@ DBM_CORE_AUTO_SPEC_WARN_TEXTS.move = "%s - 快移動" DBM_CORE_AUTO_SPEC_WARN_TEXTS.dodge = "%s - 閃避攻擊" DBM_CORE_AUTO_SPEC_WARN_TEXTS.moveaway = "%s - 快離開其他人" DBM_CORE_AUTO_SPEC_WARN_TEXTS.moveto = "%s - 快跑向>%%s<" +DBM_CORE_AUTO_SPEC_WARN_TEXTS.jump = "%s - 快跳躍" DBM_CORE_AUTO_SPEC_WARN_TEXTS.run = "%s - 快跑開" DBM_CORE_AUTO_SPEC_WARN_TEXTS.cast = "%s - 停止施法" DBM_CORE_AUTO_SPEC_WARN_TEXTS.reflect = "%s - 停止攻擊" @@ -332,8 +333,9 @@ DBM_CORE_AUTO_SPEC_WARN_OPTIONS.taunt = "當其他坦克中了$spell:%s顯示 DBM_CORE_AUTO_SPEC_WARN_OPTIONS.close = "當你附近有人中了$spell:%s時顯示特別警告" DBM_CORE_AUTO_SPEC_WARN_OPTIONS.move = "當你中了$spell:%s時顯示特別警告" DBM_CORE_AUTO_SPEC_WARN_OPTIONS.dodge = "當需要閃避$spell:%s時顯示特別警告" -DBM_CORE_AUTO_SPEC_WARN_OPTIONS.moveaway = "為$spell:%s要跑離開其他人時顯示特別警告" +DBM_CORE_AUTO_SPEC_WARN_OPTIONS.moveaway = "當你中了$spell:%s要跑離開其他人時顯示特別警告" DBM_CORE_AUTO_SPEC_WARN_OPTIONS.moveto = "當需要跑向中了$spell:%s的人時顯示特別警告" +DBM_CORE_AUTO_SPEC_WARN_OPTIONS.jump = "當你中了$spell:%s需跳起來時顯示特別警告" DBM_CORE_AUTO_SPEC_WARN_OPTIONS.run = "為$spell:%s顯示特別警告" DBM_CORE_AUTO_SPEC_WARN_OPTIONS.cast = "為$spell:%s施放時顯示停止施法的特別警告" DBM_CORE_AUTO_SPEC_WARN_OPTIONS.reflect = "為$spell:%s施放時顯示停止攻擊的特別警告" diff --git a/AddOns/DBM-DMF/DBM-DMF.toc b/AddOns/DBM-DMF/DBM-DMF.toc index 197112cef..2be02ee4a 100644 --- a/AddOns/DBM-DMF/DBM-DMF.toc +++ b/AddOns/DBM-DMF/DBM-DMF.toc @@ -20,7 +20,7 @@ ## X-DBM-Mod-MapID: 974 ## X-DBM-Mod-Sort: 155 ## X-DBM-Mod-MinCoreRevision: 12473 -## X-Curse-Packaged-Version: 6.2.16-1-g294da72 +## X-Curse-Packaged-Version: 6.2.18-7-gc13aff2 ## X-Curse-Project-Name: Deadly Boss Mods ## X-Curse-Project-ID: deadly-boss-mods ## X-Curse-Repository-ID: wow/deadly-boss-mods/mainline diff --git a/AddOns/DBM-DefaultSkin/DBM-DefaultSkin.toc b/AddOns/DBM-DefaultSkin/DBM-DefaultSkin.toc index a04909732..d25fa2c8b 100644 --- a/AddOns/DBM-DefaultSkin/DBM-DefaultSkin.toc +++ b/AddOns/DBM-DefaultSkin/DBM-DefaultSkin.toc @@ -10,7 +10,7 @@ ## X-DBM-Timer-Skin-Name: Classic ## X-DBM-Timer-Skin-Textures: Interface\AddOns\DBM-DefaultSkin\textures\default.tga ## X-DBM-Timer-Skin-Texture-Names: Default -## X-Curse-Packaged-Version: 6.2.16-1-g294da72 +## X-Curse-Packaged-Version: 6.2.18-7-gc13aff2 ## X-Curse-Project-Name: Deadly Boss Mods ## X-Curse-Project-ID: deadly-boss-mods ## X-Curse-Repository-ID: wow/deadly-boss-mods/mainline diff --git a/AddOns/DBM-Draenor/DBM-Draenor.toc b/AddOns/DBM-Draenor/DBM-Draenor.toc index 50711ac6b..a5a8e91ed 100644 --- a/AddOns/DBM-Draenor/DBM-Draenor.toc +++ b/AddOns/DBM-Draenor/DBM-Draenor.toc @@ -19,7 +19,7 @@ ## X-DBM-Mod-MapID: 1116, 1159, 1331, 1158, 1153, 1152, 1330, 1160, 1154, 1464 ## X-DBM-Mod-LoadCID: 83746, 81535, 81252, 94015 ## X-DBM-Mod-MinCoreRevision: 12473 -## X-Curse-Packaged-Version: 6.2.16-1-g294da72 +## X-Curse-Packaged-Version: 6.2.18-7-gc13aff2 ## X-Curse-Project-Name: Deadly Boss Mods ## X-Curse-Project-ID: deadly-boss-mods ## X-Curse-Repository-ID: wow/deadly-boss-mods/mainline diff --git a/AddOns/DBM-EmeraldNightmare/DBM-EmeraldNightmare.toc b/AddOns/DBM-EmeraldNightmare/DBM-EmeraldNightmare.toc new file mode 100644 index 000000000..ddfdd2680 --- /dev/null +++ b/AddOns/DBM-EmeraldNightmare/DBM-EmeraldNightmare.toc @@ -0,0 +1,26 @@ +## Interface: 70000 +## X-Min-Interface: 70000 +## Title:|cffffe00a<|r|cffff7d0aDBM|r|cffffe00a>|r |cff69ccf0Emerald Nightmare|r +## Author: MysticalOS +## LoadOnDemand: 1 +## RequiredDeps: DBM-Core +## SavedVariables: DBMEmeraldNightmare_AllSavedVars +## SavedVariablesPerCharacter: DBMEmeraldNightmare_SavedStats +## X-DBM-Mod: 1 +## X-DBM-Mod-Type: RAID +## X-DBM-Mod-Category: LEG +## X-DBM-Mod-Has-Mythic : 1 +## X-DBM-Mod-Sort: 055 +## X-DBM-Mod-MapID: 1520 +## X-DBM-Mod-MinCoreRevision: 14737 +## X-Curse-Packaged-Version: 6.2.18-7-gc13aff2 +## X-Curse-Project-Name: Deadly Boss Mods +## X-Curse-Project-ID: deadly-boss-mods +## X-Curse-Repository-ID: wow/deadly-boss-mods/mainline +localization.en.lua +localization.cn.lua +Nythendra.lua +Ilgynoth.lua +Ursok.lua +NightmareDragons.lua +Xavius.lua diff --git a/AddOns/DBM-EmeraldNightmare/Ilgynoth.lua b/AddOns/DBM-EmeraldNightmare/Ilgynoth.lua new file mode 100644 index 000000000..6ee38a571 --- /dev/null +++ b/AddOns/DBM-EmeraldNightmare/Ilgynoth.lua @@ -0,0 +1,103 @@ +local mod = DBM:NewMod(1738, "DBM-EmeraldNightmare", nil, 768) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14758 $"):sub(12, -3)) +--mod:SetCreatureID(102672) +mod:SetEncounterID(1873) +mod:SetZone() +--mod:SetUsedIcons(8, 7, 6, 3, 2, 1) +--mod:SetHotfixNoticeRev(12324) + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_CAST_START", + "SPELL_CAST_SUCCESS", + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", +-- "SPELL_DAMAGE", +-- "SPELL_MISSED", + "CHAT_MSG_MONSTER_YELL" +) + +--local warnExpelMagicFrost = mod:NewTargetAnnounce(161411, 3) + +--local specWarnTrampleNear = mod:NewSpecialWarningClose(163101) +--local yellTrample = mod:NewYell(163101) + +--local timerTrampleCD = mod:NewCDTimer(16, 163101, nil, nil, nil, 3) + +--local countdownMagicFire = mod:NewCountdownFades(11.5, 162185) + +--local voiceExpelMagicFire = mod:NewVoice(162185) + +--mod:AddRangeFrameOption("5") +--mod:AddSetIconOption("SetIconOnMC", 163472, false) +--mod:AddHudMapOption("HudMapOnMC", 163472) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +-- if self.Options.FelArrow then +-- DBM.Arrow:Hide() +-- end +-- if self.Options.HudMapOnMC then +-- DBMHudMap:Disable() +-- end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 162185 then + + end +end + +function mod:SPELL_CAST_SUCCESS(args) + local spellId = args.spellId + if spellId == 161612 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 156803 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 162186 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 205611 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then +-- specWarnMiasma:Show() +-- voiceMiasma:Play("runaway") + end +end +mod.SPELL_ABSORBED = mod.SPELL_PERIODIC_DAMAGE + +function mod:CHAT_MSG_MONSTER_YELL(msg, _, _, _, target) + if msg:find(L.supressionTarget1) then +-- self:SendSync("ChargeTo", target) + end +end + +function mod:OnSync(msg, targetname) + if not self:IsInCombat() then return end + if msg == "ChargeTo" then + + end +end +--]] diff --git a/AddOns/DBM-EmeraldNightmare/License.txt b/AddOns/DBM-EmeraldNightmare/License.txt new file mode 100644 index 000000000..3b64efad3 --- /dev/null +++ b/AddOns/DBM-EmeraldNightmare/License.txt @@ -0,0 +1 @@ +All Rights Reserved unless otherwise explicitly stated. \ No newline at end of file diff --git a/AddOns/DBM-EmeraldNightmare/NightmareDragons.lua b/AddOns/DBM-EmeraldNightmare/NightmareDragons.lua new file mode 100644 index 000000000..ea9c13782 --- /dev/null +++ b/AddOns/DBM-EmeraldNightmare/NightmareDragons.lua @@ -0,0 +1,104 @@ +if DBM:GetTOC() < 70000 then return end +local mod = DBM:NewMod(1704, "DBM-EmeraldNightmare", nil, 768) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14741 $"):sub(12, -3)) +--mod:SetCreatureID(79015)--TODO, find +mod:SetEncounterID(1854) +mod:SetZone() +--mod:SetUsedIcons(8, 7, 6, 3, 2, 1) +--mod:SetHotfixNoticeRev(12324) + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_CAST_START", + "SPELL_CAST_SUCCESS", + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", +-- "SPELL_DAMAGE", +-- "SPELL_MISSED", + "CHAT_MSG_MONSTER_YELL" +) + +--local warnExpelMagicFrost = mod:NewTargetAnnounce(161411, 3) + +--local specWarnTrampleNear = mod:NewSpecialWarningClose(163101) +--local yellTrample = mod:NewYell(163101) + +--local timerTrampleCD = mod:NewCDTimer(16, 163101, nil, nil, nil, 3) + +--local countdownMagicFire = mod:NewCountdownFades(11.5, 162185) + +--local voiceExpelMagicFire = mod:NewVoice(162185) + +--mod:AddRangeFrameOption("5") +--mod:AddSetIconOption("SetIconOnMC", 163472, false) +--mod:AddHudMapOption("HudMapOnMC", 163472) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +-- if self.Options.FelArrow then +-- DBM.Arrow:Hide() +-- end +-- if self.Options.HudMapOnMC then +-- DBMHudMap:Disable() +-- end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 162185 then + + end +end + +function mod:SPELL_CAST_SUCCESS(args) + local spellId = args.spellId + if spellId == 161612 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 156803 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 162186 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 205611 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then +-- specWarnMiasma:Show() +-- voiceMiasma:Play("runaway") + end +end +mod.SPELL_ABSORBED = mod.SPELL_PERIODIC_DAMAGE + +function mod:CHAT_MSG_MONSTER_YELL(msg, _, _, _, target) + if msg:find(L.supressionTarget1) then +-- self:SendSync("ChargeTo", target) + end +end + +function mod:OnSync(msg, targetname) + if not self:IsInCombat() then return end + if msg == "ChargeTo" then + + end +end +--]] diff --git a/AddOns/DBM-EmeraldNightmare/Nythendra.lua b/AddOns/DBM-EmeraldNightmare/Nythendra.lua new file mode 100644 index 000000000..7dcedc63e --- /dev/null +++ b/AddOns/DBM-EmeraldNightmare/Nythendra.lua @@ -0,0 +1,182 @@ +local mod = DBM:NewMod(1703, "DBM-EmeraldNightmare", nil, 768) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14764 $"):sub(12, -3)) +mod:SetCreatureID(102672) +mod:SetEncounterID(1853) +mod:SetZone() +mod:SetUsedIcons(4, 3, 2, 1) +--mod:SetHotfixNoticeRev(12324) + +mod:RegisterCombat("combat") + +mod:RegisterEventsInCombat( + "SPELL_CAST_START 203552 202977", + "SPELL_CAST_SUCCESS 204463", + "SPELL_AURA_APPLIED 204463 203096", + "SPELL_AURA_REMOVED 204463 203096 203552", + "SPELL_PERIODIC_DAMAGE 203045", + "SPELL_PERIODIC_MISSED 203045", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--TODO, maybe improve timers by on fly corrections off breaths 1 and 2 to fix their accuracy a little do to variations +--consider countdowns if timers made more accurate. +local warnVolatileRot = mod:NewTargetAnnounce(204463, 4) +local warnRot = mod:NewTargetAnnounce(203096, 3) +local warnHeartofSwarm = mod:NewSpellAnnounce(203552, 2) + +local specWarnBreath = mod:NewSpecialWarningDodge(202977, nil, nil, nil, 2, 2) +local specWarnVolatileRot = mod:NewSpecialWarningRun(204463, nil, nil, nil, 3, 2) +local specWarnVolatileRotSwap = mod:NewSpecialWarningTaunt(204463, nil, nil, nil, 1, 2) +local yellVolatileRot = mod:NewFadesYell(204463) +local specWarnRot = mod:NewSpecialWarningRun(203096, nil, nil, nil, 1, 2) +local yellRot = mod:NewFadesYell(203096) +local specWarnInfestedGround = mod:NewSpecialWarningMove(203045, nil, nil, nil, 1, 2) + +local timerBreathCD = mod:NewCDCountTimer(40, 202977, nil, nil, nil, 3) +local timerVolatileRotCD = mod:NewCDCountTimer(22.8, 204463, nil, "Tank", nil, 5) +local timerRotCD = mod:NewCDCountTimer(22.8, 203096, nil, nil, nil, 3) +local timerSwarmCD = mod:NewCDCountTimer(94, 203552, nil, nil, nil, 6)--94-98 + +local countdownBreath = mod:NewCountdown(40, 202977) +local countdownVolatileRot = mod:NewCountdown("Alt22.8", 204463, "Tank") + +local voiceBreath = mod:NewVoice(202977)--breathsoon +local voiceRot = mod:NewVoice(203096)--runout +local voiceVolatileRot = mod:NewVoice(204463)--runout/TauntBoss +local voiceInfestedGround = mod:NewVoice(203045)--runaway + +mod:AddSetIconOption("SetIconOnRot", 203096)--Of course I'll probably be forced to change method when BW does their own thing, for compat. +--mod:AddHudMapOption("HudMapOnMC", 163472) + +mod.vb.breathCount = 0 +mod.vb.rotCast = 0 +mod.vb.volatileRotCast = 0 +mod.vb.swarmCast = 0 + +function mod:OnCombatStart(delay) + self.vb.breathCount = 0 + self.vb.rotCast = 0 + self.vb.volatileRotCast = 0 + self.vb.swarmCast = 0 + timerVolatileRotCD:Start(20, 1)--20-24 + timerRotCD:Start(11, 1)--May need tweaking, too annoying to dig through logs for something not in them + timerBreathCD:Start(35-delay, 1)--35-40 variable + countdownBreath:Start(35-delay) + timerSwarmCD:Start(86-delay, 1)--86-92 +end + +function mod:OnCombatEnd() +-- if self.Options.HudMapOnMC then +-- DBMHudMap:Disable() +-- end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 203552 then + self.vb.swarmCast = self.vb.swarmCast + 1 + warnHeartofSwarm:Show(self.vb.swarmCast) + elseif spellId == 202977 then + self.vb.breathCount = self.vb.breathCount + 1 + specWarnBreath:Show(self.vb.breathCount) + voiceBreath:Play("breathsoon") + if self.vb.breathCount < 2 then + timerBreathCD:Start(nil, self.vb.breathCount+1) + countdownBreath:Start() + end + end +end + +function mod:SPELL_CAST_SUCCESS(args) + local spellId = args.spellId + if spellId == 204463 then + self.vb.volatileRotCast = self.vb.volatileRotCast + 1 + timerVolatileRotCD:Start(nil, self.vb.volatileRotCast+1) + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 204463 then + if args:IsPlayer() then + specWarnVolatileRot:Show() + voiceVolatileRot:Play("runout") + local _, _, _, _, _, duration, expires, _, _ = UnitDebuff("player", args.spellName) + if expires then + local remaining = expires-GetTime() + yellVolatileRot:Schedule(remaining-1, 1) + yellVolatileRot:Schedule(remaining-2, 2) + yellVolatileRot:Schedule(remaining-3, 3) + end + else + if self:IsTank() then + specWarnVolatileRotSwap:Show(args.destName) + voiceVolatileRot:Play("tauntboss") + else + warnVolatileRot:Show(args.destName) + end + end + elseif spellId == 203096 then + warnRot:CombinedShow(0.5, args.destName) + if args:IsPlayer() then + specWarnRot:Show() + voiceRot:Play("runout") + local _, _, _, _, _, duration, expires, _, _ = UnitDebuff("player", args.spellName) + if expires then + local remaining = expires-GetTime() + yellRot:Schedule(remaining-1, 1) + yellRot:Schedule(remaining-2, 2) + yellRot:Schedule(remaining-3, 3) + end + end + if self.Options.SetIconOnRot then + self:SetAlphaIcon(0.5, args.destName, 1)--Number of icons variable by raid size and duration of fight + end + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 204463 then + if args:IsPlayer() then + yellVolatileRot:Cancel() + end + elseif spellId == 203096 then + if args:IsPlayer() then + yellRot:Cancel() + end + if self.Options.SetIconOnRot then + self:SetIcon(args.destName, 0) + end + elseif spellId == 203552 then--Heart of swarm ending + self.vb.breathCount = 0 + self.vb.rotCast = 0 + self.vb.volatileRotCast = 0 + timerRotCD:Start(15, 1) + timerVolatileRotCD:Start(28.5, 1)--28.5-31 + timerBreathCD:Start(44, 1) + countdownBreath:Start(44) + timerSwarmCD:Start(nil, self.vb.swarmCast+1) + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 203045 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + specWarnInfestedGround:Show() + voiceInfestedGround:Play("runaway") + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 203095 then--CAST Doesn't show in combat log for some reason. Applied does but don't want to risk misses + self.vb.rotCast = self.vb.rotCast + 1 + if self.vb.rotCast == 1 then + timerRotCD:Start(33, 2)--33-36 + elseif self.vb.rotCast == 2 then + timerRotCD:Start(18.5, 3)--18.5-22 + end + end +end diff --git a/AddOns/DBM-EmeraldNightmare/Ursok.lua b/AddOns/DBM-EmeraldNightmare/Ursok.lua new file mode 100644 index 000000000..bffd0fe4a --- /dev/null +++ b/AddOns/DBM-EmeraldNightmare/Ursok.lua @@ -0,0 +1,154 @@ +if DBM:GetTOC() < 70000 then return end +local mod = DBM:NewMod(1667, "DBM-EmeraldNightmare", nil, 768) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14741 $"):sub(12, -3)) +mod:SetCreatureID(100497) +mod:SetEncounterID(1841) +mod:SetZone() +mod:SetUsedIcons(1) +--mod:SetHotfixNoticeRev(12324) + +mod:RegisterCombat("combat") + + +mod:RegisterEventsInCombat( + "SPELL_CAST_START 197942 197969", + "SPELL_CAST_SUCCESS 197943", + "SPELL_AURA_APPLIED 198006 197943", + "SPELL_AURA_REMOVED 198006", + "SPELL_PERIODIC_DAMAGE 205611", + "SPELL_PERIODIC_MISSED 205611" +) + +--TODO, info frame for unbalanced maybe, depends on how fast raid gets it (unbalanced can't soak charges) +--TODO, countdown yell maybe for focused gaze. Arrow or goto warnings system too, maybe. Hud as well +--TODO, find a good voice for roaring. Maybe watch step? move away? +--TODO, figure out a good number to repeat for charge count +local warnFocusedGaze = mod:NewTargetAnnounce(198006, 3) +local warnBloodFrenzy = mod:NewSpellAnnounce(198388, 4) + +local specWarnFocusedGaze = mod:NewSpecialWarningYou(198006, nil, nil, nil, 1, 6) +local yellFocusedGaze = mod:NewYell(198006) +local specWarnRoaringCacophony = mod:NewSpecialWarningCount(197969, nil, nil, nil, 2)--Don't know what voice to give it yet, i'll figure it out. +local specWarnMiasma = mod:NewSpecialWarningMove(205611, nil, nil, nil, 1, 2) +local specWarnOverwhelm = mod:NewSpecialWarningTaunt(197943, "Tank", nil, nil, 1, 2) + +local timerFocusedGazeCD = mod:NewNextTimer(40, 198006, nil, nil, nil, 3) +local timerRendFleshCD = mod:NewNextTimer(20, 197942, nil, "Tank", nil, 5, nil, DBM_CORE_TANK_ICON) +local timerOverwhelmCD = mod:NewNextTimer(10, 197943, nil, "Tank", nil, 5, nil, DBM_CORE_TANK_ICON) +local timerRoaringCacophonyCD = mod:NewNextCountTimer(30, 197969, nil, nil, nil, 2) + +local berserkTimer = mod:NewBerserkTimer(300) + +--local countdownMagicFire = mod:NewCountdownFades(11.5, 162185) + +local voiceFocusedGaze = mod:NewVoice(198006, "-Tank")--targetyou/share +local voiceOverwhelm = mod:NewVoice(197943)--Tauntboss/changemt +local voiceMiasma = mod:NewVoice(205611)--runaway +local voiceBloodFrenzy = mod:NewVoice(198388) +--local voiceRoaringCacophony = mod:NewVoice(197969)--watchstep + +mod:AddSetIconOption("SetIconOnCharge", 198006, true) +mod:AddHudMapOption("HudMapOnCharge", 198006) + +mod.vb.roarCount = 0 +mod.vb.chargeCount = 0 + +function mod:OnCombatStart(delay) + self.vb.roarCount = 0 + self.vb.chargeCount = 0 + timerOverwhelmCD:Start(-delay) + timerRendFleshCD:Start(13-delay) + timerFocusedGazeCD:Start(19-delay) + berserkTimer:Start(-delay) +end + +function mod:OnCombatEnd() + if self.Options.HudMapOnCharge then + DBMHudMap:Disable() + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 197942 then + timerRendFleshCD:Start() + elseif spellId == 197969 then + self.vb.roarCount = self.vb.roarCount + 1 + specWarnRoaringCacophony:Show(self.vb.roarCount) + --voiceRoaringCacophony:Play("watchstep") + if self.vb.roarCount % 2 == 0 then + timerRoaringCacophonyCD:Start(30, self.vb.roarCount + 1) + else + timerRoaringCacophonyCD:Start(10, self.vb.roarCount + 1) + end + end +end + +function mod:SPELL_CAST_SUCCESS(args) + local spellId = args.spellId + if spellId == 197943 then + timerOverwhelmCD:Start() + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 198006 then + self.vb.chargeCount = self.vb.chargeCount + 1 + warnFocusedGaze:Show(args.destName) + timerFocusedGazeCD:Start() + if args:IsPlayer() then + specWarnFocusedGaze:Show() + yellFocusedGaze:Yell() + voiceFocusedGaze:Play("targetyou") + --This code still needs unbalanced check so it doesn't warn player with debuff to soak + elseif ( self.vb.chargeCount % 2) then + voiceFocusedGaze:Play("shareone") + else + voiceFocusedGaze:Play("sharetwo") + --This code still needs unbalanced check so it doesn't warn player with debuff to soak + end + if self.Options.SetIconOnCharge then + self:SetIcon(args.destName, 1) + end + if self.Options.HudMapOnCharge then + if args:IsPlayer() then + DBMHudMap:RegisterRangeMarkerOnPartyMember(spellId, "highlight", args.destName, 8, 8, nil, nil, nil, 0.5):Appear():SetLabel(args.destName) + else + DBMHudMap:RegisterRangeMarkerOnPartyMember(spellId, "highlight", args.destName, 8, 8, nil, nil, nil, 0.5):Appear():RegisterForAlerts(nil, args.destName) + end + end + elseif spellId == 197943 then + if not args:IsPlayer() then + specWarnOverwhelm:Show(args.destName) + voiceOverwhelm:Play("tauntboss") + else + voiceOverwhelm:Play("changemt") + end + elseif spellId == 198388 then + warnBloodFrenzy:Show() + voiceBloodFrenzy:Play("frenzy") + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 198006 then + if self.Options.SetIconOnCharge then + self:SetIcon(args.destName, 0) + end + if self.Options.HudMapOnCharge then + DBMHudMap:FreeEncounterMarkerByTarget(spellId, args.destName) + end + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 205611 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + specWarnMiasma:Show() + voiceMiasma:Play("runaway") + end +end +mod.SPELL_ABSORBED = mod.SPELL_PERIODIC_DAMAGE diff --git a/AddOns/DBM-EmeraldNightmare/Xavius.lua b/AddOns/DBM-EmeraldNightmare/Xavius.lua new file mode 100644 index 000000000..863e454c3 --- /dev/null +++ b/AddOns/DBM-EmeraldNightmare/Xavius.lua @@ -0,0 +1,104 @@ +if DBM:GetTOC() < 70000 then return end +local mod = DBM:NewMod(1726, "DBM-EmeraldNightmare", nil, 768) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14741 $"):sub(12, -3)) +mod:SetCreatureID(103769)----TODO, verify +mod:SetEncounterID(1864) +mod:SetZone() +--mod:SetUsedIcons(8, 7, 6, 3, 2, 1) +--mod:SetHotfixNoticeRev(12324) + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_CAST_START", + "SPELL_CAST_SUCCESS", + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", +-- "SPELL_DAMAGE", +-- "SPELL_MISSED", + "CHAT_MSG_MONSTER_YELL" +) + +--local warnExpelMagicFrost = mod:NewTargetAnnounce(161411, 3) + +--local specWarnTrampleNear = mod:NewSpecialWarningClose(163101) +--local yellTrample = mod:NewYell(163101) + +--local timerTrampleCD = mod:NewCDTimer(16, 163101, nil, nil, nil, 3) + +--local countdownMagicFire = mod:NewCountdownFades(11.5, 162185) + +--local voiceExpelMagicFire = mod:NewVoice(162185) + +--mod:AddRangeFrameOption("5") +--mod:AddSetIconOption("SetIconOnMC", 163472, false) +--mod:AddHudMapOption("HudMapOnMC", 163472) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +-- if self.Options.FelArrow then +-- DBM.Arrow:Hide() +-- end +-- if self.Options.HudMapOnMC then +-- DBMHudMap:Disable() +-- end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 162185 then + + end +end + +function mod:SPELL_CAST_SUCCESS(args) + local spellId = args.spellId + if spellId == 161612 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 156803 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 162186 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 205611 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then +-- specWarnMiasma:Show() +-- voiceMiasma:Play("runaway") + end +end +mod.SPELL_ABSORBED = mod.SPELL_PERIODIC_DAMAGE + +function mod:CHAT_MSG_MONSTER_YELL(msg, _, _, _, target) + if msg:find(L.supressionTarget1) then +-- self:SendSync("ChargeTo", target) + end +end + +function mod:OnSync(msg, targetname) + if not self:IsInCombat() then return end + if msg == "ChargeTo" then + + end +end +--]] diff --git a/AddOns/DBM-EmeraldNightmare/localization.cn.lua b/AddOns/DBM-EmeraldNightmare/localization.cn.lua new file mode 100644 index 000000000..92dcc9c29 --- /dev/null +++ b/AddOns/DBM-EmeraldNightmare/localization.cn.lua @@ -0,0 +1,51 @@ +-- Mini Dragon(projecteurs@gmail.com) +-- Last update: Jan 16 2016, 20:10 UTC@14738 + +if GetLocale() ~= "zhCN" then return end +local L + +--------------- +-- Nythendra -- +--------------- +L= DBM:GetModLocalization(1703) + +L:SetWarningLocalization({ +}) + +L:SetTimerLocalization({ +}) + +L:SetOptionLocalization({ +}) + +L:SetMiscLocalization({ +}) + +--------------------------- +-- Il'gynoth, Heart of Corruption -- +--------------------------- +L= DBM:GetModLocalization(1738) + +--------------------------- +-- Ursoc -- +--------------------------- +L= DBM:GetModLocalization(1667) + +--------------------------- +-- Dragons of Nightmare -- +--------------------------- +L= DBM:GetModLocalization(1704) + +------------------ +-- Xavius -- +------------------ +L= DBM:GetModLocalization(1726) + +------------- +-- Trash -- +------------- +L = DBM:GetModLocalization("EmeraldNightmareTrash") + +L:SetGeneralLocalization({ + name = "翡翠梦魇小怪" +}) diff --git a/AddOns/DBM-EmeraldNightmare/localization.en.lua b/AddOns/DBM-EmeraldNightmare/localization.en.lua new file mode 100644 index 000000000..de9f92a78 --- /dev/null +++ b/AddOns/DBM-EmeraldNightmare/localization.en.lua @@ -0,0 +1,47 @@ +local L + +--------------- +-- Nythendra -- +--------------- +L= DBM:GetModLocalization(1703) + +L:SetWarningLocalization({ +}) + +L:SetTimerLocalization({ +}) + +L:SetOptionLocalization({ +}) + +L:SetMiscLocalization({ +}) + +--------------------------- +-- Il'gynoth, Heart of Corruption -- +--------------------------- +L= DBM:GetModLocalization(1738) + +--------------------------- +-- Ursoc -- +--------------------------- +L= DBM:GetModLocalization(1667) + +--------------------------- +-- Dragons of Nightmare -- +--------------------------- +L= DBM:GetModLocalization(1704) + +------------------ +-- Xavius -- +------------------ +L= DBM:GetModLocalization(1726) + +------------- +-- Trash -- +------------- +L = DBM:GetModLocalization("EmeraldNightmareTrash") + +L:SetGeneralLocalization({ + name = "Emerald Nightmare Trash" +}) diff --git a/AddOns/DBM-GUI/DBM-GUI.lua b/AddOns/DBM-GUI/DBM-GUI.lua index fc1edf06b..bdf6b413c 100644 --- a/AddOns/DBM-GUI/DBM-GUI.lua +++ b/AddOns/DBM-GUI/DBM-GUI.lua @@ -43,7 +43,7 @@ -- -local revision =("$Revision: 14601 $"):sub(12, -3) +local revision =("$Revision: 14754 $"):sub(12, -3) local FrameTitle = "DBM_GUI_Option_" -- all GUI frames get automatically a name FrameTitle..ID local PanelPrototype = {} @@ -1524,7 +1524,7 @@ local function CreateOptionsMenu() end -- RaidWarn Duration - local durationSlider = raidwarnoptions:CreateSlider(L.Warn_Duration, 3, 20, 1, 200) + local durationSlider = raidwarnoptions:CreateSlider(L.Warn_Duration, 1, 20, 1, 200) durationSlider:SetPoint('TOPLEFT', FontDropDown, "TOPLEFT", 20, -170) do local firstshow = true diff --git a/AddOns/DBM-GUI/DBM-GUI.toc b/AddOns/DBM-GUI/DBM-GUI.toc index 5f1897f63..ee2ae6aaf 100644 --- a/AddOns/DBM-GUI/DBM-GUI.toc +++ b/AddOns/DBM-GUI/DBM-GUI.toc @@ -25,7 +25,7 @@ ## DefaultState: enabled ## Author: Nitram and Tandanu ## URL: http://www.deadlybossmods.com -## X-Curse-Packaged-Version: 6.2.16-1-g294da72 +## X-Curse-Packaged-Version: 6.2.18-7-gc13aff2 ## X-Curse-Project-Name: Deadly Boss Mods ## X-Curse-Project-ID: deadly-boss-mods ## X-Curse-Repository-ID: wow/deadly-boss-mods/mainline diff --git a/AddOns/DBM-GarrisonInvasions/DBM-GarrisonInvasions.toc b/AddOns/DBM-GarrisonInvasions/DBM-GarrisonInvasions.toc index 2e6723c25..ed4903c83 100644 --- a/AddOns/DBM-GarrisonInvasions/DBM-GarrisonInvasions.toc +++ b/AddOns/DBM-GarrisonInvasions/DBM-GarrisonInvasions.toc @@ -20,7 +20,7 @@ ## X-DBM-Mod-MapID: 1159, 1331, 1158, 1153, 1152, 1330, 1116, 1160, 1154 ## X-DBM-Mod-Sort: 151 ## X-DBM-Mod-MinCoreRevision: 12473 -## X-Curse-Packaged-Version: 6.2.16-1-g294da72 +## X-Curse-Packaged-Version: 6.2.18-7-gc13aff2 ## X-Curse-Project-Name: Deadly Boss Mods ## X-Curse-Project-ID: deadly-boss-mods ## X-Curse-Repository-ID: wow/deadly-boss-mods/mainline diff --git a/AddOns/DBM-HellfireCitadel/Archimonde.lua b/AddOns/DBM-HellfireCitadel/Archimonde.lua index 50e5cdac2..82641e010 100644 --- a/AddOns/DBM-HellfireCitadel/Archimonde.lua +++ b/AddOns/DBM-HellfireCitadel/Archimonde.lua @@ -1,13 +1,13 @@ local mod = DBM:NewMod(1438, "DBM-HellfireCitadel", nil, 669) local L = mod:GetLocalizedStrings() -mod:SetRevision(("$Revision: 14712 $"):sub(12, -3)) +mod:SetRevision(("$Revision: 14777 $"):sub(12, -3)) mod:SetCreatureID(91331)--Doomfire Spirit (92208), Hellfire Deathcaller (92740), Felborne Overfiend (93615), Dreadstalker (93616), Infernal doombringer (94412) mod:SetEncounterID(1799) mod:SetMinSyncRevision(13964) mod:SetZone() mod:SetUsedIcons(8, 7, 6, 5, 4, 3, 2, 1) -mod:SetHotfixNoticeRev(14687) +mod:SetHotfixNoticeRev(14730) mod.respawnTime = 29--roughly mod:RegisterCombat("combat") @@ -90,6 +90,7 @@ local specWarnRainofChaos = mod:NewSpecialWarningCount(189953, nil, nil, nil, local specWarnDarkConduitSoon = mod:NewSpecialWarningSoon(190394, "Ranged", nil, nil, 1, 2) local specWarnSeethingCorruption = mod:NewSpecialWarningCount(190506, nil, nil, nil, 2, 2) local specWarnMarkOfLegion = mod:NewSpecialWarningYouPos(187050, nil, nil, 2, 3, 5) +local specWarnMarkOfLegionSoak = mod:NewSpecialWarningSoakPos(187050, nil, nil, 2, 1, 6) local yellDoomFireFades = mod:NewFadesYell(183586, nil, false) local yellMarkOfLegion = mod:NewFadesYell(187050, 28836) local yellMarkOfLegionPoS = mod:NewPosYell(187050, 28836) @@ -173,7 +174,6 @@ mod:AddHudMapOption("HudMapOnShackledTorment2", 184964, true) mod:AddHudMapOption("HudMapOnWrought", 184265) mod:AddHudMapOption("HudMapMarkofLegion2", 187050, true) mod:AddBoolOption("ExtendWroughtHud3", true) ---mod:AddBoolOption("AlternateHudLine", false) mod:AddBoolOption("NamesWroughtHud", true) mod:AddBoolOption("FilterOtherPhase", true) mod:AddInfoFrameOption(184964) @@ -206,7 +206,7 @@ mod.vb.MarkBehavior = "Numbered" local legionTimers = {20, 63, 60, 60, 48, 46, 47}--All verified by log local darkConduitTimers = {8, 123, 95, 56, 52}-- All verified by log local infernalTimers = {35, 62.5, 63, 55, 68, 41}--All verified by log -local sourceofChaosTimers = {49, 58, 76, 78}--All verified by log +local sourceofChaosTimers = {49, 58, 75.5, 78}--All verified by log local twistedDarknessTimers = {75, 78, 42, 40, 72}--All verified by log local seethingCorruptionTimers = {61, 58, 52, 70, 30, 41}--All verified by log --Range frame/filter shit @@ -464,7 +464,35 @@ local function showMarkOfLegion(self, spellName) end end if not playerHasMark then - DBMHudMap:RegisterRangeMarkerOnPartyMember(1870502, "party", playerName, 0.9, 12, nil, nil, nil, 1, nil, false):Appear() + if UnitIsDeadOrGhost("player") then return end + for i = 1, DBM:GetNumRealGroupMembers() do + local unitID = 'raid'..i + local isPlayer = false + local soakers = 0 + soakers = soakers + 1 + if UnitIsUnit("player", unitID) then + local soak = math.ceil(soakers/4) + if (soak == 1) then + specWarnMarkOfLegionSoak:Show(MELEE.." "..DBM_CORE_LEFT) + voiceMarkOfLegion:Play("frontleft") + end + if (soak == 2) then + specWarnMarkOfLegionSoak:Show(MELEE.." "..DBM_CORE_RIGHT) + voiceMarkOfLegion:Play("frontright") + end + if (soak == 3) then + specWarnMarkOfLegionSoak:Show(RANGED.." "..DBM_CORE_LEFT) + voiceMarkOfLegion:Play("backleft") + end + if (soak == 4) then + specWarnMarkOfLegionSoak:Show(RANGED.." "..DBM_CORE_RIGHT) + voiceMarkOfLegion:Play("backright") + end + end + end + if self.Options.HudMapMarkofLegion2 then + DBMHudMap:RegisterRangeMarkerOnPartyMember(1870502, "party", playerName, 0.9, 12, nil, nil, nil, 1, nil, false):Appear() + end end end @@ -530,7 +558,11 @@ local function breakShackles(self, spellName) if not name then break end if not DBM:GetRaidUnitId(name) then break end if playerHasShackle then - DBMHudMap:RegisterStaticMarkerOnPartyMember(184964, "highlight", name, 26, nil, 0, 1, 0, 0.3):Appear():RegisterForAlerts(spellName, name) + if name == playerName then + DBMHudMap:RegisterStaticMarkerOnPartyMember(184964, "highlight", name, 25, nil, 0, 1, 0, 0.3):Appear():RegisterForAlerts(spellName, name) + else + DBMHudMap:RegisterStaticMarkerOnPartyMember(184964, "highlight", name, 26, nil, 0, 1, 0, 0.3):Appear():RegisterForAlerts(spellName, name) + end else DBMHudMap:RegisterStaticMarkerOnPartyMember(184964, "highlight", name, 26, nil, 0, 1, 0, 0.3):Appear():RegisterForAlerts(nil, name) end @@ -865,13 +897,14 @@ function mod:SPELL_CAST_START(args) self.vb.netherBanish2 = self.vb.netherBanish2 + 1 timerNetherBanishCD:Start(nil, self.vb.netherBanish2+1) -- updateAllTimers(self, 7)--Inconclusive logs. Could not find any data supporting this extention - elseif spellId == 190313 then + elseif spellId == 190313 then--Nether Ascention playerBanished = true - timerAllureofFlamesCD:Cancel()--Done for rest of fight - timerDeathbrandCD:Cancel()--Done for rest of fight - timerShackledTormentCD:Cancel()--Resets to 55 on non mythic, no longer cast on mythic + timerAllureofFlamesCD:Cancel() + timerDeathbrandCD:Cancel() + timerShackledTormentCD:Cancel() countdownShackledTorment:Cancel() countdownDeathBrand:Cancel() + timerWroughtChaosCD:Cancel() end end @@ -999,17 +1032,9 @@ function mod:SPELL_AURA_APPLIED(args) end --create line if self.Options.ExtendWroughtHud3 then - -- if self.Options.AlternateHudLine then - -- DBMHudMap:AddEdge(0, 1, 0, 0.5, time, args.sourceName, args.destName, nil, nil, nil, nil, 25, "beam1", true) - -- else - DBMHudMap:AddEdge(0, 1, 0, 0.5, time, args.sourceName, args.destName, nil, nil, nil, nil, 135, nil, true) - -- end + DBMHudMap:AddEdge(0, 1, 0, 0.5, time, args.sourceName, args.destName, nil, nil, nil, nil, 135, nil, true) else - -- if self.Options.AlternateHudLine then - -- DBMHudMap:AddEdge(0, 1, 0, 0.5, time, args.sourceName, args.destName, nil, nil, nil, nil, 25, "beam1") - -- else - DBMHudMap:AddEdge(0, 1, 0, 0.5, time, args.sourceName, args.destName, nil, nil, nil, nil, 135) - -- end + DBMHudMap:AddEdge(0, 1, 0, 0.5, time, args.sourceName, args.destName, nil, nil, nil, nil, 135) end else--red lines for non player lines --Create Points @@ -1022,11 +1047,7 @@ function mod:SPELL_AURA_APPLIED(args) end --Create Line if self.Options.ExtendWroughtHud3 then - -- if self.Options.AlternateHudLine then - -- DBMHudMap:AddEdge(1, 0, 0, 0.5, time, args.sourceName, args.destName, nil, nil, nil, nil, 25, "beam1", true) - -- else - DBMHudMap:AddEdge(1, 0, 0, 0.5, time, args.sourceName, args.destName, nil, nil, nil, nil, 135, nil, true) - -- end + DBMHudMap:AddEdge(1, 0, 0, 0.5, time, args.sourceName, args.destName, nil, nil, nil, nil, 135, nil, true) else DBMHudMap:AddEdge(1, 0, 0, 0.5, time, args.sourceName, args.destName, nil, nil, nil, nil, 135) end @@ -1092,8 +1113,6 @@ function mod:SPELL_AURA_APPLIED(args) yellMarkOfLegion:Schedule(remaining-1, 1) yellMarkOfLegion:Schedule(remaining-2, 2) yellMarkOfLegion:Schedule(remaining-3, 3) - yellMarkOfLegion:Schedule(remaining-4, 4) - yellMarkOfLegion:Schedule(remaining-5, 5) end end updateRangeFrame(self) @@ -1279,7 +1298,6 @@ function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) countdownShackledTorment:Start(55) else table.wipe(shacklesTargets)--Just to reduce infoframe overhead - timerWroughtChaosCD:Cancel() timerDarkConduitCD:Start(8, 1) setDarkConduit(self) timerMarkOfLegionCD:Start(20, 1) diff --git a/AddOns/DBM-HellfireCitadel/DBM-HellfireCitadel.toc b/AddOns/DBM-HellfireCitadel/DBM-HellfireCitadel.toc index 1df90d41c..df9b9fa64 100644 --- a/AddOns/DBM-HellfireCitadel/DBM-HellfireCitadel.toc +++ b/AddOns/DBM-HellfireCitadel/DBM-HellfireCitadel.toc @@ -17,7 +17,7 @@ ## X-DBM-Mod-Has-Mythic : 1 ## X-DBM-Mod-Sort: 100 ## X-DBM-Mod-MapID: 1448 -## X-Curse-Packaged-Version: 6.2.16-1-g294da72 +## X-Curse-Packaged-Version: 6.2.18-7-gc13aff2 ## X-Curse-Project-Name: Deadly Boss Mods ## X-Curse-Project-ID: deadly-boss-mods ## X-Curse-Repository-ID: wow/deadly-boss-mods/mainline diff --git a/AddOns/DBM-HellfireCitadel/HellfireAssault.lua b/AddOns/DBM-HellfireCitadel/HellfireAssault.lua index d8a1c9425..a98649191 100644 --- a/AddOns/DBM-HellfireCitadel/HellfireAssault.lua +++ b/AddOns/DBM-HellfireCitadel/HellfireAssault.lua @@ -1,7 +1,7 @@ local mod = DBM:NewMod(1426, "DBM-HellfireCitadel", nil, 669) local L = mod:GetLocalizedStrings() -mod:SetRevision(("$Revision: 14508 $"):sub(12, -3)) +mod:SetRevision(("$Revision: 14738 $"):sub(12, -3)) mod:SetCreatureID(90019)--Main ID is door, door death= win. 94515 Siegemaster Mar'tak mod:SetEncounterID(1778) mod:SetZone() @@ -18,8 +18,6 @@ mod:RegisterEventsInCombat( "SPELL_AURA_APPLIED_DOSE 184243", "SPELL_AURA_REMOVED 184369 184243", "SPELL_CAST_SUCCESS 184370", --- "SPELL_PERIODIC_DAMAGE", --- "SPELL_ABSORBED", "UNIT_DIED", "CHAT_MSG_MONSTER_YELL", "UNIT_SPELLCAST_SUCCEEDED"--Have to register all unit ids to catch the boss when she casts haste @@ -425,12 +423,3 @@ function mod:OnSync(msg) end end end - ---[[ -function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) - if spellId == 173192 and destGUID == UnitGUID("player") and self:AntiSpam(2, 6) then - - end -end -mod.SPELL_ABSORBED = mod.SPELL_PERIODIC_DAMAGE--]] - diff --git a/AddOns/DBM-HellfireCitadel/Iskar.lua b/AddOns/DBM-HellfireCitadel/Iskar.lua index bb1860cbc..213bb82e8 100644 --- a/AddOns/DBM-HellfireCitadel/Iskar.lua +++ b/AddOns/DBM-HellfireCitadel/Iskar.lua @@ -1,7 +1,7 @@ local mod = DBM:NewMod(1433, "DBM-HellfireCitadel", nil, 669) local L = mod:GetLocalizedStrings() -mod:SetRevision(("$Revision: 14575 $"):sub(12, -3)) +mod:SetRevision(("$Revision: 14717 $"):sub(12, -3)) mod:SetCreatureID(90316) mod:SetEncounterID(1788) mod:DisableESCombatDetection()--Remove if blizz fixes trash firing ENCOUNTER_START @@ -161,9 +161,9 @@ local function showChakram(self) end if ranged and melee and tank then DBM:Debug("All Chakram found!", 2) - DBMHudMap:RegisterRangeMarkerOnPartyMember(182178, "party", ranged, 0.75, 6, nil, nil, nil, 0.8, nil, false):Appear():SetLabel(ranged, nil, nil, nil, nil, nil, 0.8, nil, -16, 9, nil) - DBMHudMap:RegisterRangeMarkerOnPartyMember(182178, "party", melee, 0.75, 6, nil, nil, nil, 0.8, nil, false):Appear():SetLabel(melee, nil, nil, nil, nil, nil, 0.8, nil, -16, 9, nil) - DBMHudMap:RegisterRangeMarkerOnPartyMember(182178, "party", tank, 0.75, 6, nil, nil, nil, 0.8, nil, false):Appear():SetLabel(tank, nil, nil, nil, nil, nil, 0.8, nil, -16, 9, nil) + DBMHudMap:RegisterRangeMarkerOnPartyMember(182178, "party", ranged, 0.65, 6, nil, nil, nil, 0.8, nil, false):Appear():SetLabel(ranged, nil, nil, nil, nil, nil, 0.8, nil, -15, 8, nil) + DBMHudMap:RegisterRangeMarkerOnPartyMember(182178, "party", melee, 0.65, 6, nil, nil, nil, 0.8, nil, false):Appear():SetLabel(melee, nil, nil, nil, nil, nil, 0.8, nil, -15, 8, nil) + DBMHudMap:RegisterRangeMarkerOnPartyMember(182178, "party", tank, 0.65, 6, nil, nil, nil, 0.8, nil, false):Appear():SetLabel(tank, nil, nil, nil, nil, nil, 0.8, nil, -15, 8, nil) if playerName == melee or playerName == ranged or playerName == tank then--Player in it, green lines DBMHudMap:AddEdge(0, 1, 0, 0.5, 6, ranged, melee, nil, nil, nil, nil) DBMHudMap:AddEdge(0, 1, 0, 0.5, 6, melee, tank, nil, nil, nil, nil) diff --git a/AddOns/DBM-HellfireCitadel/Mannoroth.lua b/AddOns/DBM-HellfireCitadel/Mannoroth.lua index b2b3df138..cb15e8a1b 100644 --- a/AddOns/DBM-HellfireCitadel/Mannoroth.lua +++ b/AddOns/DBM-HellfireCitadel/Mannoroth.lua @@ -1,12 +1,13 @@ local mod = DBM:NewMod(1395, "DBM-HellfireCitadel", nil, 669) local L = mod:GetLocalizedStrings() -mod:SetRevision(("$Revision: 14658 $"):sub(12, -3)) +mod:SetRevision(("$Revision: 14749 $"):sub(12, -3)) mod:SetCreatureID(91349)--91305 Fel Iron Summoner mod:SetEncounterID(1795) mod:SetZone() mod:SetUsedIcons(8, 7, 6, 5, 4, 3, 2, 1) -mod:SetHotfixNoticeRev(14612) +mod:SetHotfixNoticeRev(14732) +mod:SetMinSyncRevision(14732) mod.respawnTime = 30 mod:RegisterCombat("combat") @@ -61,7 +62,7 @@ local specWarnFelBlast = mod:NewSpecialWarningInterrupt(181132, false, nil, 2 ----Dread Infernals local specWarnFelHellfire = mod:NewSpecialWarningDodge(181191, nil, nil, 3, 1, 2) ----Gul'dan -local specWarnWrathofGuldan = mod:NewSpecialWarningYou(186362, nil, nil, nil, 1) +local specWarnWrathofGuldan = mod:NewSpecialWarningYou(186362, nil, nil, nil, 1, 5) local yellWrathofGuldan = mod:NewPosYell(186362, 169826) local specWarnFelPillar = mod:NewSpecialWarningDodge(190070, nil, nil, 3, 1, 2) --Mannoroth @@ -85,7 +86,7 @@ local timerFelImplosionCD = mod:NewNextCountTimer(46, 181255, nil, nil, nil, 1 ----Infernals local timerInfernoCD = mod:NewNextCountTimer(107, 181180, nil, nil, nil, 1) ----Gul'dan -local timerWrathofGuldanCD = mod:NewCDTimer(107, 186348, nil, nil, nil, 3, nil, DBM_CORE_HEROIC_ICON) +local timerWrathofGuldanCD = mod:NewNextTimer(107, 186348, nil, nil, nil, 3, nil, DBM_CORE_HEROIC_ICON) --Mannoroth mod:AddTimerLine(L.name) local timerGlaiveComboCD = mod:NewCDTimer(30, 181354, nil, "Tank", nil, 5, nil, DBM_CORE_TANK_ICON)--30 seconds unless delayed by something else @@ -97,12 +98,12 @@ local timerShadowForceCD = mod:NewCDTimer(52.2, 181799, nil, nil, nil, 3, nil, --local berserkTimer = mod:NewBerserkTimer(360) local countdownGlaiveCombo = mod:NewCountdown("Alt30", 181354, "Tank") -local countdownMarkOfDoom = mod:NewCountdownFades("Alt15", 181099) -local countdownShadowForce = mod:NewCountdown("AltTwo52", 181799) +local countdownMarkOfDoom = mod:NewCountdownFades("AltTwo15", 181099) +local countdownShadowForce = mod:NewCountdown(52, 181799) local voicePhaseChange = mod:NewVoice(nil, nil, DBM_CORE_AUTO_VOICE2_OPTION_TEXT) local voiceGaze = mod:NewVoice(181597, false) --gather share -local voiceMarkOfDoom = mod:NewVoice(181099) --run out +local voiceMarkOfDoom = mod:NewVoice(181099) --run out/mm local voiceFelHellfire = mod:NewVoice(181191, nil, nil, 2) --runaway local voiceShadowBoltVolley = mod:NewVoice(181126, "-Healer") local voiceFelBlast = mod:NewVoice(181132, "-Healer") @@ -111,11 +112,13 @@ local voiceFelHellstorm = mod:NewVoice(181557)--watchstep local voiceGlaiveCombo = mod:NewVoice(181354, "Tank")--Defensive local voiceMassiveBlast = mod:NewVoice(181359, "Tank")--changemt local voiceFelPillar = mod:NewVoice(190070)--runaway +local voiceWrath = mod:NewVoice(186348)--mm mod:AddRangeFrameOption(20, 181099) mod:AddSetIconOption("SetIconOnGaze", 181597, false) mod:AddSetIconOption("SetIconOnDoom2", 181099, true) mod:AddSetIconOption("SetIconOnWrath", 186348, false) +mod:AddBoolOption("CustomAssignWrath", false) mod:AddHudMapOption("HudMapOnGaze2", 181597, false) mod:AddInfoFrameOption(181597) @@ -270,6 +273,63 @@ local function breakDoom(self) warnMarkofDoom:Show(table.concat(doomTargets, "<, >")) end +local function setWrathIcons(self) + local ranged1, ranged2, melee1, melee2, healer = nil, nil, nil, nil, nil + local playerIcon = nil + for i = 1, #guldanTargets do + local name = guldanTargets[i] + local uId = DBM:GetRaidUnitId(name) + if not uId then return end--Prevent errors if person leaves group + if self:IsMeleeDps(uId) then--Melee + if melee1 then + melee2 = name + if name == playerName then + playerIcon = 4 + end + else + melee1 = name + if name == playerName then + playerIcon = 5 + end + end + DBM:Debug("Melee wrath found: "..name, 2) + elseif self:IsHealer(uId) then--Healer + healer = name + DBM:Debug("Healer wrath found: "..name, 2) + if name == playerName then + playerIcon = 8 + end + else--Ranged + if ranged1 then + ranged2 = name + if name == playerName then + playerIcon = 6 + end + else + ranged1 = name + if name == playerName then + playerIcon = 7 + end + end + DBM:Debug("Ranged wrath found: "..name, 2) + end + end + if ranged1 and ranged2 and melee1 and melee2 and healer then + DBM:Debug("All wrath found!", 2) + if self.Options.SetIconOnWrath then + self:SetIcon(healer, 8) + self:SetIcon(melee1, 7) + self:SetIcon(melee2, 6) + self:SetIcon(ranged1, 5) + self:SetIcon(ranged2, 4) + end + if playerIcon then + yellWrathofGuldan:Yell(playerIcon, playerIcon, playerIcon) + voiceWrath:Play("mm"..playerIcon) + end + end +end + function mod:OnCombatStart(delay) table.wipe(doomTargets) table.wipe(gazeTargets) @@ -285,6 +345,9 @@ function mod:OnCombatStart(delay) self.vb.DoomTargetCount = 0 if self:IsMythic() then self.vb.wrathIcon = 8 + if UnitIsGroupLeader("player") and self.Options.CustomAssignWrath then + self:SendSync("WrathByRole") + end else timerCurseofLegionCD:Start(5.2, 1) timerFelImplosionCD:Start(13.5-delay, 1) @@ -489,12 +552,24 @@ function mod:SPELL_AURA_APPLIED(args) end warnWrathofGuldan:CombinedShow(0.3, args.destName) local icon = self.vb.wrathIcon - if self.Options.SetIconOnWrath then - self:SetIcon(args.destName, icon) + if not icon then + self:Unschedule(setWrathIcons) + if #guldanTargets == 5 then + setWrathIcons(self) + else + self:Schedule(1, setWrathIcons, self) + end + else + if self.Options.SetIconOnWrath then + self:SetIcon(args.destName, icon) + end end if args:IsPlayer() then specWarnWrathofGuldan:Show() - yellWrathofGuldan:Yell(icon, icon, icon) + if icon then + yellWrathofGuldan:Yell(icon, icon, icon) + voiceWrath:Play("mm"..icon) + end end if self.Options.InfoFrame then DBM.InfoFrame:SetHeader(args.spellName)--Always set header to wrath if wrath is present @@ -502,7 +577,9 @@ function mod:SPELL_AURA_APPLIED(args) DBM.InfoFrame:Show(8, "function", updateInfoFrame, sortInfoFrame, true) end end - self.vb.wrathIcon = self.vb.wrathIcon - 1--Update icon even if icon option off, for sync accuracy + if self.vb.wrathIcon then + self.vb.wrathIcon = self.vb.wrathIcon - 1--Update icon even if icon option off, for sync accuracy + end updateRangeFrame(self) end end @@ -617,7 +694,9 @@ function mod:CHAT_MSG_RAID_BOSS_EMOTE(msg, npc) warnPhase3:Show() voicePhaseChange:Play("pthree") if self:IsMythic() then - self.vb.wrathIcon = 8 + if self.vb.wrathIcon then + self.vb.wrathIcon = 8 + end timerWrathofGuldanCD:Start(10) end --Detect when adds timers will reset (by 181301) before they come off cd, and cancel them early @@ -639,7 +718,9 @@ function mod:CHAT_MSG_RAID_BOSS_EMOTE(msg, npc) countdownGlaiveCombo:Cancel() timerGazeCD:Cancel() timerFelSeekerCD:Cancel() - timerInfernoCD:Cancel() + if timerInfernoCD:GetRemaining(self.vb.infernalCount+1) > 10 then + timerInfernoCD:Cancel() + end timerFelHellfireCD:Start(16.9) timerGlaiveComboCD:Start(27.8) countdownGlaiveCombo:Start(27.8) @@ -650,7 +731,15 @@ function mod:CHAT_MSG_RAID_BOSS_EMOTE(msg, npc) warnPhase4:Show() voicePhaseChange:Play("pfour") if self:IsMythic() then - self.vb.wrathIcon = 8 + if timerFelImplosionCD:GetRemaining(self.vb.impCount+1) > 10 then + timerFelImplosionCD:Cancel() + end + if timerCurseofLegionCD:GetRemaining(self.vb.doomlordCount+1) > 10 then + timerCurseofLegionCD:Cancel() + end + if self.vb.wrathIcon then + self.vb.wrathIcon = 8 + end timerWrathofGuldanCD:Start(16.7) end end @@ -724,17 +813,19 @@ function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) warnPhase3:Show() voicePhaseChange:Play("pthree") if self:IsMythic() then - self.vb.wrathIcon = 8 + if self.vb.wrathIcon then + self.vb.wrathIcon = 8 + end timerWrathofGuldanCD:Start(4.8) end --Detect when adds timers will reset (by 181301) before they come off cd, and cancel them early - if timerFelImplosionCD:GetRemaining(self.vb.impCount+1) > 9.5 then + if timerFelImplosionCD:GetRemaining(self.vb.impCount+1) > 4.8 then timerFelImplosionCD:Cancel() end - if timerInfernoCD:GetRemaining(self.vb.infernalCount+1) > 9.5 then + if timerInfernoCD:GetRemaining(self.vb.infernalCount+1) > 4.8 then timerInfernoCD:Cancel() end - if timerCurseofLegionCD:GetRemaining(self.vb.doomlordCount+1) > 9.5 then + if timerCurseofLegionCD:GetRemaining(self.vb.doomlordCount+1) > 4.8 then timerCurseofLegionCD:Cancel() end elseif spellId == 185690 and self.vb.phase == 3 then--Phase 4 @@ -747,7 +838,9 @@ function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) countdownGlaiveCombo:Cancel() timerGazeCD:Cancel() timerFelSeekerCD:Cancel() - timerInfernoCD:Cancel() + if timerInfernoCD:GetRemaining(self.vb.infernalCount+1) > 4.8 then + timerInfernoCD:Cancel() + end timerFelHellfireCD:Start(11.4) timerGlaiveComboCD:Start(22.3) countdownGlaiveCombo:Start(22.3) @@ -758,7 +851,15 @@ function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) warnPhase4:Show() voicePhaseChange:Play("pfour") if self:IsMythic() then - self.vb.wrathIcon = 8 + if timerFelImplosionCD:GetRemaining(self.vb.impCount+1) > 4.8 then + timerFelImplosionCD:Cancel() + end + if timerCurseofLegionCD:GetRemaining(self.vb.doomlordCount+1) > 4.8 then + timerCurseofLegionCD:Cancel() + end + if self.vb.wrathIcon then + self.vb.wrathIcon = 8 + end timerWrathofGuldanCD:Start(11.2) end elseif spellId == 181354 then--183377 or 185831 also usable with SPELL_CAST_START but i like this way more, cleaner than Antispamming the other spellids @@ -780,3 +881,8 @@ function mod:SPELL_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) end mod.SPELL_MISSED = mod.SPELL_DAMAGE +function mod:OnSync(msg) + if msg == "WrathByRole" then + self.vb.wrathIcon = false + end +end diff --git a/AddOns/DBM-HellfireCitadel/Xhulhorac.lua b/AddOns/DBM-HellfireCitadel/Xhulhorac.lua index 460c5d80c..6fa2e1718 100644 --- a/AddOns/DBM-HellfireCitadel/Xhulhorac.lua +++ b/AddOns/DBM-HellfireCitadel/Xhulhorac.lua @@ -1,7 +1,7 @@ local mod = DBM:NewMod(1447, "DBM-HellfireCitadel", nil, 669) local L = mod:GetLocalizedStrings() -mod:SetRevision(("$Revision: 14626 $"):sub(12, -3)) +mod:SetRevision(("$Revision: 14724 $"):sub(12, -3)) mod:SetCreatureID(93068) mod:SetEncounterID(1800) mod:SetZone() @@ -241,11 +241,13 @@ function mod:SPELL_CAST_START(args) return else --Not Tanking - if playerTanking == 1 and not UnitDebuff("player", GetSpellInfo(186135)) then--Vanguard Tank + if self.vb.phase >= 3 and playerTanking == 1 and not UnitDebuff("player", GetSpellInfo(186135)) then--Vanguard Tank --You're the Vanguard tank and do NOT have aggro for this strike or void debuff, taunt NOW local targetName = UnitName(bossUnitID.."target") or DBM_CORE_UNKNOWN - specWarnPhasing:Show(targetName) - voicePhasing:Play("tauntboss") + if self:AntiSpam(3, targetName) then + specWarnPhasing:Show(targetName) + voicePhasing:Play("tauntboss") + end end end end @@ -260,11 +262,13 @@ function mod:SPELL_CAST_START(args) return else --Not Tanking - if playerTanking == 2 and not UnitDebuff("player", GetSpellInfo(186134)) then--VoidWalker Tank + if self.vb.phase >= 3 and playerTanking == 2 and not UnitDebuff("player", GetSpellInfo(186134)) then--VoidWalker Tank --You're the void walker tank and do NOT have aggro for this strike or fel debuff, taunt NOW local targetName = UnitName(bossUnitID.."target") or DBM_CORE_UNKNOWN - specWarnPhasing:Show(targetName) - voicePhasing:Play("tauntboss") + if self:AntiSpam(3, targetName) then + specWarnPhasing:Show(targetName) + voicePhasing:Play("tauntboss") + end end end end @@ -349,13 +353,17 @@ function mod:SPELL_CAST_SUCCESS(args) if playerTanking == 2 then--VoidWalker Tank --Fel strike just finished, void strike next so voidwalker tank needs to take it if not args:IsPlayer() then - specWarnPhasing:Show(args.destName) - voicePhasing:Play("tauntboss") + if self:AntiSpam(3, args.destName) then + specWarnPhasing:Show(args.destName) + voicePhasing:Play("tauntboss") + end end elseif self.vb.bothDead == 2 and playerTanking == 0 then if not args:IsPlayer() then--Just warn whoever THIS strike didn't hit - specWarnPhasing:Show(args.destName) - voicePhasing:Play("tauntboss") + if self:AntiSpam(3, args.destName) then + specWarnPhasing:Show(args.destName) + voicePhasing:Play("tauntboss") + end else voicePhasing:Play("changemt") end @@ -368,13 +376,17 @@ function mod:SPELL_CAST_SUCCESS(args) if playerTanking == 1 then--Vanguard Tank --void strike just finished, fel strike next so vanguard tank needs to take it if not args:IsPlayer() then - specWarnPhasing:Show(args.destName) - voicePhasing:Play("tauntboss") + if self:AntiSpam(3, args.destName) then + specWarnPhasing:Show(args.destName) + voicePhasing:Play("tauntboss") + end end elseif self.vb.bothDead == 2 and playerTanking == 0 then if not args:IsPlayer() then - specWarnPhasing:Show(args.destName) - voicePhasing:Play("tauntboss") + if self:AntiSpam(3, args.destName) then + specWarnPhasing:Show(args.destName) + voicePhasing:Play("tauntboss") + end else voicePhasing:Play("changemt") end diff --git a/AddOns/DBM-HellfireCitadel/localization.cn.lua b/AddOns/DBM-HellfireCitadel/localization.cn.lua index 170a077a4..65042eafb 100644 --- a/AddOns/DBM-HellfireCitadel/localization.cn.lua +++ b/AddOns/DBM-HellfireCitadel/localization.cn.lua @@ -1,6 +1,6 @@ -- Mini Dragon(projecteurs@gmail.com) -- Blizzard Entertainment --- Last update: Dec 13 2015, 04:13 UTC@14710 +-- Last update: Jan 10 2016, 22:03 UTC@14733 if GetLocale() ~= "zhCN" then return end local L @@ -135,6 +135,10 @@ L= DBM:GetModLocalization(1394) -------------------------- L= DBM:GetModLocalization(1395) +L:SetOptionLocalization({ + CustomAssignWrath = "使用玩家角色决定$spell:186348的图标(团长开启有效, 可能和BW或过期DBM冲突)" +}) + L:SetMiscLocalization({ felSpire = "开始强化邪能尖塔!" }) @@ -157,7 +161,7 @@ L:SetOptionLocalization({ MarkBehavior = "设定$spell:187051的喊叫方式(需要团长权限)", Numbered = "星星,大饼,菱形,三角。 适合任何站位方式。",--Default LocSmallFront = "近战(左星星,右大饼),远程(左菱形,右三角)。Debuff时间短的去近战位。", - LocSmallBack = "近战(左菱形,右三角),远程(左星星,右大饼)。Debuff时间短的去远程位。", + LocSmallBack = "近战(左星星,右大饼),远程(左菱形,右三角)。Debuff时间短的去远程位。", NoAssignment = "关闭全部提示。如果你用了其他插件。" }) diff --git a/AddOns/DBM-HellfireCitadel/localization.de.lua b/AddOns/DBM-HellfireCitadel/localization.de.lua index fb6b0088c..cb309acca 100644 --- a/AddOns/DBM-HellfireCitadel/localization.de.lua +++ b/AddOns/DBM-HellfireCitadel/localization.de.lua @@ -136,8 +136,12 @@ L= DBM:GetModLocalization(1394) -------------------------- L= DBM:GetModLocalization(1395) +L:SetOptionLocalization({ + CustomAssignWrath = "Setze $spell:186348 Zeichen basierend auf Spielerrollen (muss vom Schlachtzugsleiter aktiviert werden, kann zu Konflikten mit \"BigWigs\" oder veralteten DBM-Versionen führen)" +}) + L:SetMiscLocalization({ - felSpire = "begins to empower the Fel Spire!"--translate (trigger) + felSpire = "beginnt, die Teufelsspitze zu verstärken!" }) -------------------------- @@ -154,11 +158,16 @@ L:SetOptionLocalization({ ExtendWroughtHud3 = "Erweitere die HudMap-Linien über das Ziel von $spell:185014 hinaus (kann die Liniengenauigkeit verringern)", AlternateHudLine = "Nutze alternative Linientextur für HudMap-Linien zwischen Zielen von $spell:185014", NamesWroughtHud = "Zeige Spielernamen in HudMap für Ziele von $spell:185014", - FilterOtherPhase = "Zeige keine Warnungen für Ereignisse, die sich nicht in deiner Phase befinden" + FilterOtherPhase = "Zeige keine Warnungen für Ereignisse, die sich nicht in deiner Phase befinden", + MarkBehavior = "Auswahl der Positionierungsschreie für Mal der Legion (nur als Schlachtzugsleiter)", + Numbered = "Stern, Kreis, Diamant, Dreieck (für Strategien mit Weltmarkierungen)", + LocSmallFront = "Nah L/R (Stern, Kreis), Fern L/R (Diamant, Dreieck), kurze Debuffs Nah", + LocSmallBack = "Nah L/R (Stern, Kreis), Fern L/R (Diamant, Dreieck), kurze Debuffs Fern", + NoAssignment = "Deaktiviere Positionierungsschreie, -zeichen und -HUD bei allen im Schlachtzug" }) L:SetMiscLocalization({ - phase2point5 = "Seht die endlosen Ränge der Brennenden Legion und erkennt die Ausichtslosigkeit Eurer Wiederwehr!", + phase2point5 = "Seht die endlosen Ränge der Brennenden Legion und erkennt die Ausichtslosigkeit Eurer Widerwehr!", First = "Erster", Second = "Zweiter", Third = "Dritter", diff --git a/AddOns/DBM-HellfireCitadel/localization.en.lua b/AddOns/DBM-HellfireCitadel/localization.en.lua index d76b24056..aba7e5fb8 100644 --- a/AddOns/DBM-HellfireCitadel/localization.en.lua +++ b/AddOns/DBM-HellfireCitadel/localization.en.lua @@ -139,6 +139,10 @@ L= DBM:GetModLocalization(1394) -------------------------- L= DBM:GetModLocalization(1395) +L:SetOptionLocalization({ + CustomAssignWrath = "Set $spell:186348 icons based on player roles (Must be enabled by raid leader. May conflict with BW or out of date DBM versions)" +}) + L:SetMiscLocalization({ felSpire = "begins to empower the Fel Spire!" }) @@ -161,7 +165,7 @@ L:SetOptionLocalization({ MarkBehavior = "Set Mark of Legion yell behavior for raid (Requires raid leader)", Numbered = "Star, Circle, Diamond, Triangle. Usable for any strat using flare positions.",--Default LocSmallFront = "Melee L/R(Star,Circle), Ranged L/R(Diamond,Triangle). Short debuffs in melee.", - LocSmallBack = "Melee L/R(Diamond,Triangle), Ranged L/R(Star,Circle). Short debuffs at ranged.", + LocSmallBack = "Melee L/R(Star,Circle), Ranged L/R(Diamond,Triangle). Short debuffs at ranged.", NoAssignment = "Disable all position yells/messages, icons, and HUD for entire raid." }) diff --git a/AddOns/DBM-HellfireCitadel/localization.tw.lua b/AddOns/DBM-HellfireCitadel/localization.tw.lua index bb7e6b5e2..8bdb69db2 100644 --- a/AddOns/DBM-HellfireCitadel/localization.tw.lua +++ b/AddOns/DBM-HellfireCitadel/localization.tw.lua @@ -137,6 +137,10 @@ L= DBM:GetModLocalization(1394) -------------------------- L= DBM:GetModLocalization(1395) +L:SetOptionLocalization({ + CustomAssignWrath = "基於角色專精設置$spell:186348的團隊圖示(必須由團隊隊長開啟。可能會與BW或過期DBM衝突)" +}) + L:SetMiscLocalization({ felSpire = "開始強化惡魔尖塔!" }) @@ -159,7 +163,7 @@ L:SetOptionLocalization({ MarkBehavior = "設置燃燒軍團印記大喊方式(需要團隊隊長)", Numbered = "星星、圈圈、鑽石、三角。適用任何站位的打法。",--Default LocSmallFront = "近戰(左星星、右圈圈)、遠程(左鑽石、右三角)。 短時間減益在近戰。", - LocSmallBack = "近戰(左鑽石、右三角)、遠程(左星星、右圈圈)。 短時間減益在遠程。", + LocSmallBack = "近戰(左星星、右圈圈)、遠程(左鑽石、右三角)。 短時間減益在遠程。", NoAssignment = "為整個團隊禁用所有站位大喊/訊息,還有HUD指示。" }) diff --git a/AddOns/DBM-Highmaul/DBM-Highmaul.toc b/AddOns/DBM-Highmaul/DBM-Highmaul.toc index 9de67601c..0b14acfda 100644 --- a/AddOns/DBM-Highmaul/DBM-Highmaul.toc +++ b/AddOns/DBM-Highmaul/DBM-Highmaul.toc @@ -18,7 +18,7 @@ ## X-DBM-Mod-Sort: 102 ## X-DBM-Mod-MapID: 1228 ## X-DBM-Mod-MinCoreRevision: 12473 -## X-Curse-Packaged-Version: 6.2.16-1-g294da72 +## X-Curse-Packaged-Version: 6.2.18-7-gc13aff2 ## X-Curse-Project-Name: Deadly Boss Mods ## X-Curse-Project-ID: deadly-boss-mods ## X-Curse-Repository-ID: wow/deadly-boss-mods/mainline diff --git a/AddOns/DBM-Highmaul/Margok.lua b/AddOns/DBM-Highmaul/Margok.lua index fd1632f88..2330b3794 100644 --- a/AddOns/DBM-Highmaul/Margok.lua +++ b/AddOns/DBM-Highmaul/Margok.lua @@ -1,7 +1,7 @@ local mod = DBM:NewMod(1197, "DBM-Highmaul", nil, 477) local L = mod:GetLocalizedStrings() -mod:SetRevision(("$Revision: 14569 $"):sub(12, -3)) +mod:SetRevision(("$Revision: 14769 $"):sub(12, -3)) mod:SetCreatureID(77428, 78623) mod:SetEncounterID(1705) mod:SetZone() @@ -605,6 +605,7 @@ function mod:SPELL_AURA_APPLIED(args) self.vb.brandedActive = self.vb.brandedActive + 1 local name = args.destName local uId = DBM:GetRaidUnitId(name) + if not uId then return end local _, _, _, currentStack = UnitDebuff(uId, GetSpellInfo(spellId)) local fortified = (self:IsMythic() and self.vb.phase >= 3) or spellId == 164005--Phase 3 uses replication ID, so need hack for mythic fortified/replication phase. if not currentStack then @@ -706,6 +707,7 @@ function mod:SPELL_AURA_APPLIED(args) self.vb.markActive = true self.vb.lastMarkedTank = args.destName local uId = DBM:GetRaidUnitId(args.destName) + if not uId then return end local _, _, _, _, _, duration, expires, _, _ = UnitDebuff(uId, args.spellName) if expires then timerMarkOfChaos:Start(expires-GetTime(), args.destName) diff --git a/AddOns/DBM-MogushanVaults/Elegon.lua b/AddOns/DBM-MogushanVaults/Elegon.lua index 553432954..f998a4fa5 100644 --- a/AddOns/DBM-MogushanVaults/Elegon.lua +++ b/AddOns/DBM-MogushanVaults/Elegon.lua @@ -1,7 +1,7 @@ local mod = DBM:NewMod(726, "DBM-MogushanVaults", nil, 317) local L = mod:GetLocalizedStrings() -mod:SetRevision(("$Revision: 71 $"):sub(12, -3)) +mod:SetRevision(("$Revision: 81 $"):sub(12, -3)) mod:SetCreatureID(60410)--Energy Charge (60913), Emphyreal Focus (60776), Cosmic Spark (62618), Celestial Protector (60793) mod:SetEncounterID(1500) mod:DisableESCombatDetection() @@ -71,7 +71,7 @@ function mod:OnCombatStart(delay) powerCount = 0 table.wipe(closedCircuitTargets) table.wipe(stunTargets) - timerBreathCD:Start(8-delay) + timerBreathCD:Start(7.2-delay) timerProtectorCD:Start(10-delay) berserkTimer:Start(-delay) end diff --git a/AddOns/DBM-Pandaria/Oondasta.lua b/AddOns/DBM-Pandaria/Oondasta.lua index 8acb8d201..4e531419b 100644 --- a/AddOns/DBM-Pandaria/Oondasta.lua +++ b/AddOns/DBM-Pandaria/Oondasta.lua @@ -1,7 +1,7 @@ local mod = DBM:NewMod(826, "DBM-Pandaria", nil, 322) local L = mod:GetLocalizedStrings() -mod:SetRevision(("$Revision: 72 $"):sub(12, -3)) +mod:SetRevision(("$Revision: 84 $"):sub(12, -3)) mod:SetCreatureID(69161) mod:SetEncounterID(1587) mod:SetReCombatTime(20, 10) @@ -36,8 +36,8 @@ mod:AddReadyCheckOption(32519, false) function mod:OnCombatStart(delay, yellTriggered) if yellTriggered then--We know for sure this is an actual pull and not diving into in progress -- timerCrushCD:Start(-delay)--There was no tank, so he pretty much never cast this, just ran like a wild animal around area while corpse cannoned - timerPiercingRoarCD:Start(20-delay) - timerFrillBlastCD:Start(40-delay) + timerPiercingRoarCD:Start(15-delay) + timerFrillBlastCD:Start(30-delay) end if self.Options.RangeFrame then DBM.RangeCheck:Show(10)--range is guessed. spell tooltip and EJ do not save what range is right now. diff --git a/AddOns/DBM-Party-Legion/BlackRookHold/AmalgamSouls.lua b/AddOns/DBM-Party-Legion/BlackRookHold/AmalgamSouls.lua new file mode 100644 index 000000000..1e0c8b293 --- /dev/null +++ b/AddOns/DBM-Party-Legion/BlackRookHold/AmalgamSouls.lua @@ -0,0 +1,96 @@ +local mod = DBM:NewMod(1518, "DBM-Party-Legion", 1, 740) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14751 $"):sub(12, -3)) +mod:SetCreatureID(98542) +mod:SetEncounterID(1832) +mod:SetZone() + +mod:RegisterCombat("combat") + +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED 194966", + "SPELL_CAST_START 195254 194966 194956", + "CHAT_MSG_MONSTER_YELL" +) + +local warnSwirlingScythe = mod:NewTargetAnnounce(195254, 2) +local warnSoulEchoes = mod:NewTargetAnnounce(194966, 2) + +local specWarnReapSoul = mod:NewSpecialWarningDodge(194956, "Tank", nil, nil, 3) +local specWarnSoulEchos = mod:NewSpecialWarningRun(194966, nil, nil, nil, 1, 2) +local specWarnSwirlingScythe = mod:NewSpecialWarningDodge(195254, nil, nil, nil, 1, 2) +local yellSwirlingScythe = mod:NewYell(195254) + +local timerSwirlingScytheCD = mod:NewCDTimer(20.5, 195254, nil, nil, nil, 3)--20-27 +local timerSoulEchoesCD = mod:NewNextTimer(27.5, 194966, nil, nil, nil, 3) +local timerReapSoulCD = mod:NewNextTimer(13, 194956, nil, nil, nil, 5, nil, DBM_CORE_TANK_ICON) + +local voiceSwirlingScythe = mod:NewVoice(195254) +local voiceSoulEchos = mod:NewVoice(194966) + +--mod:AddRangeFrameOption(5, 194966) + +function mod:ScytheTarget(targetname, uId) + if not targetname then + warnSwirlingScythe:Show(DBM_CORE_UNKNOWN) + return + end + if targetname == UnitName("player") then + specWarnSwirlingScythe:Show() + voiceSwirlingScythe:Play("runaway") + yellSwirlingScythe:Yell() + else + warnSwirlingScythe:Show(targetname) + end +end + +function mod:SoulTarget(targetname, uId) + if not targetname then + warnSoulEchoes:Show(DBM_CORE_UNKNOWN) + return + end + if targetname == UnitName("player") then + specWarnSoulEchos:Show() + voiceSoulEchos:Play("runaway") + voiceSoulEchos:Schedule(1, "keepmove") + else + warnSoulEchoes:Show(targetname) + end +end + +function mod:OnCombatStart(delay) + timerSwirlingScytheCD:Start(8-delay) + timerSoulEchoesCD:Start(16-delay) + timerReapSoulCD:Start(20-delay) +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 194966 and self:AntiSpam(3, 1) then--Secondary Soul echos warning that's 2 seconds slower than yell trickory + warnSoulEchoes:Show(args.destName) + if args:IsPlayer() then + specWarnSoulEchos:Show() + end + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 195254 then + timerSwirlingScytheCD:Start() + self:BossTargetScanner(98542, "ScytheTarget", 0.1, 20, true, nil, nil, nil, true) + elseif spellId == 194966 then + timerSoulEchoesCD:Start() + self:BossTargetScanner(98542, "SoulTarget", 0.1, 20, true, nil, nil, nil, true) + elseif spellId == 194956 then + specWarnReapSoul:Show() + timerReapSoulCD:Start() + end +end diff --git a/AddOns/DBM-Party-Legion/BlackRookHold/Illysanna.lua b/AddOns/DBM-Party-Legion/BlackRookHold/Illysanna.lua new file mode 100644 index 000000000..de3a17898 --- /dev/null +++ b/AddOns/DBM-Party-Legion/BlackRookHold/Illysanna.lua @@ -0,0 +1,138 @@ +local mod = DBM:NewMod(1653, "DBM-Party-Legion", 1, 740) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14751 $"):sub(12, -3)) +mod:SetCreatureID(98696) +mod:SetEncounterID(1833) +mod:SetZone() +mod:SetUsedIcons(3, 2, 1) + +mod:RegisterCombat("combat") + +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED 197478 197687", + "SPELL_AURA_REMOVED 197478", + "SPELL_CAST_START 197418 197546", + "SPELL_CAST_SUCCESS 197478", +-- "SPELL_PERIODIC_DAMAGE", +-- "SPELL_PERIODIC_MISSED", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--TODO, maybe GTFO for standing in fire left by dark rush and eye beams? +--TODO, Interrupt warning for heroic/mythic/challenge mode arcane spell? +local warnBrutalGlaive = mod:NewTargetAnnounce(197546, 2) +local warnDarkRush = mod:NewTargetAnnounce(197478, 3) +local warnEyeBeam = mod:NewTargetAnnounce(197687, 2) + +local specWarnBrutalGlaive = mod:NewSpecialWarningMoveAway(197546, nil, nil, nil, 1, 2) +local yellBrutalGlaive = mod:NewYell(197546) +local specWarnVengefulGlaive = mod:NewSpecialWarningSpell(197418, "Tank", nil, nil, 3, 2) +local specWarnDarkRush = mod:NewSpecialWarningYou(197478, nil, nil, nil, 1, 2) +local specWarnEyeBeam = mod:NewSpecialWarningYou(197687, nil, nil, nil, 1, 2) +local yellEyeBeam = mod:NewYell(197687) + +local timerBrutalGlaiveCD = mod:NewCDTimer(15, 197546, nil, nil, nil, 3) +local timerVengefulGlaiveCD = mod:NewCDTimer(11, 197418, nil, "Tank", nil, 5, nil, DBM_CORE_TANK_ICON)--11-16, delayed by dark rush +local timerDarkRushCD = mod:NewCDTimer(30, 197478, nil, nil, nil, 3) + +local voiceBrutalGlaive = mod:NewVoice(197546)--runout +local voiceVengefulGlaive = mod:NewVoice(197418, "Tank")--defensive +local voiceDarkRush = mod:NewVoice(197478)--gathershare +local voiceEyeBeam = mod:NewVoice(197687)--runout/keepmove + +mod:AddSetIconOption("SetIconOnDarkRush", 197478, true) +--mod:AddRangeFrameOption(5, 197546)--Range not given for Brutal Glaive + +function mod:BrutalGlaiveTarget(targetname, uId) + if not targetname then + warnBrutalGlaive:Show(DBM_CORE_UNKNOWN) + return + end + if targetname == UnitName("player") then + specWarnBrutalGlaive:Show() + voiceBrutalGlaive:Play("runout") + yellBrutalGlaive:Yell() + else + warnBrutalGlaive:Show(targetname) + end +end + +function mod:OnCombatStart(delay) + timerBrutalGlaiveCD:Start(5.5-delay) + timerVengefulGlaiveCD:Start(8-delay) + timerDarkRushCD:Start(13-delay) +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 197478 then + timerDarkRushCD:Start() + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 197478 then + warnDarkRush:CombinedShow(0.3, args.destName) + if args:IsPlayer() then + specWarnDarkRush:Show() + voiceDarkRush:Play("gathershare") + end + if self.Options.SetIconOnDarkRush then + self:SetAlphaIcon(0.5, args.destName, 1, 3) + end + elseif spellId == 197687 then + warnEyeBeam:Show(args.destName) + if args:IsPlayer() then + specWarnEyeBeam:Show() + yellEyeBeam:Yell() + voiceEyeBeam:Play("runout") + voiceEyeBeam:Schedule(1, "keepmove") + end + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 197478 and self.Options.SetIconOnDarkRush then + self:SetIcon(args.destName, 0) + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 197418 then + specWarnVengefulGlaive:Show() + voiceVengefulGlaive:Play("defensive") + timerVengefulGlaiveCD:Start() + elseif spellId == 197546 then + timerBrutalGlaiveCD:Start() + self:BossTargetScanner(98696, "BrutalGlaiveTarget", 0.1, 20, true, nil, nil, nil, true) + end +end + +--[[ +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE--]] + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 197622 then--Phase 2 Jump + timerBrutalGlaiveCD:Cancel() + timerVengefulGlaiveCD:Cancel() + timerDarkRushCD:Cancel() + elseif spellId == 197394 then--Periodic Energize + timerBrutalGlaiveCD:Start(6) + timerDarkRushCD:Start(12) + timerVengefulGlaiveCD:Start(13)--Sample size + end +end diff --git a/AddOns/DBM-Party-Legion/BlackRookHold/Kurtalos.lua b/AddOns/DBM-Party-Legion/BlackRookHold/Kurtalos.lua new file mode 100644 index 000000000..427270f82 --- /dev/null +++ b/AddOns/DBM-Party-Legion/BlackRookHold/Kurtalos.lua @@ -0,0 +1,82 @@ +local mod = DBM:NewMod(1672, "DBM-Party-Legion", 1, 740) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14751 $"):sub(12, -3)) +mod:SetCreatureID(98965, 98970) +mod:SetEncounterID(1835) +mod:SetZone() +mod:SetBossHPInfoToHighest() + +mod:RegisterCombat("combat") + +mod:RegisterEventsInCombat( + "SPELL_CAST_START 198820 199143 199193", + "SPELL_CAST_SUCCESS 198635", + "SPELL_AURA_REMOVED 199193", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +local warnCloud = mod:NewSpellAnnounce(199143, 2) + +local specWarnDarkblast = mod:NewSpecialWarningDodge(198820, nil, nil, nil, 2) +local specWarnGuile = mod:NewSpecialWarningDodge(199193, nil, nil, nil, 2) +local specWarnGuileEnded = mod:NewSpecialWarningEnd(199193) + +local timerDarkBlastCD = mod:NewCDTimer(19, 198820, nil, nil, nil, 3) +local timerUnerringShearCD = mod:NewCDTimer(13, 198635, nil, "Tank", nil, 5) +local timerGuileCD = mod:NewCDTimer(39, 199193, nil, nil, nil, 6) +local timerGuile = mod:NewBuffFadesTimer(24, 199193, nil, nil, nil, 6) +--local timerCloudCD = mod:NewCDTimer(32.8, 199143, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +mod.vb.phase = 1 + +function mod:OnCombatStart(delay) + self.vb.phase = 1 + timerUnerringShearCD:Start(6-delay) + timerDarkBlastCD:Start(10-delay) +end + +function mod:OnCombatEnd() + +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 198635 then + timerUnerringShearCD:Start() + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 199193 then + specWarnGuileEnded:Show() + timerGuileCD:Start() + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 198820 then + if self.vb.phase == 1 then + timerDarkBlastCD:Start() + end + elseif spellId == 199143 then + warnCloud:Show() +-- timerCloudCD:Start() + elseif spellId == 199193 then + specWarnGuile:Show() + timerGuile:Start() + end +end + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 117624 then + self.vb.phase = 2 + timerDarkBlastCD:Cancel() + timerUnerringShearCD:Cancel() +-- timerCloudCD:Start(12) + timerGuileCD:Start(24) + end +end diff --git a/AddOns/DBM-Party-Legion/BlackRookHold/Smashspite.lua b/AddOns/DBM-Party-Legion/BlackRookHold/Smashspite.lua new file mode 100644 index 000000000..073ebf8de --- /dev/null +++ b/AddOns/DBM-Party-Legion/BlackRookHold/Smashspite.lua @@ -0,0 +1,120 @@ +local mod = DBM:NewMod(1664, "DBM-Party-Legion", 1, 740) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14751 $"):sub(12, -3)) +mod:SetCreatureID(98949) +mod:SetEncounterID(1834) +mod:SetZone() +mod:SetUsedIcons(1) + +mod:RegisterCombat("combat") + +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED 198079", + "SPELL_AURA_REMOVED 198079", + "SPELL_CAST_START 198073", +-- "SPELL_PERIODIC_DAMAGE", +-- "SPELL_PERIODIC_MISSED", + "UNIT_POWER_FREQUENT boss1" +) + +--TODO, maybe inverse info frame, show who can soak still, vs those who cannot +--TODO, actually get heroic log and see timing of gaze/charge stuff so voices/warnings can be placed properly +local warnHatefulGaze = mod:NewTargetAnnounce(198079, 4) + +local specWarnStomp = mod:NewSpecialWarningSpell(198073, nil, nil, nil, 2, 2) +local specWarnHatefulGaze = mod:NewSpecialWarningYou(198079, nil, nil, nil, 1) +local yellHatefulGaze = mod:NewYell(198079) +local specWarnBrutalHaymakerSoon = mod:NewSpecialWarningSoon(198245, "Tank|Healer", nil, nil, 1)--Face fuck soon +local specWarnBrutalHaymaker = mod:NewSpecialWarningSpell(198245, "Tank", nil, nil, 3, 2)--Incoming face fuck + +local timerStompCD = mod:NewNextTimer(17, 198073, nil, nil, nil, 2) + +local voiceStomp = mod:NewVoice(198073)--carefly +local voiceBrutalHeymaker = mod:NewVoice(198073, "Tank|Healer")--defensive + +mod:AddInfoFrameOption(198080) +mod:AddSetIconOption("SetIconOnHatefulGaze", 198079, true) + +function mod:OnCombatStart(delay) + timerStompCD:Start(12-delay) + if not self:IsNormal() then + if self.Options.InfoFrame then + DBM.InfoFrame:SetHeader(GetSpellInfo(198080)) + DBM.InfoFrame:Show(5, "playerbaddebuff", 198080) + end + end +end + +function mod:OnCombatEnd() + if self.Options.InfoFrame then + DBM.InfoFrame:Hide() + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 198079 then + warnHatefulGaze:Show(args.destName) + if args:IsPlayer() then + specWarnHatefulGaze:Show() + yellHatefulGaze:Yell() + end + if self.Options.SetIconOnHatefulGaze then + self:SetIcon(args.destName, 1) + end + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 198079 and self.Options.SetIconOnHatefulGaze then + self:SetIcon(args.destName, 0) + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 198073 then + specWarnStomp:Show() + timerStompCD:Start() + voiceStomp:Play("carefly") + elseif spellId == 198245 then + specWarnBrutalHaymaker:Show() + if self:IsTank() then + voiceBrutalHeymaker:Play("defensive") + else + voiceBrutalHeymaker:Play("tankheal") + end + end +end + +do + local warnedSoon = false + local UnitPower = UnitPower + function mod:UNIT_POWER_FREQUENT(uId) + local power = UnitPower(uId) + if power >= 85 and not warnedSoon then + warnedSoon = true + specWarnBrutalHaymakerSoon:Show() + voiceBrutalHeymaker:Play("energyhigh") + elseif power < 50 and warnedSoon then + warnedSoon = false + end + end +end + +--[[ +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] diff --git a/AddOns/DBM-Party-Legion/DBM-Party-Legion.toc b/AddOns/DBM-Party-Legion/DBM-Party-Legion.toc new file mode 100644 index 000000000..ee6cf9fc7 --- /dev/null +++ b/AddOns/DBM-Party-Legion/DBM-Party-Legion.toc @@ -0,0 +1,79 @@ +## Interface: 70000 +## X-Min-Interface: 70000 +## Title:|cffffe00a<|r|cffff7d0aDBM|r|cffffe00a>|r |cff69ccf0Party-Legion|r +## Title-deDE:|cffffe00a<|r|cffff7d0aDBM|r|cffffe00a>|r |cff69ccf0Gruppe-Legion|r +## Title-frFR:|cffffe00a<|r|cffff7d0aDBM|r|cffffe00a>|r |cff69ccf0Groupe-Legion|r +## Title-ruRU:|cffffe00a<|r|cffff7d0aDBM|r|cffffe00a>|r |cff69ccf0Групповые подземелья-Legion|r +## LoadOnDemand: 1 +## RequiredDeps: DBM-Core +## SavedVariables: DBMPartyLegion_AllSavedVars +## SavedVariablesPerCharacter: DBMPartyLegion_SavedStats +## X-DBM-Mod: 1 +## X-DBM-Mod-Type: PARTY +## X-DBM-Mod-Category: LEG +## X-DBM-Mod-Has-Challenge: 1 +## X-DBM-Mod-Has-Mythic : 1 +## X-DBM-Mod-SubCategoriesID: 1501, 1466, 1456, 1477, 1458, 1516, 1571, 1492, 1544, 1493 +## X-DBM-Mod-Name: Party (Legion) +## X-DBM-Mod-Name-deDE: Gruppe (Legion) +## X-DBM-Mod-Name-ruRU: Групповые подземелья (Legion) +## X-DBM-Mod-Name-esES: Mazmorras (Legion) +## X-DBM-Mod-Name-esMX: Mazmorras (Legion) +## X-DBM-Mod-Name-ptBR: Masmorras (Legion) +## X-DBM-Mod-Name-frFR: Groupe (Legion) +## X-DBM-Mod-Name-zhTW: 隊伍首領 (軍臨天下) +## X-DBM-Mod-Name-zhCN: 5人副本 (军团再临) +## X-DBM-Mod-Sort: 060 +## X-DBM-Mod-MapID: 1501, 1466, 1456, 1477, 1458, 1516, 1571, 1492, 1544, 1493 +## X-DBM-Mod-MinCoreRevision: 14737 +## X-Curse-Packaged-Version: 6.2.18-7-gc13aff2 +## X-Curse-Project-Name: Deadly Boss Mods +## X-Curse-Project-ID: deadly-boss-mods +## X-Curse-Repository-ID: wow/deadly-boss-mods/mainline +localization.en.lua +BlackRookHold\AmalgamSouls.lua +BlackRookHold\Illysanna.lua +BlackRookHold\Smashspite.lua +BlackRookHold\Kurtalos.lua +DarkheartThicket\Glaidalis.lua +DarkheartThicket\Oakheart.lua +DarkheartThicket\Dresaron.lua +DarkheartThicket\ShadeofXavius.lua +EyeOfAzshara\Parjesh.lua +EyeOfAzshara\Hatecoil.lua +EyeOfAzshara\KingDeepbeard.lua +EyeOfAzshara\Serpentrix.lua +EyeOfAzshara\WrathofAzshara.lua +HallsOfValor\Hymdall.lua +HallsOfValor\Hyrja.lua +HallsOfValor\Fenryr.lua +HallsOfValor\KingSkovald.lua +HallsOfValor\Odyn.lua +NeltharionsLair\Rokmora.lua +NeltharionsLair\Ularogg.lua +NeltharionsLair\Naraxas.lua +NeltharionsLair\Dargrul.lua +SuramarCatacombs\Ivanyr.lua +SuramarCatacombs\NightwellSentry.lua +SuramarCatacombs\GeneralXakal.lua +SuramarCatacombs\Naltira.lua +SuramarCatacombs\Vandros.lua +SuramarNobleDistrict\Volendis.lua +SuramarNobleDistrict\Talixae.lua +SuramarNobleDistrict\HighCouncillor.lua +MawOfSouls\Ymiron.lua +MawOfSouls\Harbaron.lua +MawOfSouls\Helya.lua +VioletHold\MindflayerKaahrj.lua +VioletHold\MillificentManastorm.lua +VioletHold\Festerface.lua +VioletHold\Shivermaw.lua +VioletHold\PrincessThalena.lua +VioletHold\Anubesset.lua +VioletHold\Saelorn.lua +VioletHold\FelLordBetrug.lua +GroveOfWarden\TirathonSaltheril.lua +GroveOfWarden\Tormentorum.lua +GroveOfWarden\Ashgolm.lua +GroveOfWarden\Glazer.lua +GroveOfWarden\Cordana.lua diff --git a/AddOns/DBM-Party-Legion/DarkheartThicket/Dresaron.lua b/AddOns/DBM-Party-Legion/DarkheartThicket/Dresaron.lua new file mode 100644 index 000000000..253d31a22 --- /dev/null +++ b/AddOns/DBM-Party-Legion/DarkheartThicket/Dresaron.lua @@ -0,0 +1,77 @@ +local mod = DBM:NewMod(1656, "DBM-Party-Legion", 2, 762) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14752 $"):sub(12, -3)) +mod:SetCreatureID(99200) +mod:SetEncounterID(1838) +mod:SetZone() + +mod:RegisterCombat("combat") + +mod:RegisterEventsInCombat( + "SPELL_CAST_START 199389 199345", + "SPELL_PERIODIC_DAMAGE 199460", + "SPELL_PERIODIC_MISSED 199460", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--TODO: Breath scanning tweaks. it CAN target tank so we need a more complex system to grab any target he looks at that's not tank during cast, but fall back to tank as target if no other target found. +local warnBreath = mod:NewTargetAnnounce(199332, 3) +local warnRoar = mod:NewSpellAnnounce(199389, 2) + +local specWarnDownDraft = mod:NewSpecialWarningSpell(199345, nil, nil, nil, 2, 2) +local yellBreath = mod:NewYell(199332) +local specWarnFallingRocks = mod:NewSpecialWarningMove(199460, nil, nil, nil, 2, 2) + +local timerBreathCD = mod:NewCDTimer(30, 199332, nil, nil, nil, 3) +local timerEarthShakerCD = mod:NewCDTimer(29, 199389, nil, nil, nil, 3) +local timerDownDraftCD = mod:NewCDTimer(38, 199345, nil, nil, nil, 2)--38-42 (health based or varaible?) + +local voiceDownDraft = mod:NewVoice(199345)--keepmove +local voiceBreath = mod:NewVoice(199332)--breathsoon +local voiceFallingRocks = mod:NewVoice(199460)--runaway + +--mod:AddRangeFrameOption(5, 153396) + +function mod:BreathTarget(targetname, uId) + if not targetname then + DBM:Debug("Probably on the tank") + return + end + warnBreath:Show(targetname) + if targetname == UnitName("player") then + yellBreath:Yell() + end +end + +function mod:OnCombatStart(delay) + timerBreathCD:Start(8-delay) + timerEarthShakerCD:Start(15-delay) + timerDownDraftCD:Start(19-delay) +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 199389 then + warnRoar:Show() + elseif spellId == 199345 then + specWarnDownDraft:Show() + voiceDownDraft:Play("keepmove") + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 199460 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + specWarnFallingRocks:Show() + voiceFallingRocks:Play("runaway") + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 199332 then--Even with this scanner, it's abougt 50/50 hit or miss you can grab a target at all + voiceBreath:Play("breathsoon") + self:BossUnitTargetScanner(uId, "BreathTarget", 2) + timerBreathCD:Start() + end +end diff --git a/AddOns/DBM-Party-Legion/DarkheartThicket/Glaidalis.lua b/AddOns/DBM-Party-Legion/DarkheartThicket/Glaidalis.lua new file mode 100644 index 000000000..a11828605 --- /dev/null +++ b/AddOns/DBM-Party-Legion/DarkheartThicket/Glaidalis.lua @@ -0,0 +1,87 @@ +local mod = DBM:NewMod(1654, "DBM-Party-Legion", 2, 762) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14752 $"):sub(12, -3)) +mod:SetCreatureID(96512) +mod:SetEncounterID(1836) +mod:SetZone() + +mod:RegisterCombat("combat") + +mod:RegisterEventsInCombat( + "SPELL_CAST_START 198379", + "SPELL_CAST_SUCCESS 198401", + "SPELL_PERIODIC_DAMAGE 198408", + "SPELL_PERIODIC_MISSED 198408", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--TODO, verify target scanning timing. May need debug level 3 to examine the scan time for leap +local warnLeap = mod:NewTargetAnnounce(196346, 2)--0.5 seconds may still be too hard to dodge even if target scanning works. +local warnNightFall = mod:NewSpellAnnounce(198401, 2) + +local specWarnNightfall = mod:NewSpecialWarningMove(198408, nil, nil, nil, 1, 2) +--local specWarnLeap = mod:NewSpecialWarningDodge(196346, nil, nil, nil, 1) +local yellLeap = mod:NewYell(196346) +local specWarnRampage = mod:NewSpecialWarningSpell(198379, "Tank", nil, nil, 1, 2) + +local timerLeapCD = mod:NewCDTimer(16.5, 196346, nil, nil, nil, 3) +local timerRampageCD = mod:NewCDTimer(15.8, 198379, nil, "Tank", nil, 5, nil, DBM_CORE_TANK_ICON) +local timerNightfallCD = mod:NewCDTimer(14.5, 198379, nil, nil, nil, 3) + +local voiceNightFall = mod:NewVoice(198408)--runaway +local voiceRampage = mod:NewVoice(198379, "Tank")--defensive + +--mod:AddRangeFrameOption(5, 153396) + +function mod:ScytheTarget(targetname, uId) + if not targetname then + warnLeap:Show(DBM_CORE_UNKNOWN) + return + end + if targetname == UnitName("player") then +-- specWarnLeap:Show() +-- voiceSwirlingScythe:Play("runaway") + yellLeap:Yell() + else + warnLeap:Show(targetname) + end +end + +function mod:OnCombatStart(delay) + timerLeapCD:Start(5.9-delay) + timerRampageCD:Start(12.2-delay) + timerNightfallCD:Start(19-delay) +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 198401 and self:AntiSpam(2, 1) then + warnNightFall:Show() + timerNightfallCD:Start() + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 198379 then + specWarnRampage:Show() + voiceRampage:Play("defensive") + timerRampageCD:Start() + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 198408 and destGUID == UnitGUID("player") and self:AntiSpam(2, 2) then + specWarnNightfall:Show() + voiceNightFall:Play("runaway") + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + --"<13.84 02:50:50> [UNIT_SPELLCAST_SUCCEEDED] Arch-Druid Glaidalis(Omegal) [[boss1:Grievous Leap::3-2084-1466-6383-196346-000018A4DA:196346]]", -- [47] + if spellId == 196346 then + self:BossTargetScanner(96512, "LeapTarget", 0.05, 12, true, nil, nil, nil, true) + timerLeapCD:Start() + end +end diff --git a/AddOns/DBM-Party-Legion/DarkheartThicket/Oakheart.lua b/AddOns/DBM-Party-Legion/DarkheartThicket/Oakheart.lua new file mode 100644 index 000000000..4a627586a --- /dev/null +++ b/AddOns/DBM-Party-Legion/DarkheartThicket/Oakheart.lua @@ -0,0 +1,74 @@ +local mod = DBM:NewMod(1655, "DBM-Party-Legion", 2, 762) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14752 $"):sub(12, -3)) +mod:SetCreatureID(103344) +mod:SetEncounterID(1837) +mod:SetZone() + +mod:RegisterCombat("combat") + +mod:RegisterEventsInCombat( + "SPELL_CAST_START 204666 204646 204574 204667" +) + +local warnShatteredEarth = mod:NewSpellAnnounce(204666, 2) +local warnThrowTarget = mod:NewTargetAnnounce(204646, 2)--This is target the tank is THROWN at. + +local specWarnRoots = mod:NewSpecialWarningDodge(204574, nil, nil, nil, 2, 2) +local yellThrow = mod:NewYell(204646)--yell so others can avoid splash damage. I don't think target can avoid +local specWarnBreath = mod:NewSpecialWarningSpell(204667, "Tank", nil, nil, 1, 2) + +local timerShatteredEarthCD = mod:NewCDTimer(46, 204666, nil, nil, nil, 2)--Not enough sample size +local timerThrowCD = mod:NewCDTimer(28, 204646, nil, nil, nil, 3)--29-31 +local timerRootsCD = mod:NewCDTimer(23, 204574, nil, nil, nil, 3)--23-31 +local timerBreathCD = mod:NewCDTimer(26.5, 204667, nil, "Tank", nil, 5, nil, DBM_CORE_TANK_ICON) + +local voiceRoots = mod:NewVoice(204574)--watchstep +local voiceBreath = mod:NewVoice(204574, "Tank")--Defensive + +--mod:AddRangeFrameOption(5, 153396) + +function mod:ThrowTarget(targetname, uId) + if not targetname then + return + end + if targetname == UnitName("player") then + --Can this be dodged? personal warning? + yellThrow:Yell() + else + warnThrowTarget:Show(targetname) + end +end + +function mod:OnCombatStart(delay) + timerShatteredEarthCD:Start(7-delay) + timerRootsCD:Start(11-delay) + timerBreathCD:Start(18-delay) + timerThrowCD:Start(29-delay) +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 204646 then + timerThrowCD:Start() + self:BossTargetScanner(103344, "ThrowTarget", 0.1, 12, true, nil, nil, nil, true) + elseif spellId == 204666 then + warnShatteredEarth:Show() + timerShatteredEarthCD:Start() + elseif spellId == 204574 then + specWarnRoots:Show() + voiceRoots:Play("watchstep") + timerRootsCD:Start() + elseif spellId == 204667 then + specWarnBreath:Show() + voiceBreath:Play("defensive") + timerBreathCD:Start() + end +end diff --git a/AddOns/DBM-Party-Legion/DarkheartThicket/ShadeofXavius.lua b/AddOns/DBM-Party-Legion/DarkheartThicket/ShadeofXavius.lua new file mode 100644 index 000000000..9a9978799 --- /dev/null +++ b/AddOns/DBM-Party-Legion/DarkheartThicket/ShadeofXavius.lua @@ -0,0 +1,110 @@ +local mod = DBM:NewMod(1657, "DBM-Party-Legion", 2, 762) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14752 $"):sub(12, -3)) +mod:SetCreatureID(99192) +mod:SetEncounterID(1839) +mod:SetZone() +mod:SetUsedIcons(2, 1) + +mod:RegisterCombat("combat") + +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED 200182 200243 200289", + "SPELL_AURA_REFRESH 200243", + "SPELL_AURA_REMOVED 200243", + "SPELL_CAST_SUCCESS 200359 199837 200182", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--TOOD, maybe play gathershare for ALL (except tank) for nightmare target. +--TODO, maybe add an arrow group up hud for nightmare target depending on number of players it takes to clear it. +--TODO, feed on the weak have any significance? +local warnNightmare = mod:NewTargetAnnounce(200243, 3) +local warnParanoia = mod:NewTargetAnnounce(200289, 3) + +local specWarnFesteringRip = mod:NewSpecialWarningDispel(200182, "RemoveDisease")--No disease dispeller in group? have fun wiping +local specWarnNightmare = mod:NewSpecialWarningYou(200243) +local yellNightmare = mod:NewYell(200243) +local specWarnParanoia = mod:NewSpecialWarningMoveAway(200289) +local yellParanoia = mod:NewYell(200289) + +local timerFesteringRipCD = mod:NewCDTimer(17, 200182, nil, "Tank|Healer|RemoveDisease", nil, 5, nil, DBM_CORE_DISEASE_ICON)--17-21 +local timerNightmareCD = mod:NewCDTimer(17, 200243, nil, nil, nil, 3)--17-23 +local timerParanoiaCD = mod:NewCDTimer(18, 200359, nil, nil, nil, 3)--18-28 + +local voiceNightmare = mod:NewVoice(200243)--Gathershare +local voiceParanoia = mod:NewVoice(200243)--scatter + +mod:AddSetIconOption("SetIconOnNightmare", 200243) + +mod.vb.nightmareIcon = 1 + +function mod:OnCombatStart(delay) + self.vb.nightmareIcon = 1 + timerFesteringRipCD:Start(3.7-delay) + timerNightmareCD:Start(6-delay) + timerParanoiaCD:Start(19-delay) +end + +function mod:SPELL_CAST_SUCCESS(args) + local spellId = args.spellId + if spellId == 200359 then + timerParanoiaCD:Start() + elseif spellId == 199837 then--Phase 2 + timerParanoiaCD:Cancel() + timerParanoiaCD:Start(39) + timerNightmareCD:Cancel() + timerNightmareCD:Start(40) + timerFesteringRipCD:Cancel() + timerFesteringRipCD:Start(41) + elseif spellId == 200182 then + timerFesteringRipCD:Start(17) + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 200182 then + specWarnFesteringRip:Show(args.destName) + elseif spellId == 200243 then + warnNightmare:Show(args.destName) + if args:IsPlayer() then + specWarnNightmare:Show() + voiceNightmare:Play("gathershare") + yellNightmare:Yell() + end + if self.Options.SetIconOnNightmare then + self:SetIcon(args.destName, self.vb.nightmareIcon) + end + --Alternate Icons + if self.vb.nightmareIcon == 1 then + self.vb.nightmareIcon = 2 + else + self.vb.nightmareIcon = 1 + end + elseif spellId == 200289 then + warnParanoia:Show(args.destName) + if args:IsPlayer() then + specWarnParanoia:Show() + voiceParanoia:Play("scatter") + yellParanoia:Yell() + end + end +end +mod.SPELL_AURA_REFRESH = mod.SPELL_AURA_APPLIED + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 200243 then + if self.Options.SetIconOnNightmare then + self:SetIcon(args.destName, 0) + end + end +end + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 204808 then--Because cast is hidden from combat log, and debuff may miss (AMS) + timerNightmareCD:Start() + end +end diff --git a/AddOns/DBM-Party-Legion/EyeOfAzshara/Hatecoil.lua b/AddOns/DBM-Party-Legion/EyeOfAzshara/Hatecoil.lua new file mode 100644 index 000000000..a6b109db7 --- /dev/null +++ b/AddOns/DBM-Party-Legion/EyeOfAzshara/Hatecoil.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1490, "DBM-Party-Legion", 3, 716) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14746 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1811) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/EyeOfAzshara/KingDeepbeard.lua b/AddOns/DBM-Party-Legion/EyeOfAzshara/KingDeepbeard.lua new file mode 100644 index 000000000..9232b8837 --- /dev/null +++ b/AddOns/DBM-Party-Legion/EyeOfAzshara/KingDeepbeard.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1491, "DBM-Party-Legion", 3, 716) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14746 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1812) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/EyeOfAzshara/Parjesh.lua b/AddOns/DBM-Party-Legion/EyeOfAzshara/Parjesh.lua new file mode 100644 index 000000000..f29851a62 --- /dev/null +++ b/AddOns/DBM-Party-Legion/EyeOfAzshara/Parjesh.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1480, "DBM-Party-Legion", 3, 716) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14746 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1810) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/EyeOfAzshara/Serpentrix.lua b/AddOns/DBM-Party-Legion/EyeOfAzshara/Serpentrix.lua new file mode 100644 index 000000000..a6d57ee44 --- /dev/null +++ b/AddOns/DBM-Party-Legion/EyeOfAzshara/Serpentrix.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1479, "DBM-Party-Legion", 3, 716) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14746 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1813) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/EyeOfAzshara/WrathofAzshara.lua b/AddOns/DBM-Party-Legion/EyeOfAzshara/WrathofAzshara.lua new file mode 100644 index 000000000..82c445f0c --- /dev/null +++ b/AddOns/DBM-Party-Legion/EyeOfAzshara/WrathofAzshara.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1492, "DBM-Party-Legion", 3, 716) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14746 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1814) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/GroveOfWarden/Ashgolm.lua b/AddOns/DBM-Party-Legion/GroveOfWarden/Ashgolm.lua new file mode 100644 index 000000000..365394c25 --- /dev/null +++ b/AddOns/DBM-Party-Legion/GroveOfWarden/Ashgolm.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1468, "DBM-Party-Legion", 10, 707) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1816) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/GroveOfWarden/Cordana.lua b/AddOns/DBM-Party-Legion/GroveOfWarden/Cordana.lua new file mode 100644 index 000000000..466d23a34 --- /dev/null +++ b/AddOns/DBM-Party-Legion/GroveOfWarden/Cordana.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1470, "DBM-Party-Legion", 10, 707) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1818) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/GroveOfWarden/Glazer.lua b/AddOns/DBM-Party-Legion/GroveOfWarden/Glazer.lua new file mode 100644 index 000000000..c99c40182 --- /dev/null +++ b/AddOns/DBM-Party-Legion/GroveOfWarden/Glazer.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1469, "DBM-Party-Legion", 10, 707) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1817) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/GroveOfWarden/TirathonSaltheril.lua b/AddOns/DBM-Party-Legion/GroveOfWarden/TirathonSaltheril.lua new file mode 100644 index 000000000..30e032101 --- /dev/null +++ b/AddOns/DBM-Party-Legion/GroveOfWarden/TirathonSaltheril.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1467, "DBM-Party-Legion", 10, 707) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1815) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/GroveOfWarden/Tormentorum.lua b/AddOns/DBM-Party-Legion/GroveOfWarden/Tormentorum.lua new file mode 100644 index 000000000..1f91ac03c --- /dev/null +++ b/AddOns/DBM-Party-Legion/GroveOfWarden/Tormentorum.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1695, "DBM-Party-Legion", 10, 707) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1850) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/HallsOfValor/Fenryr.lua b/AddOns/DBM-Party-Legion/HallsOfValor/Fenryr.lua new file mode 100644 index 000000000..8d32a04d8 --- /dev/null +++ b/AddOns/DBM-Party-Legion/HallsOfValor/Fenryr.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1487, "DBM-Party-Legion", 4, 721) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14746 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1807) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/HallsOfValor/Hymdall.lua b/AddOns/DBM-Party-Legion/HallsOfValor/Hymdall.lua new file mode 100644 index 000000000..e7e61708d --- /dev/null +++ b/AddOns/DBM-Party-Legion/HallsOfValor/Hymdall.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1485, "DBM-Party-Legion", 4, 721) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14746 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1805) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/HallsOfValor/Hyrja.lua b/AddOns/DBM-Party-Legion/HallsOfValor/Hyrja.lua new file mode 100644 index 000000000..a0e07e002 --- /dev/null +++ b/AddOns/DBM-Party-Legion/HallsOfValor/Hyrja.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1486, "DBM-Party-Legion", 4, 721) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14746 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1806) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/HallsOfValor/KingSkovald.lua b/AddOns/DBM-Party-Legion/HallsOfValor/KingSkovald.lua new file mode 100644 index 000000000..bd7159c05 --- /dev/null +++ b/AddOns/DBM-Party-Legion/HallsOfValor/KingSkovald.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1488, "DBM-Party-Legion", 4, 721) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14746 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1808) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/HallsOfValor/Odyn.lua b/AddOns/DBM-Party-Legion/HallsOfValor/Odyn.lua new file mode 100644 index 000000000..f64917e97 --- /dev/null +++ b/AddOns/DBM-Party-Legion/HallsOfValor/Odyn.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1489, "DBM-Party-Legion", 4, 721) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14746 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1809) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/License.txt b/AddOns/DBM-Party-Legion/License.txt new file mode 100644 index 000000000..3b64efad3 --- /dev/null +++ b/AddOns/DBM-Party-Legion/License.txt @@ -0,0 +1 @@ +All Rights Reserved unless otherwise explicitly stated. \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/MawOfSouls/Harbaron.lua b/AddOns/DBM-Party-Legion/MawOfSouls/Harbaron.lua new file mode 100644 index 000000000..78f332004 --- /dev/null +++ b/AddOns/DBM-Party-Legion/MawOfSouls/Harbaron.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1512, "DBM-Party-Legion", 8, 727) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1823) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/MawOfSouls/Helya.lua b/AddOns/DBM-Party-Legion/MawOfSouls/Helya.lua new file mode 100644 index 000000000..207b2b23c --- /dev/null +++ b/AddOns/DBM-Party-Legion/MawOfSouls/Helya.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1663, "DBM-Party-Legion", 8, 727) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1824) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/MawOfSouls/Ymiron.lua b/AddOns/DBM-Party-Legion/MawOfSouls/Ymiron.lua new file mode 100644 index 000000000..69d9b1821 --- /dev/null +++ b/AddOns/DBM-Party-Legion/MawOfSouls/Ymiron.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1502, "DBM-Party-Legion", 8, 727) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1822) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/NeltharionsLair/Dargrul.lua b/AddOns/DBM-Party-Legion/NeltharionsLair/Dargrul.lua new file mode 100644 index 000000000..b54d78242 --- /dev/null +++ b/AddOns/DBM-Party-Legion/NeltharionsLair/Dargrul.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1687, "DBM-Party-Legion", 5, 767) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1793) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/NeltharionsLair/Naraxas.lua b/AddOns/DBM-Party-Legion/NeltharionsLair/Naraxas.lua new file mode 100644 index 000000000..1deaaac94 --- /dev/null +++ b/AddOns/DBM-Party-Legion/NeltharionsLair/Naraxas.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1673, "DBM-Party-Legion", 5, 767) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1792) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/NeltharionsLair/Rokmora.lua b/AddOns/DBM-Party-Legion/NeltharionsLair/Rokmora.lua new file mode 100644 index 000000000..9b149bf02 --- /dev/null +++ b/AddOns/DBM-Party-Legion/NeltharionsLair/Rokmora.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1662, "DBM-Party-Legion", 5, 767) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1790) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/NeltharionsLair/Ularogg.lua b/AddOns/DBM-Party-Legion/NeltharionsLair/Ularogg.lua new file mode 100644 index 000000000..ab91fefb0 --- /dev/null +++ b/AddOns/DBM-Party-Legion/NeltharionsLair/Ularogg.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1665, "DBM-Party-Legion", 5, 767) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1791) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/SuramarCatacombs/GeneralXakal.lua b/AddOns/DBM-Party-Legion/SuramarCatacombs/GeneralXakal.lua new file mode 100644 index 000000000..e2fc3ade9 --- /dev/null +++ b/AddOns/DBM-Party-Legion/SuramarCatacombs/GeneralXakal.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1499, "DBM-Party-Legion", 6, 726) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1828) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/SuramarCatacombs/Ivanyr.lua b/AddOns/DBM-Party-Legion/SuramarCatacombs/Ivanyr.lua new file mode 100644 index 000000000..41dcdc882 --- /dev/null +++ b/AddOns/DBM-Party-Legion/SuramarCatacombs/Ivanyr.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1497, "DBM-Party-Legion", 6, 726) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1827) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/SuramarCatacombs/Naltira.lua b/AddOns/DBM-Party-Legion/SuramarCatacombs/Naltira.lua new file mode 100644 index 000000000..51cc7eb4c --- /dev/null +++ b/AddOns/DBM-Party-Legion/SuramarCatacombs/Naltira.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1500, "DBM-Party-Legion", 6, 726) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1826) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/SuramarCatacombs/NightwellSentry.lua b/AddOns/DBM-Party-Legion/SuramarCatacombs/NightwellSentry.lua new file mode 100644 index 000000000..bd3159c97 --- /dev/null +++ b/AddOns/DBM-Party-Legion/SuramarCatacombs/NightwellSentry.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1498, "DBM-Party-Legion", 6, 726) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1825) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/SuramarCatacombs/Vandros.lua b/AddOns/DBM-Party-Legion/SuramarCatacombs/Vandros.lua new file mode 100644 index 000000000..cb2a13b2b --- /dev/null +++ b/AddOns/DBM-Party-Legion/SuramarCatacombs/Vandros.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1501, "DBM-Party-Legion", 6, 726) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1829) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/SuramarNobleDistrict/HighCouncillor.lua b/AddOns/DBM-Party-Legion/SuramarNobleDistrict/HighCouncillor.lua new file mode 100644 index 000000000..2b1d70e1b --- /dev/null +++ b/AddOns/DBM-Party-Legion/SuramarNobleDistrict/HighCouncillor.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1720, "DBM-Party-Legion", 7, 800) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1870)--Advisor Melandrus? Not Gerdo? +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/SuramarNobleDistrict/Talixae.lua b/AddOns/DBM-Party-Legion/SuramarNobleDistrict/Talixae.lua new file mode 100644 index 000000000..1b3f90a96 --- /dev/null +++ b/AddOns/DBM-Party-Legion/SuramarNobleDistrict/Talixae.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1719, "DBM-Party-Legion", 7, 800) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1869) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/SuramarNobleDistrict/Volendis.lua b/AddOns/DBM-Party-Legion/SuramarNobleDistrict/Volendis.lua new file mode 100644 index 000000000..6bc79d411 --- /dev/null +++ b/AddOns/DBM-Party-Legion/SuramarNobleDistrict/Volendis.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1718, "DBM-Party-Legion", 7, 800) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1868)--Patrol Captain Gerdo? +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/VioletHold/Anubesset.lua b/AddOns/DBM-Party-Legion/VioletHold/Anubesset.lua new file mode 100644 index 000000000..afc556b3d --- /dev/null +++ b/AddOns/DBM-Party-Legion/VioletHold/Anubesset.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1696, "DBM-Party-Legion", 9, 777) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1852) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/VioletHold/FelLordBetrug.lua b/AddOns/DBM-Party-Legion/VioletHold/FelLordBetrug.lua new file mode 100644 index 000000000..76d26bd61 --- /dev/null +++ b/AddOns/DBM-Party-Legion/VioletHold/FelLordBetrug.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1711, "DBM-Party-Legion", 9, 777) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1856) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/VioletHold/Festerface.lua b/AddOns/DBM-Party-Legion/VioletHold/Festerface.lua new file mode 100644 index 000000000..e97be4e60 --- /dev/null +++ b/AddOns/DBM-Party-Legion/VioletHold/Festerface.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1693, "DBM-Party-Legion", 9, 777) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1848) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/VioletHold/MillificentManastorm.lua b/AddOns/DBM-Party-Legion/VioletHold/MillificentManastorm.lua new file mode 100644 index 000000000..579f504e3 --- /dev/null +++ b/AddOns/DBM-Party-Legion/VioletHold/MillificentManastorm.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1688, "DBM-Party-Legion", 9, 777) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1847) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/VioletHold/MindflayerKaahrj.lua b/AddOns/DBM-Party-Legion/VioletHold/MindflayerKaahrj.lua new file mode 100644 index 000000000..69fbc865e --- /dev/null +++ b/AddOns/DBM-Party-Legion/VioletHold/MindflayerKaahrj.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1686, "DBM-Party-Legion", 9, 777) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1846) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/VioletHold/PrincessThalena.lua b/AddOns/DBM-Party-Legion/VioletHold/PrincessThalena.lua new file mode 100644 index 000000000..34aad488e --- /dev/null +++ b/AddOns/DBM-Party-Legion/VioletHold/PrincessThalena.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1702, "DBM-Party-Legion", 9, 777) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1855) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/VioletHold/Saelorn.lua b/AddOns/DBM-Party-Legion/VioletHold/Saelorn.lua new file mode 100644 index 000000000..23773cb0e --- /dev/null +++ b/AddOns/DBM-Party-Legion/VioletHold/Saelorn.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1697, "DBM-Party-Legion", 9, 777) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1851) +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/VioletHold/Shivermaw.lua b/AddOns/DBM-Party-Legion/VioletHold/Shivermaw.lua new file mode 100644 index 000000000..7dbc8bc4b --- /dev/null +++ b/AddOns/DBM-Party-Legion/VioletHold/Shivermaw.lua @@ -0,0 +1,81 @@ +local mod = DBM:NewMod(1694, "DBM-Party-Legion", 9, 777) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14747 $"):sub(12, -3)) +--mod:SetCreatureID(99200) +mod:SetEncounterID(1845)--Verify +mod:SetZone() + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", + "SPELL_CAST_START", + "SPELL_PERIODIC_DAMAGE", + "SPELL_PERIODIC_MISSED", + "SPELL_SUMMON", + "UNIT_SPELLCAST_SUCCEEDED boss1" +) + +--local warnCurtainOfFlame = mod:NewTargetAnnounce(153396, 4) + +--local specWarnCurtainOfFlame = mod:NewSpecialWarningMoveAway(153396) + +--local timerCurtainOfFlameCD = mod:NewNextTimer(20, 153396, nil, nil, nil, 3) + +--local voiceCurtainOfFlame = mod:NewVoice(153392) + +--mod:AddRangeFrameOption(5, 153396) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +end + +function mod:SPELL_CAST_SUCCESS(args) + if args.spellId == 153396 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 153392 then + + end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 153764 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 153616 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then + + end +end +mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE + +function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, _, _, spellId) + if spellId == 153500 then + + end +end +--]] \ No newline at end of file diff --git a/AddOns/DBM-Party-Legion/localization.en.lua b/AddOns/DBM-Party-Legion/localization.en.lua new file mode 100644 index 000000000..6bc19070f --- /dev/null +++ b/AddOns/DBM-Party-Legion/localization.en.lua @@ -0,0 +1,261 @@ +local L + +----------------------- +-- <<>> -- +----------------------- +----------------------- +-- The Amalgam of Souls -- +----------------------- +L= DBM:GetModLocalization(1518) + +----------------------- +-- Illysanna Ravencrest -- +----------------------- +L= DBM:GetModLocalization(1653) + +----------------------- +-- Smashspite the Hateful -- +----------------------- +L= DBM:GetModLocalization(1664) + +----------------------- +-- Lord Kur'talos Ravencrest -- +----------------------- +L= DBM:GetModLocalization(1672) + +----------------------- +-- <<>> -- +----------------------- +----------------------- +-- Arch-Druid Glaidalis -- +----------------------- +L= DBM:GetModLocalization(1654) + +----------------------- +-- Oakheart -- +----------------------- +L= DBM:GetModLocalization(1655) + +----------------------- +-- Dresaron -- +----------------------- +L= DBM:GetModLocalization(1656) + +----------------------- +-- Shade of Xavius -- +----------------------- +L= DBM:GetModLocalization(1657) + +----------------------- +-- <<>> -- +----------------------- +----------------------- +-- Warlord Parjesh -- +----------------------- +L= DBM:GetModLocalization(1480) + +----------------------- +-- Lady Hatecoil -- +----------------------- +L= DBM:GetModLocalization(1490) + +----------------------- +-- King Deepbeard -- +----------------------- +L= DBM:GetModLocalization(1491) + +----------------------- +-- Serpentrix -- +----------------------- +L= DBM:GetModLocalization(1479) + +----------------------- +-- Wrath of Azshara -- +----------------------- +L= DBM:GetModLocalization(1492) + +----------------------- +-- <<>> -- +----------------------- +----------------------- +-- Hymdall -- +----------------------- +L= DBM:GetModLocalization(1485) + +----------------------- +-- Hyrja -- +----------------------- +L= DBM:GetModLocalization(1486) + +----------------------- +-- Fenryr -- +----------------------- +L= DBM:GetModLocalization(1487) + +----------------------- +-- God-King Skovald -- +----------------------- +L= DBM:GetModLocalization(1488) + +----------------------- +-- Odyn -- +----------------------- +L= DBM:GetModLocalization(1489) + +----------------------- +-- <<>> -- +----------------------- +----------------------- +-- Rokmora -- +----------------------- +L= DBM:GetModLocalization(1662) + +----------------------- +-- Ularogg Cragshaper -- +----------------------- +L= DBM:GetModLocalization(1665) + +----------------------- +-- Naraxas -- +----------------------- +L= DBM:GetModLocalization(1673) + +----------------------- +-- Dargrul the Underking -- +----------------------- +L= DBM:GetModLocalization(1687) + +----------------------- +-- <<>> -- +----------------------- +----------------------- +-- Ivanyr -- +----------------------- +L= DBM:GetModLocalization(1497) + +----------------------- +-- Nightwell Sentry -- +----------------------- +L= DBM:GetModLocalization(1498) + +----------------------- +-- General Xakal -- +----------------------- +L= DBM:GetModLocalization(1499) + +----------------------- +-- Nal'tira -- +----------------------- +L= DBM:GetModLocalization(1500) + +----------------------- +-- Advisor Vandros -- +----------------------- +L= DBM:GetModLocalization(1501) + +----------------------- +-- <<>> -- +----------------------- +----------------------- +-- Patrol Captain Volendis -- +----------------------- +L= DBM:GetModLocalization(1718) + +----------------------- +-- Talixae -- +----------------------- +L= DBM:GetModLocalization(1719) + +----------------------- +-- High Councillor Gerdo -- +----------------------- +L= DBM:GetModLocalization(1720) + +----------------------- +-- <<>> -- +----------------------- +----------------------- +-- Ymiron, the Fallen King -- +----------------------- +L= DBM:GetModLocalization(1502) + +----------------------- +-- Harbaron -- +----------------------- +L= DBM:GetModLocalization(1512) + +----------------------- +-- Helya -- +----------------------- +L= DBM:GetModLocalization(1663) + +----------------------- +-- <<>> -- +----------------------- +----------------------- +-- Mindflayer Kaahrj -- +----------------------- +L= DBM:GetModLocalization(1686) + +----------------------- +-- Millificent Manastorm -- +----------------------- +L= DBM:GetModLocalization(1688) + +----------------------- +-- Festerface -- +----------------------- +L= DBM:GetModLocalization(1693) + +----------------------- +-- Shivermaw -- +----------------------- +L= DBM:GetModLocalization(1694) + +----------------------- +-- Blood-Princess Thal'ena -- +----------------------- +L= DBM:GetModLocalization(1702) + +----------------------- +-- Anub'esset -- +----------------------- +L= DBM:GetModLocalization(1696) + +----------------------- +-- Sael'orn -- +----------------------- +L= DBM:GetModLocalization(1697) + +----------------------- +-- Fel Lord Betrug -- +----------------------- +L= DBM:GetModLocalization(1711) + +----------------------- +-- <<>> -- +----------------------- +----------------------- +-- Tirathon Saltheril -- +----------------------- +L= DBM:GetModLocalization(1467) + +----------------------- +-- Inquisitor Tormentorum -- +----------------------- +L= DBM:GetModLocalization(1695) + +----------------------- +-- Ash'golm -- +----------------------- +L= DBM:GetModLocalization(1468) + +----------------------- +-- Glazer -- +----------------------- +L= DBM:GetModLocalization(1469) + +----------------------- +-- Cordana -- +----------------------- +L= DBM:GetModLocalization(1470) diff --git a/AddOns/DBM-Party-MoP/ScarletHalls/Braun.lua b/AddOns/DBM-Party-MoP/ScarletHalls/Braun.lua index be1d4dbbc..f4c0c0160 100644 --- a/AddOns/DBM-Party-MoP/ScarletHalls/Braun.lua +++ b/AddOns/DBM-Party-MoP/ScarletHalls/Braun.lua @@ -29,7 +29,7 @@ function mod:SPELL_CAST_SUCCESS(args) warnPiercingThrow:Show() elseif args.spellId == 114242 then warnDeathBlossom:Show() - elseif args.spellId == 114259 then--Call Dog + elseif args.spellId == 114259 and self:AntiSpam(3, 1) then--Call Dog warnCallDog:Show() elseif args.spellId == 116140 then--Blood Rage(done calling dogs) warnBloodyRage:Show() diff --git a/AddOns/DBM-Party-WoD/DBM-Party-WoD.toc b/AddOns/DBM-Party-WoD/DBM-Party-WoD.toc index 976346a52..fd67555f9 100644 --- a/AddOns/DBM-Party-WoD/DBM-Party-WoD.toc +++ b/AddOns/DBM-Party-WoD/DBM-Party-WoD.toc @@ -30,7 +30,7 @@ ## X-DBM-Mod-Sort: 125 ## X-DBM-Mod-MapID: 1182, 1175, 1208, 1195, 1279, 1176, 1209, 1358 ## X-DBM-Mod-MinCoreRevision: 12473 -## X-Curse-Packaged-Version: 6.2.16-1-g294da72 +## X-Curse-Packaged-Version: 6.2.18-7-gc13aff2 ## X-Curse-Project-Name: Deadly Boss Mods ## X-Curse-Project-ID: deadly-boss-mods ## X-Curse-Repository-ID: wow/deadly-boss-mods/mainline diff --git a/AddOns/DBM-StatusBarTimers/DBM-StatusBarTimers.toc b/AddOns/DBM-StatusBarTimers/DBM-StatusBarTimers.toc index a346c99f0..374f8db1e 100644 --- a/AddOns/DBM-StatusBarTimers/DBM-StatusBarTimers.toc +++ b/AddOns/DBM-StatusBarTimers/DBM-StatusBarTimers.toc @@ -12,7 +12,7 @@ ## LoadOnDemand: 0 ## DefaultState: enabled ## X-Website: http://www.deadlybossmods.com -## X-Curse-Packaged-Version: 6.2.16-1-g294da72 +## X-Curse-Packaged-Version: 6.2.18-7-gc13aff2 ## X-Curse-Project-Name: Deadly Boss Mods ## X-Curse-Project-ID: deadly-boss-mods ## X-Curse-Repository-ID: wow/deadly-boss-mods/mainline diff --git a/AddOns/DBM-Suramar/ChronoAnomaly.lua b/AddOns/DBM-Suramar/ChronoAnomaly.lua new file mode 100644 index 000000000..a30087e00 --- /dev/null +++ b/AddOns/DBM-Suramar/ChronoAnomaly.lua @@ -0,0 +1,103 @@ +local mod = DBM:NewMod(1725, "DBM-Suramar", nil, 786) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14743 $"):sub(12, -3)) +--mod:SetCreatureID(102672, 103160) +mod:SetEncounterID(1865) +mod:SetZone() +--mod:SetUsedIcons(8, 7, 6, 3, 2, 1) +--mod:SetHotfixNoticeRev(12324) + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_CAST_START", + "SPELL_CAST_SUCCESS", + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", +-- "SPELL_DAMAGE", +-- "SPELL_MISSED", + "CHAT_MSG_MONSTER_YELL" +) + +--local warnExpelMagicFrost = mod:NewTargetAnnounce(161411, 3) + +--local specWarnTrampleNear = mod:NewSpecialWarningClose(163101) +--local yellTrample = mod:NewYell(163101) + +--local timerTrampleCD = mod:NewCDTimer(16, 163101, nil, nil, nil, 3) + +--local countdownMagicFire = mod:NewCountdownFades(11.5, 162185) + +--local voiceExpelMagicFire = mod:NewVoice(162185) + +--mod:AddRangeFrameOption("5") +--mod:AddSetIconOption("SetIconOnMC", 163472, false) +--mod:AddHudMapOption("HudMapOnMC", 163472) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +-- if self.Options.FelArrow then +-- DBM.Arrow:Hide() +-- end +-- if self.Options.HudMapOnMC then +-- DBMHudMap:Disable() +-- end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 162185 then + + end +end + +function mod:SPELL_CAST_SUCCESS(args) + local spellId = args.spellId + if spellId == 161612 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 156803 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 162186 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 205611 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then +-- specWarnMiasma:Show() +-- voiceMiasma:Play("runaway") + end +end +mod.SPELL_ABSORBED = mod.SPELL_PERIODIC_DAMAGE + +function mod:CHAT_MSG_MONSTER_YELL(msg, _, _, _, target) + if msg:find(L.supressionTarget1) then +-- self:SendSync("ChargeTo", target) + end +end + +function mod:OnSync(msg, targetname) + if not self:IsInCombat() then return end + if msg == "ChargeTo" then + + end +end +--]] diff --git a/AddOns/DBM-Suramar/DBM-Suramar.toc b/AddOns/DBM-Suramar/DBM-Suramar.toc new file mode 100644 index 000000000..963014ada --- /dev/null +++ b/AddOns/DBM-Suramar/DBM-Suramar.toc @@ -0,0 +1,26 @@ +## Interface: 70000 +## X-Min-Interface: 70000 +## Title:|cffffe00a<|r|cffff7d0aDBM|r|cffffe00a>|r |cff69ccf0Suramar|r +## Author: MysticalOS +## LoadOnDemand: 1 +## RequiredDeps: DBM-Core +## SavedVariables: DBMSuramar_AllSavedVars +## SavedVariablesPerCharacter: DBMSuramar_SavedStats +## X-DBM-Mod: 1 +## X-DBM-Mod-Type: RAID +## X-DBM-Mod-Category: LEG +## X-DBM-Mod-Has-Mythic : 1 +## X-DBM-Mod-Sort: 054 +## X-DBM-Mod-MapID: 1530 +## X-DBM-Mod-MinCoreRevision: 14737 +## X-Curse-Packaged-Version: 6.2.18-7-gc13aff2 +## X-Curse-Project-Name: Deadly Boss Mods +## X-Curse-Project-ID: deadly-boss-mods +## X-Curse-Repository-ID: wow/deadly-boss-mods/mainline +localization.en.lua +Skorpyron.lua +ChronoAnomaly.lua +Trilliax.lua +Krosus.lua +Estraeus.lua +Guldan.lua diff --git a/AddOns/DBM-Suramar/Estraeus.lua b/AddOns/DBM-Suramar/Estraeus.lua new file mode 100644 index 000000000..f27fe2a37 --- /dev/null +++ b/AddOns/DBM-Suramar/Estraeus.lua @@ -0,0 +1,104 @@ +if DBM:GetTOC() < 70000 then return end +local mod = DBM:NewMod(1732, "DBM-Suramar", nil, 786) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14757 $"):sub(12, -3)) +--mod:SetCreatureID(103769) +mod:SetEncounterID(1863) +mod:SetZone() +--mod:SetUsedIcons(8, 7, 6, 3, 2, 1) +--mod:SetHotfixNoticeRev(12324) + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_CAST_START", + "SPELL_CAST_SUCCESS", + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", +-- "SPELL_DAMAGE", +-- "SPELL_MISSED", + "CHAT_MSG_MONSTER_YELL" +) + +--local warnExpelMagicFrost = mod:NewTargetAnnounce(161411, 3) + +--local specWarnTrampleNear = mod:NewSpecialWarningClose(163101) +--local yellTrample = mod:NewYell(163101) + +--local timerTrampleCD = mod:NewCDTimer(16, 163101, nil, nil, nil, 3) + +--local countdownMagicFire = mod:NewCountdownFades(11.5, 162185) + +--local voiceExpelMagicFire = mod:NewVoice(162185) + +--mod:AddRangeFrameOption("5") +--mod:AddSetIconOption("SetIconOnMC", 163472, false) +--mod:AddHudMapOption("HudMapOnMC", 163472) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +-- if self.Options.FelArrow then +-- DBM.Arrow:Hide() +-- end +-- if self.Options.HudMapOnMC then +-- DBMHudMap:Disable() +-- end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 162185 then + + end +end + +function mod:SPELL_CAST_SUCCESS(args) + local spellId = args.spellId + if spellId == 161612 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 156803 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 162186 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 205611 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then +-- specWarnMiasma:Show() +-- voiceMiasma:Play("runaway") + end +end +mod.SPELL_ABSORBED = mod.SPELL_PERIODIC_DAMAGE + +function mod:CHAT_MSG_MONSTER_YELL(msg, _, _, _, target) + if msg:find(L.supressionTarget1) then +-- self:SendSync("ChargeTo", target) + end +end + +function mod:OnSync(msg, targetname) + if not self:IsInCombat() then return end + if msg == "ChargeTo" then + + end +end +--]] diff --git a/AddOns/DBM-Suramar/Guldan.lua b/AddOns/DBM-Suramar/Guldan.lua new file mode 100644 index 000000000..0182fe4be --- /dev/null +++ b/AddOns/DBM-Suramar/Guldan.lua @@ -0,0 +1,104 @@ +if DBM:GetTOC() < 70000 then return end +local mod = DBM:NewMod(1737, "DBM-Suramar", nil, 786) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14757 $"):sub(12, -3)) +--mod:SetCreatureID(100497) +mod:SetEncounterID(1866) +mod:SetZone() +mod:SetUsedIcons(1) +--mod:SetHotfixNoticeRev(12324) + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_CAST_START", + "SPELL_CAST_SUCCESS", + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", +-- "SPELL_DAMAGE", +-- "SPELL_MISSED", + "CHAT_MSG_MONSTER_YELL" +) + +--local warnExpelMagicFrost = mod:NewTargetAnnounce(161411, 3) + +--local specWarnTrampleNear = mod:NewSpecialWarningClose(163101) +--local yellTrample = mod:NewYell(163101) + +--local timerTrampleCD = mod:NewCDTimer(16, 163101, nil, nil, nil, 3) + +--local countdownMagicFire = mod:NewCountdownFades(11.5, 162185) + +--local voiceExpelMagicFire = mod:NewVoice(162185) + +--mod:AddRangeFrameOption("5") +--mod:AddSetIconOption("SetIconOnMC", 163472, false) +--mod:AddHudMapOption("HudMapOnMC", 163472) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +-- if self.Options.FelArrow then +-- DBM.Arrow:Hide() +-- end +-- if self.Options.HudMapOnMC then +-- DBMHudMap:Disable() +-- end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 162185 then + + end +end + +function mod:SPELL_CAST_SUCCESS(args) + local spellId = args.spellId + if spellId == 161612 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 156803 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 162186 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 205611 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then +-- specWarnMiasma:Show() +-- voiceMiasma:Play("runaway") + end +end +mod.SPELL_ABSORBED = mod.SPELL_PERIODIC_DAMAGE + +function mod:CHAT_MSG_MONSTER_YELL(msg, _, _, _, target) + if msg:find(L.supressionTarget1) then +-- self:SendSync("ChargeTo", target) + end +end + +function mod:OnSync(msg, targetname) + if not self:IsInCombat() then return end + if msg == "ChargeTo" then + + end +end +--]] diff --git a/AddOns/DBM-Suramar/Krosus.lua b/AddOns/DBM-Suramar/Krosus.lua new file mode 100644 index 000000000..9c91a9c83 --- /dev/null +++ b/AddOns/DBM-Suramar/Krosus.lua @@ -0,0 +1,104 @@ +if DBM:GetTOC() < 70000 then return end +local mod = DBM:NewMod(1713, "DBM-Suramar", nil, 786) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14743 $"):sub(12, -3)) +mod:SetCreatureID(103769)----TODO, verify +--mod:SetEncounterID(1864)--unknown, too many generic names for encounter Ids in this raid +mod:SetZone() +--mod:SetUsedIcons(8, 7, 6, 3, 2, 1) +--mod:SetHotfixNoticeRev(12324) + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_CAST_START", + "SPELL_CAST_SUCCESS", + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", +-- "SPELL_DAMAGE", +-- "SPELL_MISSED", + "CHAT_MSG_MONSTER_YELL" +) + +--local warnExpelMagicFrost = mod:NewTargetAnnounce(161411, 3) + +--local specWarnTrampleNear = mod:NewSpecialWarningClose(163101) +--local yellTrample = mod:NewYell(163101) + +--local timerTrampleCD = mod:NewCDTimer(16, 163101, nil, nil, nil, 3) + +--local countdownMagicFire = mod:NewCountdownFades(11.5, 162185) + +--local voiceExpelMagicFire = mod:NewVoice(162185) + +--mod:AddRangeFrameOption("5") +--mod:AddSetIconOption("SetIconOnMC", 163472, false) +--mod:AddHudMapOption("HudMapOnMC", 163472) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +-- if self.Options.FelArrow then +-- DBM.Arrow:Hide() +-- end +-- if self.Options.HudMapOnMC then +-- DBMHudMap:Disable() +-- end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 162185 then + + end +end + +function mod:SPELL_CAST_SUCCESS(args) + local spellId = args.spellId + if spellId == 161612 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 156803 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 162186 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 205611 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then +-- specWarnMiasma:Show() +-- voiceMiasma:Play("runaway") + end +end +mod.SPELL_ABSORBED = mod.SPELL_PERIODIC_DAMAGE + +function mod:CHAT_MSG_MONSTER_YELL(msg, _, _, _, target) + if msg:find(L.supressionTarget1) then +-- self:SendSync("ChargeTo", target) + end +end + +function mod:OnSync(msg, targetname) + if not self:IsInCombat() then return end + if msg == "ChargeTo" then + + end +end +--]] diff --git a/AddOns/DBM-Suramar/License.txt b/AddOns/DBM-Suramar/License.txt new file mode 100644 index 000000000..3b64efad3 --- /dev/null +++ b/AddOns/DBM-Suramar/License.txt @@ -0,0 +1 @@ +All Rights Reserved unless otherwise explicitly stated. \ No newline at end of file diff --git a/AddOns/DBM-Suramar/Skorpyron.lua b/AddOns/DBM-Suramar/Skorpyron.lua new file mode 100644 index 000000000..3612efb85 --- /dev/null +++ b/AddOns/DBM-Suramar/Skorpyron.lua @@ -0,0 +1,159 @@ +if DBM:GetTOC() < 70000 then return end +local mod = DBM:NewMod(1706, "DBM-Suramar", nil, 786) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14765 $"):sub(12, -3)) +mod:SetCreatureID(102263) +mod:SetEncounterID(1849) +mod:DisableESCombatDetection()--Remove if blizz fixes trash firing ENCOUNTER_START +mod:SetZone() +mod:SetUsedIcons(8, 7, 6, 5, 4, 3, 2, 1) +--mod:SetHotfixNoticeRev(12324) +mod.respawnTime = 30 + +mod:RegisterCombat("combat") + +mod:RegisterEventsInCombat( + "SPELL_CAST_START 204275 204372 204316 204471", + "SPELL_SUMMON 204292", + "SPELL_AURA_APPLIED 204531 204459 204697", + "SPELL_AURA_REMOVED 204459 204697" +) + +--TODO, boss still gains energy during vulnerable but I didn't really see enough data yet to determine if I should do anything special with timers +--I believe he'll just use whatever abilities he's ready to use after his stun is gone. So maybe just extend timers that expire during stun, or just leave be. +local warnBrokenShard = mod:NewSpellAnnounce(204292, 2, nil, false) +local warnVulnerable = mod:NewTargetAnnounce(204459, 1) +local warnCallScorp = mod:NewSpellAnnounce(204372, 3) + +local specWarnTether = mod:NewSpecialWarningYou(204531, nil, nil, nil, 1, 2) +local specWarnArcanoslash = mod:NewSpecialWarningSpell(204275, "Tank", nil, nil, 1, 2) +local specWarnCallofScorp = mod:NewSpecialWarningSwitch(204372, "Tank", nil, nil, 1, 2)--Determine common strat for dps switching +local specWarnNetherDischarge = mod:NewSpecialWarningDodge(204471, nil, nil, nil, 2, 2) +local specWarnShockwave = mod:NewSpecialWarningMoveTo(204316, nil, DBM_CORE_AUTO_SPEC_WARN_OPTIONS.dodge:format(158986), nil, 3, 2) +local specWarnVulnerableStarted = mod:NewSpecialWarningSwitch(204459, false, nil, nil, 1) +local specWarnVulnerableOver = mod:NewSpecialWarningEnd(204459, false, nil, nil, 1)--Special warning because anything that came off cd during stun, is being cast immediately + +local timerArcanoslashCD = mod:NewCDTimer(10, 204275, nil, "Tank", nil, 5, nil, DBM_CORE_TANK_ICON) +local timerCallofScorpidCD = mod:NewCDTimer(18.2, 204372, nil, nil, nil, 1)--18-20 Unless delayed by shockwave then as high as 28-29 +local timerShockwaveCD = mod:NewCDTimer(58.3, 204316, nil, nil, nil, 2, nil, DBM_CORE_DEADLY_ICON)--58-60 +local timerNetherDischargeCD = mod:NewCDTimer(30.3, 204471, nil, nil, nil, 3)--30-34 +local timerVulnerable = mod:NewBuffFadesTimer(15, 204459, nil, nil, nil, 6) + +local countdownShockwave = mod:NewCountdown(58.3, 204316) +local countdownNetherDischarge = mod:NewCountdown("Alt30.3", 204471) + +local voiceTether = mod:NewVoice(204531)-- "180880" for "break chain" +local voiceArcanoslash = mod:NewVoice(204275, "Tank")--defensive +local voiceCallScorp = mod:NewVoice(204372)--killmob +local voiceShockwave = mod:NewVoice(204316)--findshelter/safenow +local voiceNetherDischarge = mod:NewVoice(204471)--"watchstep". "shockwave" makes more sense, but may confuse users because boss has an actual ability called "shockwave" + +--mod:AddRangeFrameOption(10, 204531) +mod:AddSetIconOption("SetIconOnVolatileScorpion", 204697, true, true) +--mod:AddHudMapOption("HudMapOnMC", 163472) + +mod.vb.volatileScorpCount = 0 + +local shardName = GetSpellInfo(204292) + +function mod:OnCombatStart(delay) + self.vb.volatileScorpCount = 0 + timerArcanoslashCD:Start(5-delay) + timerNetherDischargeCD:Start(13-delay) + countdownNetherDischarge:Start(13-delay) + timerCallofScorpidCD:Start(20.5-delay) + timerShockwaveCD:Start(57-delay) + countdownShockwave:Start(57-delay) +end + +function mod:OnCombatEnd() + +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 204275 and self:AntiSpam(5, 1) then + specWarnArcanoslash:Show() + voiceArcanoslash:Play("defensive") + timerArcanoslashCD:Start() + elseif spellId == 204372 then + timerCallofScorpidCD:Start() + if self.Options.SpecWarn204372switch and self:AntiSpam(3.5, 2) then--Even if enabled, only special warn once every 3.5 seconds + specWarnCallofScorp:Show() + voiceCallScorp:Play("killmob") + else + warnCallScorp:Show() + end + elseif spellId == 204316 then + specWarnShockwave:Show(shardName) + voiceShockwave:Play("findshelter") + voiceShockwave:Cancel()--In case boss stutter cases or starts cast over + voiceShockwave:Schedule(3.5, "safenow") + timerShockwaveCD:Start() + countdownShockwave:Start() + local elapsed, total = timerCallofScorpidCD:GetTime() + local remaining = total - elapsed + if remaining < 11 then--delayed by shockwave + timerCallofScorpidCD:Cancel() + if total == 0 then--Just in case timer expired just before cast + DBM:Debug("experimental timer extend firing for call of scorpid. Extend amount: "..11) + timerCallofScorpidCD:Start(11) + else + local extend = 11 - remaining + DBM:Debug("experimental timer extend firing for call of scorpid. Extend amount: "..extend) + timerCallofScorpidCD:Update(elapsed, total+extend) + end + end + elseif spellId == 204471 then + specWarnNetherDischarge:Show() + voiceNetherDischarge:Play("watchstep") + timerNetherDischargeCD:Start() + countdownNetherDischarge:Start() + end +end + +function mod:SPELL_SUMMON(args) + local spellId = args.spellId + if spellId == 204292 then + warnBrokenShard:Show() + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 204531 then + if args:IsPlayer() then + specWarnTether:Show() + voiceTether:Play("180880") + end + elseif spellId == 204459 then + if self.Options.SpecWarn204459switch then + specWarnVulnerableStarted:Show() + else + warnVulnerable:Show(args.destName) + end + timerVulnerable:Start() + elseif spellId == 204697 then--Red scorpion + if self.Options.SpecWarn204372switch and self:AntiSpam(3.5, 2) then--Even if enabled, only special warn once every 3.5 seconds + specWarnCallofScorp:Show() + voiceCallScorp:Play("killmob") + else + warnCallScorp:Show() + end + self.vb.volatileScorpCount = self.vb.volatileScorpCount + 1 + if self.Options.SetIconOnVolatileScorpion then + local icon = 9 - self.vb.volatileScorpCount + self:ScanForMobs(args.destGUID, 0, icon, 1, 0.1, 10, "SetIconOnVolatileScorpion") + end + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 204459 then + specWarnVulnerableOver:Show() + elseif spellId == 204697 then--Red scorpion + self.vb.volatileScorpCount = self.vb.volatileScorpCount - 1 + end +end diff --git a/AddOns/DBM-Suramar/Trilliax.lua b/AddOns/DBM-Suramar/Trilliax.lua new file mode 100644 index 000000000..e8e5f0383 --- /dev/null +++ b/AddOns/DBM-Suramar/Trilliax.lua @@ -0,0 +1,104 @@ +if DBM:GetTOC() < 70000 then return end +local mod = DBM:NewMod(1731, "DBM-Suramar", nil, 786) +local L = mod:GetLocalizedStrings() + +mod:SetRevision(("$Revision: 14743 $"):sub(12, -3)) +--mod:SetCreatureID(100497) +mod:SetEncounterID(1867) +mod:SetZone() +mod:SetUsedIcons(1) +--mod:SetHotfixNoticeRev(12324) + +mod:RegisterCombat("combat") + +--[[ +mod:RegisterEventsInCombat( + "SPELL_CAST_START", + "SPELL_CAST_SUCCESS", + "SPELL_AURA_APPLIED", + "SPELL_AURA_REMOVED", +-- "SPELL_DAMAGE", +-- "SPELL_MISSED", + "CHAT_MSG_MONSTER_YELL" +) + +--local warnExpelMagicFrost = mod:NewTargetAnnounce(161411, 3) + +--local specWarnTrampleNear = mod:NewSpecialWarningClose(163101) +--local yellTrample = mod:NewYell(163101) + +--local timerTrampleCD = mod:NewCDTimer(16, 163101, nil, nil, nil, 3) + +--local countdownMagicFire = mod:NewCountdownFades(11.5, 162185) + +--local voiceExpelMagicFire = mod:NewVoice(162185) + +--mod:AddRangeFrameOption("5") +--mod:AddSetIconOption("SetIconOnMC", 163472, false) +--mod:AddHudMapOption("HudMapOnMC", 163472) + +function mod:OnCombatStart(delay) + +end + +function mod:OnCombatEnd() +-- if self.Options.RangeFrame then +-- DBM.RangeCheck:Hide() +-- end +-- if self.Options.FelArrow then +-- DBM.Arrow:Hide() +-- end +-- if self.Options.HudMapOnMC then +-- DBMHudMap:Disable() +-- end +end + +function mod:SPELL_CAST_START(args) + local spellId = args.spellId + if spellId == 162185 then + + end +end + +function mod:SPELL_CAST_SUCCESS(args) + local spellId = args.spellId + if spellId == 161612 then + + end +end + +function mod:SPELL_AURA_APPLIED(args) + local spellId = args.spellId + if spellId == 156803 then + + end +end + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 162186 then + + end +end + +function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId) + if spellId == 205611 and destGUID == UnitGUID("player") and self:AntiSpam(2, 1) then +-- specWarnMiasma:Show() +-- voiceMiasma:Play("runaway") + end +end +mod.SPELL_ABSORBED = mod.SPELL_PERIODIC_DAMAGE + +function mod:CHAT_MSG_MONSTER_YELL(msg, _, _, _, target) + if msg:find(L.supressionTarget1) then +-- self:SendSync("ChargeTo", target) + end +end + +function mod:OnSync(msg, targetname) + if not self:IsInCombat() then return end + if msg == "ChargeTo" then + + end +end +--]] diff --git a/AddOns/DBM-Suramar/localization.en.lua b/AddOns/DBM-Suramar/localization.en.lua new file mode 100644 index 000000000..b5710f15f --- /dev/null +++ b/AddOns/DBM-Suramar/localization.en.lua @@ -0,0 +1,52 @@ +local L + +--------------- +-- Skorpyron -- +--------------- +L= DBM:GetModLocalization(1706) + +L:SetWarningLocalization({ +}) + +L:SetTimerLocalization({ +}) + +L:SetOptionLocalization({ +}) + +L:SetMiscLocalization({ +}) + +--------------------------- +-- Chronomatic Anomaly -- +--------------------------- +L= DBM:GetModLocalization(1725) + +--------------------------- +-- Trilliax -- +--------------------------- +L= DBM:GetModLocalization(1731) + +------------------ +-- Krosus -- +------------------ +L= DBM:GetModLocalization(1713) + +------------------ +-- Star Augur Estraeus -- +------------------ +L= DBM:GetModLocalization(1732) + +------------------ +-- Gul'dan -- +------------------ +L= DBM:GetModLocalization(1737) + +------------- +-- Trash -- +------------- +L = DBM:GetModLocalization("SuramarTrash") + +L:SetGeneralLocalization({ + name = "Suramar Trash" +}) diff --git a/AddOns/DBM-ThroneofThunder/Primordius.lua b/AddOns/DBM-ThroneofThunder/Primordius.lua index b4eea59d3..db9180b06 100644 --- a/AddOns/DBM-ThroneofThunder/Primordius.lua +++ b/AddOns/DBM-ThroneofThunder/Primordius.lua @@ -1,7 +1,7 @@ local mod = DBM:NewMod(820, "DBM-ThroneofThunder", nil, 362) local L = mod:GetLocalizedStrings() -mod:SetRevision(("$Revision: 72 $"):sub(12, -3)) +mod:SetRevision(("$Revision: 82 $"):sub(12, -3)) mod:SetCreatureID(69017)--69070 Viscous Horror, 69069 good ooze, 70579 bad ooze (patched out of game, :\) mod:SetEncounterID(1574) mod:SetZone() @@ -216,7 +216,7 @@ function mod:SPELL_AURA_REMOVED(args) DBM.RangeCheck:Hide() end end - elseif spellId == 140546 and args:IsPlayer() then + elseif spellId == 140546 and args:IsPlayer() and self:IsInCombat() then timerFullyMutated:Cancel()--Can be dispeled specWarnFullyMutatedFaded:Show(args.spellName) end diff --git a/AddOns/DBM-WorldEvents/DBM-WorldEvents.toc b/AddOns/DBM-WorldEvents/DBM-WorldEvents.toc index 306eb100c..9559499f6 100644 --- a/AddOns/DBM-WorldEvents/DBM-WorldEvents.toc +++ b/AddOns/DBM-WorldEvents/DBM-WorldEvents.toc @@ -40,9 +40,9 @@ ## X-DBM-Mod-Name-frFR: Évènements Mondiaux ## X-DBM-Mod-MapID: 230,189,33,547,1004, 1, 0 ## X-DBM-Mod-Sort: 150 -## X-DBM-Mod-LoadCID: 55003,54499,15467,15466,49687,15664,96448,23558,27215,23486,24710,24484 +## X-DBM-Mod-LoadCID: 55003,54499,15467,15466,49687,15664,23558,27215,23486,24710,24484 ## X-DBM-Mod-MinCoreRevision: 12473 -## X-Curse-Packaged-Version: 6.2.16-1-g294da72 +## X-Curse-Packaged-Version: 6.2.18-7-gc13aff2 ## X-Curse-Project-Name: Deadly Boss Mods ## X-Curse-Project-ID: deadly-boss-mods ## X-Curse-Repository-ID: wow/deadly-boss-mods/mainline @@ -62,5 +62,4 @@ Holidays\CorenDirebrew.lua Holidays\Brew.lua Holidays\HeadlessHorseman.lua Holidays\Greench.lua -Holidays\Grumpus.lua Quests\Plants.lua diff --git a/AddOns/DBM-WorldEvents/localization.de.lua b/AddOns/DBM-WorldEvents/localization.de.lua index c87c71395..dd5c51b08 100644 --- a/AddOns/DBM-WorldEvents/localization.de.lua +++ b/AddOns/DBM-WorldEvents/localization.de.lua @@ -119,15 +119,6 @@ L:SetGeneralLocalization({ name = "Der monströse Griesgram" }) ---------------- --- Grumpus -- ---------------- -L = DBM:GetModLocalization("Grumpus") - -L:SetGeneralLocalization({ - name = "Grumpus" -}) - -------------------------- -- Plants Vs. Zombies -- -------------------------- diff --git a/AddOns/DBM-WorldEvents/localization.en.lua b/AddOns/DBM-WorldEvents/localization.en.lua index 3bab78317..b2c2b2bc5 100644 --- a/AddOns/DBM-WorldEvents/localization.en.lua +++ b/AddOns/DBM-WorldEvents/localization.en.lua @@ -118,15 +118,6 @@ L:SetGeneralLocalization({ name = "The Abominable Greench" }) ---------------- --- Grumpus -- ---------------- -L = DBM:GetModLocalization("Grumpus") - -L:SetGeneralLocalization({ - name = "Grumpus" -}) - -------------------------- -- Plants Vs. Zombies -- -------------------------- diff --git a/AddOns/DBM-WorldEvents/localization.kr.lua b/AddOns/DBM-WorldEvents/localization.kr.lua index 5a7b39ac1..15d8f4fa5 100644 --- a/AddOns/DBM-WorldEvents/localization.kr.lua +++ b/AddOns/DBM-WorldEvents/localization.kr.lua @@ -119,15 +119,6 @@ L:SetGeneralLocalization({ name = "썩은내 그린치" }) ---------------- --- Grumpus -- ---------------- -L = DBM:GetModLocalization("Grumpus") - -L:SetGeneralLocalization({ - name = "투덜이" -}) - -------------------------- -- Plants Vs. Zombies -- -------------------------- diff --git a/AddOns/DBM-WorldEvents/localization.tw.lua b/AddOns/DBM-WorldEvents/localization.tw.lua index 64fadab14..6b4b728a6 100644 --- a/AddOns/DBM-WorldEvents/localization.tw.lua +++ b/AddOns/DBM-WorldEvents/localization.tw.lua @@ -119,15 +119,6 @@ L:SetGeneralLocalization({ name = "可惡的格林奇" }) ---------------- --- Grumpus -- ---------------- -L = DBM:GetModLocalization("Grumpus") - -L:SetGeneralLocalization({ - name = "壞心鬼" -}) - -------------------------- -- Plants Vs. Zombies -- -------------------------- diff --git a/AddOns/FollowerLocationInfo/Bindings.xml b/AddOns/FollowerLocationInfo/Bindings.xml index 8b816dffd..fa8689cd0 100644 --- a/AddOns/FollowerLocationInfo/Bindings.xml +++ b/AddOns/FollowerLocationInfo/Bindings.xml @@ -1,5 +1,5 @@ - FollowerLocationInfo_Toggle(); + FollowerLocationInfo_ToggleJournal(); diff --git a/AddOns/FollowerLocationInfo/Changelog-FollowerLocationInfo-0.11-release4.txt b/AddOns/FollowerLocationInfo/Changelog-FollowerLocationInfo-0.11-release4.txt new file mode 100644 index 000000000..ef7dd1150 --- /dev/null +++ b/AddOns/FollowerLocationInfo/Changelog-FollowerLocationInfo-0.11-release4.txt @@ -0,0 +1,12 @@ +tag 0.11-release4 +c4019bbf37713d3de5e3e5ef1a4ea3b0ad86bbdd +Hizuro +2016-02-04 07:17:23 +0100 + +Tagging as 0.11-release4 + + +-------------------- + +Hizuro: + - fix problem with DataBroker module again... diff --git a/AddOns/FollowerLocationInfo/Collector.lua b/AddOns/FollowerLocationInfo/Collector.lua new file mode 100644 index 000000000..1e56cf7da --- /dev/null +++ b/AddOns/FollowerLocationInfo/Collector.lua @@ -0,0 +1,97 @@ + +local levelIdx,qualityIdx,classIdx,classSpecIdx,portraitIdx,modelIdx,modelHeightIdx,modelScaleIdx,abilitiesIdx,countersIdx,traitsIdx,isCollectableIdx = 1,2,3,4,5,6,7,8,9,10,11,12; -- table indexes for FollowerLocationInfoData.basics entries. +local D = FollowerLocationInfoData; + +function FollowerLocationInfo_Collector(clear) + if(clear)then FollowerLocationInfoDataCollectorDB = {}; return end + + local Faction = UnitFactionGroup("player"); + local dataFaction = C_Garrison.GetFollowerInfo(34).displayID==55047 and "Alliance" or "Horde"; + if Faction~=dataFaction then + print("|cffff0000ERROR|r: |cffffaa00Collector disabled! Blizzard provides follower data from opposite faction|r"); + return; + end + + local _CLASS_SORT_ORDER={}; + for i=1, #CLASS_SORT_ORDER do + _CLASS_SORT_ORDER[CLASS_SORT_ORDER[i]:lower()] = i; + end + + if(not FollowerLocationInfoDataCollectorDB) then + FollowerLocationInfoDataCollectorDB={}; + end + + local db = FollowerLocationInfoDataCollectorDB; + local line = "B[%d] = {%d,%d,%d,%d,%d,%d,%s,%s,{%s},{%s},{%s},%s}"; + + db[Faction] = {}; + + local collectable = {}; + for i,v in ipairs(C_Garrison.GetFollowers() or {})do + collectable[tonumber(v.garrFollowerID or v.followerID)] = true; + end + + for i=1, 650 do + local v = C_Garrison.GetFollowerInfo(i); + if (v) and (v.portraitIconID~=0) then + local a,c,t = {},{},{}; + for _,V in ipairs(C_Garrison.GetFollowerAbilities(i) or {}) do + if(V.id)then + if(V.isTrait)then + tinsert(t,V.id); -- traits + else + tinsert(a,V.id); -- abilities + if(V.counters)then + for cID in pairs(V.counters) do + tinsert(c,cID); + end + end + end + end + end + tinsert(db[Faction],line:format( + i, + v.level, + v.quality, + D.ClassName2ID[gsub(v.classAtlas,"GarrMission_ClassIcon%-",""):lower()], + v.classSpec, + v.portraitIconID, + v.displayID, + v.displayHeight, + v.displayScale, + table.concat(a,","), -- abilities + table.concat(c,","), -- counters [from abilities] + table.concat(t,","), -- traits + (collectable[i] and "true" or "false") + )); + end + end +end + + +function FollowerLocationInfo_GetTooltipData(Type,Id) + local tt,data,line,link = FollowerLocationInfo_Tooltip,{},1; + tt:Show(); + tt:SetOwner(UIParent,"LEFT",0,0); + if Type=="npc" then + link="unit:Creature-0-1-1-1-"..Id.."-0"; + elseif Type=="object" then + link="unit:GameObject-0-1-1-1-"..Id.."-0"; +-- elseif Type=="follower" then +-- link="garrfollower:34:4:100:600:"..Id..":0:0:0:0:0:0:0"; + end + if link then + tt:SetHyperlink(link); + for _,v in ipairs({tt:GetRegions()}) do + if v and v:GetObjectType()=="FontString" and v:GetText() then + data["tooltipLine"..line]=v:GetText(); + line=line+1; + end + end + tt:ClearLines(); + tt:Hide(); + return data; + end + return false; +end + diff --git a/AddOns/FollowerLocationInfo/Core.lua b/AddOns/FollowerLocationInfo/Core.lua new file mode 100644 index 000000000..17311c68e --- /dev/null +++ b/AddOns/FollowerLocationInfo/Core.lua @@ -0,0 +1,700 @@ + +FollowerLocationInfoDB = {}; +local addon, ns = ...; + +local D = FollowerLocationInfoData; +local L = D.Locale; +local levelIdx,qualityIdx,classIdx,classSpecIdx,portraitIdx,modelIdx,modelHeightIdx,modelScaleIdx,abilitiesIdx,countersIdx,traitsIdx,isCollectableIdx = 1,2,3,4,5,6,7,8,9,10,11,12; -- table indexes for FollowerLocationInfoData.basics entries. +local UpdateCallbacks,UpdateLock,isLoaded=false,false,false; +local garrLevel = 0; + +function ns.print(...) + print("|cff00ff00"..addon.."|r",...) +end + +local function count(t,v,d) + if(t[v]==nil)then t[v]=0; end + t[v]=t[v]+d; +end + +function ns.GetLinkData(link) + assert(type(link)=="string","argument #1 must be a string, got "..type(link)); + local tt,data,reg,_ = FollowerLocationInfo_Tooltip,{}; + + local retry = function() + local link = tt.nextLinks[1]; + tremove(tt.nextLinks,1); + ns.GetLinkData(link); + end + + if(tt.nextLinks==nil)then + tt.nextLinks = {}; + tt.retry = 0; + end + + if(tt.currentLink)then + tinsert(tt.nextLinks,link); + tt.retry = tt.retry+1; + if(tt.retry==1)then + C_Timer.After(0.314159, retry); + end + return false; + end + + tt.currentLink=link; + + tt:Show(); + tt:SetOwner(UIParent,"LEFT",0,0); + tt:SetHyperlink(link); + for _,v in pairs({tt:GetRegions()}) do + if v and v:GetObjectType()=="FontString" and v:GetText() then + tinsert(data,v:GetText()); + end + end + tt:ClearLines(); + tt:Hide(); + + tt.currentLink = nil; + + if(#tt.nextLinks>0)then + C_Timer.After(0.314159, retry); + end + + return data, line; +end + +local function UpdateFollowers() + if UpdateLock==true then return; end + + -- sometimes blizzards functions returning data from wrong faction. + -- 99% chance on characters without own garrison. (too high for a bug) + -- 1% chance on characters with garrisons. (maybe a bug) + local dataFaction = C_Garrison.GetFollowerInfo(34).displayID==55047 and "Alliance" or "Horde"; + local blizz = {}; + local pLevel = UnitLevel("player"); + garrLevel = (garrLevel>0 and garrLevel) or C_Garrison.GetGarrisonInfo() or 0; + + -- Sometimes PLAYER_ENTERING_WORLD aren't late enough to get some data from blizz. + if pLevel>=90 and garrLevel==0 then + C_Timer.After(6,function() + UpdateFollowers(); + end); + return; + end + + UpdateLock = true; + + wipe(D.unknown); + wipe(D.collected); + wipe(D.collectGroups); + + --- reset all counter + D.counter.blizz=0; + D.counter.collectables[2]=0; + D.counter.recruitables[2]=0; + + -- reset all collected counter + for _,k in ipairs({"class","classspec","abilities","counters","traits"})do + for K,v in pairs(D.counter[k])do + D.counter[k][K][2]=0; + end + end + for i in pairs(D.otherFiltersCount)do + D.otherFiltersCount[i][2]=0; + end + --- + + for id, data in pairs(D.basics)do + if(#data[abilitiesIdx]>0 or #data[traitsIdx]>0)then + local basicIds = {}; + for i=1, #data[abilitiesIdx] do + basicIds[data[abilitiesIdx][i]] = true; + end + for i=1, #data[traitsIdx] do + basicIds[data[traitsIdx][i]] = true; + end + for _,a in ipairs(C_Garrison.GetFollowerAbilities(id) or {}) do + if basicIds[a.id] and a.name then + local n = a.isTrait and "traits" or "abilities"; + if D[n][a.id]==nil then + a.link = C_Garrison.GetFollowerAbilityLink(a.id); -- missing link from C_Garrison.GetFollowerAbilities() + D[n][a.id]=a; + if D.counter[n][a.id]==nil then + D.counter[n][a.id]={data[isCollectableIdx] and 1 or 0,0}; + end + end + if n~="traits" and a.counters then + for I,b in pairs(a.counters) do + if D.counters[I]==nil then + D.counters[I] = b; + if data[isCollectableIdx] and D.counter.counters[I]==nil then + D.counter.counters[I] = {data[isCollectableIdx] and 1 or 0,0}; + end + end + if D.ability2counters[a.id]==nil then + D.ability2counters[a.id] = {}; + end + D.ability2counters[a.id][I]=true; + if D.counters2ability[I]==nil then + D.counters2ability[I] = {}; + end + D.counters2ability[I][a.id]=true; + end + end + end + end + end + + if D.classSpec[data[classSpecIdx]]==nil then + local v = C_Garrison.GetFollowerInfo(id); + local class = gsub(v.classAtlas,"GarrMission_ClassIcon%-",""):lower(); + D.classSpec[data[classSpecIdx]]={ + C_Garrison.GetFollowerClassSpecName(id), -- localized class specialization name + class, -- englsh class name + LOCALIZED_CLASS_NAMES_MALE[class:upper()], -- localized class name + D.ClassName2ID[v.class] -- class id + }; + end + + if D.counter.classspec[data[classSpecIdx]]==nil then + D.counter.classspec[data[classSpecIdx]] = {data[isCollectableIdx] and 1 or 0,0}; + end + + if(D.descriptions[id])then + if(D.descriptions[id].collectGroup)then + D.collectGroups[D.descriptions[id]] = D.collected[id]==true; + end + end + + count(D.counter,data[isCollectableIdx] and "collectable" or "recruitable",1); + end + + if dataFaction==D.Faction then + blizz = C_Garrison.GetFollowers(LE_FOLLOWER_TYPE_GARRISON_6_0); + D.counter.blizz=#blizz; + end + + if(#blizz>0) then + for i,v in ipairs(blizz)do + local id = tonumber(v.garrFollowerID or v.followerID); + local b = D.basics[id]; + local isCollectable = b[isCollectableIdx]; + v.class = gsub(v.classAtlas,"GarrMission_ClassIcon%-",""):lower(); + + D.collected[id] = v.isCollected or nil; + + if(isCollectable and v.isCollected)then + for _,I in ipairs(b[abilitiesIdx])do + count(D.counter.abilities[I],2,1); + end + for _,I in ipairs(b[countersIdx])do + count(D.counter.counters[I],2,1); + end + for _,I in ipairs(b[traitsIdx])do + count(D.counter.traits[I],2,1); + end + count(D.counter.class[D.ClassName2ID[v.class]],2,1); + count(D.counter.classspec[v.classSpec],2,1); + count(D.counter.qualities[b[qualityIdx]],2,1); + if D.descriptions[id] then + for _,obj in ipairs(D.descriptions[id])do + if(obj[1]=="Requirements")then + for i=2, #obj do + local subObj = obj[i]; + if(D.otherFilters[subObj[1]] and D.otherFilters[subObj[1]][id])then + count(D.otherFiltersCount[subObj[1]],2,1); + end + end + elseif(D.otherFilters[obj[1]] and D.otherFilters[obj[1]][id])then + count(D.otherFiltersCount[obj[1]],2,1); + end + end + end + count(D.counter.collectables,2,1); + elseif not isCollectable then + count(D.counter.recruitables,2,1); + end + + if not b then + local t={abilities={},counters={},traits={}}; + for _,a in ipairs(C_Garrison.GetFollowerAbilities(id) or {}) do + if a.name then + local n = a.isTrait and "traits" or "abilities"; + tinsert(t[n],a.id); + a.link = C_Garrison.GetFollowerAbilityLink(a.id); + if D[n][a.id]==nil then + D[n][a.id]=a; + end + if D.counter[n][a.id]==nil then + D.counter[n][a.id]={1,v.isCollected and 1 or 0}; + end + if n~="traits" and a.counters then + for I,b in pairs(a.counters) do + if D.counters[I]==nil then + D.counters[I] = b; + end + if D.ability2counters[a.id]==nil then + D.ability2counters[a.id] = {}; + end + D.ability2counters[a.id][I]=true; + if D.counters2ability[I]==nil then + D.counters2ability[I] = {}; + end + D.counters2ability[I][a.id]=true; + if isCollectable and D.counter.counters[I]==nil then + D.counter.counters[I] = {1,v.isCollected and 1 or 0}; + end + end + end + end + end + + D.basics[id] = { + v.level, + v.quality, + 0, --v.class, + v.classSpec, + v.portraitIconID, + v.displayID, + v.displayHeight, + v.displayScale, + t.abilities, + t.counters, + t.traits, + (not collectable[i]) + }; + tinsert(D.unknown,id); + count(D.counter,"unknown",1,1); + end + + if not rawget(L,"follower_"..id) then + L["follower_"..id] = v.name; + end + end + + D.counter.unknown = #D.unknown; + end + + if(UpdateCallbacks)then + for _,func in pairs(UpdateCallbacks)do + func(); + end + end + + UpdateLock = false; +end + +local function CheckAndLoadJournal() + if(not FollowerLocationInfoJournal)then + local _,_,_,_,status = GetAddOnInfo(addon.."_Journal"); + if status~="MISSING" then + EnableAddOn(addon.."_Journal"); + end + LoadAddOn(addon.."_Journal"); + if( not FollowerLocationInfoJournal)then + FollowerLocationInfo_ShowInfoBox("journal not loadable"); + return false; + end + end + return true; +end + +--[=[ some global accessable functions ]=] +function FollowerLocationInfo_RegisterUpdateCallback(func) + if(not UpdateCallbacks)then UpdateCallbacks={}; end + local funcID = tostring(func); + if(not UpdateCallbacks[funcID])then + UpdateCallbacks[funcID] = func; + end +end + +function FollowerLocationInfo_UnregisterUpdateCallback(func) + if(not UpdateCallbacks)then return end + local funcID = tostring(func); + if(UpdateCallback[funcID])then + UpdateCallbacks[funcID] = nil; + end +end + +function FollowerLocationInfo_OptionMenu(parent,point,relativePoint) + if not parent.tooltip then + parent.tooltip = { OPTIONS }; + return; + end + local db = FollowerLocationInfoDB; + + PlaySound("igMainMenuOptionCheckBoxOn"); + ns.MenuGenerator.InitializeMenu(); + ns.MenuGenerator.addEntry({ + { label = "DataBroker", title=true }, + { + label = L["Show minimap button"], tooltip = {L["Minimap"],L["Show/Hide minimap button"]}, + checked = function() return db.LDBi_Enabled; end, + func = function() FollowerLocationInfo_MinimapButton(); end + }, + { + label = L["Broker button text"], tooltip = {L["Broker button text"],L["Choose what you want to look on broker button"]}, + childs = { + { + label = L["Addon name"], + checked = function() + return db.LDB_PlayerCoords==false + --and db.LDB_TargetCoords==false + and db.LDB_NumFollowers==false; + end, + func=function(self) + db.LDB_PlayerCoords = false; + --db.LDB_TargetCoords = false; + db.LDB_NumFollowers = false; + UIDropDownMenu_Refresh(FollowerLocationInfoEasyMenu,nil,2); + end, + event=function() ns.LDB_Update(); end, + }, + { + label = L["Your coordinates"], + checked = function() + return db.LDB_PlayerCoords==true + --and db.LDB_TargetCoords==false + and db.LDB_NumFollowers==false; + end, + func=function() + db.LDB_PlayerCoords = true; + --db.LDB_TargetCoords = false; + db.LDB_NumFollowers = false; + UIDropDownMenu_Refresh(FollowerLocationInfoEasyMenu,nil,2); + end, + event=function() ns.LDB_Update(); end, + }, + { + label = L["Collected followers"], + checked = function() + return db.LDB_PlayerCoords==false + --and db.LDB_TargetCoords==false + and db.LDB_NumFollowers==true; + end, + func=function() + db.LDB_PlayerCoords = false; + --db.LDB_TargetCoords = false; + db.LDB_NumFollowers = true; + UIDropDownMenu_Refresh(FollowerLocationInfoEasyMenu,nil,2); + end, + event=function() ns.LDB_Update(); end, + }, + { + label = L["Your coordinates + collected followers"], + checked = function() + return db.LDB_PlayerCoords==true + --and db.LDB_TargetCoords==false + and db.LDB_NumFollowers==true; + end, + func=function() + db.LDB_PlayerCoords = true; + --db.LDB_TargetCoords = false; + db.LDB_NumFollowers = true; + UIDropDownMenu_Refresh(FollowerLocationInfoEasyMenu,nil,2); + end, + event=function() ns.LDB_Update(); end, + }, + } + }, + { separator = true }, + { label = "Journal", title=true }, + { + label = L["Favorite website"], tooltip = {L["Favorite website"],L["Choose your favorite website for further informations"]}, + dbType="select", keyName="ExternalURL", + default = "WoWHead", + values = ns.ExternalURLValues, + event = function() FollowerLocationInfoJournalFollowerCard_Update(); FollowerLocationInfoJournalFollowerDesc_Update() end + }, + { + label = L["Standalone mode"], tooltip={L["Standalone mode"],L["Display the journal like garrison report with own window"],"|cffff0000"..L["Needs UI reload!"].."|r","|cffff8800"..L["Will be automatically reload your ui while your are not in combat..."].."|r"}, + dbType = "bool", keyName="standalone", + event = function() if not InCombatLockdown() then ReloadUI(); end end + }, + { + label = L["Show FollowerID"], tooltip={L["FollowerID"],L["Show followerIDs in follower list"]}, + dbType="bool", keyName="ShowFollowerID", + event = function() FollowerLocationInfoJournalFollowerList_Update(); end + }, + --[[ + { separator = true }, + { label = "Tracker.", title=true }, + { + label = L[ "Show coordination frame"], tooltip = {L[ "Coordination frame"],L[ "Show the coordinates frame"]}, + dbType="bool", keyName="ShowCoordsFrame", + event = function() + if (db.ShowCoordsFrame) then + FollowerLocationInfoCoordFrame:Show(); + else + FollowerLocationInfoCoordFrame:Hide(); + end + end + }, + --]] + }); + ns.MenuGenerator.ShowMenu(parent, point or "TOPLEFT", relativePoint or "TOPRIGHT"); +end + +--- InfoBox +-- Display an frame for infomation and error messages +-- @params: +-- msg - a string that must be match to an error message entry from table infoBoxErrors. +local infoBoxErrors = { + ["missing data"] = L["Your installed version of FollowerLocationInfo requires an additional addon to work.|nPlease install FollowerLocationInfo_Data."], + ["data too old"] = L["Your installed version of FollowerLocationInfo requires a newer version of FollowerLocationInfo_Data.|nPlease update it..."], + ["journal not loadable"] = L["Couldn't load FollowerLocationInfo_Journal. Please check if FollowerLocationInfo_Data is enabled."] +} +function FollowerLocationInfo_ShowInfoBox(msg) + local self = FollowerLocationInfo; + local smallbr,br,deco = "

|n

","
","

|TInterface\\AddOns\\FollowerLocationInfo_Data\\media\\%s:15:320:0:12:128:16:24:64:1:16|t

"; + local message,errorMessage = {},{"

|TInterface\\DialogFrame\\UI-Dialog-Icon-AlertNew:0|t Houston, we have a problem!

",deco:format("red")}; + + if(msg=="version")then + message = { + "

Sorry...

", + deco:format("blue"), + "

for the long time without updates.

", + br, + "

Whats new in FollowerLocationInfo?

", + deco:format("blue"), + "

* basic data, descriptions, images and localization part of FollowerLocationInfo_Data.

", + "

* FollowerLocationInfo found its new home under 'collections'.

", + "

* Some new images and partly updated descriptions.

", + br, + "

Annotation / Known problems

", + deco:format("red"), + "

* The chat commands are disabled. Not match with new version.

", + "

* Some images maybe too dark? Let me know... :-)

", + br, + "

|cffffee00Greetings Hizuro|r

", + "

(May the light be with you)

", + }; + elseif(infoBoxErrors[msg])then + message = errorMessage; + tinsert(message,"

"..infoBoxErrors[msg].."

"); + else + return; -- no match for msg - no infobox :) + end + + self.InfoBox:SetText(""..smallbr..table.concat(message,"")..smallbr..""); + self.msg = msg; + + local height = self.InfoBox:GetContentHeight()+40; + self:SetHeight( height>460 and 460 or height ); + + self:Show(); +end + +--[=[ Tooltip functions ]=] +function FollowerLocationInfoTooltip_OnEnter(self) + if (self.tooltip) then + GameTooltip:SetOwner(self,"ANCHOR_RIGHT"); + if (type(self.tooltip)=="string") then + GameTooltip:SetText(self.tooltip); + elseif (type(self.tooltip)=="table") and (#self.tooltip>0) then + GameTooltip:SetText(self.tooltip[1]); + for i=2, #self.tooltip do + GameTooltip:AddLine(self.tooltip[i],1,1,1,1); + end + end + GameTooltip:Show(); + end +end + +function FollowerLocationInfoTooltip_OnLeave(self) + GameTooltip:Hide(); +end + +--[=[ Frame functions ]=] +function FollowerLocationInfo_ToggleJournal() + if FollowerLocationInfoData.journalDocked then + if(not CollectionsJournal)then + LoadAddOn("Blizzard_Collections"); + end + + if not CheckAndLoadJournal() then + return; + end + + if FollowerLocationInfoJournal:IsShown() and FollowerLocationInfoJournal:IsVisible() then + FollowerLocationInfoJournal:Hide(); + ToggleCollectionsJournal(); + else + FollowerLocationInfoJournal:Show(); + ToggleCollectionsJournal(FollowerLocationInfoData.JournalTabID); + end + else + if not FollowerLocationInfoJournalFrame then + LoadAddOn(addon.."_Journal"); + end + if FollowerLocationInfoJournalFrame:IsShown() then + HideUIPanel(FollowerLocationInfoJournalFrame); + else + ShowUIPanel(FollowerLocationInfoJournalFrame); + FollowerLocationInfoJournal:Show(); + end + end +end + +function FollowerLocationInfo_OnEvent(self,event,arg1) + if event=="ADDON_LOADED" then + if arg1==addon then + -- check config + if (FollowerLocationInfoDB==nil) then + FollowerLocationInfoDB={}; + end + for key,val in pairs({ + -- LDB Options + LDB_PlayerCoords = false, + LDB_TargetCoords = false, + LDB_NumFollowers = true, + LDBi_Enabled = true, + + -- FLI Options + showInfoBox = true, + ShowFollowerID = true, + ExternalURL = "WoWHead", + standalone = false, + + -- FLI Tracker options + --HideInCombat = true, + --LockedInCombat = true, + --CoordsFrame Options + --ShowCoordsFrame = true, + --CoordsFrameTarget = false, + --TargetMark = false, + --CoordsFrame_HideInCombat = true, + --CoordsFrame_LockedInCombat = true + }) do + if (FollowerLocationInfoDB[key]==nil) then + FollowerLocationInfoDB[key]=val; + end + end + + if FollowerLocationInfoDB.Minimap~=nil and FollowerLocationInfoDB.Minimap.enabled~=nil then + FollowerLocationInfoDB.LDBi_Enabled = FollowerLocationInfoDB.Minimap.enabled; + FollowerLocationInfoDB.Minimap = nil; + end + + local _,_,_,_,status = GetAddOnInfo(addon.."_Data"); + local loaded,finished = IsAddOnLoaded(addon.."_Data") + if status~="MISSING" and not loaded then + EnableAddOn(addon.."_Data"); + LoadAddOn(addon.."_Data"); + end + + FollowerLocationInfoData.journalDocked = not FollowerLocationInfoDB.standalone; + + ns.LDB_Init(); + ns.print("AddOn loaded..."); + elseif arg1==addon.."_Data" then + -- now localization is part of FollowerLocationInfo_Data. + -- thats makes easier to update follower and localization. + BINDING_HEADER_FOLLOWERLOCATIONINFO = "FollowerLocationInfo"; + BINDING_NAME_TOGGLEFOLLOWERLOCATIONINFO = L["Toggle FollowerLocationInfo Journal"]; + --StaticPopupDialogs["FOLLOWERLOCATIONINFO_EXTERNALURL_DIALOG"].text = L["URL"]; + + for i,v in pairs(D.otherFilters)do + tinsert(D.otherFiltersOrder,{i,L[i]}); + end + + D.Version = {Core=GetAddOnMetadata(addon,"Version"),Data=GetAddOnMetadata(arg1,"Version")}; + + + local min_data_version = tonumber((GetAddOnMetadata(addon,"X-Min-Data-Version") or 0):match("([%d%.]+)")) or 0; + local current_data_version = tonumber(D.Version.Data:match("([%d%.]+)")) or 0; + + if (D.Version.Data=="0.11-release4")then + -- nothing ^^ + elseif (current_data_version + +