vanilla-wow-addons – Rev 1

Subversion Repositories:
Rev:
------------------------------
--      Are you local?      --
------------------------------

local eyeofcthun = AceLibrary("Babble-Boss-2.2")["Eye of C'Thun"]
local cthun = AceLibrary("Babble-Boss-2.2")["C'Thun"]
local L = AceLibrary("AceLocale-2.2"):new("BigWigs" .. cthun)

local timeP1Tentacle = 45      -- tentacle timers for phase 1
local timeP1TentacleStart = 45 -- delay for first tentacles from engage onwards
local timeP1GlareStart = 48    -- delay for first dark glare from engage onwards
local timeP1Glare = 86         -- interval for dark glare
local timeP1GlareDuration = 40 -- duration of dark glare
local timeP2Offset = 12        -- delay for all timers to restart after the Eye dies
local timeP2Tentacle = 30      -- tentacle timers for phase 2
local timeReschedule = 53      -- delay from the moment of weakening for timers to restart
local timeTarget = 0.2         -- delay for target change checking on Eye of C'Thun
local timeWeakened = 45        -- duration of a weaken

local gianteye = nil
local cthunstarted = nil
local phase2started = nil
local firstGlare = nil
local firstWarning = nil
local target = nil
local tentacletime = timeP1Tentacle

----------------------------
--      Localization      --
----------------------------

L:RegisterTranslations("enUS", function() return {
        cmd = "Cthun",

        tentacle_cmd = "tentacle",
        tentacle_name = "Tentacle Alert",
        tentacle_desc = "Warn for Tentacles",

        glare_cmd = "glare",
        glare_name = "Dark Glare Alert",
        glare_desc = "Warn for Dark Glare",

        group_cmd = "group",
        group_name = "Dark Glare Group Warning",
        group_desc = "Warn for Dark Glare on Group X",

        giant_cmd = "giant",
        giant_name = "Giant Eye Alert",
        giant_desc = "Warn for Giant Eyes",

        weakened_cmd = "weakened",
        weakened_name = "Weakened Alert",
        weakened_desc = "Warn for Weakened State",

        rape_cmd = "rape",
        rape_name = "Rape jokes are funny",
        rape_desc = "Some people like hentai jokes.",

        weakenedtrigger = "%s is weakened!",

        tentacle1       = "Tentacle Rape Party - Pleasure!",
        tentacle2       = "Tentacle Rape Party - 5 sec",

        norape1         = "Tentacles Spawned!",
        norape2         = "Tentacles in 5sec!",


        weakened                = "C'Thun is weakened for 45 sec",
        invulnerable2   = "Party ends in 5 seconds",
        invulnerable1   = "Party over - C'Thun invulnerable",

        giant3          = "Giant Eye - 10 sec",
        giant2          = "Giant Eye - 5 sec",
        giant1          = "Giant Eye - Poke it!",

        startwarn       = "C'Thun engaged! - 45 sec until Dark Glare and Eyes",

        glare2          = "Dark glare - 5 sec",
        glare1          = "Dark glare!",

        barTentacle     = "Tentacle rape party!",
        barNoRape       = "Tentacle party!",
        barWeakened     = "C'Thun is weakened!",
        barGlare        = "Dark glare!",
        barGiant        = "Giant Eye!",
        barGreenBeam    = "Green Beam!",

        eyebeam         = "Eye Beam",
        glarewarning    = "DARK GLARE ON YOU!",
        groupwarning    = "Dark Glare on group %s (%s)",
        positions1      = "Green Beam coming",
        positions2      = "Dark Glare ends in 5 sec",
        phase2starting  = "The Eye is dead! Body incoming!",
} end )

