1
0
Fork 0
mirror of https://github.com/correl/mage.git synced 2025-04-02 11:25:59 -09:00

* Fixed that colorless mana could be paid with colored mana.

This commit is contained in:
LevelX2 2016-01-12 16:33:49 +01:00
parent d0f38ffa53
commit dd6484dba5
4 changed files with 14 additions and 4 deletions

View file

@ -68,7 +68,7 @@ public class GenericManaCost extends ManaCostImpl {
@Override
public void assignPayment(Game game, Ability ability, ManaPool pool, Cost costsToPay) {
this.assignColorless(ability, game, pool, mana, costsToPay);
this.assignGeneric(ability, game, pool, mana, costsToPay);
}
@Override

View file

@ -151,7 +151,17 @@ public abstract class ManaCostImpl extends CostImpl implements ManaCost {
return false;
}
protected boolean assignColorless(Ability ability, Game game, ManaPool pool, int mana, Cost costToPay) {
protected void assignColorless(Ability ability, Game game, ManaPool pool, int mana, Cost costToPay) {
int conditionalCount = pool.getConditionalCount(ability, game, null, costToPay);
while (mana > payment.count() && (pool.count() > 0 || conditionalCount > 0)) {
if (pool.pay(ManaType.COLORLESS, ability, sourceFilter, game, costToPay)) {
this.payment.increaseColorless();
}
break;
}
}
protected boolean assignGeneric(Ability ability, Game game, ManaPool pool, int mana, Cost costToPay) {
int conditionalCount = pool.getConditionalCount(ability, game, null, costToPay);
while (mana > payment.count() && (pool.count() > 0 || conditionalCount > 0)) {
if (pool.pay(ManaType.COLORLESS, ability, sourceFilter, game, costToPay)) {

View file

@ -71,7 +71,7 @@ public class MonoHybridManaCost extends ManaCostImpl {
@Override
public void assignPayment(Game game, Ability ability, ManaPool pool, Cost costToPay) {
if (!assignColored(ability, game, pool, mana, costToPay)) {
assignColorless(ability, game, pool, mana2, costToPay);
assignGeneric(ability, game, pool, mana2, costToPay);
}
}

View file

@ -61,7 +61,7 @@ public class SnowManaCost extends ManaCostImpl {
@Override
public void assignPayment(Game game, Ability ability, ManaPool pool, Cost costToPay) {
this.assignColorless(ability, game, pool, 1, costToPay);
this.assignGeneric(ability, game, pool, 1, costToPay);
}
@Override