コード例 #1
0
  public KolaghanStormsinger(UUID ownerId) {
    super(
        ownerId,
        145,
        "Kolaghan Stormsinger",
        Rarity.COMMON,
        new CardType[] {CardType.CREATURE},
        "{R}");
    this.expansionSetCode = "DTK";
    this.subtype.add("Human");
    this.subtype.add("Shaman");
    this.power = new MageInt(1);
    this.toughness = new MageInt(1);

    // Haste
    this.addAbility(HasteAbility.getInstance());
    // Megamorph {R}
    this.addAbility(new MorphAbility(this, new ManaCostsImpl("{R}"), true));

    // When Kolaghan Stormsinger is turned face up, target creature gains haste until end of turn.
    Ability ability =
        new TurnedFaceUpSourceTriggeredAbility(
            new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn), false);
    ability.addTarget(new TargetCreaturePermanent());
    this.addAbility(ability);
  }
コード例 #2
0
ファイル: CarnivalHellsteed.java プロジェクト: poixen/mage
  public CarnivalHellsteed(UUID ownerId) {
    super(
        ownerId,
        147,
        "Carnival Hellsteed",
        Rarity.RARE,
        new CardType[] {CardType.CREATURE},
        "{4}{B}{R}");
    this.expansionSetCode = "RTR";
    this.subtype.add("Nightmare");
    this.subtype.add("Horse");

    this.power = new MageInt(5);
    this.toughness = new MageInt(4);

    // First strike
    this.addAbility(FirstStrikeAbility.getInstance());

    // Haste
    this.addAbility(HasteAbility.getInstance());

    // Unleash (You may have this creature enter the battlefield with a +1/+1 counter on it. It
    // can't block as long as it has a +1/+1 counter on it.)
    this.addAbility(new UnleashAbility());
  }
コード例 #3
0
ファイル: OgreBattledriver.java プロジェクト: joshhazel/mage
  public OgreBattledriver(UUID ownerId) {
    super(
        ownerId,
        148,
        "Ogre Battledriver",
        Rarity.RARE,
        new CardType[] {CardType.CREATURE},
        "{2}{R}{R}");
    this.expansionSetCode = "M14";
    this.subtype.add("Ogre");
    this.subtype.add("Warrior");

    this.color.setRed(true);
    this.power = new MageInt(3);
    this.toughness = new MageInt(3);

    // Whenever another creature enters the battlefield under your control, that creature gets +2/+0
    // and gains haste until end of turn.
    Ability ability =
        new EntersBattlefieldAllTriggeredAbility(
            Zone.BATTLEFIELD,
            new BoostTargetEffect(2, 0, Duration.EndOfTurn),
            filter,
            false,
            true,
            rule,
            true);
    ability.addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn));
    this.addAbility(ability);
  }
コード例 #4
0
  public UrabraskTheHidden(UUID ownerId) {
    super(
        ownerId,
        98,
        "Urabrask the Hidden",
        Rarity.MYTHIC,
        new CardType[] {CardType.CREATURE},
        "{3}{R}{R}");
    this.expansionSetCode = "NPH";
    this.supertype.add("Legendary");
    this.subtype.add("Praetor");

    this.color.setRed(true);
    this.power = new MageInt(4);
    this.toughness = new MageInt(4);

    this.addAbility(
        new SimpleStaticAbility(
            Zone.BATTLEFIELD,
            new GainAbilityControlledEffect(
                HasteAbility.getInstance(),
                Duration.WhileOnBattlefield,
                new FilterControlledCreaturePermanent("Creatures"))));
    this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new UrabraskTheHiddenEffect()));
  }
コード例 #5
0
ファイル: GoblinRuinblaster.java プロジェクト: nigelzor/mage
  public GoblinRuinblaster(UUID ownerId, CardSetInfo setInfo) {
    super(ownerId, setInfo, new CardType[] {CardType.CREATURE}, "{2}{R}");

    this.subtype.add("Goblin");
    this.subtype.add("Shaman");
    this.power = new MageInt(2);
    this.toughness = new MageInt(1);

    // Kicker {R} (You may pay an additional {R} as you cast this spell.)
    this.addAbility(new KickerAbility("{R}"));

    // Haste
    this.addAbility(HasteAbility.getInstance());

    // When Goblin Ruinblaster enters the battlefield, if it was kicked, destroy target nonbasic
    // land.
    EntersBattlefieldTriggeredAbility ability =
        new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), false);
    ability.addTarget(new TargetNonBasicLandPermanent());
    this.addAbility(
        new ConditionalTriggeredAbility(
            ability,
            KickedCondition.getInstance(),
            "When {this} enters the battlefield, if it was kicked, destroy target nonbasic land."));
  }
