forked from External/mage
Unbound Flourishing's X doubling should be a triggered ability (and related refactors) (#12597)
Complete rework of Unbound Flourishing, removing the multiplier code for casting X spells. Adds ActivateAbilityTriggeredAbility, NotManaAbilityPredicate, AbilitySourceAttachedPredicate CopyStackObjectEffect now uses a MOR. OrTriggeredAbility now works with target pointer setting abilities.
This commit is contained in:
parent
9d83381326
commit
b70638acc9
36 changed files with 399 additions and 547 deletions
|
|
@ -1921,20 +1921,18 @@ public class ComputerPlayer extends PlayerImpl {
|
|||
}
|
||||
|
||||
@Override
|
||||
public int announceXMana(int min, int max, int multiplier, String message, Game game, Ability ability) {
|
||||
public int announceXMana(int min, int max, String message, Game game, Ability ability) {
|
||||
log.debug("announceXMana");
|
||||
//TODO: improve this
|
||||
int xMin = min * multiplier;
|
||||
int xMax = (max == Integer.MAX_VALUE ? max : max * multiplier);
|
||||
int numAvailable = getAvailableManaProducers(game).size() - ability.getManaCosts().manaValue();
|
||||
if (numAvailable < 0) {
|
||||
numAvailable = 0;
|
||||
} else {
|
||||
if (numAvailable < xMin) {
|
||||
numAvailable = xMin;
|
||||
if (numAvailable < min) {
|
||||
numAvailable = min;
|
||||
}
|
||||
if (numAvailable > xMax) {
|
||||
numAvailable = xMax;
|
||||
if (numAvailable > max) {
|
||||
numAvailable = max;
|
||||
}
|
||||
}
|
||||
return numAvailable;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue