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:
ssk97 2024-08-22 13:33:39 -07:00 committed by GitHub
parent 9d83381326
commit b70638acc9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
36 changed files with 399 additions and 547 deletions

View file

@ -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;