local addonName, addonTable = ... addonTable.Funcs = {} local MyFuncs = addonTable.Funcs local f = CreateFrame("Frame", nil, UIParent) local emotes = { "MOURN", "SNIFF", "LICK", "SNICKER", "GUFFAW", "GLOAT", "PITY", "VIOLIN", "BYE", "BITE", "CACKLE", "SHOO", "SLAP", "TEASE", "TAUNT", "MOCK", "MOO", "CHUCKLE", "BONK", "FLEX", "GRIN", "LAUGH", "MOON", "NO", "ROAR", "ROFL", "SCRATCH", "SIGH", "SNARL", "TAP", "INSULT", "BARK", "BECKON", "CALM", "CHICKEN", "COMFORT", "CUDDLE", "CURTSEY", "GIGGLE", "GROWL", "NOSEPICK", "RASP", "RUDE", "SMIRK", "SNUB", "SOOTHE", "THANK", "TICKLE", "VETO", "YAWN", --[["POUNCE",]] --[["CRACK",]] --[["AGREE",]] --[["AMAZE",]] --[["ANGRY",]] --[["APOLOGIZE",]] --[["APPLAUD",]] --[["BASHFUL",]] --[["BEG",]] --[["BLEED",]] --[["BLINK",]] --[["BLUSH",]] --[["COMMEND",]] --[["TRAIN",]] --[["RAISE",]] --[["INTRODUCE",]] --[["JK",]] --[["LISTEN",]] --[["TALK",]] --[["TALKEX",]] --[["TALKQ",]] --[["BORED",]] --[["BOUNCE",]] --[["BRB",]] --[["BOW",]] --[["BURP",]] --[["CHEER",]] --[["CLAP",]] --[["CONFUSED",]] --[["CONGRATULATE",]] --[["UNUSED",]] --[["COUGH",]] --[["COWER",]] --[["CRINGE",]] --[["CRY",]] --[["CURIOUS",]] --[["DANCE",]] --[["DRINK",]] --[["DROOL",]] --[["EAT",]] --[["EYE",]] --[["FART",]] --[["FIDGET",]] --[["FROWN",]] --[["GASP",]] --[["GAZE",]] --[["GLARE",]] --[["GREET",]] --[["GROAN",]] --[["GROVEL",]] --[["HAIL",]] --[["HAPPY",]] --[["HELLO",]] --[["HUG",]] --[["HUNGRY",]] --[["KISS",]] --[["KNEEL",]] --[["LAYDOWN",]] --[["MASSAGE",]] --[["MOAN",]] --[["NOD",]] --[["PANIC",]] --[["PEER",]] --[["PLEAD",]] --[["POINT",]] --[["POKE",]] --[["PRAY",]] --[["SALUTE",]] --[["SEXY",]] --[["SHAKE",]] --[["SHOUT",]] --[["SHRUG",]] --[["SHY",]] --[["SIT",]] --[["SLEEP",]] --[["SPIT",]] --[["STARE",]] --[["SURPRISED",]] --[["SURRENDER",]] --[["THREATEN",]] --[["TIRED",]] --[["VICTORY",]] --[["WAVE",]] --[["WELCOME",]] --[["WHINE",]] --[["WHISTLE",]] --[["WORK",]] --[["BOGGLE",]] --[["COLD",]] --[["DUCK",]] --[["LOST",]] --[["PONDER",]] --[["PRAISE",]] --[["PURR",]] --[["PUZZLE",]] --[["READY",]] --[["SHIMMY",]] --[["SHIVER",]] --[["STINK",]] --[["THIRSTY",]] --[["STAND",]] --[["SMILE",]] --[["SCARED",]] --[["FLOP",]] --[["LOVE",]] } function MyFuncs.GetRandomEmote() return emotes[math.random(1, #(emotes))] end function MyFuncs.OnEvent(self, event, ...) --[[local instanceType = select(2, IsInInstance()) if event == "COMBAT_LOG_EVENT_UNFILTERED" and ( instanceType == "pvp" or instanceType == "arena" ) then local timestamp, subEvent, hideCaster, srcGUID, srcName, srcFlags, srcRaidFlags, dstGUID, dstName, dstFlags, dstRaidFlags = ... if subEvent == "PARTY_KILL" and bit.band(dstFlags, COMBATLOG_OBJECT_REACTION_HOSTILE) > 0 and bit.band(dstFlags, COMBATLOG_OBJECT_TYPE_PLAYER) > 0 and dstName ~= nil and srcName ~= nil then if srcName == UnitName("player") and dstName ~= UnitName("player") then if select(4, GetAchievementInfo(247)) then DoEmote(MyFuncs.GetRandomEmote(), dstName) else DoEmote("HUG", dstName) end end end end]] local _, subEvent, _, srcGUID, srcName, srcFlags, _, dstGUID, dstName, dstFlags = ... if subEvent == "PARTY_KILL" then if srcGUID == UnitGUID("player") and ( bit.band(dstFlags, COMBATLOG_OBJECT_REACTION_HOSTILE) > 0 and bit.band(dstFlags, COMBATLOG_OBJECT_TYPE_PLAYER) > 0 ) and not ( bit.band(dstFlags, COMBATLOG_OBJECT_AFFILIATION_RAID) > 0 or bit.band(dstFlags, COMBATLOG_OBJECT_AFFILIATION_PARTY) > 0 or bit.band(dstFlags, COMBATLOG_OBJECT_AFFILIATION_MINE) > 0 ) then if select(4, GetAchievementInfo(247)) then DoEmote(MyFuncs.GetRandomEmote(), dstName) else DoEmote("HUG", dstName) end end end end f:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED") f:SetScript("OnEvent", MyFuncs.OnEvent)