コード例 #6
0
ファイル: FlinthoofBoar.java プロジェクト: poixen/mage
  public FlinthoofBoar(UUID ownerId) {
    super(
        ownerId,
        171,
        "Flinthoof Boar",
        Rarity.UNCOMMON,
        new CardType[] {CardType.CREATURE},
        "{1}{G}");
    this.expansionSetCode = "M13";
    this.subtype.add("Boar");

    this.power = new MageInt(2);
    this.toughness = new MageInt(2);

    // Flinthoof Boar gets +1/+1 as long as you control a Mountain.
    this.addAbility(
        new SimpleStaticAbility(
            Zone.BATTLEFIELD, new BoostSourceWhileControlsEffect(filter, 1, 1)));

    // {R}: Flinthoof Boar gains haste until end of turn.
    this.addAbility(
        new SimpleActivatedAbility(
            Zone.BATTLEFIELD,
            new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.EndOfTurn),
            new ManaCostsImpl("{R}")));
  }
コード例 #7
0
ファイル: GeierReachBandit.java プロジェクト: Blinke/mage
  public GeierReachBandit(UUID ownerId) {
    super(
        ownerId,
        159,
        "Geier Reach Bandit",
        Rarity.RARE,
        new CardType[] {CardType.CREATURE},
        "{2}{R}");
    this.expansionSetCode = "SOI";
    this.subtype.add("Human");
    this.subtype.add("Rogue");
    this.subtype.add("Werewolf");
    this.power = new MageInt(3);
    this.toughness = new MageInt(2);

    this.canTransform = true;
    this.secondSideCard = new VildinPackAlpha(ownerId);

    // Haste
    this.addAbility(HasteAbility.getInstance());

    // At the beginning of each upkeep, if no spells were cast last turn, transform Geier Reach
    // Bandit.
    this.addAbility(new TransformAbility());
    TriggeredAbility ability =
        new BeginningOfUpkeepTriggeredAbility(
            new TransformSourceEffect(true), TargetController.ANY, false);
    this.addAbility(
        new ConditionalTriggeredAbility(
            ability,
            NoSpellsWereCastLastTurnCondition.getInstance(),
            TransformAbility.NO_SPELLS_TRANSFORM_RULE));
  }
コード例 #8
0
  public AkutaBornOfAsh(UUID ownerId) {
    super(
        ownerId,
        61,
        "Akuta, Born of Ash",
        Rarity.RARE,
        new CardType[] {CardType.CREATURE},
        "{2}{B}{B}");
    this.expansionSetCode = "SOK";
    this.supertype.add("Legendary");
    this.subtype.add("Spirit");

    this.power = new MageInt(3);
    this.toughness = new MageInt(2);

    // Haste
    this.addAbility(HasteAbility.getInstance());
    // At the beginning of your upkeep, if you have more cards in hand than each opponent, you may
    // sacrifice a Swamp. If you do, return Akuta, Born of Ash from your graveyard to the
    // battlefield.
    Ability ability =
        new ConditionalTriggeredAbility(
            new BeginningOfUpkeepTriggeredAbility(
                Zone.GRAVEYARD,
                new DoIfCostPaid(
                    new ReturnSourceFromGraveyardToBattlefieldEffect(),
                    new SacrificeTargetCost(new TargetControlledPermanent(filterSwamp))),
                TargetController.YOU,
                false),
            new MoreCardsInHandThanOpponentsCondition(),
            "At the beginning of your upkeep, if you have more cards in hand than each opponent, you may sacrifice a Swamp. If you do, return {this} from your graveyard to the battlefield.");
    this.addAbility(ability);
  }
