Fixed Demonic Appetite to target only controlled creatures and the sacrifice is mandatory

This commit is contained in:
LevelX 2011-12-13 21:15:16 +01:00
parent cdf7365ff1
commit 0e45b25455

View file

@ -43,7 +43,6 @@ import mage.abilities.keyword.EnchantAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetCreaturePermanent;
/** /**
* *
@ -51,20 +50,25 @@ import mage.target.common.TargetCreaturePermanent;
*/ */
public class DemonicAppetite extends CardImpl<DemonicAppetite> { public class DemonicAppetite extends CardImpl<DemonicAppetite> {
public DemonicAppetite (UUID ownerId) { public DemonicAppetite (UUID ownerId) {
super(ownerId, 106, "Demonic Appetite", Rarity.COMMON, new CardType[]{CardType.ENCHANTMENT}, "{B}"); super(ownerId, 106, "Demonic Appetite", Rarity.COMMON, new CardType[]{CardType.ENCHANTMENT}, "{B}");
this.expansionSetCode = "ROE"; this.expansionSetCode = "ROE";
this.subtype.add("Aura"); this.subtype.add("Aura");
this.color.setBlack(true); this.color.setBlack(true);
TargetPermanent auraTarget = new TargetCreaturePermanent(); TargetPermanent auraTarget = new TargetControlledCreaturePermanent();
this.getSpellAbility().addTarget(auraTarget); this.getSpellAbility().addTarget(auraTarget);
this.getSpellAbility().addEffect(new AttachEffect(Constants.Outcome.BoostCreature)); this.getSpellAbility().addEffect(new AttachEffect(Constants.Outcome.BoostCreature));
Ability ability = new EnchantAbility(auraTarget.getTargetName());
this.addAbility(ability); Ability ability = new EnchantAbility(auraTarget.getTargetName());
this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new BoostEnchantedEffect(3, 3, Constants.Duration.WhileOnBattlefield))); this.addAbility(ability);
ability = new BeginningOfUpkeepTriggeredAbility(new SacrificeTargetEffect(), Constants.TargetController.YOU, false); this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new BoostEnchantedEffect(3, 3, Constants.Duration.WhileOnBattlefield)));
ability.addTarget(new TargetControlledCreaturePermanent());
ability = new BeginningOfUpkeepTriggeredAbility(
new DemonicAppetiteEffect(),
Constants.TargetController.YOU,
false);
ability.addTarget(new TargetControlledCreaturePermanent(true));
this.addAbility(ability); this.addAbility(ability);
} }
@ -76,5 +80,18 @@ public class DemonicAppetite extends CardImpl<DemonicAppetite> {
public DemonicAppetite copy() { public DemonicAppetite copy() {
return new DemonicAppetite(this); return new DemonicAppetite(this);
} }
}
class DemonicAppetiteEffect extends SacrificeTargetEffect {
DemonicAppetiteEffect() {
super();
staticText = "sacrifice a creature";
}
@Override
public DemonicAppetiteEffect copy() {
return new DemonicAppetiteEffect();
}
} }