vanilla-wow-addons – Rev 1
?pathlinks?
BuffAhoy by Theck
version 1.45
http://www.frontiernet.net/~gehring/BuffAhoy.htm
BuffAhoy is a casting suite for paladins and other spellcasters. As of version 0.9, it now has a graphical
interface, which can be brought up via a slash command or bound to a hotkey through the Key Bindings interface.
This readme will be split into two parts, the first describing how to use the GUI, and the second describing
the functions this AddOn adds that can be used in macros.
This AddOn makes extensive use of two features that are not native to WoW:
Passive Party Targetting(TM)(ok not really TM)(i actually stole this from one of the stickied
forum threads):
The passive party targetting, or PPT system, uses a variable to make it possible to cast
many spells on a party member while in combat, without switching away from your current
target. It's used in many of these functions, and requires that you bind keys to the four
PartyTarget#() functions (bindable through the Key Bindings interface). I've found this
immensely useful -- it required a little shift of my usual play habits, but after you get
used to it it's much faster and easier than trying to click around and change targets all
the time. It is (for the most part) optional, though i haven't gone to the trouble to code
each function so that it is actually disabled (if you don't want this, why are you downloading
the AddOn anyway?). If people request this ability in the future, i might put some time into it,
but for now that's how it is. Read the spell descriptions and you'll understand how PPT works.
------NOTE: As of version 1.4, it IS possible to get PPT and Telo's SelfCast to work together. It only requires a simple addition
to the SelfCast.lua file. Just open the file, scroll down to the end, hit return a few times and add the following text:
function BA_UseAction(id, type, self)
lOriginal_UseAction(id, type, self);
end
This way, you can use BuffAhoy with PPT enabled and still use SelfCast.
Also i'd like to mention one "bug" with the PPT system: So far i have not been able to get it to
recognize when the target is out of range, so often it will attempt to cast the spell and find out
the target is out of range, and thus fail, but still report to the party that the spell has been cast.
I'm pretty sure there's no way around this, because of the way the PPT system works and the limitations
of the API functions blizzard makes available to us.
SmartCasting(TM)(again, not really)(very similar to Telo's SelfCast, but kinda different)
SmartCasting is similar to the SelfCast AddOn by Telo, but it's got 2 major differences:
1) SelfCast uses Alt to cast on yourself
2) SelfCast affects all spells -- In this addon, only certain functions use the
SmartCast system, others don't. The readme should mention which ones do and don't.
My play style centers around Shift as my self-cast button, so that's what i've used in this
Addon. You can choose Shift or Alt to be your self-cast button in the Options section of the GUI.
The default is Alt.
slash commands:
"/ba toggle" will toggle all verbosity settings (this isn't really that useful, but it's there if you want it)
"/ba config" will bring up both BuffAhoy configuration panels ('/ba buffs' and '/ba caster' still work, for legacy users)
"/ba help" will display a very brief list of slash commands
I. Quick-start guide to BuffAhoy.
This will give you step by step instructions on how to get BuffAhoy set up for the first time.
1. Open the BuffAhoy zip file, and extract the contents to "C:\Program Files\World of Warcraft\Interface\Addons\".
This should create a BuffAhoy folder underneath the AddOns folder. Inside the BuffAhoy folder there should be
7 files. If it looks like you've done this correctly, move on to step 2.
2. Start the game. When you log into the server, you should see a message in the Chat log that says "Theck's BuffAhoy
Loaded". If you don't see this, go back to step 1. If you do, or you're not sure, type "/ba config" at the chat
line. This should bring up the BuffAhoy configuration panel, if it doesn't, then go back to step 1.
3. Open your spellbook, and drag spells into the buffing configuration slots for each class. You can also drag spells
into any of the other functions in the interface. If you're using a SelfCast addon, then you may want to disable
PPT in the interface by unchecking "PPT enabled", or disable your SelfCast addon.
4. Now open the Key Bindings menu (Escape->Key Bindings) and scroll down to the "BuffAhoy Binds" section. Bind keys to
the following functions:
Buff Sequence 1
BuffAhoy Config
you can also bind keys to any other functions you want to use. If you intend on using the Passive Party Targetting
system (read below), then bind keys to the PPT targetting functions (i.e. PPT Target Party 1, etc).
5. Close the key bindings menu, and start using BuffAhoy!
II. The BuffAhoy GUI
To use BuffAhoy through the GUI, go to Key Bindings and bind a key to "BuffAhoy Config" and then bring up
one of the configuration panels. Alternatively, you can type '/ba config' to bring up the configuration panel. You can select
the particular functions you want to edit with the "BuffAhoy Navigation" dropdown box. You can drag spells from your spellbook
into the slots in any of the sections, referred to as "panes" from here on.
The Reset Button
The button to the left of the Exit button on the GUI will reset the entire frame (removing all spells from
their slots). Not sure how useful this is, but it's there if you want it.
The Verbosity Mode dropdown
The verbosity mode dropdown box will change the channel to which verbose functions will send their messages. This
defaults to "party" every time you start the game. Options are "Party", "Raid", and "Say".
1. The BuffCasting Pane
The Buffcast pane has functions mostly applicable to Paladins and Druids, but any class can use them.
The 'Buffing Mode' dropdown box toggles between Individualized buffing mode and Class-based Buffing mode. In individualized
mode, you can specify which buff each party member gets, in order, for 1 buff sequence, as well as 2 buff sequences that cast
the same 1 buff on each party member. In Class-based buffing mode, a different interface is brought up, which lets you
specify 1 buff for each class type in the first sequence, as well as 2 sequences which apply the same buff to the entire party
or raid group. Note that Class-based mode works in raids or regular parties, while Individualized Mode is only for regular parties.
To use these you must bind keys to "Buff Sequence 1" through "Buff Sequence 3" in the Key Bindings page.
Using BuffCast Sequences:
Individualized Mode: The first sets of buttons next to "Buffs" are the buffs you will cast on yourself, each party
member, and each party pet, as labelled above each slot. To use BuffCast, you must bind a key to "Buff Sequence 1"
in the Key Bindings control panel (through the main interface). Pressing that button several times sequentially will
buff each party member with the buff located in that GUI slot.
The set of slots below sequence 1 are unused at this point, and are a place to put extra buffs from your spellbook so you
can switch buffs around quickly without having to open your spellbook.
BuffCast Sequences 2 and 3 will try and buff the entire party with the same buff (you still need to press the
button multiple times, of course).
BuffCast will automatically try and buff pets if a spell is put in the "pets" slot. It checks for pets every time combat
ends, so it will usually be up-to-date. You can bind a key to the 'PetCheck()' function in the GUI if you want to run
petcheck other times (for example, if someone's pet has died during combat and they resummon it before you start buffing.
BuffCast has several verbosity options. The check buttons below the second set of buffs allow you to choose
either Verbose, Quiet, or Silent (both unchecked) modes.
Class-Based Mode: The 8 slots in sequence 1 are labelled according to class type. Drag a buff into
each slot to specify what buff that class will receive when you run Buff Sequence 1. Sequences 2
and 3 will buff every raid or party member with the buff in the Seq. 2 or Seq. 3 slot. The verbosity settings are
identical to that of BuffCast.
2. The Multi/ShoutCast pane
The Multicast pane has functions that are more useful to casters like Mages and Warlocks, but any class can use them.
a) Using MultiCast Sequences: The two sets of buttons next to "MultiCast" are the spells you will cast sequentially.
To use MultiCast, you must bind a key to "MultiCast Sequence 1" or "MultiCast Sequence 2" in the Key Bindings control panel
(through the main interface). Pressing that button several times sequentially will cast the next spell on the list.
The MultiCast slots generally assume that you are targetting a hostile unit, though if you do not have one targetted they
will still attempt to cast using the PPT system. The checkbox at the top allows you to enable or disable Verbosity in the
Multicast sequences.
------ NOTE THAT MULTICAST SEQUENCES USE A MODIFIED VERSION THE PPT SYSTEM THAT WILL CAST ON HOSTILE TARGETS!!
b) Using ShoutCast buttons: The four buttons below MultiCast are ShoutCast buttons. Spells placed in these slots will be
cast using the ShoutCast algorithm, which announces to the party what spell you are casting and the target of the spell.
The checkboxes to the right toggle the verbosity (in case you only want to use the slot for selfcasting) and whether the
slot uses the SmartCast algorithm. Note that the "SmartCast enabled" setting will override this, if it's disabled.
------ NOTE THAT SHOUTCAST BUTTONS USE A MODIFIED VERSION THE PPT SYSTEM THAT WILL CAST ON HOSTILE TARGETS!!
3. The Utility pane
The Utility Pane has six "Utility Spell" slots: There are 6 slots, named "Heal 1", "Heal 2", "Heal 3", "Cleanse 1", "Cleanse 2",
and "Protect". These are slots that are designed for utility spells, appropriate to the names. You can drag any spell to
these slots, of course, the names are just a suggestion.
The check boxes to the right toggle the verbosity and whether the spell uses the SmartCast algorithm. Note that disabling the
"SmartCast enabled" checkbox in the Options pane will override the individual ones.
These slots use the Passive Party Targetting system, so here is a quick description of how it works. First,
bind a key to the "Target Party 1" through "Target Party 4" functions through the Key Binding configuration.
Now, if you are targetting a friendly target and press the button bound to "Heal 1", you will heal that
target (whether they are in your party or not).
If you instead target a hostile target, or no target at all, it will cast the heal spell on the current
"PartyTarget". You can set the "PartyTarget" by pressing the keys bound to the "Target Party #" functions.
example: if F3 is bound to "Target Party 3", and "H" is bound to "Heal 1", then the sequence:
F3, H
will set the 3rd party member as the passive target and cast the healing spell on them, without breaking
your current combat target. Party member 3 will remain the passive party target until one of the other
"Target Party #" functions are called (by pressin the appropriate key bind).
These slots also (optionally) use the SmartCast algorithm, so if you're holding the smartcast key while pressing the
button bound to this function, you will cast the spell on yourself instead. You can disable this by unchecking the
checkbox next to the button.
Using Protect:
The button beneath "Protect" is the button used in the verbose protection function, Protectzor. You should
drag a protection spell (paladins: Blessing of Protection, other classes: ?) to this slot, and bind a key
to "Protect Party member" in the Key Bindings Config.
A special mention needs to be made of this slot, because it is designed for a paladin's Blessing of Protection.
BoP is only castable on party members, so the logic used for this slot reflects that, and will give you an error
message if you try and use it on other people. Keep this in mind if you decide to use this slot for a spell'
that doesn't have this limitation.
4. The Options Pane
The Options pane contains all of the major options for BuffAhoy. Here's a rundown of the options:
a) PPT Enabled -- This Option will enable or disable the Passive Party Targetting system. See above
for a description of how PPT works. If you disable this, BuffAhoy will actively target everything.
b) SmartCast Enabled -- This Option enables or disables the BuffAhoy SmartCast algorithm, which
auto-targets you if the SmartCast button is held down. The SmartCast button can be chosen by the
dropdown box to the right of this option, you can use either Alt or Shift. Remember that
SmartCast ONLY applies to certain functions in BuffAhoy, not all spells cast.
c) Wait on Mana/Range when Buffing -- This option will cause you to target each player during a buffcast sequence when
outside of combat. As a result, it will wait until you have enough mana and your target is
in range. This is useful if you don't want to skip someone while buffing because they're out
of range. Again, this only activates if you're outside of combat.
d) Verbose Multicasting -- This option will make multicast sequences verbose, thus announcing each spell
in the sequence.
e) Enable Status Messages -- This option will toggle the chat frame status messages for cooldown and mana checks
(i.e., this will disable the "Patience, young padawan" message).
f) Enable Failure/Interruption Messages
-- This option will toggle the "Spell Failed", "Spell Interrupted", and "Spell Delayed"
messages that occur for verbose functions when the appropriate events happen.
g) Force Class-Based Buffing to ignore Raid
-- This option will force the Class-Based buffing algorithm to buf only your immediate
party, even if you're in a raid group.
h) Show PPT Frame -- This toggles the visibility of the PPT Frame. The PPT frame is a draggable box
that shows the name of the current target of the PPT system. It's mostly for reference, so you can
see at a glance who you'll cast on when you use a BuffAhoy PPT-enabled function.
------- EVERYTHING BELOW THIS LINE IS FOR ADVANCED OR LEGACY USERS. IF YOU ARE NOT ADEPT AT MACROS, IT'S PROBABLY NOT WORTH YOUR TIME TO READ THE REST OF THE README --------
III. The BuffAhoy Macro Interface
All of the major functions which can be bound via keys can also be called with a slash command, such as:
/ba buff1 (Buff Sequence 1)
the other functions are as follows:
/ba buff2 (Buff Sequence 2)
/ba buff3 (Buff Sequence 3)
/ba heal1 (Heal 1)
- /ba heal3 - (Heal 4)
/ba cleanse1 (Cleanse 1)
- /ba cleanse2 - (Cleanse 2)
/ba protect (Protect)
/ba multi1 (Multicast Seq 1)
/ba multi2 (Multicast seq 2)
/ba shout1 (shoutcast 1)
- /ba shout4 -(shoutcast 4)
Alternatively, you can access the base logic functions as described below.
BuffAhoy adds the following functions, which can be called in macros:
Macro-Enabled Functions: (NOTE, this list is out of date as of 4/12/05, i'll try and update it by the next patch. In particular, it omits BBoC)
Cleanzor() Cleansing script
Healzor() Healing script
BuffCast() Buff casting sequencer for whole party
Protectzor() Protection script
Smartzor() Smartcasing script
ShoutCast() Verbose Casting - announces the target and spell being cast to party
MultiCast() Casting Sequencer, basically CastAway using action id's instead of names
MultiShoutCast() Verbose Casting Sequencer, read the description
BandAid() Action/Bandage script, designed for a rogue, but included for fun
UsableCheck() Checks to see if a spell is usable (mana/cooldown/range checks).
PetCheck() Function that checks the party for pets, should be run before BuffCast
PartyTarget1() -
PartyTarget4() Party Targetting functions to work with Cleanzor,Healzor, SmartCast,etc
Sets PartyTarget variable to one of the party members (PPT system)
PetTarget1()-
PetTarget4() Pet Targetting functions for the PPT system
PetTargetMine() Pet Targetting function for the PPT system
To use the macro version of BuffAhoy, bind keys to the four Party Target functions and PetCheck() in the
Key Bindings page, and then create a macro and type in the appropriate syntax:
/script Cleanzor(spellid)
1 optional argument.
Required:
spellid is the action bar id of your Cleanse spell. It is only needed if you want the castable
checks (i.e. checks for enough mana, cooldown, and range) to work. Except that at the moment
they don't. Oops. Working on this.
This script casts Cleanse on current target if it is friendly, or yourself if shift
is being held down (using the SmartCast system). If target is hostile or there is no target, it will cast the spell
on the current party target (without breaking combat!). This is basically Smartzor() but with
a customized party message.
This script can be run in verbose or silent mode. In silent mode, the party message is omitted.
This is togglable through the GUI
/script Healzor(spellid, "Spellname(Rank X)")
1 required argument, 1 optional argument.
Required:
spellid is the action bar id of the heal spell you want to cast.
Optional:
"Spellname(Rank X)" is the name of a healing spell you know, but do not have in your action bar.
To use this optional argument, you must set the first argument to zero. Also note that using this
optional argument will disable the castable checks (mana, cooldown, and range).
This will cast that spell on the current target if it is friendly. If the target is hostile or
there is no target, it will cast the spell on the current party target (without breaking combat!).
This script is also verbose, in that it tells the party who you're trying to heal, or that you
do not have mana to heal them.
example: /script Healzor(12)
will cast the spell in slot 12 on the appropriate target, and announce to the party the name
of the character you are healing.
example: /script Healzor(0, "Flash of Light(Rank 3)")
will cast a rank 3 Flash of light on the target. This will become more useful if i get around to
implementing the system i eventually hope to use, that would cast the highest level heal spell
the caster currently knows as a default. Maybe i'll get around to that next patch.
This script can be run in verbose or silent mode. In silent mode, the party message is omitted.
The verbosity can be toggled via the GUI.
/script BuffCast("Name", timeout, petbuff, yourbuff, party1buff, party2buff, party3buff, party4buff)
3 required arguments, 1-5 optional arguments.
Required:
"Name" is the name of the current buffset (makes it possible to have several different buff
arrangements). This is identical to the format of CastAway and serves the same purpose.
timeout is the time (in seconds) before the script resets to targetting you again
petbuff is the number of the action you want to perform on all party pets
(i.e. if Blessing of Might is on your Action Bar in slot 4, then making this value 4 will
cause all party pets to receive that blessing). This works with the bindings in Flexbar.
To use actions on other bars, add 12 for each bar you've scrolled (ex. first bar is 1-12,
second is 13-24, etc).
Optional:
yourbuff is the number of the action you want to perform on yourself (see above)
party1buff is the number of the action to be taken for party member 1
party2buff is the number of the action to be taken for party member 2
party3buff (see above)
party4buff (see above)
This script will cast the predefined buffs (passed as arguments to the function) on the respective party
member.
This script is also "smart", in the sense that it will automatically cast buffs on each party
member's pet. For this to work, the PetCheck() function has to be run at least once so that the
function knows what pets the party has. Read the description for PetCheck() for more information.
It will also not attempt to cast a buff if the action is not usable, costs too much mana,
is still cooling down, or is trying to target a party member that doesn't exist. It is NOT smart enough
to avoid trying to cast if your target is out of range however.
To use this function, you must press the key bound to this macro once for each party member
and pet (including yourself).
example Macro:
/script BuffCast("defaultBuff", 20, 4, 5, 6, 86, 32)
This will cast the spell in Action Slot 4 on all party pets, Action Slot 5 on you, action
slot 6 on party member 1, 6 on party member 2, 86 on party member 3, and 32 on party member 4.
This script can be run in verbose, quiet or silent mode. In silent mode, the party messages are omitted,
while in quiet mode the messages are instead sent to the default chat frame (only visible to you).
The verbosity can be toggled in the GUI.
/script Protectzor(spellid)
1 required argument.
Required:
spellid is the action bar id of the protection spell you want to cast
This string is a verbose script for casting a Blessing of Protection spell on a party member.
It doesn't use the SmartCast system, but it does use the PPT system (so you can protect someone
while in combat without breaking target, but you can't use this one on yourself). I might add
the smartcast functionality in the future, but for right now it's disabled (mostly because my personal keybind
for this involves Shift).
This script can be run in verbose or silent mode. In silent mode, the party message is omitted.
The verbosity can be toggled in the GUI.
/script SmartPPT(spellid, saystring, verbose, smart)
1 required argument, 3 optional arguments.
Required:
spellid is the action bar id of the spell spell you want to cast.
Optional:
"saystring" is a string that is used in the party chat statement made by this script
verbose is a toggle for verbosity, if set to 1 the script will be verbose. If set to 0 this
will disable the verbosity of the function.
smart is a toggle for smartcastability, if set to 0 the script will NOT use the smartcast algorithm.
This script is a smart-cast script. It will cast the spell in Action Slot spellid on the current
target if it is friendly, or yourself if shift is being held down. If the current target is
hostile or there is no target, it will cast the spell on the current party target (without
breaking combat!). This is also verbose for the party (it will report your action to the
whole party), and should give you error messages if the action isn't usable due to cooldown,
mana, or range (though the range check doesn't work with the Passive Party Targetting system
yet).
example:
/script SmartPPT(8, "Casting the Best Spell Ever on")
will cast the spell in action slot 8 on the appropriate target (read above), and send the
following message to the party (lets assume your target's name is Bob):
"Casting the Best Spell Ever on Bob"
Since verbose and smart are omitted, they will default to true (1)
note that you can omit "saystring", which will just shut off the party message
/script ShoutCast(spellid, "saystring", verbose, smart))
1 required argument, 3 optional argument.
Required:
spellid is the action bar id of the spell you want to cast.
Optional:
"saystring" is a string that is used in the party chat statement made by this script
verbose is a toggle for verbosity, if set to 1 the script will be verbose. If set to 0 this
will disable the verbosity of the function.
smart is a toggle for smartcastability, if set to 0 the script will NOT use the smartcast algorithm.
This script is a verbose casting script. It will inform the party of the target of the current
spell, as well as a user-defined string describing what you're casting. You're probably asking
yourself what the difference is between this and Smartzor(). The answer is that this does NOT
use the Smart Casting or Passive Party Targetting systems. This is for spells like Polymorph,
which you wouldn't use on a friendly or party member.
example Macro:
/script ShoutCast(4, "My Favorite Spell")
This will cast the spell in action slot 4 and send the following message to party chat
(assuming you're targetting me, and i'm not on your faction):
"Casting My Favorite Spell on Theck"
note that you can omit "saystring", which will just shut off the party message (making the
function rather useless). Also, omitting verbose and smart defaults them to true (1)
/script MultiCast("Name", timeout, spell1, spell2, ...)
2 required arguments, 1-? optional arguments.
Required:
"Name" is the name of the current buffset (makes it possible to have several different buff
arrangements). This is identical to the format of CastAway and serves the same purpose.
timeout is the time (in seconds) before the script resets to step 1
Optional:
spell1, spell2, ... are the numbers of the action bar slots of the spells to be cast, in the order
they are listed in the macro.
This script will cast spell1 on the first keypress, spell2 on the second keypress, etc. It will
recycle back to spell1 at the end of the list, or after a period of inactivity set by the
"timeout" variable (in seconds). This is functionally identical to CastAway, but it uses Action
ids instead of Spell Names. While i say there are only 2 required arguments, this is completely
useless unless you use at least 2 spells, bringing the total to 4 arguments.
example Macro:
/script MultiShoutCast("SpellSequence", 20, 8, 9, 10)
will do the following:
First Keypress:
Casts the spell in action slot 8
Second Keypress:
Casts the spell in action slot 9
Third Keypress:
Casts the spell in action slot 10
/script MultiShoutCast("Name", timeout, spell1, "saystring1", spell2, "saystring2", ...)
2 required arguments, 1-? optional arguments.
Required:
"Name" is the name of the current buffset (makes it possible to have several different buff
arrangements). This is identical to the format of CastAway and serves the same purpose.
timeout is the time (in seconds) before the script resets to step 1
Optional:
spell1, spell2, ... are the numbers of the action bar slots of the spells to be cast, in the order
they are listed in the macro.
"saystring1","saystring2", ... are strings used in the party chat statements made by this script
This script will cast spell1 on the first keypress, spell2 on the second keypress, etc. It will
recycle back to spell1 at the end of the list, or after a period of inactivity set by the
"timeout" variable (in seconds). What makes this different than MultiCast() is that this script
is also verbose, so it will send messages to the party when you are casting each spell. Replacing the
"saystring#" argument with nil will result in no message for that step.
example Macro:
/script MultiShoutCast("FunSequence", 20, 8, "First Spell", 9, nil, 10, "Third Spell")
will do the following:
First Keypress:
Casts the spell in action slot 8
Sends Message to the party: "Casting First Spell on TargetName"
Second Keypress:
Casts the spell in action slot 9
Third Keypress:
Casts the spell in action slot 10
Sends message to the party: "Casting Third Spell on TargetName"
/script UsableCheck(spellid, verbose, "manastring", "cdstring", "oorstring")
1 required argument, 4 optional arguments.
Required:
spellid is the id number of the action bar slot of the spell being checked.
Optional:
verbose is a toggle for verbosity of the function. If a 1 is passed, it will give feedback in
the default chat frame or party chat depending on whether a string is passed in one of the next three arguments
"manastring" is a string that is used in the party chat announcement for an out of mana error
"cdstring" is a string that is used in the party chat announcement for a cooldown error
"oorstring" is a string that is used in the party chat announcement for an out of range error
This function returns true if the slot is usable, else it returns nil.
/script BandAid("SpellName(Rank X)", bag, slot)
3 required arguments.
Required:
"SpellName(Rank X)" is a spell or ability known by the player
bag, slot are the bag/slot coordinates of the bandages in your inventory. Bags start at
0 (backpack) and go to 4. Slot ids are counted from the top left slot calendar-style,
starting with 1. so 0,3 would be the 3rd slot across the top row in your backpack, and
3,1 would be the top left slot of your third bag.
This script is similar to the BuffCast script, except it toggles between 2 actions, one of which
is a spell or ability and the second of which is the use of an item on yourself from a particular
location in your backpack. To use this, press the key bound to this macro twice AFTER highlighting
your target. The first press will cast the desired spell on the target (if possible), and the
second press will attempt to use the item in your inventory at location (bag, slot) on yourself.
This was written for a Rogue who wanted to Gouge and then Bandage right afterwards.
/script RaidCheck(loud)
1 optional argument.
Optional:
loud is either 1 or 0 -- when set to 1, the function runs silently, when set to 0, it will spit out the name
and level of every raid member to the Default Chat Frame.
/script RaidCast(cast_id, timeout, id)
2 required arguments, 1 optional argument.
Required:
cast_id is a string describing the sequence, only used to create the data array
timeout is an integer number of seconds before the sequence will reset
Optional:
id is the action bar slot of a buff. This is used to override the class-based buffing that is the default
mode for RaidCast. If id is non-nil, it will attempt to buff every raid member with the spell in slot id.
Note that you cannot call this function without using the action bar slots if you want to use the class-based
buffing algorithm.
Bindable Functions:
PetCheck()
No arguments
This script will check the party for pets. It does this by trying to target each party member's pet, and
storing the names it finds in an array that gets used in BuffCast. It will check to see if you have a hostile
target first, and if so, it will restore that target after it checks the party for pets (though it won't
attack that target afterwards). I considered running this every time BuffCast was used, but i decided against
it so that BuffCast could be cast in combat without ever breaking target.
As a result, this should be used once before BuffCast is used (otherwise it won't try and buff pets). However,
it does NOT need to be cast before every buff -- as long as the party's pets haven't changed, running PetCheck()
again won't do anything useful for you.
Any time a party member gets a new pet, or loses a pet, or changes a pet, PetCheck() should be run so that
BuffCast can accurately buff the party.
PartyTarget1()
This will set the PartyTarget (the passive target for PPT-enabled scripts) to party member 1. If the
"PPT Enabled" box is unchecked, this will actively target the respective party member.
PartyTarget2()
See above, but replace 1 with 2 everywhere. Same goes for 3 and 4.
PetTarget1()
This will set the PartyTarget to the first party member's pet (not counting yourself). Same goes for 2-4.
PetTargetMine()
This will set your pet to be the current PartyTarget.
Generated by GNU Enscript 1.6.5.90.