コード例 #9
0
ファイル: SwordOfVengeance.java プロジェクト: xdaft/mage
 public SwordOfVengeance(UUID ownerId) {
   super(
       ownerId, 216, "Sword of Vengeance", Rarity.RARE, new CardType[] {CardType.ARTIFACT}, "{3}");
   this.expansionSetCode = "M11";
   this.subtype.add("Equipment");
   this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(3)));
   this.addAbility(
       new SimpleStaticAbility(
           Zone.BATTLEFIELD,
           new GainAbilityAttachedEffect(
               FirstStrikeAbility.getInstance(), AttachmentType.EQUIPMENT)));
   this.addAbility(
       new SimpleStaticAbility(
           Zone.BATTLEFIELD,
           new GainAbilityAttachedEffect(TrampleAbility.getInstance(), AttachmentType.EQUIPMENT)));
   this.addAbility(
       new SimpleStaticAbility(
           Zone.BATTLEFIELD,
           new GainAbilityAttachedEffect(
               VigilanceAbility.getInstance(), AttachmentType.EQUIPMENT)));
   this.addAbility(
       new SimpleStaticAbility(
           Zone.BATTLEFIELD,
           new GainAbilityAttachedEffect(HasteAbility.getInstance(), AttachmentType.EQUIPMENT)));
   this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 0)));
 }
コード例 #10
0
  public DemigodOfRevenge(UUID ownerId) {
    super(
        ownerId,
        183,
        "Demigod of Revenge",
        Rarity.RARE,
        new CardType[] {CardType.CREATURE},
        "{B/R}{B/R}{B/R}{B/R}{B/R}");
    this.expansionSetCode = "SHM";
    this.subtype.add("Spirit");
    this.subtype.add("Avatar");

    this.power = new MageInt(5);
    this.toughness = new MageInt(4);

    // Flying
    this.addAbility(FlyingAbility.getInstance());

    // Haste
    this.addAbility(HasteAbility.getInstance());

    // When you cast Demigod of Revenge, return all cards named Demigod of Revenge from your
    // graveyard to the battlefield.
    this.addAbility(new CastSourceTriggeredAbility(new DemigodOfRevengeReturnEffect()));
  }
コード例 #11
0
  public MistcutterHydra(UUID ownerId) {
    super(
        ownerId,
        162,
        "Mistcutter Hydra",
        Rarity.RARE,
        new CardType[] {CardType.CREATURE},
        "{X}{G}");
    this.expansionSetCode = "THS";
    this.subtype.add("Hydra");

    this.power = new MageInt(0);
    this.toughness = new MageInt(0);

    // Mistcutter Hydra can't be countered.
    this.addAbility(new CantBeCounteredAbility());
    // Haste
    this.addAbility(HasteAbility.getInstance());
    // protection from blue
    this.addAbility(new ProtectionAbility(filter));
    // Mistcutter Hydra enters the battlefield with X +1/+1 counters on it.
    this.addAbility(
        new EntersBattlefieldAbility(
            new EntersBattlefieldWithXCountersEffect(CounterType.P1P1.createInstance())));
  }
コード例 #12
0
ファイル: LightningElemental.java プロジェクト: nigelzor/mage
  public LightningElemental(UUID ownerId, CardSetInfo setInfo) {
    super(ownerId, setInfo, new CardType[] {CardType.CREATURE}, "{3}{R}");
    this.subtype.add("Elemental");

    this.power = new MageInt(4);
    this.toughness = new MageInt(1);
    this.addAbility(HasteAbility.getInstance());
  }
コード例 #13
0
ファイル: ArcboundHybrid.java プロジェクト: nigelzor/mage
  public ArcboundHybrid(UUID ownerId, CardSetInfo setInfo) {
    super(ownerId, setInfo, new CardType[] {CardType.ARTIFACT, CardType.CREATURE}, "{4}");
    this.subtype.add("Beast");
    this.power = new MageInt(0);
    this.toughness = new MageInt(0);

    // Haste
    this.addAbility(HasteAbility.getInstance());
    // Modular 2
    this.addAbility(new ModularAbility(this, 2));
  }
