Emote Reply

This project has become inactive.

This project is inactive and its default file will likely not work with the most recent version of World of Warcraft. The author may have abandoned it, or it may have outlived its usefulness.

Emote Reply

Description

This addon will return an emote for an emote given. You can set it to where when someone slaps you, you belch, or if someone pokes you, you fart, etc. You can set it up to your heart's desire.

Modification

The only code you may want to change to add new emotes and replies is the emotes table in the LUA file. You have a trigger emote and a reply emote. Every single emote token is set up as a constant, and every single text trigger is set up as a constant. (constants not listed here, but are in the file). Listed here are the default entries into the table when you download it.

table.insert(Emotes, { Trigger = POKE, Reply = TOKEN_FART}); table.insert(Emotes, { Trigger = HUG, Reply = TOKEN_HELPME}); table.insert(Emotes, { Trigger = KISS, Reply = TOKEN_DROOL}); table.insert(Emotes, { Trigger = SLAP, Reply = TOKEN_BURP}); table.insert(Emotes, { Trigger = COWER, Reply = TOKEN_CHICKEN}); table.insert(Emotes, { Trigger = FLEX, Reply = TOKEN_GOLFCLAP}); table.insert(Emotes, { Trigger = LOL, Reply = TOKEN_GUFFAW}); table.insert(Emotes, { Trigger = CRIES, Reply = TOKEN_VIOLIN}); table.insert(Emotes, { Trigger = SEXY, Reply = TOKEN_GRIN}); table.insert(Emotes, { Trigger = YAWN, Reply = TOKEN_THREATEN});

