package net.alcuria.umbracraft.definitions.skill;

import net.alcuria.umbracraft.annotations.Tooltip;
import net.alcuria.umbracraft.definitions.Definition;
import net.alcuria.umbracraft.definitions.skill.actions.SkillActionDefinition;

import com.badlogic.gdx.utils.Array;

public class SkillDefinition extends Definition {

	@Tooltip("The action sequence when using the skill")
	public Array<SkillActionDefinition> actions;
	@Tooltip("The multiplier of the base damage")
	public float damageMultiplier;
	@Tooltip("The cost to use the skill, in EP")
	public int epCost;
	@Tooltip("The icon to use for the skill")
	public String iconId;
	public float maxPercentageCost;
	@Tooltip("The name of the skill")
	public String name;
	@Tooltip("The targets of the skill, relative to the drop point")
	public Array<SkillPositionDefinition> targets;
	@Tooltip("The ATB cost of the skill, in turns")
	public float turnCost;

	@Override
	public String getName() {
		return name != null ? name : "Skill";
	}

}

@@ -318,16 +318,115 @@
 tion %7B%0A%0A
+%09public static enum TargetRestriction %7B%0A%09%09NO_RESTRICTION, REQUIRES_FREE_SPACE, REQUIRES_TARGET%0A%09%7D%0A%0A
 %09@Toolti
@@ -463,32 +463,32 @@
 ing the skill%22)%0A
-
 %09public Array%3CSk
@@ -732,41 +732,8 @@
 Id;%0A
-%09public float maxPercentageCost;%0A
 %09@To
@@ -755,32 +755,32 @@
  of the skill%22)%0A
-
 %09public String n
@@ -784,16 +784,242 @@
 g name;%0A
+%09@Tooltip(%22Any restrictions on using the skill. For instance, the skill requires a target to cast or the skill must be cast into a blank space.%22)%0A%09public TargetRestriction targetRestriction = TargetRestriction.NO_RESTRICTION;%0A
 %09@Toolti

Add skill targeting restriction definitions to SkillDefinition