package net.alcuria.umbracraft.definitions.enemy; import net.alcuria.umbracraft.annotations.Order; import net.alcuria.umbracraft.annotations.Tooltip; import net.alcuria.umbracraft.definitions.Definition; import com.badlogic.gdx.utils.Array; public class EnemyDefinition extends Definition { public static enum PositionPreference { BACK, FRONT, MIDDLE; } @Tooltip("The BattleAnimationGroup") @Order(3) public String animGroup; @Tooltip("Secondary stats") @Order(7) public int atk, matk, def, mdef; @Tooltip("Drops for the monster") @Order(301) public String commonDrop, uncommonDrop, rareDrop, epicDrop; @Tooltip("Amount of exp earned for the party when killed") @Order(302) public int exp; @Tooltip("The face to use along the turn order table") @Order(10) public String faceId; @Tooltip("Max HP of the monster") @Order(5) public int hp; @Tooltip("Level of the monster") @Order(4) public int level; @Tooltip("Approximately how much money the enemy will drop") @Order(300) public int money; @Tooltip("The name of the monster") @Order(1) public String name; @Tooltip("The grid position preferences") @Order(9) public PositionPreference position; public Array<String> skills; @Tooltip("Additional percentage-based stats") @Order(8) public float speed, critical, accuracy, evasion, focus; @Tooltip("Base stats") @Order(6) public int str, wis, vit, agi; @Tooltip("The tag, for sorting") @Order(2) public String tag; @Override public String getName() { return name != null ? name : "Enemy"; } @Override public String getTag() { return tag != null ? tag : ""; } }