You must login to post a comment. Don't have an account? Register to get one!

  • 3 comments
  • Avatar of Goranaws Goranaws Feb 28, 2012 at 23:54 UTC - 0 likes

    I'm currently working on new features. As soon as they are finished, an update should follow!

    Actively seeking insanity...

  • Avatar of bouncingboy bouncingboy Nov 23, 2011 at 21:40 UTC - 0 likes

    It's loading, but not responding to emotes. Wished I knew more about Lua code. Been looking for a working addon to do just this for awhile.

    I recieved this Error msg...

    Message: [string "EmoteReply:OnLoad"]:1: attempt to call global 'EmoteReply_OnLoad' (a nil value) Time: 11/23/11 16:48:06 Count: 1 Stack: [string "*:OnLoad"]:1: in function <[string "*:OnLoad"]:1> Locals: self = EmoteReply { 0 = <userdata> } (*temporary) = nil (*temporary) = "attempt to call global 'EmoteReply_OnLoad' (a nil value)"

    Anyone else having this issue?

    Thanks!

    Last edited Nov 23, 2011 by bouncingboy
  • Avatar of Goranaws Goranaws Nov 19, 2011 at 09:34 UTC - 0 likes

    I got bored, so I updated and simplified yer addon.... It's written in pure lua, and keeps everything in the local space.

    --This addon returns an emote for an emote
    local EmoteReply = {}
    --EMOTE TOKENS
    local REPLY  =  {
    	AGREE = "AGREE",
    	AMAZE = "AMAZE",
    	ATTACKMYTARGET = "ATTACKMYTARGET",
    	BRB = "BRB",
    	BARK = "BARK",
    	BASHFUL = "BASHFUL",
    	BECKON = "BECKON",
    	BEG = "BEG",
    	BITE = "BITE",
    	BLINK = "BLINK",
    	BLEED = "BLEED",
    	BLUSH = "BLUSH",
    	BOGGLE = "BOGGLE",
    	BORED = "BORED",
    	BOUNCE = "BOUNCE",
    	BOW = "BOW",
    	APPLAUD = "APPLAUD",
    	BURP = "BURP",
    	CACKLE = "CACKLE",
    	CALM = "CALM",
    	CHARGE = "CHARGE",
    	CHEER = "CHEER",
    	CHUCKLE = "CHUCKLE",
    	CLAP = "CLAP",
    	COLD = "COLD",
    	COMFORT = "COMFORT",
    	COMMEND = "COMMEND",
    	CONFUSED = "CONFUSED",
    	CONGRATULATE = "CONGRATULATE",
    	COUGH = "COUGH",
    	CRACK = "CRACK",
    	CRINGE = "CRINGE",
    	CUDDLE = "CUDDLE",
    	CURIOUS = "CURIOUS",
    	CURTSEY = "CURTSEY",
    	DANCE = "DANCE",
    	FROWN = "FROWN",
    	BONK = "BONK",
    	DRINK = "DRINK",
    	DROOL = "DROOL",
    	DUCK = "DUCK",
    	EAT = "EAT",
    	TALKEX = "TALKEX",
    	EYE = "EYE",
    	FART = "FART",
    	COWER = "COWER",
    	FIDGET = "FIDGET",
    	FLEE = "FLEE",
    	FLEX = "FLEX",
    	FLIRT = "FLIRT",
    	FLOP = "FLOP",
    	FOLLOW = "FOLLOW",
    	GAST = "GAST",
    	GAZE = "GAZE",
    	GIGGLE = "GIGGLE",
    	GLARE = "GLARE",
    	GLOAT = "GLOAT",
    	BYE = "BYE",
    	GREET = "GREET",
    	GROAN = "GROAN",
    	GROVEL = "GROVEL",
    	GROWL = "GROWL",
    	GUFFAW = "GUFFAW",
    	HAIL = "HAIL",
    	HAPPY = "HAPPY",
    	HEALME = "HEALME",
    	HELLO = "HELLO",
    	HELPME = "HELPME",
    	HUG = "HUG",
    	HUNGRY = "HUNGRY",
    	INCOMING = "INCOMING",
    	INTRODUCE = "INTRODUCE",
    	JOKE = "JOKE",
    	JK = "JK",
    	KISS = "KISS",
    	KNEEL = "KNEEL",
    	LAUGH = "LAUGH",
    	ROFL = "ROFL",
    	LISK = "LISK",
    	LAYDOWN = "LAYDOWN",
    	LISTEN = "LISTEN",
    	LOST = "LOST",
    	LOVE = "LOVE",
    	ANGRY = "ANGRY",
    	OOM = "OOM",
    	MASSAGE = "MASSAGE",
    	MOAN = "MOAN",
    	MOCK = "MOCK",
    	MOO = "MOO",
    	MOON = "MOON",
    	INSULT = "INSULT",
    	MOURN = "MOURN",
    	NO = "NO",
    	NOD = "NOD",
    	OPENFIRE = "OPENFIRE",
    	PANIC = "PANIC",
    	PAT = "PAT",
    	PEER = "PEER",
    	SHOO = "SHOO",
    	NOSEPICK = "NOSEPICK",
    	PITY = "PITY",
    	PLEAD = "PLEAD",
    	POINT = "POINT",
    	POKE = "POKE",
    	PONDER = "PONDER",
    	POUNCE = "POUNCE",
    	PRAISE = "PRAISE",
    	PRAY = "PRAY",
    	PURR = "PURR",
    	PUZZLE = "PUZZLE",
    	TALKQ = "TALKQ",
    	RAISE = "RAISE",
    	READY = "READY",
    	ROAR = "ROAR",
    	RASP = "RASP",
    	SALUTE = "SALUTE",
    	SCARED = "SCARED",
    	SCRATCH = "SCRATCH",
    	SEXY = "SEXY",
    	SHAKE = "SHAKE",
    	SHIMMY = "SHIMMY",
    	SHIVER = "SHIVER",
    	SHRUG = "SHRUG",
    	SHY = "SHY",
    	SIGH = "SIGH",
    	SLAP = "SLAP",
    	SLEEP = "SLEEP",
    	SMILE = "SMILE",
    	SMIRK = "SMIRK",
    	SNICKER = "SNICKER",
    	SNIFF = "SNIFF",
    	SNUB = "SNUB",
    	SOOTHE = "SOOTHE",
    	APOLOGIZE  =  "APOLOGIZE ",
    	SPIT = "SPIT",
    	STAND = "STAND",
    	STARE = "STARE",
    	STINK = "STINK",
    	CHICKEN = "CHICKEN",
    	SURPRISED = "SURPRISED",
    	SURRENDER = "SURRENDER",
    	TALK = "TALK",
    	TAP = "TAP",
    	TAUNT = "TAUNT",
    	TEASE = "TEASE",
    	THANK = "THANK",
    	THIRSTY = "THIRSTY",
    	TICKLE = "TICKLE",
    	TIRED = "TIRED",
    	TRAIN = "TRAIN",
    	GOLFCLAP = "GOLFCLAP",
    	VETO = "VETO",
    	VICTORY = "VICTORY",
    	VIOLIN = "VIOLIN",
    	WAIT = "WAIT",
    	WAVE = "WAVE",
    	CRY = "CRY",
    	WELCOME = "WELCOME",
    	WHINE = "WHINE",
    	WHISTLE = "WHISTLE",
    	GRIN = "GRIN",
    	WINK = "WINK",
    	WORK = "WORK",
    	THREATEN = "THREATEN",
    	YAWN = "YAWN",
    }
    
    local TRIGGERS = {
    	AGREE = "agree",
    	AMAZE = "amaze",
    	ATTACKTARGET = "attack",
    	BRB = "back",
    	BARK = "bark",
    	BASHFUL = "bashful",
    	BECKON = "beckon",
    	BEG = "beg",
    	BITE = "bite",
    	BLINK = "blink",
    	BLOOD = "blood",
    	BLUSH = "blush",
    	BOGGLE = "boggle",
    	BORED = "bored",
    	BOUNCE = "bounce",
    	BOW = "bow",
    	BRAVO = "bravo",
    	BURP = "burp",
    	CACKLE = "cackle",
    	CALM = "calm",
    	CHARGE = "charge",
    	CHEER = "cheer",
    	CHUCKLE = "chuckle",
    	CLAP = "clap",
    	COLD = "cold",
    	COMFORT = "comfort",
    	COMMEND = "commend",
    	CONFUSED = "confused",
    	CONG = "cong",
    	COUGH = "cough",
    	COWER = "cowers",
    	CRACK = "crack",
    	CRIES = "cries",
    	CRINGE = "cringe",
    	CUDDLE = "cuddle",
    	CURIOUS = "curious",
    	CURTSEY = "curtsey",
    	DANCE = "dance",
    	DISAPPOINTED = "disappointed",
    	DOH = "doh",
    	SHINDIG = "drink",
    	DROOL = "drool",
    	DUCK = "duck",
    	FEAST = "eat",
    	EXCITED = "excited",
    	EYE = "eye",
    	FART = "fart",
    	FEAR = "fear",
    	FIDGET = "fidgets",
    	FLEE = "flees",
    	FLEX = "flexes",
    	FLIRT = "flirt",
    	FLOP = "flop",
    	FOLLOWME = "follow",
    	GASP = "gasp",
    	GAZE = "gaze",
    	GIGGLE = "giggle",
    	GLARE = "glare",
    	GLOAT = "gloat",
    	GOODBYE = "goodbye",
    	GREET = "greet",
    	GROAN = "groan",
    	GROVEL = "grovel",
    	GROWL = "growl",
    	GUFFAW = "guffaw",
    	HAIL = "hail",
    	YAY = "happiness",
    	HEALME = "healing",
    	HI = "hello",
    	HELPME = "help",
    	HUG = "hug",
    	PIZZA = "hungry",
    	INCOMING = "incoming",
    	INTRODUCE = "introduce",
    	SILLY = "joke",
    	JK = "kidding",
    	KISS = "kiss",
    	KNEEL = "kneel",
    	LOL = "laughs",
    	ROFL = "laughing",
    	LICK = "lick",
    	LIE = "lie",
    	LISTEN = "listen",
    	LOST = "lost",
    	LOVE = "love",
    	MAD = "mad",
    	OOM = "mana",
    	MASSAGE = "massage",
    	MOAN = "moan",
    	MOCK = "mock",
    	MOO = "Mooooooooooo",
    	MOON = "moon",
    	INSULT = "motherless",
    	MOURN = "mourn",
    	NO = "Not going to happen",
    	YES = "nod",
    	OPENFIRE = "openfire",
    	PANIC = "panic",
    	PAT = "pat",
    	PEER = "peer",
    	PEST = "pest",
    	PICK = "pick",
    	PITY = "pity",
    	PLEAD = "plead",
    	POINT = "point",
    	POKE = "poke",
    	PONDER = "ponder",
    	POUNCE = "pounce",
    	PRAISE = "praise",
    	PRAY = "pray",
    	PURR = "purr",
    	PUZZLED = "puzzled",
    	QUESTION = "question",
    	RAISE = "raise",
    	RDY = "ready",
    	ROAR = "roar",
    	RASP = "rude",
    	RUDE = "gesture",
    	SALUTE = "salute",
    	SCARED = "scared",
    	SCRATCH = "scratch",
    	SEXY = "sexy",
    	SHAKE = "shake",
    	SHIMMY = "shimmy",
    	SHIVER = "shiver",
    	SHRUG = "shrug",
    	SHY = "shy",
    	SIGH = "sigh",
    	SLAP = "slap",
    	SLEEP = "sleep",
    	SMILE = "smile",
    	SMIRK = "snarl",
    	SNICKER = "snicker",
    	SNIFF = "sniff",
    	SNUB = "snub",
    	SOOTHE = "soothe",
    	SORRY = "sorry",
    	SPIT = "spit",
    	STAND = "stand",
    	STARE = "stare",
    	STINK = "stink",
    	STRUT = "strut",
    	SURPRISED = "surprised",
    	SURRENDER = "surrender",
    	TALK = "talk",
    	TAP = "tap",
    	TAUNT = "taunt",
    	TEASE = "tease",
    	THANK = "thank",
    	THIRSTY = "thirsty",
    	TICKLE = "tickle",
    	TIRED = "tired",
    	TRAIN = "train",
    	GOLFCLAP = "unimpressed",
    	VETO = "veto",
    	VICTORY = "victory",
    	VIOLIN = "violin",
    	WAIT = "wait",
    	WAVE = "wave",
    	WEEP = "weep",
    	WELCOME = "welcome",
    	WHINE = "whine",
    	WHISTLE = "whistle",
    	WICKED = "wicked",
    	WINK = "wink",
    	WORK = "work",
    	WRATH = "wrath",
    	YAWN = "yawn"
    }
    
    local Defaults = {
    			{Trigger = TRIGGERS.STRUT,		Reply = REPLY.THREATEN},
    			{Trigger = TRIGGERS.GOLFCLAP,		Reply = REPLY.SMIRK},
    			{Trigger = TRIGGERS.WINK,		Reply = REPLY.WINK},
    			{Trigger = TRIGGERS.YAWN,		Reply = REPLY.THREATEN},
    			{Trigger = TRIGGERS.SEXY,		Reply = REPLY.GRIN},
    			{Trigger = TRIGGERS.CRIES,		Reply = REPLY.VIOLIN},
    			{Trigger = TRIGGERS.LOL,		Reply = REPLY.GUFFAW},
    			{Trigger = TRIGGERS.FLEX,		Reply = REPLY.GOLFCLAP},
    			{Trigger = TRIGGERS.COWER,		Reply = REPLY.CHICKEN},
    			{Trigger = TRIGGERS.SLAP,		Reply = REPLY.BURP},
    			{Trigger = TRIGGERS.KISS,		Reply = REPLY.DROOL},
    			{Trigger = TRIGGERS.HUG,		Reply = REPLY.HELPME},
    			{Trigger = TRIGGERS.POKE,		Reply = REPLY.FART},
    			{Trigger = TRIGGERS.WAVE,		Reply = REPLY.HELLO},
    				}
    
    function EmoteReply:LoadDefaults()
    	EmoteReply.Emotes = {}
    	for i = 1, #Defaults do
    		tinsert(EmoteReply.Emotes, Defaults[i])
    	end
    end
    
    function EmoteReply:ADDON_LOADED(self, event, arg1)
    	if (event == "ADDON_LOADED") and (arg1 == "EmoteReply") then
    		DEFAULT_CHAT_FRAME:AddMessage("Emote Reply Version 1.05 Loaded");
    		EmoteReply:LoadDefaults()
    		self:UnregisterEvent("ADDON_LOADED")
    	end
    end
    
    function EmoteReply:OnEvent(arg1)
    	if ( event == "CHAT_MSG_TEXT_EMOTE" ) then
    	print(arg1)
    		local arg1 = string.lower(arg1) --turns all uppercase letters into lowercase ones.
    		foreach(EmoteReply.Emotes, 
    			function(k,v)
    				if (string.find(arg1, v.Trigger)) then
    					if (string.find(arg1)) then
    						DoEmote(v.Reply,true);
    					end
    					return;
    				end
    			end
    		);
    	end
    end
    
    local Loader = CreateFrame("Frame")
    Loader:RegisterEvent("CHAT_MSG_TEXT_EMOTE")
    Loader:RegisterEvent("ADDON_LOADED")
    Loader:SetScript("OnEvent", function(self, event, arg1, ...)
    	EmoteReply:ADDON_LOADED(self, event, arg1)
    		
    	EmoteReply:OnEvent(arg1)
    end)
    
    Last edited Nov 19, 2011 by Goranaws
  • 3 comments

Facts

Date created
Apr 21, 2009
Categories
Last update
Nov 13, 2011
Development stage
Inactive
License
Public Domain
Curse link
Emote Reply
Downloads
8,081
Recent files

Authors