コード例 #14
0
ファイル: MassHysteria.java プロジェクト: gitter-badger/mage
  public MassHysteria(UUID ownerId) {
    super(ownerId, 99, "Mass Hysteria", Rarity.RARE, new CardType[] {CardType.ENCHANTMENT}, "{R}");
    this.expansionSetCode = "MRD";

    this.addAbility(
        new SimpleStaticAbility(
            Zone.BATTLEFIELD,
            new GainAbilityAllEffect(
                HasteAbility.getInstance(),
                Duration.WhileOnBattlefield,
                new FilterCreaturePermanent(),
                false)));
  }
コード例 #15
0
ファイル: CrimsonWisps.java プロジェクト: gitter-badger/mage
  public CrimsonWisps(UUID ownerId) {
    super(ownerId, 88, "Crimson Wisps", Rarity.UNCOMMON, new CardType[] {CardType.INSTANT}, "{R}");
    this.expansionSetCode = "SHM";

    // Target creature becomes red and gains haste until end of turn.
    this.getSpellAbility().addTarget(new TargetCreaturePermanent());
    this.getSpellAbility()
        .addEffect(new BecomesColorTargetEffect(ObjectColor.RED, Duration.EndOfTurn));
    this.getSpellAbility()
        .addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn));

    // Draw a card.
    this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
  }
コード例 #16
0
ファイル: RealitySmasher.java プロジェクト: marthinwurer/mage
  public RealitySmasher(UUID ownerId) {
    super(ownerId, 7, "Reality Smasher", Rarity.RARE, new CardType[] {CardType.CREATURE}, "{4}{C}");
    this.expansionSetCode = "OGW";
    this.subtype.add("Eldrazi");
    this.power = new MageInt(5);
    this.toughness = new MageInt(5);

    // Trample
    this.addAbility(TrampleAbility.getInstance());
    // Haste
    this.addAbility(HasteAbility.getInstance());
    // Whenever Reality Smasher becomes the target of a spell an opponent controls, counter that
    // spell unless its controller discards a card.
    this.addAbility(new RealitySmasherTriggeredAbility());
  }
コード例 #17
0
ファイル: SuqAtaLancer.java プロジェクト: gitter-badger/mage
  public SuqAtaLancer(UUID ownerId) {
    super(
        ownerId, 69, "Suq'Ata Lancer", Rarity.COMMON, new CardType[] {CardType.CREATURE}, "{2}{R}");
    this.expansionSetCode = "TSB";
    this.subtype.add("Human");
    this.subtype.add("Knight");

    this.power = new MageInt(2);
    this.toughness = new MageInt(2);

    // Haste
    this.addAbility(HasteAbility.getInstance());
    // Flanking
    this.addAbility(new FlankingAbility());
  }
コード例 #18
0
ファイル: ShriekingMogg.java プロジェクト: poixen/mage
  public ShriekingMogg(UUID ownerId) {
    super(ownerId, 99, "Shrieking Mogg", Rarity.RARE, new CardType[] {CardType.CREATURE}, "{1}{R}");
    this.expansionSetCode = "NEM";
    this.subtype.add("Goblin");

    this.power = new MageInt(1);
    this.toughness = new MageInt(1);

    // Haste
    this.addAbility(HasteAbility.getInstance());

    // When Shrieking Mogg enters the battlefield, tap all other creatures.
    Ability ability = new EntersBattlefieldTriggeredAbility(new TapAllEffect(filter));
    this.addAbility(ability);
  }
コード例 #19
0
ファイル: AkromaAngelOfWrath.java プロジェクト: magefree/mage
  public AkromaAngelOfWrath(UUID ownerId, CardSetInfo setInfo) {
    super(ownerId, setInfo, new CardType[] {CardType.CREATURE}, "{5}{W}{W}{W}");
    this.supertype.add("Legendary");
    this.subtype.add("Angel");

    this.power = new MageInt(6);
    this.toughness = new MageInt(6);

    this.addAbility(FlyingAbility.getInstance());
    this.addAbility(FirstStrikeAbility.getInstance());
    this.addAbility(VigilanceAbility.getInstance());
    this.addAbility(TrampleAbility.getInstance());
    this.addAbility(HasteAbility.getInstance());
    // protection from black and from red
    this.addAbility(ProtectionAbility.from(ObjectColor.BLACK, ObjectColor.RED));
  }
