package de.banananetwork.dsa.abilities; import de.banananetwork.dsa.descriptions.Descriptiable; import de.banananetwork.dsa.descriptions.Description; import de.banananetwork.dsa.requirements.AdventurePointsPriceLabeled; import de.banananetwork.dsa.requirements.HasRequirement; import de.banananetwork.dsa.requirements.Requirement; public class Ability implements Descriptiable, AdventurePointsPriceLabeled, HasRequirement { private final Description description; private final int apCosts; private final Requirement requirement; public Ability(Description description, int apCosts, Requirement requirement) { this.description = description; this.apCosts = apCosts; this.requirement = requirement; } @Override public Description getDescription() { return description; } @Override public int getRequiredAdventurePoints() { return apCosts; } @Override public Requirement getRequirement() { return requirement; } }