Fast Guide

Below is a fast guide on how to deal with this plugin and set things up.

About Skills

SkillPoints

Earned each time the player levels up on a said class. Used for leveling up skills. Stored on a per-class manner just like heroes experience.

Skill Level

The level of a skill is global. SkillPoints are used to level them up. They range from 0 to it's maximum level.

Locked Skills

All skills start locked for everyone (level 0). To unlock it, the player must have mastered all other strong parents of that skill and at least one weak parent. Once unlocked, the skill can be leveled up to it's max level.

Mastered Skills

Skills become mastered once they reach their maximum level and can not be leveled up anymore from there. This unlocked further skills that require this one as a parent.

Parenting System

The parenting system works just like the classes parenting system from Heroes: To unlock a new skill, you must have all of it's strong skill parents and at least one of the weak skill parents mastered.

Configs

config.yml

points-per-level - Sets the amount of SkillPoints to be given/taken uppon level change. Points are given when the player levels up and taken when he levels down.

players.yml

This is where all player data related to this plugin is stored on a per-player basis. Directly editing this is strongly NOT recommended. Use the /skilladmin commands.

classes.yml

These are the classes you have set up, like Warrior.yml, Rouge.yml, etc. They are inside the normal Heroes/classes folder from the Heroes plugin. It will only be important for us to deal with the "permitted-skills" section of each class.

Setting parents to a skill

Go to that skill's section inside your class.yml and add the node "parents:". Inside it, add the nodes "strong:" and "weak:" and list the skills you want for each of them. Below is an example:

permitted-skills:
    SkillName:
        parents:
            - strong: [skill1, skill2, skill3]
            - weak: [skill4, skill5]

Remember that the usage of any of these is completly optional.

Setting a skill's maximum level

Go to that skill's section inside your class.yml and add the node "max-level" with the leve you want. Below is an example:

permitted-skills:
    SkillName:
        max-level: 10

This will make the skill master at level 10. Remember this is a per-class setting so the same skill can have different maximum levels depending on the class.

Setting extra nodes

To tell a skill to increase one of it's settings based on skill level, go to that skill's section inside class.yml and add the node "hst-damage/health/mana/reagent/stamina" with the amount you want after that. Below is an example:

permitted-skills:
    SkillName:
        mana: 10
        hst-mana: 2
        damage: 5
        hst-damage: .5

This will set that skill to start with 10 mana and deal 5 of damage and will raise the mana cost by 2 and the damage by 0.5 for each skill level. This does not block you from using normal per-level increases!

The Commands

  • /skillup (skill) [amount] - Will increase the given skill level by amount. When no amount is given it levels up 1 level;
  • /skilldown (skill) [amount] - Same as the above but to level a skill down;
  • /skillinfo (skill) - Shows the info of that skill. If it's locked, mastered, it's level, and it's max-level. Also shows player's SkillPoints;
  • /skillpoints - Shows player's currently available SkillPoints;
  • /unlocks - Shows the skills the player can unlock with the skills they have mastered now;
  • /skilladmin set (amount) [player] - Sets the player's SkillPoints to the given value. If no player is given it's applied to the player who issued the command;
  • /skilladmin give (amount) [player] - Same as above but instead of setting it, it adds to it;
  • /skilladmin remove (amount) [player] - Same as above but instead of adding to it, it removes from it;
  • /skilladmin clear [player] - Clears the given player's SkillPoints to 0;
  • /skilladmin reset [reset] - Clears the given player's whole skill levels and SkillPoints to 0. This is automaticaly done upon /hero reset.

The Permissions

  • skilltree.* - Gives all permissions of this plugin;
  • skilladmin.* - Gives all skilladmin permissions;
  • skilladmin.set - Allows player to set his/others' SkillPoints;
  • skilladmin.give - Allows player to increase his/others' SkillPoints;
  • skilladmin.remove - Allows player to decrease his/others' SkillPoints;
  • skilladmin.clear - Allows players to clear out his/others' SkillPoints;
  • skilladmin.reset - Allows players to reset his/others' skills and SkillPoints;
  • skilltree.override.* - Gives all skilltree.override permissions;
  • skilltree.override.locked - Allows player to use locked skills;
  • skilltree.override.unlock - Allows players to unlock skills freely, ignoring parentship;
  • skilltree.override.usepoints - Leveling up skills don't require SkillPoints. At the same time the player won't retrieve these when leveling down skills;
  • skilltree.info - Allows player to check a skill's info. By default it's given to all players;
  • skilltree.points - Allows player to check his SkillPoints. By default it's given to all players;
  • skilltree.up - Allows leveling up skills. By default it's given to all players;
  • skilltree.down - Allows leveling down skills and, at the same time, retrieve SkillPoints;
  • skilltree.lock - Allows player to re-lock a skill by leveling it all the way down to level 0.