NURFED_COMBATLOG_VERS = "06.22.2006"; NURFED_COMBATLOG_DEFAULT = { You = { (0/255), (192/255), (255/255) }, Pet = { (0/255), (153/255), (102/255) }, Party = { (255/255), (153/255), (0/255) }, Raid = { (251/255), (210/255), (132/255) }, Enemy = { (255/255), (116/255), (109/255) }, Target = { (255/255), (116/255), (109/255) }, Friendly = { (251/255), (210/255), (132/255) }, [HEALTH] = { (255/255), (0/255), (0/255) }, [MANA] = { (0/255), (255/255), (255/255) }, [RAGE] = { 1, 0, 0 }, [ENERGY] = { 1, 1, 0 }, [HAPPINESS] = { 1, 0.5, 0.25 }, [SPELL_SCHOOL0_CAP] = { (255/255), (255/255), (150/255) }, [SPELL_SCHOOL1_CAP] = { (255/255), (255/255), (0/255) }, [SPELL_SCHOOL2_CAP] = { (255/255), (0/255), (0/255) }, [SPELL_SCHOOL3_CAP] = { (0/255), (102/255), (0/255) }, [SPELL_SCHOOL4_CAP] = { (0/255), (102/255), (255/255) }, [SPELL_SCHOOL5_CAP] = { (202/255), (76/255), (217/255) }, [SPELL_SCHOOL6_CAP] = { (153/255), (204/255), (255/255) }, Heal = { (96/255), (255/255), (99/255) }, [MISS] = { (0/255), (255/255), (255/255) }, damage = { (255/255), (47/255), (47/255) }, overlay = { (255/255), (255/255), (0/255) }, buff = { (255/255), (255/255), (0/255) }, debuff = { (255/255), (255/255), (0/255) }, cast = { (255/255), (255/255), (0/255) }, source = "[$n]", target = "[$n]", death = "--** $n", crit = "*$d*", spellalert = "Begins to cast $s", deathout = 2, destroyed = 1, watches = { [YOU] = { 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, }, }; local utility = Nurfed_Utility:New(); local lib = Nurfed_CombatLog:New(); local framelib = Nurfed_Frames:New(); local eventframe = { type = "Frame", events = { }, OnEvent = function() lib:ParseEvent(event, arg1) end, }; local config = { type = "Frame", Anchor = { "TOP", "$parenttitlebg", "BOTTOM", 0, -1 }, children = { page1 = { type = "Frame", Anchor = "all", children = { swatch1 = { template = "Nurfed_OptionColorSwatch", properties = { Anchor = { "TOPLEFT", "$parent", "TOPLEFT", 0, 0 }, vars = { text = YOU, option = "You", }, }, }, swatch2 = { template = "Nurfed_OptionColorSwatch", properties = { Anchor = { "TOPLEFT", "$parentswatch1", "BOTTOMLEFT", 0, -3 }, vars = { text = PET, option = "Pet", }, }, }, swatch3 = { template = "Nurfed_OptionColorSwatch", properties = { Anchor = { "TOPLEFT", "$parentswatch2", "BOTTOMLEFT", 0, -3 }, vars = { text = PARTY, option = "Party", }, }, }, swatch4 = { template = "Nurfed_OptionColorSwatch", properties = { Anchor = { "TOPLEFT", "$parentswatch3", "BOTTOMLEFT", 0, -3 }, vars = { text = RAID, option = "Raid", }, }, }, swatch5 = { template = "Nurfed_OptionColorSwatch", properties = { Anchor = { "TOPLEFT", "$parentswatch4", "BOTTOMLEFT", 0, -3 }, vars = { text = FACTION_OTHER, option = "Enemy", }, }, }, swatch6 = { template = "Nurfed_OptionColorSwatch", properties = { Anchor = { "TOPLEFT", "$parentswatch5", "BOTTOMLEFT", 0, -3 }, vars = { text = NRF_TARGET, option = "Target", }, }, }, swatch7 = { template = "Nurfed_OptionColorSwatch", properties = { Anchor = { "TOPLEFT", "$parentswatch6", "BOTTOMLEFT", 0, -3 }, vars = { text = HEALTH, option = HEALTH, }, }, }, swatch8 = { template = "Nurfed_OptionColorSwatch", properties = { Anchor = { "TOPLEFT", "$parentswatch7", "BOTTOMLEFT", 0, -3 }, vars = { text = MANA, option = MANA, }, }, }, swatch9 = { template = "Nurfed_OptionColorSwatch", properties = { Anchor = { "TOPLEFT", "$parentswatch8", "BOTTOMLEFT", 0, -3 }, vars = { text = RAGE, option = RAGE, }, }, }, swatch10 = { template = "Nurfed_OptionColorSwatch", properties = { Anchor = { "TOPLEFT", "$parentswatch9", "BOTTOMLEFT", 0, -3 }, vars = { text = ENERGY, option = ENERGY, }, }, }, swatch11 = { template = "Nurfed_OptionColorSwatch", properties = { Anchor = { "TOPLEFT", "$parentswatch10", "BOTTOMLEFT", 0, -3 }, vars = { text = HAPPINESS, option = HAPPINESS, }, }, }, swatch12 = { template = "Nurfed_OptionColorSwatch", properties = { Anchor = { "TOPRIGHT", "$parent", "TOPRIGHT", 0, 0 }, vars = { right = true, text = SPELL_SCHOOL0_CAP, option = SPELL_SCHOOL0_CAP, }, }, }, swatch13 = { template = "Nurfed_OptionColorSwatch", properties = { Anchor = { "TOPRIGHT", "$parentswatch12", "BOTTOMRIGHT", 0, -3 }, vars = { right = true, text = SPELL_SCHOOL1_CAP, option = SPELL_SCHOOL1_CAP, }, }, }, swatch14 = { template = "Nurfed_OptionColorSwatch", properties = { Anchor = { "TOPRIGHT", "$parentswatch13", "BOTTOMRIGHT", 0, -3 }, vars = { right = true, text = SPELL_SCHOOL2_CAP, option = SPELL_SCHOOL2_CAP, }, }, }, swatch15 = { template = "Nurfed_OptionColorSwatch", properties = { Anchor = { "TOPRIGHT", "$parentswatch14", "BOTTOMRIGHT", 0, -3 }, vars = { right = true, text = SPELL_SCHOOL3_CAP, option = SPELL_SCHOOL3_CAP, }, }, }, swatch16 = { template = "Nurfed_OptionColorSwatch", properties = { Anchor = { "TOPRIGHT", "$parentswatch15", "BOTTOMRIGHT", 0, -3 }, vars = { right = true, text = SPELL_SCHOOL4_CAP, option = SPELL_SCHOOL4_CAP, }, }, }, swatch17 = { template = "Nurfed_OptionColorSwatch", properties = { Anchor = { "TOPRIGHT", "$parentswatch16", "BOTTOMRIGHT", 0, -3 }, vars = { right = true, text = SPELL_SCHOOL5_CAP, option = SPELL_SCHOOL5_CAP, }, }, }, swatch18 = { template = "Nurfed_OptionColorSwatch", properties = { Anchor = { "TOPRIGHT", "$parentswatch17", "BOTTOMRIGHT", 0, -3 }, vars = { right = true, text = SPELL_SCHOOL6_CAP, option = SPELL_SCHOOL6_CAP, }, }, }, swatch19 = { template = "Nurfed_OptionColorSwatch", properties = { Anchor = { "TOPRIGHT", "$parentswatch18", "BOTTOMRIGHT", 0, -3 }, vars = { right = true, text = NRF_HEAL, option = "Heal", }, }, }, swatch20 = { template = "Nurfed_OptionColorSwatch", properties = { Anchor = { "TOPRIGHT", "$parentswatch19", "BOTTOMRIGHT", 0, -3 }, vars = { right = true, text = MISS, option = MISS, }, }, }, swatch21 = { template = "Nurfed_OptionColorSwatch", properties = { Anchor = { "TOPRIGHT", "$parentswatch20", "BOTTOMRIGHT", 0, -3 }, vars = { right = true, text = DAMAGE, option = "damage", }, }, }, swatch22 = { template = "Nurfed_OptionColorSwatch", properties = { Anchor = { "TOPRIGHT", "$parentswatch21", "BOTTOMRIGHT", 0, -3 }, vars = { right = true, text = NRF_CRITOVERLAY, option = "overlay", }, }, }, swatch23 = { template = "Nurfed_OptionColorSwatch", properties = { Anchor = { "TOPRIGHT", "$parentswatch22", "BOTTOMRIGHT", 0, -3 }, vars = { right = true, text = NRF_BUFFS, option = "buff", }, }, }, swatch24 = { template = "Nurfed_OptionColorSwatch", properties = { Anchor = { "TOPRIGHT", "$parentswatch23", "BOTTOMRIGHT", 0, -3 }, vars = { right = true, text = NRF_DEBUFFS, option = "debuff", }, }, }, swatch25 = { template = "Nurfed_OptionColorSwatch", properties = { Anchor = { "TOPLEFT", "$parentswatch11", "BOTTOMLEFT", 0, -3 }, vars = { text = SPELLS, option = "cast", }, }, }, }, }, page2 = { type = "Frame", Anchor = "all", children = { input1 = { template = "Nurfed_OptionInput", properties = { Anchor = { "TOPLEFT", "$parent", "TOPLEFT", 0, 0 }, vars = { text = NRF_SOURCE, option = "source", }, }, }, input2 = { template = "Nurfed_OptionInput", properties = { Anchor = { "TOPLEFT", "$parentinput1", "BOTTOMLEFT", 0, -5 }, vars = { text = NRF_TARGET, option = "target", }, }, }, input3 = { template = "Nurfed_OptionInput", properties = { Anchor = { "TOPLEFT", "$parentinput2", "BOTTOMLEFT", 0, -5 }, vars = { text = TUTORIAL_TITLE25, option = "death", }, }, }, input4 = { template = "Nurfed_OptionInput", properties = { Anchor = { "TOPLEFT", "$parentinput3", "BOTTOMLEFT", 0, -5 }, vars = { text = NRF_CRIT, option = "crit", }, }, }, input5 = { template = "Nurfed_OptionInput", properties = { Anchor = { "TOPLEFT", "$parentinput4", "BOTTOMLEFT", 0, -5 }, vars = { text = SPELLS, option = "spellalert", }, }, }, slider1 = { template = "Nurfed_OptionSlider", properties = { Anchor = { "TOPRIGHT", "$parent", "TOPRIGHT", -2, -12 }, vars = { text = NRF_DEATHOUT, option = "deathout", max = 7, min = 0, step = 1, format = "%.0f", }, }, }, check1 = { template = "Nurfed_OptionCheck", properties = { Anchor = { "TOPRIGHT", "$parentslider1", "BOTTOMRIGHT", 0, -15 }, vars = { right = true, text = NRF_SHOWDESTROYED, option = "destroyed", }, }, }, }, }, page3 = { type = "Frame", Anchor = "all", children = { input1 = { template = "Nurfed_OptionInputSelect", properties = { Anchor = { "TOPLEFT", "$parent", "TOPLEFT", 0, 0 }, children = { slider1 = { template = "Nurfed_OptionSlider", properties = { Anchor = { "TOPLEFT", "$parent", "TOPRIGHT", 100, -13 }, vars = { text = NRF_OUTPUT, id = 1, max = 7, min = 1, step = 1, init = 2, format = "%.0f", }, }, }, check1 = { template = "Nurfed_OptionCheck", properties = { Anchor = { "TOPLEFT", "$parent", "TOPRIGHT", 2, -2 }, vars = { text = NRF_HEAL, id = 2, init = 1, }, }, }, check2 = { template = "Nurfed_OptionCheck", properties = { Anchor = { "TOPLEFT", "$parentcheck1", "BOTTOMLEFT", 0, -3 }, vars = { text = NRF_HIT, id = 3, init = 1, }, }, }, check3 = { template = "Nurfed_OptionCheck", properties = { Anchor = { "TOPLEFT", "$parentcheck2", "BOTTOMLEFT", 0, -3 }, vars = { text = SPELLS, id = 4, init = 1, }, }, }, check4 = { template = "Nurfed_OptionCheck", properties = { Anchor = { "TOPLEFT", "$parentcheck3", "BOTTOMLEFT", 0, -3 }, vars = { text = NRF_DOT, id = 5, init = 1, }, }, }, check5 = { template = "Nurfed_OptionCheck", properties = { Anchor = { "TOPLEFT", "$parentcheck4", "BOTTOMLEFT", 0, -3 }, vars = { text = NRF_SPELLMISS, id = 6, init = 1, }, }, }, check6 = { template = "Nurfed_OptionCheck", properties = { Anchor = { "TOPLEFT", "$parentcheck5", "BOTTOMLEFT", 0, -3 }, vars = { text = NRF_ENVIRONMENT, id = 7, init = 1, }, }, }, check7 = { template = "Nurfed_OptionCheck", properties = { Anchor = { "TOPLEFT", "$parentcheck6", "BOTTOMLEFT", 0, -3 }, vars = { text = NRF_POWERGAIN, id = 8, init = 1, }, }, }, check8 = { template = "Nurfed_OptionCheck", properties = { Anchor = { "TOPLEFT", "$parentcheck7", "BOTTOMLEFT", 0, -3 }, vars = { text = NRF_DEBUFFS, id = 9, init = 1, }, }, }, check9 = { template = "Nurfed_OptionCheck", properties = { Anchor = { "TOPRIGHT", "$parentslider1", "BOTTOMRIGHT", 0, -8 }, vars = { right = true, text = NRF_BUFFS, id = 10, init = 1, }, }, }, check10 = { template = "Nurfed_OptionCheck", properties = { Anchor = { "TOPRIGHT", "$parentcheck9", "BOTTOMRIGHT", 0, -3 }, vars = { right = true, text = NRF_AURAFADE, id = 11, init = 1, }, }, }, check11 = { template = "Nurfed_OptionCheck", properties = { Anchor = { "TOPRIGHT", "$parentcheck10", "BOTTOMRIGHT", 0, -3 }, vars = { right = true, text = NRF_MELEEMISS, id = 12, init = 1, }, }, }, check12 = { template = "Nurfed_OptionCheck", properties = { Anchor = { "TOPRIGHT", "$parentcheck11", "BOTTOMRIGHT", 0, -3 }, vars = { right = true, text = NRF_RESIST, id = 13, init = 1, }, }, }, check13 = { template = "Nurfed_OptionCheck", properties = { Anchor = { "TOPRIGHT", "$parentcheck12", "BOTTOMRIGHT", 0, -3 }, vars = { right = true, text = NRF_SPELLFAIL, id = 14, init = 1, }, }, }, check14 = { template = "Nurfed_OptionCheck", properties = { Anchor = { "TOPRIGHT", "$parentcheck13", "BOTTOMRIGHT", 0, -3 }, vars = { right = true, text = NRF_CAST, id = 15, init = 1, }, }, }, check15 = { template = "Nurfed_OptionCheck", properties = { Anchor = { "TOPRIGHT", "$parentcheck14", "BOTTOMRIGHT", 0, -3 }, vars = { right = true, text = NRF_PERFORM, id = 16, init = 1, }, }, }, }, vars = { text = VOICEMACRO_1_Or_0, option = "watches", }, }, }, }, }, tab1 = { template = "Nurfed_OptionTab", properties = { Anchor = { "TOPLEFT", "$parent", "BOTTOMLEFT", 0, -1 }, vars = { text = COLOR, page = 1, }, }, }, tab2 = { template = "Nurfed_OptionTab", properties = { Anchor = { "LEFT", "$parenttab1", "RIGHT", 3, 0 }, vars = { text = NRF_FORMATS, page = 2, }, }, }, tab3 = { template = "Nurfed_OptionTab", properties = { Anchor = { "LEFT", "$parenttab2", "RIGHT", 3, 0 }, vars = { text = VOICEMACRO_1_Or_0, page = 3, }, }, }, }, vars = { width = 350, height = 300, page = 1 }, }; function Nurfed_CombatLog_Init() if (eventframe) then for event in ChatTypeGroup do for e, l in lib.events do if (string.find(event, e, 1, true)) then table.insert(eventframe.events, "CHAT_MSG_"..event); end end end -- CombatMessageAmbigousfix by No-Nonsense if (GetLocale() == "deDE" and not IsAddOnLoaded("CombatMessagesAmbigousFix")) then local COMBAT_MESSAGES = { "SPELLLOGCRITOTHEROTHER", "SPELLLOGOTHEROTHER", "SPELLLOGCRITSCHOOLOTHERSELF", "SPELLLOGCRITSCHOOLOTHEROTHER", "SPELLLOGSCHOOLOTHERSELF", "SPELLLOGSCHOOLOTHEROTHER", "SPELLSPLITDAMAGEOTHEROTHER", "SPELLSPLITDAMAGEOTHERSELF", "SPELLRESISTOTHEROTHER", "PERIODICAURAHEALOTHEROTHER", "HEALEDCRITOTHEROTHER", "HEALEDCRITOTHERSELF", "HEALEDOTHEROTHER" }; for _, cmsg in COMBAT_MESSAGES do local fixcode = cmsg .. '= string.gsub(string.gsub(' .. cmsg .. ', "(%%%d%$s)s", "%1\'s"), "%%ss", "%%s\'s")'; RunScript(fixcode); end local COMBAT_MESSAGES = nil; end framelib:ObjectInit("Nurfed_CombatLogFrame", eventframe, UIParent); framelib:ObjectInit("Nurfed_CombatLog_Menu", config, Nurfed_OptionsFrame); config = nil; eventframe = nil; lib:Init(); end end function nctest(num) if (not num or type(num) ~= "number") then utility:Print("Usage: nctest(number)"); return; end local now = GetTime(); for i=1, num do lib:ParseEvent("CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE", "Bob's Fireball crits You for 2000."..GLANCING_TRAILER) end utility:Print(num.." CombatLog Events Completed in "..format("%.3f", GetTime() - now)); end