L:RegisterTranslations("deDE", function() return {
        tentacle_name = "Tentakel",
        tentacle_desc = "Warnung vor Tentakeln.",

        glare_name = "Dunkles Starren",
        glare_desc = "Warnung vor Dunklem Starren.",

        group_name = "Dunkles Starren Gruppe",
        group_desc = "Warnung vor Dunklem Starren auf Gruppe X.",

        giant_name = "Riesiges Auge",
        giant_desc = "Riesiges Auge", -- ?

        weakened_name = "Geschw\195\164cht",
        weakened_desc = "Warnung, wenn C'Thun geschw\195\164cht ist.",

        weakenedtrigger = "%s ist geschw\195\164cht!",

        tentacle1       = "Tentacle Rape Party - Pleasure!", -- ?
        tentacle2       = "Tentacle Rape Party - 5 sec", -- ?

        norape1         = "Tentacle Party! - What's that in your pants?", -- ?
        norape2         = "Tentacle Party! - 5 sec", -- ?

        weakened                = "C'Thun ist geschw\195\164cht f\195\188r 45 Sekunden",
        invulnerable2   = "C'Thun unverwundbar in 5 Sekunden",
        invulnerable1   = "C'Thun ist unverwundbar!",

        giant3          = "Riesiges Auge - 10 Sekunden",
        giant2          = "Riesiges Auge - 5 Sekunden",
        giant1          = "Riesiges Auge - Angriff!",

        startwarn       = "C'Thun angegriffen! - 45 Sekunden bis Dunkles Starren und Augen!",

        glare2          = "Dunkles Starren - 5 Sekunden",
        glare1          = "Dunkles Starren - BEWEGUNG!",

        barTentacle     = "Tentacle rape party!", -- ?
        barNoRape       = "Tentacle party!", -- ?
        barWeakened     = "C'Thun ist geschw\195\164cht!",
        barGlare        = "Dunkles Starren",
        barGiant        = "Riesiges Auge", -- ?
        barGreenBeam    = "Green Beam!", -- ?

        eyebeam         = "Augenstrahl", 
        glarewarning    = "Dunkles Starren auf Dir! BEWEGUNG!",
        groupwarning    = "Dunkles Starren auf Gruppe %s (%s)",
        positions1      = "Green Beam coming", -- ?
        positions2      = "Dunkles Starren endet in 5 Sekunden",
        phase2starting  = "Das Auge ist tot! - Phase 2 beginnt!",
} end )

L:RegisterTranslations("koKR", function() return {

        tentacle_name = "촉수 경고",
        tentacle_desc = "촉수에 대한 경고",

        glare_name = "암흑의 주시 경고",
        glare_desc = "암흑의 주시에 대한 경고",

        group_name = "암흑의 주시 파티 경고",
        group_desc = "파티 X 에 암흑의 주시에 대한 경고",

        giant_name = "거대한 눈 경고",
        giant_desc = "거대한 눈에 대한 경고",

        weakened_name = "약화 경고",
        weakened_desc = "약화 상태에 대한 경고",

        weakenedtrigger         = "%s|1이;가; 약해집니다!", --"%s|1이;가; 약해졌습니다!",

        tentacle1       = "눈달린 촉수 등장 - 촉수 처리~~!",
        tentacle2       = "눈달린 촉수 등장 - 5초전!",

        norape1         = "작은 눈달린 촉수 등장 - 처리~~(마반,스턴)!",
        norape2         = "작은 눈달린 촉수 - 5초전!",

        weakened                = "쑨이 약화되었습니다 - 45초간 최대 공격!",
        invulnerable2   = "쑨 약화 종료 5초전!",
        invulnerable1   = "쑨 공격 불가 상태로 전환!",

        giant3          = "거대한 발톱 촉수 - 10 초전",
        giant2          = "거대한 발톱 촉수 - 5초전!",
        giant1          = "거대한 발톱 촉수 등장 - 눈촉수 처리후 처리!!!",

        startwarn       = "쑨 시작 - 45초후 암흑의 주시",

        glare2          = "암흑의 주시 - 5초전!",
        glare1          = "암흑의 주시 - 눈촉수 처리하면서 이동!",

        barTentacle     = "눈달린 촉수!",
        barNoRape       = "작은 눈달린 촉수!",
        barWeakened     = "쑨 약화!",
        barGlare        = "암흑의 주시!",
        barGiant        = "거대한 눈!",
        barGreenBeam    = "녹색 안광!",

        eyebeam         = "안광",
        glarewarning    = "암흑의 주시를 당하고 있습니다! 이동!",
        groupwarning    = "암흑의 주시 %s파티 (%s님 바로 이동!!!!!!)",
        positions1      = "빠른 진형 재정비 - 녹색 안광이 시작됩니다!",
        positions2      = "암흑의 주시 종료 5초전!",
        phase2starting  = "쑨의 눈 처치, 본체가 등장합니다. 준비!",
} end )

