* Induce Despair - Fixed not working boost effect.

This commit is contained in:
LevelX2 2015-08-10 10:06:45 +02:00
parent 2abfad795e
commit 269653d115

View file

@ -28,33 +28,35 @@
package mage.sets.riseoftheeldrazi;
import java.util.UUID;
import mage.constants.*;
import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.common.RevealTargetFromHandCost;
import mage.abilities.effects.ContinuousEffect;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.Rarity;
import mage.filter.common.FilterCreatureCard;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.common.TargetCardInHand;
import mage.target.common.TargetCreaturePermanent;
import mage.target.targetpointer.FixedTarget;
/**
*
* @author jeffwadsworth
*/
public class InduceDespair extends CardImpl {
private static final FilterCreatureCard filter = new FilterCreatureCard("creature card from your hand");
public InduceDespair(UUID ownerId) {
super(ownerId, 114, "Induce Despair", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{2}{B}");
this.expansionSetCode = "ROE";
// As an additional cost to cast Induce Despair, reveal a creature card from your hand.
// Target creature gets -X/-X until end of turn, where X is the revealed card's converted mana cost.
this.getSpellAbility().addEffect(new InduceDespairEffect());
@ -87,13 +89,14 @@ class InduceDespairEffect extends OneShotEffect {
public boolean apply(Game game, Ability source) {
RevealTargetFromHandCost cost = (RevealTargetFromHandCost) source.getCosts().get(0);
Permanent creature = game.getPermanent(targetPointer.getFirst(game, source));
if (cost != null) {
int CMC = -1 * cost.convertedManaCosts;
if (creature != null) {
creature.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(CMC, CMC, Duration.EndOfTurn)), source.getSourceId(), game, false);
}
if (cost != null && creature != null) {
int cmcBoost = -1 * cost.convertedManaCosts;
ContinuousEffect effect = new BoostTargetEffect(cmcBoost, cmcBoost, Duration.EndOfTurn);
effect.setTargetPointer(new FixedTarget(creature.getId(), creature.getZoneChangeCounter(game)));
game.addEffect(effect, source);
return true;
}
return true;
return false;
}
@Override