# Abilities

* Over 60 abilities are built into the plugin.
* Equip players with potion effects when pet is active, give potions when attacking, killing, set players on fire, strike lightning - it's your choice

## How to create abilities

Start off by creating a file for mob in `plugins/AdvancedPets/abilities` folder, name format should be `<mob name>.yml`, e.g. `Dog.yml`

#### Example Abilities file:

```yaml
# Dog Abilities
#  Pets can give off special abilities to pet owners passively or at events
#  Effect List: https://ae.advancedplugins.net/enchantments/creating-enchantments/effect-list
#  Read more here: https://wiki.advancedplugins.net/effects/types

description: "Chance to deal more damage to players & mobs"

ATTACK:
  chance: 15
  cooldown: 2
  effects:
    - 'ADD_HARM:3 @Other'
```

`description` - text displayed next to pet in /pets menu. Explains what abilities pet has.

Under description is where Ability Types follow. Types can be found in [here](https://wiki.advancedplugins.net/abilities/triggers).

Full list of effects: <https://wiki.advancedplugins.net/abilities/effects>

#### Setting abilities for pets

Abilities can have attributes, such as:

* `chance` - chance of ability activating when triggered by owner
* `cooldown` - how long after activating ability wont be available (will be on cooldown)

#### Placeholders

You can assign who ability affects, be it owner (`%owner%`) or other player/entity (`%other%`). This way abilities are given towards the assigned player.

*Example*:

```yaml
  effects:
  - 'POTION:HASTE:0:20 @Owner'
```

In this example, HASTE potion effect will be given to pet owner for 20 ticks = 1 second.

*Another example*:

```yaml
  effects:
  - 'LIGHTNING @Other'
```

This example would strike lightning at other entity. E.g. when attacking mobs or players, the **other** entity would be entity getting attacked.

## Placeholders

Placeholder list for effects:

| Placeholder  | Explanation                                       |
| ------------ | ------------------------------------------------- |
| %owner name% | Inserts pet owner's name                          |
| %other name% | Inserts other person's name (e.g. when attacking) |
|              |                                                   |


---

# 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://mobs.advancedplugins.net/advancedpets/abilities.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.
