Skills.yml contains the "default" settings for skills. Classes and Races skill settings override these defaults.
Each skill config or permskill config consists of one ore more skill definitions like this..
permskills: fly: skillname: fly description: "Fly for 1 minute" type: ACTIVE level: 10 requires: SomeSkill requiresOne: - listOfSkills - oneOfWhich - mustBeOwned cost: 0 manaCost: 10 buildup: 1000 delay: 1000 cooldown: 60000 duration: 60000 pay: 1000 xp: 100 karmaCost: 0 karmaReward: 10 karmaRequired: 1000 needPerm: someperm.possibly.from.quest.reward consumes: FEATHER consumesqty: 2 perm: essentials.fly startcommand: "fly on" endcommand: "fly off"
The above uses all the possible setting to make a complete, if rather dubious in application, skill. And here's a smaller example of config for a LegendQuest Skill.
skill: summonpiggy: skillname: summon level: 5 cost: 0 manaCost: 100 cooldown: 60000 vars: qty: 2 entity: pig hatching: skillname: summon level: 15 cost: 0 manaCost: 100 cooldown: 60000 vars: qty: 10 entity: chicken
Here's what all the parts do.
The two sections
permskills: are for two different types of skill.
skill: is for LegendQuest skills consisting of custom .jar files in the
permskills: allows you to assign permissions and run regular plugin commands for a player to use them as skills.
Each skill has a name, for now these must be unique - but in future where the same name is re-used then the skill will be "upgraded" the the higher level/cost as you level up.
Inbuilt skills in the
skill: section have a
skillname value. This is the name of the skill file to use for this skill in the
/skills/ folder, allowing you to have several implementations for the same skill, like the above example with two instances of the summon skill.
skill: section also allows a
var: section to hand settings over to override the skills defaults. The values of these vary per skill and can be found in the skill defaults page.
- Description of the skill as seen in /skill <name> info.
- The level at which this skill 'unlocks' use 0 for always available skills.
- The number of skill points needed to buy this skill. Skills with 0 cost unlock at their level. Skills with cost and level are only available to "buy" once the level has been first reached.
- If listed, all of the skills in this list must be owned before this skill is unlocked.
- If listed, one of the skills in this list must be owned before this skill is unlocked.
- One of PASSIVE, ACTIVE or TRIGGERED. Passive skills are always on and ignore buildup, delay, duration and cooldown. Active skills are triggered by events, Triggered skills by linked items or the
/skillcommand. PermSkills require this, native skills only read this if they have dual type ability.
- The amount of mana expended to use this skill. This mana is paid when the skill enters the active phase (after any build up or delay).
- This is a Material type that is required to use the skill. Which is removed when the skill becomes active.
- This is the amount of the Material type that is required to use the skill.
- Amount of cash to pay to use this skill.
- Amount of XP awarded for using this skill.
- Amount of karma to lose to use this skill
- Amount of karma to recieve when using this skill.
- Amount of karma required before using this skill. If negative then current karma must be bellow this figure.
- Set a requirement for having a permissions node to use this skill.
- The amount of time (in milliseconds) that the player must stand still before the skill triggers. Moving during this time cancels the skill.
- Amount of time (in milliseconds) to wait before triggering the skil. Note that the skill triggers AFTER this delay (and any buildup) so be aware that skills that use line of sight for targeting will trigger after this delay and use the LoS at that time - not when the skill is first triggered.
- Amount of time (in milliseconds) that the skill is active for. At the start of this time
consumesare paid, and the
startcommandis executed. During the duration time period the
perm(if any) permission node is applied to the player.
- Amount of time (in milliseconds) before skill can be reused. At the start of this time period, any
permis removed and
- The permissions node to add to the player during the duration. (or permanently if type is set to PASSIVE).
- A list of permissions nodes to add to the player during the duration. (or permanently if type is set to PASSIVE).
- These are interchangeable. This is the command to be run as the player on start of the duration period.
- This is the command to be run as the player on end of the duration. This allows for on/off toggle skills to be used.