This is an old revision of the document!
Sense is a raid-warnings and general triggers handler.
Sense handles several forms of detection including, chat, actions (id or name), and custom lua functions.
Sense can alert by sound with custom .mp3/.wav or text-to-speech output.
Sense can alert visually with a customizable HUD.
Sense can additionally react with custom lua, which allows access to any code the bot can execute, the possibilities are endless.
The Sense addon contains the following folders:
bin
images
sounds
profiles
triggers
local profile = { name = "A5S", -- Friendly name, used only internally, for now. reset = "Advanced Clevering is no longer sealed", -- Reset accepts a string or table full of strings. If detected, it will reset the encounter. start = "Advanced Clevering will be sealed off in 15", -- Start accepts a string or table full of strings. If detected, it will start the encounter. Triggers in the profile become active once the profile is started. timeline = { -- Timeline is a table full of all events that the profile walk through. { post = 5, sound = "Goes Big", main_image = "GOES BIG", helper_image = "", setvar = { name = "SENSE_TEST", value = 44, duration = 20, reset = 0} }, -- "post" - Time in seconds after the profile has started. -- "sound" - Accepts a file name (file must be inside the "sounds" folder and be mp3/wav format), or text that will be played via text-to-speech. -- "main_image" - Top level image. Can be a file name (file must be in the images folder), or text that will be auto-converted into an image. -- "helper_image" - Second level image. Can be a file name (file must be in the images folder), or text that will be auto-converted into an image. -- "setvar" - Accepts a lua table. setvar is used to expose/alter a variable in the global lua scope, so that other addons/code sections not local to Sense can read/react to it, such as setting a var that a skill profile may react to. -- { name = Name of the variable to be altered/set. , value = Value to set the variable to, duration = Length in time (seconds) that this variable will remain in that state, reset = Value that the var will be reset back to upon duration limit } { post = 8, sound = "Gob jab", main_image = "GOBJAB", helper_image = "1ST HEADACHE STACK", runcode = "SendTextCommand('/echo GOBJAB')" }, -- "runcode" - Accepts a string or lua function. Will run the code block upon reaching this time point. { post = 12, sound = "Gob jab", main_image = "GOBJAB", helper_image = "2ND HEADACHE STACK" }, { post = 16, sound = "Gob jab", main_image = "GOBJAB", helper_image = "3RD HEADACHE STACK" }, { post = 20, sound = "Gob jab", main_image = "GOBJAB", helper_image = "4TH HEADACHE STACK, SWITCH TANKS" }, { post = 25, sound = "Buster", main_image = "TANK BUSTER", helper_image = "GOBCUT (STACK) OR GOBSTRAIGHT (TANK)" }, { post = 34, sound = "Prey", main_image = "PREY", helper_image = "ONE PLAYER WILL GET MARKED BY PREY" }, { post = 41, sound = "Charge", main_image = "CHARGE", helper_image = "" }, { post = 50, sound = "Goes Small", sync = "loses the effect of Bigbulge Biggerbrain", windowopen = 0, windowclose = 50, main_image = "GOES SMALL", helper_image = "" }, { post = 50, sound = "Glupgloop Mark 1", main_image = "GLUPGLOOP MARK", helper_image = "AOE LANDING IN 7 SECONDS" }, { post = 60, sound = "Glupgloop Mark 2", main_image = "GLUPGLOOP MARK", helper_image = "AOE LANDING IN 7 SECONDS" }, { post = 68, sound = "2 Snakes", main_image = "ADDS => 2 SNAKES", helper_image = "" }, { post = 77, sound = "Steel Scales", main_image = "STEEL SCALES", helper_image = "" }, { post = 84, sound = "Shock Therapy", main_image = "SHOCK THERAPY", helper_image = "RAID-WIDE AOE" }, { post = 93, sound = "Cleanse Poison", main_image = "CLEANSE POISON", helper_image = "GET 1 GORILLA" }, { post = 98, sound = "Get Away From Spikey", main_image = "GET AWAY FROM SPIKEY", helper_image = "1 SPIKEY, 2 SMARTBOMB" }, { post = 119, sound = "Goes Big", sync = "uses Guzzle", windowopen = 50, windowclose = 0, main_image = "GOES BIG", helper_image = "USED GUZZLE, BIG MODE" }, { post = 125, sound = "Bird Time", main_image = "BIRD TIME", helper_image = "" }, { post = 126, sound = "Diagonal Bombs", main_image = "DIAGONAL BOMBS", helper_image = "" }, { post = 141, sound = "Prey", main_image = "PREY", helper_image = "ONE PLAYER WILL GET MARKED BY PREY" }, { post = 148, sound = "Charge", main_image = "CHARGE", helper_image = "" }, { post = 154, sound = "Gobhook", main_image = "GOBHOOK", helper_image = "NEAREST HEALER TARGETED, GET BEHIND BOSS" }, }, triggers = { { detect_chat = "readies Petrification", sound = "Petrification", main_image = "PETRIFICATION", helper_image = "TURN AWAY" }, }, } return profile
local profile = { name = "Ace Triggers", triggers = { { detect_chat = "readies Petrification", sound = "Petrification", main_image = "PETRIFICATION", helper_image = "TURN AWAY" }, { detect_chat = "readies Cure", sound = "CURE", main_image = "CURE", helper_image = "BE HEALED NOOB", runcode = "SendTextCommand('/echo LET THAIR BE LIGHT')", }, { detect_action = "Cure", detect_action_user = "3660;3661"; sound = "CURE", main_image = "CURE", helper_image = "BE HEALED NOOB", runcode = "SendTextCommand('/echo LET THAIR BE LIGHT2')", }, { detect_action = "Cure", detect_action_user = "", detect_action_self = true, detect_delay = 1, sound = "CURE", main_image = "CURE", helper_image = "BE HEALED NOOB", runcode = "ActionList:StopCasting()", }, { detect_function = "ScanForCaster(3660,50,120)", sound = "CURE", main_image = "CURE", helper_image = "BE HEALED NOOB", runcode = "SendTextCommand('/echo LET THAIR BE LIGHT2')", }, } } return profile