package mage.cards.g; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.effects.Effect; import mage.abilities.effects.mana.AddManaOfAnyColorEffect; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect; import mage.abilities.keyword.EnchantAbility; import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; import mage.target.common.TargetLandPermanent; /** * * @author fireshoes */ public final class GiftOfParadise extends CardImpl { public GiftOfParadise(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{G}"); this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); this.getSpellAbility().addTarget(auraTarget); this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); // When Gift of Paradise enters the battlefield, you gain 3 life. this.addAbility(new EntersBattlefieldTriggeredAbility(new GainLifeEffect(3))); // Enchanted land has "{T}: Add two mana of any one color." Ability gainedAbility = new SimpleManaAbility(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(2), new TapSourceCost()); Effect effect = new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA); effect.setText("Enchanted land has \"{T}: Add two mana of any one color.\""); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)); } private GiftOfParadise(final GiftOfParadise card) { super(card); } @Override public GiftOfParadise copy() { return new GiftOfParadise(this); } }