foul-magics/Mage/src/main/java/mage/abilities/costs/AlternativeSourceCosts.java
Evan Kranzler 0e3252d256
Implementing Blitz mechanic (WIP) (#8835)
* added blitz mechanic (mostly copy/paste of dash)

* renamed class

* reworked alt cost abilities, greatly reduced redundant code

* updated text generation

* removed all skips

* added test for blitz

* changed blitz implementation

* [SNC] Implemented Tenacious Underdog
2022-04-24 12:03:25 -04:00

51 lines
No EOL
1.1 KiB
Java

package mage.abilities.costs;
import mage.abilities.Ability;
import mage.game.Game;
/**
* Interface for abilities that add alternative costs to the source.
* <p>
* Example of such additional source costs: {@link mage.abilities.keyword.KickerAbility}
*
* @author LevelX2
*/
public interface AlternativeSourceCosts {
/**
* Ask the player if they want to use the alternative costs
*
* @param ability ability the alternative cost is activated for
* @param game
* @return
*/
boolean askToActivateAlternativeCosts(Ability ability, Game game);
/**
* Is the alternative spell cost currently available
*
* @param source spell ability the alternative costs can be paid for
* @param game
* @return
*/
boolean isAvailable(Ability source, Game game);
/**
* Was the alternative cost activated
*
* @param game
* @param source
* @return
*/
boolean isActivated(Ability source, Game game);
/**
* Suffix string to use for game log
*
* @param game
* @return
*/
String getCastMessageSuffix(Game game);
void resetCost();
}