--fix local by 月色
L:RegisterTranslations("zhCN", function() return {
        tentacle_name = "触须警报",
        tentacle_desc = "触须出现时发出警报",

        glare_name = "黑暗闪耀警报",
        glare_desc = "黑暗闪耀发动时发出警报",

        group_name = "黑暗闪耀小队警报",
        group_desc = "黑暗闪耀发动时对小队X发出警报",

        giant_name = "巨眼警报",
        giant_desc = "巨眼出现时发出警报",

        weakened_name = "虚弱警报",
        weakened_desc = "克苏恩被削弱时发出警报",

        weakenedtrigger = "%s的力量被削弱了!",

        tentacle1       = "眼球触须出现!",
        tentacle2       = "5秒后眼球触须出现!",

        norape1         = "巨眼、巨爪触须出现!",
        norape2         = "5秒后巨眼、巨爪触须出现!",

        weakened        = "克苏恩被削弱了 - 45秒内全力输出伤害!",
        invulnerable2   = "削弱状态还有5秒结束",
        invulnerable1   = "削弱状态结束 - 停止攻击克苏恩!",

        giant3          = "巨眼出现 - 10 秒",
        giant2          = "巨眼出现 - 5 秒",
        giant1          = "巨眼出现!",

        startwarn       = "克苏恩已激活 - 45秒后发动黑暗闪耀, 出现眼球",

        glare2          = "5秒后发动黑暗闪耀!",
        glare1          = "黑暗闪耀发动 - 跑位!",

        barTentacle     = "眼球触须!",
        barNoRape       = "巨眼触须!",
        barWeakened     = "克苏恩被削弱了!",
        barGlare        = "黑暗闪耀!",
        barGiant        = "巨眼!",
        barGreenBeam    = "绿光!",

        eyebeam         = "眼棱",
        glarewarning    = "黑暗闪耀在你身上发动了!",
        groupwarning    = "黑暗闪耀在%s小队发动了!(%s小队移动!!)",
        positions1      = "黑暗闪耀结束,绿光发动,请注意保持距离",
        positions2      = "5秒后黑暗闪耀结束",
        phase2starting  = "克苏恩之眼已死亡 - 进入第二阶段!",
} end )


L:RegisterTranslations("zhTW", function() return {
        --C'Thun 克蘇恩
        tentacle_name = "觸鬚警報",
        tentacle_desc = "觸鬚出現時發出警報",

        glare_name = "黑暗閃耀警報",
        glare_desc = "黑暗閃耀發動時發出警報",

        group_name = "黑暗閃耀小隊警報",
        group_desc = "黑暗閃耀發動時對小隊X發出警報",

        giant_name = "巨眼警報",
        giant_desc = "巨眼出現時發出警報",

        weakened_name = "虛弱警報",
        weakened_desc = "克蘇恩被削弱時發出警報",

        weakenedtrigger         = "變弱了!",

        tentacle1       = "眼球觸鬚出現!",
        tentacle2       = "5秒後眼球觸鬚出現!",

        norape1         = "巨眼、巨爪觸鬚出現!",
        norape2         = "5秒後巨眼、巨爪觸鬚出現!",

        weakened                = "克蘇恩被削弱了 - 45秒內全力輸出傷害!",
        invulnerable2   = "削弱狀態還有5秒結束",
        invulnerable1   = "削弱狀態結束 - 停止攻擊克蘇恩!",

        giant3          = "巨眼 10 秒後出現",
        giant2          = "巨眼 5 秒後出現",
        giant1          = "巨眼出現!",

        startwarn       = "克蘇恩已進入戰鬥 - 45秒後發動黑暗閃耀, 出現巨眼",

        glare2          = "黑暗閃耀 5 秒後發動!",
        glare1          = "黑暗閃耀發動 - 跑位!",

        barTentacle     = "眼球觸鬚!",
        barNoRape       = "巨眼、巨爪觸鬚!",
        barWeakened     = "克蘇恩被削弱了!",
        barGlare        = "黑暗閃耀!",
        barGiant        = "巨眼!",
        barGreenBeam    = "綠光!",

        eyebeam         = "眼棱",
        glarewarning    = "黑暗閃耀在你身上發動了!",
        groupwarning    = "黑暗閃耀在%s小隊發動了! %s 小隊移動!",
        positions1      = "綠光發動",
        positions2      = "5 秒後黑暗閃耀結束",
        phase2starting  = "克蘇恩之眼已死亡 - 進入第二階段!",
} end )


L:RegisterTranslations("frFR", function() return {
        weakenedtrigger = "%s est affaibli !",
} end )

----------------------------------
--      Module Declaration      --
----------------------------------

