# MQ2BuffTool

## Description

MQ2BuffTool was written by s0rcier and is found in the VIP forums [here](https://macroquest2.com/phpBB3/viewtopic.php?t=11890). This plugin was written a replacement for his previous work, MQ2BuffUtils, offering an easier approach to buff management for the end user and less robotic interaction to be less detectable by others.

## Features

* XML Windows: fully resizable, cloasable, movable, lockable that remember their save location and states
* Buff Window List (Self & Pet): sorted by remaining duration on buff, with colorful visual effects (red=detrimental,

  white=less then 1min, teal=less then 3mins, blue=less then 6mins or green if time left greater then 6mins), toggle

  option to include songs or not in visual buff list, Buffs Free and Max Slot display and same for Short Duration,

  right or left clicking on the Self Buff window will add or remove buff to the block list
* Block Window List: sorted by buff name, colorful (green means buff that will always been blocked, white for others),

  toggle options for On/Off state and popups, Load and Save button to save or load settings, right or left clicking on

  selected buff will increase or decrease # of free slots attached to it (if number of free slots reach -1 it will

  remove that blocked buff)

## Commands

### General

*The following parameters may be used by any of the three primary commands. For example purposes /block will be used.*

* '''/block \[ /help ]

Displays help output

* '''/block \[ /load ]

Loads settings and blocked spells list from configuration file.

* '''/block \[ /save ]

Saves settings and blocked spells list to configuration file.

* '''/block \[ /block ]

Toggles scanning for blocked buffs on and off

* '''/block \[ /list ]

Displays a list of spells currently being blocked

* '''/block \[ /popup ]

Toggles display of popup messages

* '''/block \[ /window ]

Popups XML windows

### /block

* \*\*/block \[ ## | -##

  ] \[ *0* | *1* ]\*\*

Blocks spell in buff slot ## (for short duration use slot -##), always (0) or only if free slots/optionally (1)

* **/block \[ Name ] \[** ***0*** **|** ***1*** **]**

Blocks spell matching *Name* , always (0) or only if free slots/optionally (1)

* *'/block \[* setname''\</span> ]

Blocks spells from list *setname* in configuration file

### /unblock

* \*\*/unblock \[ ## |

  -## ]\*\*

Removes blocked spell in buff slot ## (for short duration use slot -##)

* **/unblock \[** ***Name*** **]**

Removes blocked spell matching *Name*

* **/unblock \[** ***setname*** **]**

Removes blocked spells from list *setname* in configuration file

### /clickoff

* \*\*/clickoff \[ ## |

  -## ]\*\*

Clicks off spell in buff slot ## (for short duration use slot -##)

* **/unblock \[** ***Name*** **]**

Clicks off spell matching *Name*

* **/unblock \[** ***setname*** **]**

Clicks off buffs from list *setname* in configuration file

## Top-Level Object: ${Block}

| **Type**                                                                           | **Member Name**            | **Description**                                                                                     |
| ---------------------------------------------------------------------------------- | -------------------------- | --------------------------------------------------------------------------------------------------- |
| [*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md)   | **Avail\[\***&#x6E;**\*]** | Number of free buff slots in *n* (where *n* can be 1=buffs, 2=short duration, 3=pets)               |
| [*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md)   | **Count**                  | Number of buffs in blocked list                                                                     |
| [*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md)   | **Maxim\[\***&#x6E;**\*]** | Number of total buff slots in *n* (where *n* can be 1=buffs, 2=short duration, 3=pets)              |
| [*bool*](/macroquest/data-types-and-top-level-objects/data-types/datatype-bool.md) | **Popup**                  | TRUE if popups are enabled                                                                          |
| [*bool*](/macroquest/data-types-and-top-level-objects/data-types/datatype-bool.md) | **Quiet**                  | Always TRUE if plugin is loaded                                                                     |
| [*bool*](/macroquest/data-types-and-top-level-objects/data-types/datatype-bool.md) | **Ready**                  | TRUE if plugin loaded, INGAME, and blocking active                                                  |
| [*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md)   | **Spell\[\***&#x6E;**\*]** | Number of available buff slots for *n* (where *n* spell ID or spell name), returns -1 if none found |
| [*int*](/macroquest/data-types-and-top-level-objects/data-types/datatype-int.md)   | **Total**                  | Total number of buffs blocked by plugin this session                                                |
| [*string*](broken://pages/-Me4I982Obm83SKMG0Zr)                                    | **To String**              | TRUE if INGAME                                                                                      |

\== See Also ==

* MQ2BuffUtils
* [Top-Level Objects](/macroquest/data-types-and-top-level-objects/top-level-objects.md)
* [Data Types](/macroquest/data-types-and-top-level-objects/data-types.md)
* [Plugins](broken://pages/-Me4I94WGlOtA0pQ_0oB)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://macroquest.gitbook.io/macroquest/plugins/community-plugins/mq2bufftool.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
