* Doubling Cube - Added support for possible mana calculation (related to #6698).

This commit is contained in:
LevelX2 2020-08-18 00:22:53 +02:00
parent 27db13605e
commit c48331f216
15 changed files with 379 additions and 79 deletions

View file

@ -8,6 +8,7 @@ package mage.abilities.mana;
import java.util.List;
import java.util.Set;
import mage.Mana;
import mage.abilities.Ability;
import mage.constants.ManaType;
import mage.game.Game;
@ -25,6 +26,17 @@ public interface ManaAbility {
* @return
*/
List<Mana> getNetMana(Game game);
/**
* Used to check the possible mana production to determine which spells
* and/or abilities can be used. (player.getPlayable()).
* Only used for abilities were the poolDependant flag is set
*
* @param game
* @param possibleManaInPool The possible mana already produced by other sources for this calculation option
* @return
*/
List<Mana> getNetMana(Game game, Mana possibleManaInPool);
/**
* The type of mana a permanent "could produce" is the type of mana that any
@ -45,4 +57,16 @@ public interface ManaAbility {
* @return
*/
boolean definesMana(Game game);
/**
* Set to true if the ability is dependant from the mana pool. E.g. the more
* mana the pool contains the more mana the ability can produce (Doubling
* Cube). Therefore the use of that ability after other mana abilities does produce more mana.
*
* @return
*/
boolean isPoolDependant();
ManaAbility setPoolDependant(boolean pooleDependant);
}