BigWigsCThun = BigWigs:NewModule(cthun)
BigWigsCThun.zonename = AceLibrary("Babble-Zone-2.2")["Ahn'Qiraj"]
BigWigsCThun.enabletrigger = { eyeofcthun, cthun }
BigWigsCThun.toggleoptions = { "rape", -1, "tentacle", "glare", "group", -1, "giant", "weakened", "bosskill" }
BigWigsCThun.revision = tonumber(string.sub("$Revision: 15989 $", 12, -3))

function BigWigsCThun:OnEnable()
        target = nil
        gianteye = nil
        cthunstarted = nil
        firstGlare = nil
        firstWarning = nil
        phase2started = nil

        tentacletime = timeP1Tentacle

        -- register events
        self:RegisterEvent("CHAT_MSG_MONSTER_EMOTE")            -- weakened triggering
        self:RegisterEvent("CHAT_MSG_COMBAT_HOSTILE_DEATH")     -- start of phase2 and kill of C'Thun
        self:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE") -- engage of Eye of C'Thun
        self:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE") -- engage of Eye of C'Thun
        -- Not sure about this, since we get out of combat between the phases.
        --self:RegisterEvent("PLAYER_REGEN_ENABLED", "CheckForWipe")

        self:RegisterEvent("BigWigs_RecvSync")

        self:TriggerEvent("BigWigs_ThrottleSync", "CThunStart", 10)
        self:TriggerEvent("BigWigs_ThrottleSync", "CThunP2Start", 10)
        self:TriggerEvent("BigWigs_ThrottleSync", "CThunWeakened", 10)
end

----------------------
--  Event Handlers  --
----------------------

function BigWigsCThun:CHAT_MSG_MONSTER_EMOTE( arg1 )
        if arg1 == L["weakenedtrigger"] then self:TriggerEvent("BigWigs_SendSync", "CThunWeakened") end
end

function BigWigsCThun:CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE( arg1 )
        if not cthunstarted and arg1 and string.find(arg1, L["eyebeam"]) then self:TriggerEvent("BigWigs_SendSync", "CThunStart") end
end

function BigWigsCThun:CHAT_MSG_COMBAT_HOSTILE_DEATH(msg)
        if (msg == string.format(UNITDIESOTHER, eyeofcthun)) then
                self:TriggerEvent("BigWigs_SendSync", "CThunP2Start")
        elseif (msg == string.format(UNITDIESOTHER, cthun)) then
                if self.db.profile.bosskill then self:TriggerEvent("BigWigs_Message", string.format(AceLibrary("AceLocale-2.2"):new("BigWigs")["%s has been defeated"], cthun), "Bosskill", nil, "Victory") end
                self.core:ToggleModuleActive(self, false)
        end
end

function BigWigsCThun:BigWigs_RecvSync( sync )
        if sync == "CThunStart" then
                self:CThunStart()
        elseif sync == "CThunP2Start" then
                self:CThunP2Start()
        elseif sync == "CThunWeakened" then
                self:CThunWeakened()
        end
end

-----------------------
--   Sync Handlers   --
-----------------------

function BigWigsCThun:CThunStart()
        if not cthunstarted then
                cthunstarted = true

                self:UnregisterEvent("CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE")
                self:UnregisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE")

                self:TriggerEvent("BigWigs_Message", L["startwarn"], "Attention")

                if self.db.profile.tentacle then
                        self:TriggerEvent("BigWigs_StartBar", self, self.db.profile.rape and L["barTentacle"] or L["barNoRape"], timeP1TentacleStart, "Interface\\Icons\\Spell_Nature_CallStorm")
                        self:ScheduleEvent("bwcthuntentacle2", "BigWigs_Message", timeP1TentacleStart - 5, self.db.profile.rape and L["tentacle2"] or L["norape2"], "Urgent" )
                        self:ScheduleEvent("bwcthuntentacle1", "BigWigs_Message", timeP1TentacleStart, self.db.profile.rape and L["tentacle1"] or L["norape1"], "Important" )
                end

                if self.db.profile.glare then
                        self:TriggerEvent("BigWigs_StartBar", self, L["barGlare"], timeP1GlareStart, "Interface\\Icons\\Spell_Shadow_ShadowBolt")
                        self:ScheduleEvent("bwcthunglare2", "BigWigs_Message", timeP1GlareStart - 5, L["glare2"], "Urgent" )
                        self:ScheduleEvent("bwcthunglare1", "BigWigs_Message", timeP1GlareStart, L["glare1"], "Important" )
                end

                firstGlare = true
                firstWarning = true

                self:ScheduleEvent("bwcthuntentaclesstart", self.StartTentacleRape, timeP1TentacleStart, self )
                self:ScheduleEvent("bwcthundarkglarestart", self.DarkGlare, timeP1GlareStart, self )
                self:ScheduleEvent("bwcthungroupwarningstart", self.GroupWarning, timeP1GlareStart - 3, self )
                self:ScheduleRepeatingEvent("bwcthuntarget", self.CheckTarget, timeTarget, self )
        end
