Rules Module
Overview
The Boss Notes Rules module provides generic boss mod functionality. This means that functions such as notifications, timers, raid target icons and yells can be defined in-game by the individual player.
Event Condition Action (ECA)
The Rules module supports so called Event Condition Action (ECA) rules:
- Event. An event occurs. Example: Someone casts Hand of Protection. If one of the defined events occurs, the rule is triggered.
- Condition. A series of conditions is checked. Example: You are yourself the target of the cast. If all conditions are satisfied, the rule fires.
- Action. When the rule fires, a series of actions is executed. Example: A 10 seconds timer is started.
In addition, a rule can include the following elements:
- Cancels. A cancel is like an event. However, instead of triggering the rule, the cancel causes the executed actions of the rule to be canceled. For example, raid target icons are cleared an timers are stopped.
- Spells. The rule editor presents encounter-specific spells as recorded by the Boss Notes Abilities module. However, in some cases custom player spells are required in a rule definition. For example, a rule may need to trigger when a player gains Hand of Protection. Such player spells are added manually to the rule. Other than that, they are treated in the same way as spells provided by the Boss Notes Abilities module.
Bridges to Existing Boss Mods
The goal of Boss Notes Rules is not to replace your boss mod. Rather, you can extend your current boss mod with additional rules. To that end, the Rules module includes bridges to the following existing boss mods:
When a bridge is active, notifications and timers from the Rules module are integrated with the regular display of your boss mod.
Other Features
Other features include:
- Distributed Raid Target Icon Assignement. A generic implementations ensures that raid targets are set by all raid members with leader or assist status if they have Boss Notes Rules installed. This is useful for targets that are only found by mouseover (such as in the Yogg-Saron +0 encounter.) A transparent tie breaking algorithm ensures that all raid members assign the same icons to the same units - and this is independent of how many players have configured a respective raid target assignement rule.
- Rule Broadcasting. Rules can be shared within a party or raid.
Common Pitfalls
Please note the following:
- Boss Notes must first learn boss abilities. If you have not yet used Boss Notes, you will have little joy with the rule editor until you have actually played the encounter or trash for which you want to define a rule. This is because Boss Notes learns emotes and boss abilities while you are playing an encounter when each ability is used for the first time. Consequently, the abilities database is empty on a fresh installation. This makes the definition of rules ineffective.
- Bridges. Go to the add-on settings, deactivate the display Simple and activate the bridge for the boss mod of your choice instead. The display Simple, which is enabled by default, is really aptly named: it is simple. You will not have much joy with it.
Rule Editor
Rules are editted in the Rule Editor:
The Rule Editor provides the following rule-wide attributes:
- Name. The name of the rule. Rules must have a unique name on a per instance and encounter basis.
- Enabled. Whether the rule is enabled. Disabled rules are ignored when an encounter is played.
You can use the rule editor to define events, conditions, actions, cancels and spells of a rule. These elements are described in the following sections.
Events and Cancels
This section describes the events and cancels supported by the Rules module. An event may have a source unit and/or a destination unit. These units can be referenced in the conditions and actions of the rule.
The following sections describe each type of event.
Cast
This event occurs on a matching cast combat log event. More specifically, the following combat log events are considered cast events:
- SPELL_DAMAGE
- SPELL_MISSED
- SPELL_HEAL
- SPELL_ENERGIZE
- SPELL_DRAIN
- SPELL_LEECH
- SPELL_INTERRUPT
- SPELL_DISPEL
- SPELL_DISPEL_FAILED
- SPELL_STOLEN
- SPELL_EXTRA_ATTACKS
- SPELL_CAST_START
- SPELL_CAST_SUCCESS
- SPELL_CAST_FAILED
- SPELL_INSTAKILL
- SPELL_DURABILITY_DAMAGE
- SPELL_DURABILITY_DAMAGE_ALL
- SPELL_CREATE
- SPELL_SUMMON
- SPELL_RESURRECT
See API COMBAT_LOG_EVENT for more information on thesse events. The source and destination units of the event are set according to the combat log event.
Attributes:
- Cast: The spell. If set to (Remove), the event is removed.
- Suffix: A suffix from the the above list. The list only contains choices that have actually been observed in the encounter.
Buff/Debuff
This event occurs on a matching aura combat log event. More specifically, the following combat log events are consideres aura events:
- SPELL_AURA_APPLIED
- SPELL_AURA_REMOVED
- SPELL_AURA_APPLIED_DOSE
- SPELL_AURA_REMOVED_DOSE
- SPELL_AURA_REFRESH
- SPELL_AURA_BROKEN
- SPELL_AURA_BROKEN_SPELL
See API COMBAT_LOG_EVENT for more information on thesse events. The source and destination units of the event are set according to the combat log event.
Attributes:
- Buff/Debuff. The spell. If set to (Remove), the event is removed.
- Suffix. A suffix from the above list. The list only contains choices that have actually been observed in the encounter.
Emote
This event occurs on a matching emote, yell or whisper from an NPC. Emotes and yells are learned by the Boss Notes Emotes module when the encounter is played. When sharing rules, note that rules using emotes must be edited by the receiver if his game client has a different locale than the one of the sender.
Attributes:
- Emote. The text of the emote. If set to (Remove), the event is removed.
Unit
This is event occurs when a unit peforms a specific action. The triggering unit is the source unit of the event. If the action is set to Change Target, the destination unit is the new target of the source unit; for other unit actions, there is no destination unit.
Attributes:
- Unit. Describes the action performed by the unit and is one of Enter Combat which occurs on first entry into combat of a unit, Change Target which occurs when a unit changes target and Death which occurs when a unit dies. If set to (Remove), the event is removed.
Conditions
This section descrbes the conditions supported by the Rules module. In order for a rule to fire, all of its conditions must be satisfied. Conditions often rely on the source and destination units of the event which has triggered the rule.
The following sections describe each type of condition.
Unit
A unit conditions performs a unit identity check, that is, it checks if a unit is the same unit as another unit.
Attributes:
- Unit. The first unit, which is one of Player which designates the player, Pet which designates the pet of the player, Focus which designates the focus of the player, Event Source or Event Destination which respectively designate the source or destination unit of the triggering event. If set to (Remove), the condition is removed.
- Suffix. A suffix appended to the first unit, which is one of None if the unit is used as is, Target if the target of the unit is used or Target Target if the target of the target of the unit is used as the first unit.
- Operator. One of is or is not to indicate a check equality or inequality of the units.
- Unit. The second unit. The choices are the same as for the first unit.
Property
A property condition tests a unit for a specific property.
Attributes:
- Unit. The unit to test. The choices are the same as for the Unit condition described above.
- Suffix. A suffix appended to the unit. The choices are the same as for the Unit condition described above.
- Operator. One of is or is not to indicate if the unit must have or must not have the specified property.
- Property. The property to test for. This is one of A Player to indicate that the unit is a player (as opposed to an NPC), Player Controlled to indicate that the unit is controlled by a player (as opposed to controlled by the server), In Party to indicate that the unit is a member of (or pet in) your party, In Raid to indicate that unit is a member of (or pet in) your raid, Main Tank to indicate that the unit is a main tank (as defined by the Blizzard UI) or Main Assist to indicate that the unit is a main assist.
NPC
An NPC condition tests if a unit is an instance of a specific named type of NPC.
Attributes:
- Unit. The unit to test. The choices are the same as for the Unit condition described above.
- Suffix. A suffix appended to the unit. The choices are the same as for the Unit condition described above.
- Operator. One of is or is not to indicate if the unit must be or must not be of the specified NPC type.
- NPC. The NPC type to test for. The list of NPCs is provided by Boss Notes based on its encounter database.
Buff/Debuff
A buff/debuff condition tests if a unit has a specific buff or debuff.
Attributes:
- Unit. The unit to test. The choices are the same as for the Unit condition described above. In addition, all NPC types are included in the seleection list. Note that if you choose an NPC that has multiple instances at any point in time during an encounter, then an arbitrary instance is chosen.
- Suffix. A suffix appended to the unit. The choices are the same as for the Unit condition described above.
- Operator. One of has or has not to indicate if the unit must have or must not have the specified buff or debuff.
- Buff/Debuff. The buff or debuff to test for.
- Count. (Optional.) If specified, the unit must have exactly the specified number of instances of the buff or debuff. Multiple applications of a buff or debuff applied by different units create instances.
- Stack. (Optional.) If specified, the unit must have exactly the specified number of stacks of the specified buff or debuff. Multiple applications of a buff or debuff applied by the same unit create stacks. If a stacking buff or debuff is applied by multiple units, the sum of all stacks is considered.
Range
A range condition tests if a unit is within a specific range of the player.
Attributes:
- Unit. The unit to test. The choices are the same as for the Unit condition described above.
- Suffix. A suffix appended to the unit. The choices are the same as for the Unit condition described above.
- Operator. One of in range or not in range to indicate if the unit must be in range or out of range with regard to the player.
- Range. The range to test for. One of 10 yd, 11 yd, 18 yd or 28 yd.
Actions
This section describes the actions supported by the Rules module. An action may use the source unit and/or destination unit of the event that has triggered the rule. Most actions support event collapsing. If events are collapsed, the action is executed in a way that treats multiple events that occur within a short time window (the collapse interval) collectively.
The following sections describe each type of action.
Raid Target
A raid target actions performs a raid target assignment, that is, it assigns a raid target icon to a unit.
Attributes:
- First Raid Target. The first raid target to set. If the to (Remove), the action is removed.
- Last Raid Target. The last raid target to set.
- Set On. Whether to set the raid target on the Event Source or Event Destination unit.
- Set On Suffix. A suffix that is appended to the chosen unit. This is one of None to indicate that the unit is used as is, Target to indicate that the raid target is set on the target of the unit or Target Target to indicate that the raid target is set on the target of the target of the unit.
- Duration. The number of second for which the raid target icon is set.
- Collapse. (Optional.) If specified, multiple events occuring within the specified collapse window cause the next icon in the sequence defined by the first and last raid target to be assigned. If omitted, the first raid target icon is assigned all the time.
- Distributed. If checked, the raid target is assigned using a distributed raid target assignment protocol. This protocol allows players in addition to the one where the rule is executing to set the raid target icons. The supporting players must have Boss Notes Rules installed. They do not need to have the assignment rule enabled. If multiple players assign raid target icons, a transparent tie breaking algorithm ensures that the same raid target icons are assigned to the same GUIDs by all players. Distributed raid target assignment is useful if units can only be found by mouseover, such as in the Yogg-Saron +0 encounter. As the distributed raid target assignment causes some overhead, you should not check this option unless it is needed.
Notification
A notification action displays a textual notification. The notification may include other elements, such as spell icons, audio and flash and shake. The exact presentation depends on the display/boss mod bridge used.
Attributes:
- Notification. The text of the notification. You can use %s and %d respectively to refer to the source or destination unit(s) of the triggering event(s). If the text is the empty string, the action is removed.
- Collapse. (Optional.) If specified, multiple events occuring within the specified collapse window are collected and the notifcation is displayed one time when the collapse window has ellapsed. This is useful for events that occur next to each other, such as a debuff being applied to multiple targets.
- Important. Whether the notification is important. Important notifications are presented in a more conspicuous way. The exact presentation depends on the display/boss mod bridge used.
- Raid Warning. If checked, a raid warning is sent in addition to the notification on the local game client.
Timer
A timer action starts a timer. The time may include other elements, such as spell icons. The exact presentation depends on the display/boss mod bridge used.
Attributes:
- Timer. The text of the timer. You can use %s and %d respectively to refer to the source or destination unit(s) of the triggering event(s). If the text is the empty string, the action is removed.
- Duration. The initial interval of the timer in seconds.
- Repeat. (Optional.) If specified, the timer is restarted with the repeat interval each time it has ellapsed. Thus, the timer restarts indefinitely until the rule is triggered again, a cancel occurs or the encounter ends.
- Pre-warn. (Optional.) If specified, a "soon" notification is displayed the specified number of seconds before the timer expires.
- Collapse. (Optional.) If specified, multiple events occuring within the specified collapse window are collected and the timer is started one time when the collapse window has ellapsed. This is useful for events that occur next to each other, such as a debuff being applied to multiple targets.
Yell
A yell action performs a player yell.
Attributes:
- Yell. The text to yell. You can use %s and %d respectively to refer to the source or destination unit of the triggering event. If the text is the empty string, the action is removed.
Spells
Spells add custom player spells to the spell lists presented when editing events, conditions, actions and cancels. Encounter specific spells used by the NPCs are learned automatically when an encounter is played for the first time. Spells used by players however are not learned. If player spells are required to define a rule, these spells can be added manually.
Cast
Adds a spell that is used as a cast. See the Cast event type above for more information on what is considered a cast combat log event.
Attributes:
- Spell ID. The ID of the spell. Spell IDs are found on most WoW database web sites. If set to the empty string, the spell is removed.
Buff/Debuff
Adds a spell that is used as an aura. See the Buff/Debuff event type above for more information on what is considered an aura combat log event.
Attributes:
- Spell ID. The ID of the spell. Spell IDs are found on most WoW database web sites. If set to the empty string, the spell is removed.
Comments