> For the complete documentation index, see [llms.txt](https://floodeer.gitbook.io/wizards-1/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://floodeer.gitbook.io/wizards-1/fundamentals/classes.md).

# Classes

The main objective of all classes are the same - wait for you mana to recharge and use your skill.&#x20;

<figure><img src="https://media2.giphy.com/media/v1.Y2lkPTc5MGI3NjExMnVqcTMxdmdiMGZudWJuYmFraHJrdjJxeHhqcDByOW1uOGhmMXl3diZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/GhNh4oMfJQ5eE7gUbj/giphy.gif" alt=""><figcaption></figcaption></figure>

You can edit all values of a class in its YAML file.

Example of a class yaml file

```yaml
display-name: 'Pyromancer' 
description:
- '&9Pyromancer'
- ' '
- '&7Shots a spell of fire causing &c2.5❤ &7of damage.'
price: 0
mana-cost-per-use: 25
mana-per-hit: 0
max-distance: 60
damage: 5.0
damage-area: 3.5
explosion-radius: 3.5
weapon: 'GOLDEN_HOE : 1 : name:&bPyromancer'
helmet: 'IRON_HELMET : 1'
chestplate: 'IRON_CHESTPLATE : 1'
leggings: 'IRON_LEGGINGS : 1'
boots: 'IRON_BOOTS : 1'
scripts:
- "player.sendMessage(\"You used your skill.\");"
target-scripts:
  - "target.setFireTicks(40);"
items:
  - 'ARROW : 1'
```

Some classes may have extra settings, for example, cosmos.yml

```yaml
display-name: 'Cosmos'
description:
  - '&9Cosmos'
  - ' '
  - '&7Spawns a meteor that will'
  - '&7impact the ground and'
  - '&7cause AoE damage.'
price: 6700
mana-cost-per-use: 80
mana-per-hit: 5
max-distance: 0
damage: 2.0
damage-area: 5.0
explosion-radius: 5.0
weapon: 'DIAMOND_AXE : 1 : name:&bCosmos'
helmet: 'IRON_HELMET : 1'
chestplate: 'IRON_CHESTPLATE : 1'
leggings: 'IRON_LEGGINGS : 1'
boots: 'IRON_BOOTS : 1'
scripts: [ ]
target-scripts: [ ]
ally-scripts: [ ]

#Cosmos config

#Meteor spawn Y
#This will add to current player's location.
meteor-spawn-y: 35.0

#Meteor speed multiplier
meteor-speed-multiplier: 0.8

#Should the Meteor spawns firework?
spawns-firework: true

#Should the meteor explosion remove blocks?
meteor-explosion: false

#If set to true, the meteor will only impact on ground.
#Otherwise, the location of the impact will be (the location where the skill was activated) - (meteor-spawn-y)
#meaning that it will decrease a Y coordinate until it reaches 0, that way it can explode on air.
only-explode-on-ground: false

#Blidness config, 20 ticks = 1s
apply-blindness: true
blindness-time-in-ticks: 35
```

Classes as version 5.7.0

* Pyromancer
  * Fires a spell of Fire, you can modify everything else at pyromancer.yml.
* Aquamancer
  * Fires a spell of water, you can modify everything else at aquamancer.yml.
  * Can heal allies, you can set the amount and area of healing.
* Herobrine
  * Fires a particle spell that will strike and bump up the damage, you can modify everything else at herobrine.yml.
* Wither
  * Fires a wither skull, you can modify everything else at wither.yml.
* Enderman
  * Fires a ender spell and has a RECALL ability.
* Mage
  * Fires a spell that will follow players until collide or until reaches the travel-limit.
* Fighter
  * Loads a single-target super punch.
* Crusader
  * Creates a temporary shield for you and to nearby teammates.
* Shaman
  * Creates a tornado pushing players and applying slow.
* Arcanist
  * Shots a instant spell that will cause area damage if impacts on a enemy.
* Creeper
  * Creates a explosion causing knockback and damage.
* Cryomancer
  * Fires a spell of Ice, applying slow.
* Squid
  * Summons circles around nearby enemies, healing you and your allies and causing damage.
* Cosmos
  * Summons a meteor causing AoE damage.
* Boulder
  * Throws a pile of blocks causing AoE damage.
* YinYang
  * A class that can cause damage to enemies and heal teammates at the same time!
* Animal
  * Throws mob as projectiles that can heal or deal damage!
* Surge
  * Aim to a player or location to create a field of particles that will target each player.
* Frostbolt
  * Shots a bolt of ice.
* Blitzer
  * Unleashes a bolt of energy hat chains between enemies.
* Bard
  * Can buff you and your teammates mana regeneration and skill damage.

## Optional: Class Permission ​&#x20;

By setting Options.Use-Class-Permission-As-Owned to true, players with the class permission will be able to select the class without needing to purchase it.

If Options.Use-Class-Permission-As-Owned is set to false, players will need the permission to purchase the class.

For that, make sure to add a 'permission' line to the class file, for example:

```yaml
display-name: 'Pyromancer' 
description:
- '&9Pyromancer'
- ' '
- '&7Shots a spell of fire causing &c2.5❤ &7of damage.'
price: 0
permission: 'wizards.classes.pyromancer' #Permission, can be in any line
mana-cost-per-use: 25
mana-per-hit: 0
max-distance: 60
damage: 5.0
damage-area: 3.5
explosion-radius: 3.5
weapon: 'GOLDEN_HOE : 1 : name:&bPyromancer'
helmet: 'IRON_HELMET : 1'
chestplate: 'IRON_CHESTPLATE : 1'
leggings: 'IRON_LEGGINGS : 1'
boots: 'IRON_BOOTS : 1'
scripts: []
target-scripts: []
items: []
```

## Classes: Explosion

You can either disable or limit the explosions from the special abilities.\
\
To turn explosions off, go to settings.yml and set Explosions to false.\
\
You can also limit the explosion, for example, you can disable explosions for blocks below Y coordinate:\
\
Map config option at *Min-Y-Explosions*<br>

* This option will limit the block explosions for the Y coordinate, for example, if this is set to 32, all blocks below the Y=32 will not explode.
* This can be done by editing the map file before the server stars or using /wizards setExplosionLevel \<arena> \<Y level>
  * You must finish the arena after using this command to save and apply the changes.<br>