end

function BigWigsCThun:CThunP2Start()
        if not phase2started then
                phase2started = true
                tentacletime = timeP2Tentacle

                self:TriggerEvent("BigWigs_Message", L["phase2starting"], "Bosskill")

                self:TriggerEvent("BigWigs_StopBar", self, L["barGlare"] )
                self:TriggerEvent("BigWigs_StopBar", self, L["barTentacle"] )
                self:TriggerEvent("BigWigs_StopBar", self, L["barNoRape"] )
                self:TriggerEvent("BigWigs_StopBar", self, L["barGreenBeam"] )

                self:CancelScheduledEvent("bwcthuntentacle2")
                self:CancelScheduledEvent("bwcthuntentacle1")

                self:CancelScheduledEvent("bwcthunglare2")
                self:CancelScheduledEvent("bwcthunglare1")

                self:CancelScheduledEvent("bwcthunpositions2")
                self:CancelScheduledEvent("bwcthunpositions1")

                -- cancel the repeaters
                self:CancelScheduledEvent("bwcthuntentacles")
                self:CancelScheduledEvent("bwcthundarkglare")
                self:CancelScheduledEvent("bwcthungroupwarning")
                self:CancelScheduledEvent("bwcthuntarget")

                if self.db.profile.tentacle then
                        self:ScheduleEvent("bwcthuntentacle1", "BigWigs_Message", timeP2Tentacle + timeP2Offset -.1, self.db.profile.rape and L["tentacle1"] or L["norape1"], "Important")
                        self:ScheduleEvent("bwcthuntentacle2", "BigWigs_Message", timeP2Tentacle + timeP2Offset - 5, self.db.profile.rape and L["tentacle2"] or L["norape2"], "Urgent")
                        self:TriggerEvent("BigWigs_StartBar", self, self.db.profile.rape and L["barTentacle"] or L["barNoRape"], timeP2Tentacle + timeP2Offset, "Interface\\Icons\\Spell_Nature_CallStorm")
                end

                if self.db.profile.giant then
                        self:ScheduleEvent("bwcthungiant1", "BigWigs_Message", timeP2Tentacle + timeP2Offset -.1, L["giant1"], "Important")
                        self:ScheduleEvent("bwcthungiant2", "BigWigs_Message", timeP2Tentacle + timeP2Offset - 5, L["giant2"], "Urgent")
                        self:TriggerEvent("BigWigs_StartBar", self, L["barGiant"], timeP2Tentacle + timeP2Offset, "Interface\\Icons\\Ability_EyeOfTheOwl")
                end

                self:ScheduleEvent("bwcthunstarttentacles", self.StartTentacleRape, timeP2Tentacle + timeP2Offset, self )
        end

end

function BigWigsCThun:CThunWeakened()
        if self.db.profile.weakened then
                self:TriggerEvent("BigWigs_Message", L["weakened"], "Positive" )
                self:TriggerEvent("BigWigs_StartBar", self, L["barWeakened"], timeWeakened, "Interface\\Icons\\INV_ValentinesCandy")
                self:ScheduleEvent("bwcthunweaken2", "BigWigs_Message", timeWeakened - 5, L["invulnerable2"], "Urgent")
                self:ScheduleEvent("bwcthunweaken1", "BigWigs_Message", timeWeakened, L["invulnerable1"], "Important" )
        end

        -- cancel tentacle timers
        self:CancelScheduledEvent("bwcthuntentacle1")
        self:CancelScheduledEvent("bwcthuntentacle2")

        self:CancelScheduledEvent("bwcthungiant1")
        self:CancelScheduledEvent("bwcthungiant2")
        self:CancelScheduledEvent("bwcthungiant3")

        self:TriggerEvent("BigWigs_StopBar", self, L["barTentacle"])
        self:TriggerEvent("BigWigs_stopBar", self, L["barNoRape"])
        self:TriggerEvent("BigWigs_StopBar", self, L["barGiant"])

        -- flipflop the giant eye flag
        gianteye = not gianteye

        self:CancelScheduledEvent("bwcthuntentacles")
        self:ScheduleEvent("bwcthunstarttentacles", self.StartTentacleRape, timeReschedule, self )
