init
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
local mod = DBM:NewMod("Gluth", "DBM-Naxx", 2)
|
||||
local L = mod:GetLocalizedStrings()
|
||||
|
||||
mod:SetRevision(("$Revision: 2869 $"):sub(12, -3))
|
||||
mod:SetCreatureID(15932)
|
||||
mod:RegisterCombat("combat")
|
||||
mod:EnableModel()
|
||||
mod:RegisterEvents(
|
||||
"SPELL_DAMAGE",
|
||||
"PLAYER_ALIVE"
|
||||
)
|
||||
|
||||
-----DECIMATE-----
|
||||
local warnDecimateSoon = mod:NewSoonAnnounce(54426, 2)
|
||||
local warnDecimateNow = mod:NewSpellAnnounce(54426, 3)
|
||||
local timerDecimate = mod:NewNextTimer(120, 54426)
|
||||
-----MISC-----
|
||||
local enrageTimer = mod:NewBerserkTimer(480)
|
||||
|
||||
-----BOSS FUNCTIONS-----
|
||||
function mod:OnCombatStart(delay)
|
||||
enrageTimer:Start(480 - delay)
|
||||
timerDecimate:Start(120 - delay)
|
||||
warnDecimateSoon:Schedule(115 - delay)
|
||||
end
|
||||
|
||||
local decimateSpam = 0
|
||||
function mod:SPELL_DAMAGE(args)
|
||||
if args:IsSpellID(28375) and (GetTime() - decimateSpam) > 20 then
|
||||
decimateSpam = GetTime()
|
||||
warnDecimateNow:Show()
|
||||
timerDecimate:Start()
|
||||
warnDecimateSoon:Schedule(115)
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,131 @@
|
||||
local mod = DBM:NewMod("Grobbulus", "DBM-Naxx", 2)
|
||||
local L = mod:GetLocalizedStrings()
|
||||
|
||||
mod:SetRevision(("$Revision: 4154 $"):sub(12, -3))
|
||||
mod:SetCreatureID(15931)
|
||||
mod:SetUsedIcons(8)
|
||||
mod:RegisterCombat("combat")
|
||||
mod:EnableModel()
|
||||
mod:RegisterEvents(
|
||||
"SPELL_AURA_APPLIED",
|
||||
"SPELL_AURA_APPLIED_DOSE",
|
||||
"SPELL_AURA_REMOVED",
|
||||
"SPELL_CAST_SUCCESS",
|
||||
"PLAYER_ALIVE"
|
||||
)
|
||||
|
||||
-----MUTATING INJECTION-----
|
||||
local warnInjection = mod:NewTargetAnnounce(28169, 2)
|
||||
local specWarnInjection = mod:NewSpecialWarningYou(28169)
|
||||
local timerInjection = mod:NewTargetTimer(10, 28169)
|
||||
-----POISON CLOUD-----
|
||||
local timerCloud = mod:NewNextTimer(15, 28240)
|
||||
local warnCloud = mod:NewSpellAnnounce(28240, 2)
|
||||
local prewarnCloud = mod:NewSoonAnnounce(28240, 3)
|
||||
local specWarnPoison1 = mod:NewSpecialWarningMove(28241, true, nil, true)
|
||||
local specWarnPoison2 = mod:NewSpecialWarningMove(28158, true, nil, true)
|
||||
-----VIVIFYING TOXIN-----
|
||||
local timerToxin = mod:NewNextTimer(45, 79012)
|
||||
local warnToxin = mod:NewSpellAnnounce(79012, 2)
|
||||
local prewarnToxin = mod:NewSoonAnnounce(79012, 3)
|
||||
-----SLIME SPRAY-----
|
||||
local timerSpray = mod:NewCDTimer(15, 28157)
|
||||
local warnSpray = mod:NewSpellAnnounce(28157, 2)
|
||||
-----MISC-----
|
||||
local enrageTimer = mod:NewBerserkTimer(480)
|
||||
mod:AddBoolOption("SetIconOnInjectionTarget", true)
|
||||
local mutateIcons = {}
|
||||
|
||||
-----BOSS FUNCTIONS-----
|
||||
function mod:OnCombatStart(delay)
|
||||
table.wipe(mutateIcons)
|
||||
enrageTimer:Start(-delay)
|
||||
-----Poison Cloud-----
|
||||
timerCloud:Start(15-delay)
|
||||
warnCloud:Schedule(15-delay)
|
||||
prewarnCloud:Schedule(10-delay)
|
||||
-----Vivifying Toxin-----
|
||||
timerToxin:Start(10-delay)
|
||||
warnToxin:Schedule(10-delay)
|
||||
prewarnToxin:Schedule(5-delay)
|
||||
-----Slime Spray-----
|
||||
timerSpray:Start(15-delay)
|
||||
end
|
||||
|
||||
local function addIcon()
|
||||
for i,j in ipairs(mutateIcons) do
|
||||
local icon = 9 - i
|
||||
mod:SetIcon(j, icon)
|
||||
end
|
||||
end
|
||||
|
||||
local function removeIcon(target)
|
||||
for i,j in ipairs(mutateIcons) do
|
||||
if j == target then
|
||||
table.remove(mutateIcons, i)
|
||||
mod:SetIcon(target, 0)
|
||||
end
|
||||
end
|
||||
addIcon()
|
||||
end
|
||||
|
||||
function mod:SPELL_AURA_APPLIED(args)
|
||||
if args:IsSpellID(28169) then
|
||||
warnInjection:Show(args.destName)
|
||||
timerInjection:Start(args.destName)
|
||||
if args:IsPlayer() then
|
||||
specWarnInjection:Show()
|
||||
end
|
||||
if self.Options.SetIconOnInjectionTarget then
|
||||
table.insert(mutateIcons, args.destName)
|
||||
addIcon()
|
||||
end
|
||||
elseif args:IsSpellID(28241) then
|
||||
if args:IsPlayer() then
|
||||
specWarnPoison1:Show()
|
||||
end
|
||||
elseif args:IsSpellID(28158) then
|
||||
if args:IsPlayer() then
|
||||
specwarnPoison2:Show()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_AURA_APPLIED_DOSE(args)
|
||||
if args:IsSpellID(28241) then
|
||||
if args:IsPlayer() then
|
||||
specWarnPoison1:Show()
|
||||
end
|
||||
elseif args:IsSpellID(28158) then
|
||||
if args:IsPlayer() then
|
||||
specwarnPoison2:Show()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_AURA_REMOVED(args)
|
||||
if args:IsSpellID(28169) then
|
||||
timerInjection:Cancel(args.destName)--Cancel timer if someone is dumb and dispels it.
|
||||
if self.Options.SetIconOnInjectionTarget then
|
||||
removeIcon(args.destName)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_CAST_SUCCESS(args)
|
||||
if args:IsSpellID(28240) then
|
||||
timer = 15
|
||||
timerCloud:Start(timer)
|
||||
warnCloud:Schedule(timer)
|
||||
prewarnCloud:Schedule(timer-5)
|
||||
elseif args:IsSpellID(79012) then
|
||||
timer = 42.5
|
||||
timerToxin:Start(timer)
|
||||
warnToxin:Schedule(timer)
|
||||
prewarnToxin:Schedule(timer-5)
|
||||
elseif args:IsSpellID(28157, 196884) then
|
||||
timer = 15
|
||||
timerSpray:Start(timer)
|
||||
warnSpray:Show()
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,51 @@
|
||||
local mod = DBM:NewMod("Patchwerk", "DBM-Naxx", 2)
|
||||
local L = mod:GetLocalizedStrings()
|
||||
|
||||
mod:SetRevision(("$Revision: 2869 $"):sub(12, -3))
|
||||
mod:SetCreatureID(16028)
|
||||
mod:RegisterCombat("yell", L.yell1, L.yell2)
|
||||
mod:EnableModel()
|
||||
mod:RegisterEvents(
|
||||
"SPELL_AURA_APPLIED",
|
||||
"SPELL_DAMAGE",
|
||||
"SPELL_MISSED",
|
||||
"PLAYER_ALIVE"
|
||||
)
|
||||
|
||||
mod:AddBoolOption("WarningHateful", false, "announce")
|
||||
-----GASTRIC AFFLICTION-----
|
||||
local specWarnGastric = mod:NewSpecialWarningYou(1003086)
|
||||
-----MISC-----
|
||||
local enrageTimer = mod:NewBerserkTimer(360)
|
||||
local timerAchieve = mod:NewAchievementTimer(180, 1857, "TimerSpeedKill")
|
||||
|
||||
-----BOSS FUNCTIONS-----
|
||||
local function announceStrike(target, damage)
|
||||
SendChatMessage(L.HatefulStrike:format(target, damage), "RAID")
|
||||
end
|
||||
|
||||
function mod:OnCombatStart(delay)
|
||||
enrageTimer:Start(-delay)
|
||||
timerAchieve:Start(-delay)
|
||||
end
|
||||
|
||||
function mod:SPELL_AURA_APPLIED(args)
|
||||
if args:IsSpellID(1003086) then
|
||||
if args:IsPlayer() then
|
||||
timer = 5
|
||||
specWarnGastric:Show(timer);
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_DAMAGE(args)
|
||||
if args:IsSpellID(28308, 59192) and self.Options.WarningHateful and DBM:GetRaidRank() >= 1 then
|
||||
announceStrike(args.destName, args.amount or 0)
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_MISSED(args)
|
||||
if args:IsSpellID(28308, 59192) and self.Options.WarningHateful and DBM:GetRaidRank() >= 1 then
|
||||
announceStrike(args.destName, getglobal("ACTION_SPELL_MISSED_"..(args.missType)) or "")
|
||||
end
|
||||
end
|
||||
Binary file not shown.
@@ -0,0 +1,165 @@
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
||||
This version of the GNU Lesser General Public License incorporates
|
||||
the terms and conditions of version 3 of the GNU General Public
|
||||
License, supplemented by the additional permissions listed below.
|
||||
|
||||
0. Additional Definitions.
|
||||
|
||||
As used herein, "this License" refers to version 3 of the GNU Lesser
|
||||
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
||||
General Public License.
|
||||
|
||||
"The Library" refers to a covered work governed by this License,
|
||||
other than an Application or a Combined Work as defined below.
|
||||
|
||||
An "Application" is any work that makes use of an interface provided
|
||||
by the Library, but which is not otherwise based on the Library.
|
||||
Defining a subclass of a class defined by the Library is deemed a mode
|
||||
of using an interface provided by the Library.
|
||||
|
||||
A "Combined Work" is a work produced by combining or linking an
|
||||
Application with the Library. The particular version of the Library
|
||||
with which the Combined Work was made is also called the "Linked
|
||||
Version".
|
||||
|
||||
The "Minimal Corresponding Source" for a Combined Work means the
|
||||
Corresponding Source for the Combined Work, excluding any source code
|
||||
for portions of the Combined Work that, considered in isolation, are
|
||||
based on the Application, and not on the Linked Version.
|
||||
|
||||
The "Corresponding Application Code" for a Combined Work means the
|
||||
object code and/or source code for the Application, including any data
|
||||
and utility programs needed for reproducing the Combined Work from the
|
||||
Application, but excluding the System Libraries of the Combined Work.
|
||||
|
||||
1. Exception to Section 3 of the GNU GPL.
|
||||
|
||||
You may convey a covered work under sections 3 and 4 of this License
|
||||
without being bound by section 3 of the GNU GPL.
|
||||
|
||||
2. Conveying Modified Versions.
|
||||
|
||||
If you modify a copy of the Library, and, in your modifications, a
|
||||
facility refers to a function or data to be supplied by an Application
|
||||
that uses the facility (other than as an argument passed when the
|
||||
facility is invoked), then you may convey a copy of the modified
|
||||
version:
|
||||
|
||||
a) under this License, provided that you make a good faith effort to
|
||||
ensure that, in the event an Application does not supply the
|
||||
function or data, the facility still operates, and performs
|
||||
whatever part of its purpose remains meaningful, or
|
||||
|
||||
b) under the GNU GPL, with none of the additional permissions of
|
||||
this License applicable to that copy.
|
||||
|
||||
3. Object Code Incorporating Material from Library Header Files.
|
||||
|
||||
The object code form of an Application may incorporate material from
|
||||
a header file that is part of the Library. You may convey such object
|
||||
code under terms of your choice, provided that, if the incorporated
|
||||
material is not limited to numerical parameters, data structure
|
||||
layouts and accessors, or small macros, inline functions and templates
|
||||
(ten or fewer lines in length), you do both of the following:
|
||||
|
||||
a) Give prominent notice with each copy of the object code that the
|
||||
Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the object code with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
4. Combined Works.
|
||||
|
||||
You may convey a Combined Work under terms of your choice that,
|
||||
taken together, effectively do not restrict modification of the
|
||||
portions of the Library contained in the Combined Work and reverse
|
||||
engineering for debugging such modifications, if you also do each of
|
||||
the following:
|
||||
|
||||
a) Give prominent notice with each copy of the Combined Work that
|
||||
the Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
c) For a Combined Work that displays copyright notices during
|
||||
execution, include the copyright notice for the Library among
|
||||
these notices, as well as a reference directing the user to the
|
||||
copies of the GNU GPL and this license document.
|
||||
|
||||
d) Do one of the following:
|
||||
|
||||
0) Convey the Minimal Corresponding Source under the terms of this
|
||||
License, and the Corresponding Application Code in a form
|
||||
suitable for, and under terms that permit, the user to
|
||||
recombine or relink the Application with a modified version of
|
||||
the Linked Version to produce a modified Combined Work, in the
|
||||
manner specified by section 6 of the GNU GPL for conveying
|
||||
Corresponding Source.
|
||||
|
||||
1) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (a) uses at run time
|
||||
a copy of the Library already present on the user's computer
|
||||
system, and (b) will operate properly with a modified version
|
||||
of the Library that is interface-compatible with the Linked
|
||||
Version.
|
||||
|
||||
e) Provide Installation Information, but only if you would otherwise
|
||||
be required to provide such information under section 6 of the
|
||||
GNU GPL, and only to the extent that such information is
|
||||
necessary to install and execute a modified version of the
|
||||
Combined Work produced by recombining or relinking the
|
||||
Application with a modified version of the Linked Version. (If
|
||||
you use option 4d0, the Installation Information must accompany
|
||||
the Minimal Corresponding Source and Corresponding Application
|
||||
Code. If you use option 4d1, you must provide the Installation
|
||||
Information in the manner specified by section 6 of the GNU GPL
|
||||
for conveying Corresponding Source.)
|
||||
|
||||
5. Combined Libraries.
|
||||
|
||||
You may place library facilities that are a work based on the
|
||||
Library side by side in a single library together with other library
|
||||
facilities that are not Applications and are not covered by this
|
||||
License, and convey such a combined library under terms of your
|
||||
choice, if you do both of the following:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work based
|
||||
on the Library, uncombined with any other library facilities,
|
||||
conveyed under the terms of this License.
|
||||
|
||||
b) Give prominent notice with the combined library that part of it
|
||||
is a work based on the Library, and explaining where to find the
|
||||
accompanying uncombined form of the same work.
|
||||
|
||||
6. Revised Versions of the GNU Lesser General Public License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions
|
||||
of the GNU Lesser General Public License from time to time. Such new
|
||||
versions will be similar in spirit to the present version, but may
|
||||
differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Library as you received it specifies that a certain numbered version
|
||||
of the GNU Lesser General Public License "or any later version"
|
||||
applies to it, you have the option of following the terms and
|
||||
conditions either of that published version or of any later version
|
||||
published by the Free Software Foundation. If the Library as you
|
||||
received it does not specify a version number of the GNU Lesser
|
||||
General Public License, you may choose any version of the GNU Lesser
|
||||
General Public License ever published by the Free Software Foundation.
|
||||
|
||||
If the Library as you received it specifies that a proxy can decide
|
||||
whether future versions of the GNU Lesser General Public License shall
|
||||
apply, that proxy's public statement of acceptance of any version is
|
||||
permanent authorization for you to choose that version for the
|
||||
Library.
|
||||
@@ -0,0 +1,186 @@
|
||||
local mod = DBM:NewMod("Thaddius", "DBM-Naxx", 2)
|
||||
local L = mod:GetLocalizedStrings()
|
||||
|
||||
mod:SetRevision(("$Revision: 2869 $"):sub(12, -3))
|
||||
mod:SetCreatureID(15928)
|
||||
mod:RegisterCombat("yell", L.Yell)
|
||||
mod:EnableModel()
|
||||
mod:RegisterEvents(
|
||||
"SPELL_CAST_START",
|
||||
"CHAT_MSG_RAID_BOSS_EMOTE",
|
||||
"UNIT_AURA",
|
||||
"PLAYER_ALIVE"
|
||||
)
|
||||
-----POLARITY SHIFT-----
|
||||
local timerShiftCast = mod:NewCastTimer(3, 28089)
|
||||
local timerNextShift = mod:NewNextTimer(30, 28089)
|
||||
local warnShiftCasting = mod:NewCastAnnounce(28089, 3)
|
||||
-----THROW-----
|
||||
local warnThrow = mod:NewSpellAnnounce(28338, 2)
|
||||
local warnThrowSoon = mod:NewSoonAnnounce(28338, 1)
|
||||
local timerThrow = mod:NewNextTimer(20.6, 28338)
|
||||
-----MISC-----
|
||||
local warnChargeChanged = mod:NewSpecialWarning("WarningChargeChanged")
|
||||
local warnChargeNotChanged = mod:NewSpecialWarning("WarningChargeNotChanged", false)
|
||||
local enrageTimer = mod:NewBerserkTimer(365)
|
||||
mod:AddBoolOption("ArrowsEnabled", false, "Arrows")
|
||||
mod:AddBoolOption("ArrowsRightLeft", false, "Arrows")
|
||||
mod:AddBoolOption("ArrowsInverse", false, "Arrows")
|
||||
mod:AddBoolOption("HealthFrame", true)
|
||||
mod:SetBossHealthInfo(
|
||||
15930, L.Boss1,
|
||||
15929, L.Boss2
|
||||
)
|
||||
local currentCharge
|
||||
local phase2
|
||||
local down = 0
|
||||
|
||||
-----BOSS FUNCTIONS-----
|
||||
function mod:OnCombatStart(delay)
|
||||
phase2 = false
|
||||
self.vb.phase = 1
|
||||
currentCharge = nil
|
||||
down = 0
|
||||
self:ScheduleMethod(20.6 - delay, "TankThrow")
|
||||
timerThrow:Start(-delay)
|
||||
warnThrowSoon:Schedule(17.6 - delay)
|
||||
end
|
||||
|
||||
local lastShift = 0
|
||||
function mod:SPELL_CAST_START(args)
|
||||
if args:IsSpellID(28089) then
|
||||
phase2 = true
|
||||
self.vb.phase = 2
|
||||
timerNextShift:Start()
|
||||
timerShiftCast:Start()
|
||||
warnShiftCasting:Show()
|
||||
lastShift = GetTime()
|
||||
end
|
||||
end
|
||||
|
||||
function mod:UNIT_AURA(elapsed)
|
||||
if not phase2 then return end
|
||||
local charge
|
||||
local i = 1
|
||||
while UnitDebuff("player", i) do
|
||||
local _, _, icon, count = UnitDebuff("player", i)
|
||||
if icon == "Interface\\Icons\\Spell_ChargeNegative" then
|
||||
if count > 1 then return end
|
||||
charge = L.Charge1
|
||||
elseif icon == "Interface\\Icons\\Spell_ChargePositive" then
|
||||
if count > 1 then return end
|
||||
charge = L.Charge2
|
||||
end
|
||||
i = i + 1
|
||||
end
|
||||
if charge then
|
||||
lastShift = 0
|
||||
if charge == currentCharge then
|
||||
warnChargeNotChanged:Show()
|
||||
if self.Options.ArrowsEnabled and self.Options.ArrowsRightLeft then
|
||||
if self.Options.ArrowsInverse then
|
||||
self:ShowLeftArrow()
|
||||
else
|
||||
self:ShowRightArrow()
|
||||
end
|
||||
end
|
||||
else
|
||||
warnChargeChanged:Show(charge)
|
||||
if self.Options.ArrowsEnabled then
|
||||
if self.Options.ArrowsRightLeft and self.Options.ArrowsInverse then
|
||||
self:ShowRightArrow()
|
||||
elseif self.Options.ArrowsRightLeft then
|
||||
self:ShowLeftArrow()
|
||||
elseif currentCharge then
|
||||
self:ShowUpArrow()
|
||||
end
|
||||
end
|
||||
end
|
||||
currentCharge = charge
|
||||
end
|
||||
end
|
||||
|
||||
function mod:CHAT_MSG_RAID_BOSS_EMOTE(msg)
|
||||
if msg == L.Emote or msg == L.Emote2 then
|
||||
down = down + 1
|
||||
if down >= 2 then
|
||||
self:UnscheduleMethod("TankThrow")
|
||||
timerThrow:Cancel()
|
||||
warnThrowSoon:Cancel()
|
||||
DBM.BossHealth:Hide()
|
||||
enrageTimer:Start()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function mod:TankThrow()
|
||||
if not self:IsInCombat() or phase2 then
|
||||
DBM.BossHealth:Hide()
|
||||
return
|
||||
end
|
||||
timerThrow:Start()
|
||||
warnThrowSoon:Schedule(17.6)
|
||||
self:ScheduleMethod(20.6, "TankThrow")
|
||||
end
|
||||
|
||||
local function arrowOnUpdate(self, elapsed)
|
||||
self.elapsed = (self.elapsed or 0) + elapsed
|
||||
if self.elapsed >= 3.5 and self.elapsed < 4.5 then
|
||||
self:SetAlpha(4.5 - self.elapsed)
|
||||
elseif self.elapsed >= 4.5 then
|
||||
self:Hide()
|
||||
end
|
||||
end
|
||||
|
||||
local function arrowOnShow(self)
|
||||
self.elapsed = 0
|
||||
self:SetAlpha(1)
|
||||
end
|
||||
|
||||
-- this file uses the texture Textures/arrow.tga. This image was created by Everaldo Coelho and is licensed under the GNU Lesser General Public License. See Textures/lgpl.txt.
|
||||
local arrowLeft = CreateFrame("Frame", nil, UIParent)
|
||||
arrowLeft:Hide()
|
||||
local arrowLeftTexture = arrowLeft:CreateTexture(nil, "BACKGROUND")
|
||||
arrowLeftTexture:SetTexture("Interface\\AddOns\\DBM-Naxx\\ConstructQuarter\\Textures\\arrow")
|
||||
arrowLeftTexture:SetPoint("CENTER", arrowLeft, "CENTER")
|
||||
arrowLeft:SetHeight(1)
|
||||
arrowLeft:SetWidth(1)
|
||||
arrowLeft:SetPoint("CENTER", UIParent, "CENTER", -150, -30)
|
||||
arrowLeft:SetScript("OnShow", arrowOnShow)
|
||||
arrowLeft:SetScript("OnUpdate", arrowOnUpdate)
|
||||
|
||||
local arrowRight = CreateFrame("Frame", nil, UIParent)
|
||||
arrowRight:Hide()
|
||||
local arrowRightTexture = arrowRight:CreateTexture(nil, "BACKGROUND")
|
||||
arrowRightTexture:SetTexture("Interface\\AddOns\\DBM-Naxx\\ConstructQuarter\\Textures\\arrow")
|
||||
arrowRightTexture:SetPoint("CENTER", arrowRight, "CENTER")
|
||||
arrowRightTexture:SetTexCoord(1, 0, 0, 1)
|
||||
arrowRight:SetHeight(1)
|
||||
arrowRight:SetWidth(1)
|
||||
arrowRight:SetPoint("CENTER", UIParent, "CENTER", 150, -30)
|
||||
arrowRight:SetScript("OnShow", arrowOnShow)
|
||||
arrowRight:SetScript("OnUpdate", arrowOnUpdate)
|
||||
|
||||
local arrowUp = CreateFrame("Frame", nil, UIParent)
|
||||
arrowUp:Hide()
|
||||
local arrowUpTexture = arrowUp:CreateTexture(nil, "BACKGROUND")
|
||||
arrowUpTexture:SetTexture("Interface\\AddOns\\DBM-Naxx\\ConstructQuarter\\Textures\\arrow")
|
||||
arrowUpTexture:SetRotation(math.pi * 3 / 2)
|
||||
arrowUpTexture:SetPoint("CENTER", arrowUp, "CENTER")
|
||||
arrowUp:SetHeight(1)
|
||||
arrowUp:SetWidth(1)
|
||||
arrowUp:SetPoint("CENTER", UIParent, "CENTER", 0, 40)
|
||||
arrowUp:SetScript("OnShow", arrowOnShow)
|
||||
arrowUp:SetScript("OnUpdate", arrowOnUpdate)
|
||||
|
||||
function mod:ShowRightArrow()
|
||||
arrowRight:Show()
|
||||
end
|
||||
|
||||
function mod:ShowLeftArrow()
|
||||
arrowLeft:Show()
|
||||
end
|
||||
|
||||
function mod:ShowUpArrow()
|
||||
arrowUp:Show()
|
||||
end
|
||||
Reference in New Issue
Block a user