> For the complete documentation index, see [llms.txt](https://axiomemu.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://axiomemu.gitbook.io/docs/data/skill.md).

# Skill

Single source of truth for every skill's base data: damage, mana/AG cost, range, cooldown, damage type, status effect, level and stat requirements. Sent to the client at login via [Game Data Sync](/docs/data/game-data-sync.md), replacing the need for client-side `Skill_*.bmd` files.

## File Location

```
Data/Skill/Skill.txt
```

Loaded once at GameServer startup. Changes require a restart.

## Format

Tab or space-delimited, 32 columns per row. First lines are comments; each row is one skill entry. Terminated by `end`.

## Columns

| Col   | Name                                        | Effect                                                                                                                                                                                                                         |
| ----- | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 0     | `Index`                                     | Skill ID. Must match the skill enum shared with the client                                                                                                                                                                     |
| 1     | `Name`                                      | Display name, max 32 chars. Quote if it contains spaces                                                                                                                                                                        |
| 2     | `Damage`                                    | Base damage value. Multiplied by level/formula                                                                                                                                                                                 |
| 3     | `Mana`                                      | Mana cost per use                                                                                                                                                                                                              |
| 4     | `BP`                                        | Ability Gauge cost per use                                                                                                                                                                                                     |
| 5     | `Range`                                     | Attack range in tiles (magic skills usually 6, melee 2-3)                                                                                                                                                                      |
| 6     | `Radio`                                     | AoE radius in tiles. `0` = single target                                                                                                                                                                                       |
| 7     | `Delay`                                     | Cooldown in milliseconds                                                                                                                                                                                                       |
| 8     | `Type`                                      | Damage type / element. `0` = Ice, `1` = Poison, `2` = Lightning, `3` = Fire, `4` = Earth, `5` = Wind, `6` = Water, `255` = none. The token `*` in the file is parsed as `255`                                                  |
| 9     | `Effect`                                    | Status effect applied on hit (maps to [Effect.xml](/docs/data/effect.md))                                                                                                                                                      |
| 10    | `RequireLevel`                              | Minimum character level to learn                                                                                                                                                                                               |
| 11    | `RequireEnergy`                             | Minimum energy stat to cast                                                                                                                                                                                                    |
| 12    | `RequireLeadership`                         | Minimum command/leadership (Dark Lord)                                                                                                                                                                                         |
| 13    | `RequireKillCount`                          | Monster kills required to unlock                                                                                                                                                                                               |
| 14    | `RequireGuildStatus`                        | Required guild rank bitmask. `0x80` = Guild Master, `0x40` = Sub/Office Master, `0x20` = Battle Master. Values may be OR'd together. Server uses this for validation; client receives the expanded DutyClass flags during sync |
| 15-21 | `RequireClass` (DW, DK, FE, MG, DL, SU, RF) | One column per class; `1` = class can use this skill, `0` = cannot. Column 15 is Dark Wizard, column 21 is Rage Fighter, matching the class order used elsewhere in the server                                                 |
| 22    | `RequireStrength`                           | Minimum strength stat to cast                                                                                                                                                                                                  |
| 23    | `RequireDexterity`                          | Minimum dexterity stat to cast                                                                                                                                                                                                 |
| 24    | `MasteryType`                               | Master skill tree category (`1`-`6`, `255` = none)                                                                                                                                                                             |
| 25    | `SkillUseType`                              | How the skill is activated (`0` = normal attack, `1` = buff, `2` = passive, etc.)                                                                                                                                              |
| 26    | `SkillBrand`                                | Visual effect category identifier used by client effect selection                                                                                                                                                              |
| 27    | `SkillRank`                                 | Skill tier within its mastery tree                                                                                                                                                                                             |
| 28    | `MagicIcon`                                 | Client-side icon index shown on the skill bar                                                                                                                                                                                  |
| 29    | `ItemSkill`                                 | `1` if the skill is granted by an equipped item, `0` if learned. Currently `0` for all shipped rows; item-granted skills are still resolved in game logic, not via this column                                                 |
| 30    | `IsDamage`                                  | `1` if the skill deals damage, `0` if utility/buff/debuff. Affects client damage-number display                                                                                                                                |
| 31    | `SkillCategory`                             | Client TypeSkill. `0` = CommonAttack (damage/attack), `1` = Buff (self/party), `2` = DeBuff (enemy), `3` = FriendlySkill (ally-targeting, e.g. Heal)                                                                           |

{% hint style="info" %}
**Client sync**: `Radio` and `RequireGuildStatus` are server-only. `RequireGuildStatus` is expanded into three `DutyClass` flags on the wire. Every other column is sent to the client at login through [Game Data Sync](/docs/data/game-data-sync.md). Per-skill speed scaling from [SkillSpeedScale.xml](/docs/data/plugins/skillspeedscale.md) is layered in at the same time. Editing this file and restarting the GameServer is enough; no client-side BMD needs to be rebuilt.
{% endhint %}

## Relationship to Other Skill Files

* [**MasterSkillTree.txt**](/docs/data/skill/masterskilltree.md) - master skill prerequisites and tree-progression values per master level
* [**SkillDamage.txt**](/docs/data/skill/skilldamage.md) - optional per-skill damage overrides vs users and monsters
* [**Skill.dat**](/docs/gameserver/skill-dat.md) - global formula constants (ManaShield, Greater Defense, etc.) that layer on top of the base Damage from this file
* [**SkillSpeedScale.xml**](/docs/data/plugins/skillspeedscale.md) - per-skill delay scaling and minimum-delay floor, also synced to client alongside this file
* [**CustomCombo.xml**](/docs/data/plugins/customcombo.md) - primary and secondary skill lists for the cross-class combo system, referencing `Index` from this file
* [**Character.dat**](/docs/gameserver/character-dat.md) - class/global damage rate multipliers applied on top of this file's `Damage`
* `SkillElect.hit` in this folder is a binary client asset; do not edit on the server side

## Common Issues

* **Skill shown but does no damage** - `Damage` is `0`, or the class's `RequireClass` column is `0`
* **Skill won't learn** - `RequireLevel` / `RequireEnergy` / `RequireLeadership` / `RequireKillCount` / `RequireStrength` / `RequireDexterity` gate not met
* **Range feels off vs client** - the client's view comes from the synced value of `Range`; server value is authoritative
* **Skill cooldown too short / long** - `Delay` column; combined with per-skill override in SkillSpeedScale.xml
* **Effect type wrong** - `Type` column maps to elemental resistances via [Monster.xml](/docs/data/monster/monster.md); wrong type bypasses the wrong resistance
* **Change not applying** - clients already logged in keep the old skill data; reconnect or restart