コード例 #20
0
ファイル: ActOfTreason.java プロジェクト: gitter-badger/mage
  public ActOfTreason(UUID ownerId) {
    super(
        ownerId,
        124,
        "Act of Treason",
        Rarity.UNCOMMON,
        new CardType[] {CardType.SORCERY},
        "{2}{R}");
    this.expansionSetCode = "M10";

    // Gain control of target creature until end of turn. Untap that creature.
    // It gains haste until end of turn. (It can attack and {T} this turn.)
    this.getSpellAbility().addTarget(new TargetCreaturePermanent());
    this.getSpellAbility().addEffect(new GainControlTargetEffect(Duration.EndOfTurn));
    this.getSpellAbility().addEffect(new UntapTargetEffect());
    this.getSpellAbility()
        .addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn));
  }
コード例 #21
0
ファイル: SewnEyeDrake.java プロジェクト: xdaft/mage
 public SewnEyeDrake(UUID ownerId) {
   super(
       ownerId,
       135,
       "Sewn-Eye Drake",
       Rarity.COMMON,
       new CardType[] {CardType.CREATURE},
       "{2}{U/R}{B}");
   this.expansionSetCode = "ARB";
   this.subtype.add("Zombie");
   this.subtype.add("Drake");
   this.color.setBlack(true);
   this.color.setBlue(true);
   this.color.setRed(true);
   this.power = new MageInt(3);
   this.toughness = new MageInt(1);
   this.addAbility(FlyingAbility.getInstance());
   this.addAbility(HasteAbility.getInstance());
 }
コード例 #22
0
ファイル: GruesomeEncore.java プロジェクト: xdaft/mage
  @Override
  public boolean apply(Game game, Ability source) {
    Card card = game.getCard(source.getFirstTarget());
    if (card != null) {
      card.addAbility(HasteAbility.getInstance());
      card.putOntoBattlefield(game, Zone.GRAVEYARD, source.getId(), source.getControllerId());

      ExileTargetEffect exileEffect = new ExileTargetEffect();
      exileEffect.setTargetPointer(new FixedTarget(card.getId()));
      DelayedTriggeredAbility delayedAbility = new AtEndOfTurnDelayedTriggeredAbility(exileEffect);
      delayedAbility.setSourceId(source.getSourceId());
      delayedAbility.setControllerId(source.getControllerId());
      game.addDelayedTriggeredAbility(delayedAbility);

      return true;
    }

    return false;
  }
コード例 #23
0
ファイル: ChandrasPhoenix.java プロジェクト: jjmarcel/mage-1
  public ChandrasPhoenix(UUID ownerId) {
    super(
        ownerId,
        126,
        "Chandra's Phoenix",
        Rarity.RARE,
        new CardType[] {CardType.CREATURE},
        "{1}{R}{R}");
    this.expansionSetCode = "M12";
    this.subtype.add("Phoenix");

    this.color.setRed(true);
    this.power = new MageInt(2);
    this.toughness = new MageInt(2);

    this.addAbility(FlyingAbility.getInstance());
    this.addAbility(HasteAbility.getInstance());
    this.addAbility(new ChandrasPhoenixTriggeredAbility());
  }
コード例 #24
0
ファイル: MinotaurAggressor.java プロジェクト: poixen/mage
  public MinotaurAggressor(UUID ownerId) {
    super(
        ownerId,
        100,
        "Minotaur Aggressor",
        Rarity.UNCOMMON,
        new CardType[] {CardType.CREATURE},
        "{6}{R}");
    this.expansionSetCode = "RTR";
    this.subtype.add("Minotaur");
    this.subtype.add("Berserker");

    this.power = new MageInt(6);
    this.toughness = new MageInt(2);

    // First strike, haste
    this.addAbility(FirstStrikeAbility.getInstance());
    this.addAbility(HasteAbility.getInstance());
  }
コード例 #25
0
  public LuBuMasterAtArms(UUID ownerId) {
    super(
        ownerId,
        108,
        "Lu Bu, Master-at-Arms",
        Rarity.RARE,
        new CardType[] {CardType.CREATURE},
        "{5}{R}");
    this.expansionSetCode = "ME3";
    this.supertype.add("Legendary");
    this.subtype.add("Human");
    this.subtype.add("Soldier");
    this.subtype.add("Warrior");
    this.power = new MageInt(4);
    this.toughness = new MageInt(3);

    // Haste; horsemanship
    this.addAbility(HasteAbility.getInstance());
    this.addAbility(HorsemanshipAbility.getInstance());
  }
