- Fixed Martyr of Sands.

This commit is contained in:
Sloth
2012-06-25 19:46:34 +00:00
parent 2ae164c44f
commit 3ef3469016
2 changed files with 12 additions and 9 deletions

View File

@@ -5,7 +5,7 @@ Text:no text
PT:1/1 PT:1/1
A:AB$ GainLife | Cost$ 1 Reveal<X/Card.White> Sac<1/CARDNAME> | CostDesc$ 1, Reveal X white cards from your hand, Sacrifice Martyr of Sands: | LifeAmount$ Y | References$ X,Y | SpellDescription$ You gain three times X life. A:AB$ GainLife | Cost$ 1 Reveal<X/Card.White> Sac<1/CARDNAME> | CostDesc$ 1, Reveal X white cards from your hand, Sacrifice Martyr of Sands: | LifeAmount$ Y | References$ X,Y | SpellDescription$ You gain three times X life.
SVar:X:XChoice SVar:X:XChoice
SVar:Y:Number$3/Times.ChosenX SVar:Y:SVar$ChosenX/Times.3
SVar:RemAIDeck:True SVar:RemAIDeck:True
SVar:Rarity:Common SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/martyr_of_sands.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/martyr_of_sands.jpg

View File

@@ -144,22 +144,25 @@ public class CostReveal extends CostPartWithList {
this.addToList(source); this.addToList(source);
payment.setPaidManaPart(this, true); payment.setPaidManaPart(this, true);
} else { } else {
Integer c = this.convertAmount(); Integer num = this.convertAmount();
CardList handList = activator.getCardsIn(ZoneType.Hand); CardList handList = activator.getCardsIn(ZoneType.Hand);
handList = handList.getValidCards(this.getType().split(";"), activator, ability.getSourceCard()); handList = handList.getValidCards(this.getType().split(";"), activator, ability.getSourceCard());
if (c == null) { if (num == null) {
final String sVar = ability.getSVar(amount); final String sVar = ability.getSVar(amount);
if (sVar.equals("XChoice")) { if (sVar.equals("XChoice")) {
c = CostUtil.chooseXValue(source, ability, handList.size()); num = CostUtil.chooseXValue(source, ability, handList.size());
} else { } else {
c = AbilityFactory.calculateAmount(source, amount, ability); num = AbilityFactory.calculateAmount(source, amount, ability);
} }
} }
if (num > 0) {
CostUtil.setInput(CostReveal.inputRevealCost(this.getType(), handList, payment, this, ability, c)); CostUtil.setInput(CostReveal.inputRevealCost(this.getType(), handList, payment, this, ability, num));
return false; return false;
} else {
payment.setPaidManaPart(this, true);
}
} }
this.addListToHash(ability, "Revealed"); this.addListToHash(ability, "Revealed");
return true; return true;
@@ -240,7 +243,7 @@ public class CostReveal extends CostPartWithList {
this.done(); this.done();
} }
if (AllZone.getHumanPlayer().getZone(ZoneType.Hand).size() < nNeeded) { if (handList.size() + this.nReveal < nNeeded) {
this.stop(); this.stop();
} }
final StringBuilder type = new StringBuilder(""); final StringBuilder type = new StringBuilder("");