mirror of
https://github.com/correl/mage.git
synced 2024-11-15 19:19:33 +00:00
* Fixed a bug that cost adjustments for costs of abilities that had multiple ManaCost objects in the ManaCosts could be applied muliple times (e.g. Everflowing Chalice with Thorn of Amethyst).
This commit is contained in:
parent
b846d0c411
commit
167bf8be3c
2 changed files with 3 additions and 2 deletions
|
@ -218,8 +218,9 @@ public class KickerAbility extends StaticAbility implements OptionalAdditionalSo
|
||||||
// use only first variable cost
|
// use only first variable cost
|
||||||
xManaValue = game.getPlayer(this.controllerId).announceXMana(varCosts.get(0).getMinX(), Integer.MAX_VALUE, "Announce kicker value for " + varCosts.get(0).getText(), game, this);
|
xManaValue = game.getPlayer(this.controllerId).announceXMana(varCosts.get(0).getMinX(), Integer.MAX_VALUE, "Announce kicker value for " + varCosts.get(0).getText(), game, this);
|
||||||
// kicker variable X costs handled internally as multikicker with {1} cost (no multikicker on card)
|
// kicker variable X costs handled internally as multikicker with {1} cost (no multikicker on card)
|
||||||
if (!game.isSimulation())
|
if (!game.isSimulation()) {
|
||||||
game.informPlayers(new StringBuilder(game.getPlayer(this.controllerId).getName()).append(" announced a value of ").append(xManaValue).append(" for ").append(" kicker X ").toString());
|
game.informPlayers(new StringBuilder(game.getPlayer(this.controllerId).getName()).append(" announced a value of ").append(xManaValue).append(" for ").append(" kicker X ").toString());
|
||||||
|
}
|
||||||
ability.getManaCostsToPay().add(new GenericManaCost(xManaValue));
|
ability.getManaCostsToPay().add(new GenericManaCost(xManaValue));
|
||||||
} else {
|
} else {
|
||||||
ability.getManaCostsToPay().add((ManaCostsImpl) cost.copy());
|
ability.getManaCostsToPay().add((ManaCostsImpl) cost.copy());
|
||||||
|
|
|
@ -221,7 +221,7 @@ public class CardUtil {
|
||||||
for (ManaCost manaCost : manaCosts) {
|
for (ManaCost manaCost : manaCosts) {
|
||||||
Mana mana = manaCost.getOptions().get(0);
|
Mana mana = manaCost.getOptions().get(0);
|
||||||
int colorless = mana != null ? mana.getColorless() : 0;
|
int colorless = mana != null ? mana.getColorless() : 0;
|
||||||
if (colorless > 0) {
|
if (!updated && restToReduce != 0 && colorless > 0) {
|
||||||
if ((colorless - restToReduce) > 0) {
|
if ((colorless - restToReduce) > 0) {
|
||||||
int newColorless = colorless - restToReduce;
|
int newColorless = colorless - restToReduce;
|
||||||
adjustedCost.add(new GenericManaCost(newColorless));
|
adjustedCost.add(new GenericManaCost(newColorless));
|
||||||
|
|
Loading…
Reference in a new issue