コード例 #26
0
  public ConcordantCrossroads(UUID ownerId) {
    super(
        ownerId,
        114,
        "Concordant Crossroads",
        Rarity.RARE,
        new CardType[] {CardType.ENCHANTMENT},
        "{G}");
    this.expansionSetCode = "ME3";
    this.supertype.add("World");

    // All creatures have haste.
    this.addAbility(
        new SimpleStaticAbility(
            Zone.BATTLEFIELD,
            new GainAbilityAllEffect(
                HasteAbility.getInstance(),
                Duration.WhileOnBattlefield,
                new FilterCreaturePermanent("Creatures"))));
  }
コード例 #27
0
ファイル: AkromasMemorial.java プロジェクト: xdaft/mage
 @Override
 public void build() {
   // Creatures you control have flying, first strike, vigilance, trample, haste, and protection
   // from black and from red.
   CompoundAbility abilities =
       new CompoundAbility(
           FlyingAbility.getInstance(),
           FirstStrikeAbility.getInstance(),
           VigilanceAbility.getInstance(),
           TrampleAbility.getInstance(),
           HasteAbility.getInstance(),
           new ProtectionAbility(filterBlack),
           new ProtectionAbility(filterRed));
   this.addAbility(
       new SimpleStaticAbility(
           Constants.Zone.BATTLEFIELD,
           new GainAbilityControlledEffect(
               abilities,
               Constants.Duration.WhileOnBattlefield,
               new FilterControlledCreaturePermanent("Creatures you control"))));
 }
コード例 #28
0
ファイル: SwiftfootBoots.java プロジェクト: joshhazel/mage
 public SwiftfootBoots(UUID ownerId) {
   super(
       ownerId,
       219,
       "Swiftfoot Boots",
       Rarity.UNCOMMON,
       new CardType[] {CardType.ARTIFACT},
       "{2}");
   this.expansionSetCode = "M12";
   this.subtype.add("Equipment");
   this.addAbility(
       new SimpleStaticAbility(
           Zone.BATTLEFIELD,
           new GainAbilityAttachedEffect(
               HexproofAbility.getInstance(), AttachmentType.EQUIPMENT)));
   this.addAbility(
       new SimpleStaticAbility(
           Zone.BATTLEFIELD,
           new GainAbilityAttachedEffect(HasteAbility.getInstance(), AttachmentType.EQUIPMENT)));
   this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(1)));
 }
コード例 #29
0
ファイル: RakdosRagemutt.java プロジェクト: joshhazel/mage
  public RakdosRagemutt(UUID ownerId) {
    super(
        ownerId,
        185,
        "Rakdos Ragemutt",
        Rarity.UNCOMMON,
        new CardType[] {CardType.CREATURE},
        "{3}{B}{R}");
    this.expansionSetCode = "RTR";
    this.subtype.add("Elemental");
    this.subtype.add("Hound");

    this.color.setRed(true);
    this.color.setBlack(true);
    this.power = new MageInt(3);
    this.toughness = new MageInt(3);

    // Lifelink
    this.addAbility(LifelinkAbility.getInstance());
    // Haste
    this.addAbility(HasteAbility.getInstance());
  }
コード例 #30
0
ファイル: TraitorousBlood.java プロジェクト: kholdfuzion/mage
  public TraitorousBlood(UUID ownerId) {
    super(
        ownerId,
        166,
        "Traitorous Blood",
        Rarity.COMMON,
        new CardType[] {CardType.SORCERY},
        "{1}{R}{R}");
    this.expansionSetCode = "ISD";

    this.color.setRed(true);

    // Gain control of target creature until end of turn. Untap it. It gains trample and haste until
    // end of turn.
    this.getSpellAbility().addTarget(new TargetCreaturePermanent());
    this.getSpellAbility().addEffect(new GainControlTargetEffect(Duration.EndOfTurn));
    this.getSpellAbility().addEffect(new UntapTargetEffect());
    this.getSpellAbility()
        .addEffect(new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn));
    this.getSpellAbility()
        .addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn));
  }