end

-----------------------
-- Utility Functions --
-----------------------

function BigWigsCThun:StartTentacleRape()
        self:TentacleRape()
        self:ScheduleRepeatingEvent("bwcthuntentacles", self.TentacleRape, tentacletime, self )
end


function BigWigsCThun:CheckTarget()
        local i
        local newtarget = nil
        if( UnitName("playertarget") == eyeofcthun ) then
                newtarget = UnitName("playertargettarget")
        else
                for i = 1, GetNumRaidMembers(), 1 do
                        if UnitName("Raid"..i.."target") == eyeofcthun then
                                newtarget = UnitName("Raid"..i.."targettarget")
                                break
                        end
                end
        end
        if( newtarget ) then
                target = newtarget
        end
end

function BigWigsCThun:GroupWarning()
        if target then
                local i, name, group
                for i = 1, GetNumRaidMembers(), 1 do
                        name, _, group, _, _, _, _, _ = GetRaidRosterInfo(i)
                        if name == target then break end
                end
                if self.db.profile.group then
                        self:TriggerEvent("BigWigs_Message", string.format( L["groupwarning"], group, target), "Important")
                        self:TriggerEvent("BigWigs_SendTell", target, L["glarewarning"])
                end
        end
        if firstWarning then
                self:CancelScheduledEvent("bwcthungroupwarning")
                self:ScheduleRepeatingEvent("bwcthungroupwarning", self.GroupWarning, timeP1Glare, self )
                firstWarning = nil
        end
end

function BigWigsCThun:TentacleRape()
        if phase2started then
                if gianteye then
                        gianteye = nil
                        if self.db.profile.giant then
                                self:TriggerEvent("BigWigs_StartBar", self, L["barGiant"], tentacletime, "Interface\\Icons\\Ability_EyeOfTheOwl")
                                self:ScheduleEvent("bwcthungiant1", "BigWigs_Message", tentacletime -.1, L["giant1"], "Important")
                                self:ScheduleEvent("bwcthungiant2", "BigWigs_Message", tentacletime - 5, L["giant2"], "Urgent")
                                self:ScheduleEvent("bwcthungiant3", "BigWigs_Message", tentacletime - 10, L["giant3"], "Attention")
                        end
                else
                        gianteye = true
                end
        end
        if self.db.profile.tentacle then
                self:TriggerEvent("BigWigs_StartBar", self, self.db.profile.rape and L["barTentacle"] or L["barNoRape"], tentacletime, "Interface\\Icons\\Spell_Nature_CallStorm")
                self:ScheduleEvent("bwcthuntentacle1", "BigWigs_Message", tentacletime -.1, self.db.profile.rape and L["tentacle1"] or L["norape1"], "Important")
                self:ScheduleEvent("bwcthuntentacle2", "BigWigs_Message", tentacletime -5, self.db.profile.rape and L["tentacle2"] or L["norape2"], "Urgent")
        end
end

function BigWigsCThun:DarkGlare()
        if self.db.profile.glare then
                self:TriggerEvent("BigWigs_StartBar", self, L["barGreenBeam"], timeP1GlareDuration, "Interface\\Icons\\Spell_Nature_CallStorm")
                self:TriggerEvent("BigWigs_StartBar", self, L["barGlare"], timeP1Glare, "Interface\\Icons\\Spell_Shadow_ShadowBolt")
                self:ScheduleEvent("bwcthunglare1", "BigWigs_Message", timeP1Glare - .1, L["glare1"], "Important")
                self:ScheduleEvent("bwcthunglare2", "BigWigs_Message", timeP1Glare - 5, L["glare2"], "Urgent")
                self:ScheduleEvent("bwcthunpositions1", "BigWigs_Message", timeP1GlareDuration, L["positions1"], "Important")
                self:ScheduleEvent("bwcthunpositions2", "BigWigs_Message", timeP1GlareDuration - 5, L["positions2"], "Urgent")
        end
        if firstGlare then
                self:CancelScheduledEvent("bwcthundarkglare")
                self:ScheduleRepeatingEvent("bwcthundarkglare", self.DarkGlare, timeP1Glare, self )
                firstGlare = nil
        end
end