Interface Ability

All Superinterfaces:
AbstractAbility, NamespaceIdentified, Optioned
All Known Implementing Classes:
Abilities, CustomAbility

public interface Ability extends AbstractAbility, Optioned
  • Method Details

    • getDisplayName

      String getDisplayName(Locale locale)
      Gets the ability display name as defined in the locale's messages file.
      Parameters:
      locale - the locale to get the display name in
      Returns:
      the display name in the specified locale or in a fallback language
    • getDescription

      String getDescription(Locale locale)
      Gets the ability description as defined in the locale's messages file.
      Parameters:
      locale - the locale to get the description in
      Returns:
      the description in the specified locale or in a fallback language
    • getInfo

      String getInfo(Locale locale)
      Gets the ability info text as defined in the locale's messages file. The info text shows an ability's effects for a given level in a concise way and is shown in the main skills menu.
      Parameters:
      locale - the locale to get the info in
      Returns:
      the info text in the specified locale or in a fallback language
    • name

      String name()
      Gets a fully uppercase String of the ability name without the namespace
      Returns:
      the ability name in all upper case
    • hasSecondaryValue

      boolean hasSecondaryValue()
      Gets whether the ability has a secondary value that varies with the ability level
      Returns:
      whether the ability has a secondary value
    • isEnabled

      boolean isEnabled()
      Gets whether the ability is enabled in the configuration. Abilities that are not loaded in any skill will always return false. Disabled abilities should have no effect on gameplay.
      Returns:
      whether the ability is enabled
    • getBaseValue

      double getBaseValue()
      Gets the value of an ability when it is at level 1 (just unlocked).
      Returns:
      the base value
    • getSecondaryBaseValue

      double getSecondaryBaseValue()
      Gets the secondary value of an ability when it is at level 1 (just unlocked). If hasSecondaryValue() returns false, this method will return 0.
      Returns:
      the secondary base value
    • getValue

      double getValue(int level)
      Gets the value of the ability at a specific ability level.
      Parameters:
      level - the ability level
      Returns:
      the value at the level
    • getValuePerLevel

      double getValuePerLevel()
      Gets the amount that the ability value is increased by for every ability level. This value only starts being added from ability level 2. A negative value means the ability value is decreased when leveled up.
      Returns:
      the change in value per ability level
    • getSecondaryValuePerLevel

      double getSecondaryValuePerLevel()
      Gets the amount that the secondary ability value is increased by for every ability level. This value only starts being added from ability level 2. A negative value means the ability value is decreased when leveled up. If hasSecondaryValue() returns false, this method will return 0.
      Returns:
      the change in secondary value per ability level
    • getSecondaryValue

      double getSecondaryValue(int level)
      Gets the secondary value of the ability at a specific ability level. If hasSecondaryValue() returns false, this method will return 0.
      Parameters:
      level - the ability level
      Returns:
      the secondary value at the level