# Mana

The Mana system in AdvancedSkills adds an extra layer of resource management and strategy to the gameplay. Mana is a magical energy that players can accumulate and spend to activate powerful talents.

### How Mana Works

Players gain mana as they level up their skills. This mana can then be used to activate talents, adding a strategic element to when and how players use their abilities.

### Configuring the Mana System

The mana system is configured in the `mana.yml` file. Let's break down the configuration:

{% code title="mana.yml" %}

```yaml
# Mana configuration
enabled: true

# Should mana be given directly or drop on ground?
# If set to true, it will drop, otherwise it will be given directly to the player
drop: true

dropped-item:
  showName: true
  glow: true

# Set to 'none' to disable
gain-mana-sound: BLOCK_SCULK_CHARGE

item:
  type: NETHERITE_UPGRADE_SMITHING_TEMPLATE
  name: "&e+%amount%✨ &6Mana"
```

{% endcode %}

Let's explain each part:

1. `enabled`: Set to `true` to activate the mana system.
2. `drop`: If `true`, mana will drop as an item that players need to pick up. If `false`, mana is given directly to the player.
3. `dropped-item`: Configures the appearance of dropped mana items.
   * `showName`: If `true`, the item's name will be visible.
   * `glow`: If `true`, the item will have a glowing effect.
4. `gain-mana-sound`: The sound played when a player gains mana. Set to `'none'` to disable. Refer to the [Minecraft Sound List](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Sound.html) for options.
5. `item`: Defines the appearance of the mana item.
   * `type`: The Minecraft material type for the mana item. See the [Material List](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html) for options.
   * `name`: The display name of the mana item. `%amount%` will be replaced with the actual mana amount.

### Integrating Mana with Skills and Talents

To integrate mana with skills, you can add a mana configuration to each skill. For example, in a skill configuration:

```yaml
mana:
  drop: POINT
  chance: 10 + (%level% * 0.05)
  amount: 1
```

This configuration means:

* Mana has a chance to drop each time a point is gained.
* The chance increases with skill level.
* Each drop gives 1 mana.

For talents, you can set a mana cost in the talent configuration:

```yaml
name: "Fireball"
mana: 10
```

This talent would cost 10 mana to activate.
