- Fixed tapXType costs not canceling properly.

This commit is contained in:
Sloth
2012-09-21 17:53:42 +00:00
parent cbfa513288
commit 4a05bf5ede
3 changed files with 18 additions and 15 deletions

View File

@@ -1791,16 +1791,18 @@ public final class GameActionUtil {
for (String keyword : source.getKeyword()) { for (String keyword : source.getKeyword()) {
if (keyword.startsWith("Buyback")) { if (keyword.startsWith("Buyback")) {
for (SpellAbility sa : abilities) { for (SpellAbility sa : abilities) {
final SpellAbility newSA = sa.copy(); final SpellAbility newSA = sa.copy();
newSA.setBasicSpell(false); newSA.setBasicSpell(false);
newSA.setPayCosts(GameActionUtil.combineCosts(newSA, keyword.substring(8))); newSA.setPayCosts(GameActionUtil.combineCosts(newSA, keyword.substring(8)));
newSA.setManaCost(""); newSA.setManaCost("");
newSA.setDescription(sa.getDescription() + " (with Buyback)"); newSA.setDescription(sa.getDescription() + " (with Buyback)");
ArrayList<String> newoacs = new ArrayList<String>(); ArrayList<String> newoacs = new ArrayList<String>();
newoacs.addAll(sa.getOptionalAdditionalCosts()); newoacs.addAll(sa.getOptionalAdditionalCosts());
newSA.setOptionalAdditionalCosts(newoacs); newSA.setOptionalAdditionalCosts(newoacs);
newSA.addOptionalAdditionalCosts("Buyback"); newSA.addOptionalAdditionalCosts("Buyback");
newAbilities.add(newAbilities.size(), newSA); if (newSA.canPlay()) {
newAbilities.add(newAbilities.size(), newSA);
}
} }
abilities.addAll(0, newAbilities); abilities.addAll(0, newAbilities);
newAbilities.clear(); newAbilities.clear();
@@ -1816,7 +1818,9 @@ public final class GameActionUtil {
newoacs.addAll(sa.getOptionalAdditionalCosts()); newoacs.addAll(sa.getOptionalAdditionalCosts());
newSA.setOptionalAdditionalCosts(newoacs); newSA.setOptionalAdditionalCosts(newoacs);
newSA.addOptionalAdditionalCosts(keyword); newSA.addOptionalAdditionalCosts(keyword);
newAbilities.add(newAbilities.size(), newSA); if (newSA.canPlay()) {
newAbilities.add(newAbilities.size(), newSA);
}
} }
abilities.addAll(0, newAbilities); abilities.addAll(0, newAbilities);
newAbilities.clear(); newAbilities.clear();

View File

@@ -237,9 +237,9 @@ public class CostTapType extends CostPartWithList {
this.done(); this.done();
} }
if (cardList.size() == 0) { /*if (cardList.size() == 0) {
this.stop(); this.cancel();
} }*/
final int left = nCards - this.nTapped; final int left = nCards - this.nTapped;
CMatchUI.SINGLETON_INSTANCE CMatchUI.SINGLETON_INSTANCE

View File

@@ -163,7 +163,6 @@ public abstract class Spell extends SpellAbility implements java.io.Serializable
} catch (final NumberFormatException e) { } catch (final NumberFormatException e) {
y = CardFactoryUtil.xCount(card, card.getSVar(compareTo)); y = CardFactoryUtil.xCount(card, card.getSVar(compareTo));
} }
System.out.println("NeedsToPlayVar: " + sVar + "(" + x + ")" + comparator + "(" + y + ")");
if (!AllZoneUtil.compare(x, comparator, y)) { if (!AllZoneUtil.compare(x, comparator, y)) {
return false; return false;
} }