예제 #1
0
파일: Hankyu.java 프로젝트: Nick456/mage
  public Hankyu(UUID ownerId) {
    super(ownerId, 253, "Hankyu", Rarity.UNCOMMON, new CardType[] {CardType.ARTIFACT}, "{1}");
    this.expansionSetCode = "CHK";
    this.subtype.add("Equipment");

    /* Equipped creature has "{T}: Put an aim counter on Hankyu" and */
    SimpleActivatedAbility ability1 =
        new SimpleActivatedAbility(
            Zone.BATTLEFIELD, new HankyuAddCounterEffect(this.getId()), new TapSourceCost());
    ability1.setSourceId(this.getId()); // to know where to put the counters on
    this.addAbility(
        new SimpleStaticAbility(
            Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ability1, AttachmentType.EQUIPMENT)));

    /* "{T}, Remove all aim counters from Hankyu: This creature deals
     * damage to target creature or player equal to the number of
     * aim counters removed this way." */
    SimpleActivatedAbility ability2 =
        new SimpleActivatedAbility(
            Zone.BATTLEFIELD, new HankyuDealsDamageEffect(), new TapSourceCost());
    ability2.addCost(new HankyuCountersSourceCost(this.getId()));
    ability2.addTarget(new TargetCreatureOrPlayer());
    this.addAbility(
        new SimpleStaticAbility(
            Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ability2, AttachmentType.EQUIPMENT)));

    // Equip {4} ({4}: Attach to target creature you control. Equip only as a sorcery.)
    this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(4)));
  }
예제 #2
0
  public FlailingOgre(UUID ownerId, CardSetInfo setInfo) {
    super(ownerId, setInfo, new CardType[] {CardType.CREATURE}, "{2}{R}");
    this.subtype.add("Ogre");
    this.power = new MageInt(3);
    this.toughness = new MageInt(3);

    // {1}: Flailing Ogre gets +1/+1 until end of turn. Any player may activate this ability.
    SimpleActivatedAbility ability =
        new SimpleActivatedAbility(
            Zone.BATTLEFIELD,
            new BoostSourceEffect(1, 1, Duration.EndOfTurn),
            new ManaCostsImpl("{1}"));
    ability.setMayActivate(TargetController.ANY);
    ability.addEffect(new InfoEffect("Any player may activate this ability"));
    this.addAbility(ability);
    // {1}: Flailing Ogre gets -1/-1 until end of turn. Any player may activate this ability.
    ability =
        new SimpleActivatedAbility(
            Zone.BATTLEFIELD,
            new BoostSourceEffect(-1, -1, Duration.EndOfTurn),
            new ManaCostsImpl("{1}"));
    ability.setMayActivate(TargetController.ANY);
    ability.addEffect(new InfoEffect("Any player may activate this ability"));
    this.addAbility(ability);
  }
예제 #3
0
  public MyrTurbine(UUID ownerId, CardSetInfo setInfo) {
    super(ownerId, setInfo, new CardType[] {CardType.ARTIFACT}, "{5}");

    this.addAbility(
        new SimpleActivatedAbility(
            Zone.BATTLEFIELD, new CreateTokenEffect(new MyrToken()), new TapSourceCost()));
    SimpleActivatedAbility ability =
        new SimpleActivatedAbility(
            Zone.BATTLEFIELD,
            new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filterCard)),
            new TapSourceCost());
    ability.addCost(new TapTargetCost(new TargetControlledPermanent(5, 5, filterMyr, true)));
    this.addAbility(ability);
  }
예제 #4
0
  public HelmOfObedience(UUID ownerId) {
    super(
        ownerId, 163, "Helm of Obedience", Rarity.RARE, new CardType[] {CardType.ARTIFACT}, "{4}");
    this.expansionSetCode = "ALL";

    // {X}, {tap}: Target opponent puts cards from the top of his or her library into his or her
    // graveyard until a creature card or X cards are put into that graveyard this way, whichever
    // comes first. If a creature card is put into that graveyard this way, sacrifice Helm of
    // Obedience and put that card onto the battlefield under your control. X can't be 0.
    SimpleActivatedAbility abilitiy =
        new SimpleActivatedAbility(
            Constants.Zone.BATTLEFIELD, new HelmOfObedienceEffect(), new TapSourceCost());
    abilitiy.addCost(new VariableManaCost());
    abilitiy.addTarget(new TargetOpponent());
    this.addAbility(abilitiy);
  }
예제 #5
0
  public Dreadwing(UUID ownerId) {
    super(ownerId, 43, "Dreadwing", Rarity.UNCOMMON, new CardType[] {CardType.CREATURE}, "{B}");
    this.expansionSetCode = "CON";
    this.subtype.add("Zombie");

    this.power = new MageInt(1);
    this.toughness = new MageInt(1);
    SimpleActivatedAbility ability =
        new SimpleActivatedAbility(
            Zone.BATTLEFIELD,
            new BoostSourceEffect(3, 0, Duration.EndOfTurn),
            new ManaCostsImpl(("{1}{U}{B}")));
    ability
        .getEffects()
        .add(new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn));
    this.addAbility(ability);
  }
예제 #6
0
  public UnyaroGriffin(UUID ownerId, CardSetInfo setInfo) {
    super(ownerId, setInfo, new CardType[] {CardType.CREATURE}, "{3}{W}");
    this.subtype.add("Griffin");

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

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

    // Sacrifice Unyaro Griffin: Counter target red instant or sorcery spell.
    SimpleActivatedAbility ability =
        new SimpleActivatedAbility(
            Zone.BATTLEFIELD, new CounterTargetEffect(), new SacrificeSourceCost());
    ability.addTarget(new TargetSpell(filter));
    this.addAbility(ability);
  }
예제 #7
0
  public EmbodimentOfSpring(UUID ownerId, CardSetInfo setInfo) {
    super(ownerId, setInfo, new CardType[] {CardType.CREATURE}, "{U}");
    this.subtype.add("Elemental");

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

    // {1}{G}, {T}, Sacrifice Embodiment of Spring: Search your library for a basic land card, put
    // it onto the battlefield tapped, then shuffle your library.
    SimpleActivatedAbility ability =
        new SimpleActivatedAbility(
            Zone.BATTLEFIELD,
            new SearchLibraryPutInPlayEffect(
                new TargetCardInLibrary(new FilterBasicLandCard()), true),
            new ManaCostsImpl("{1}{G}"));
    ability.addCost(new TapSourceCost());
    ability.addCost(new SacrificeSourceCost());
    this.addAbility(ability);
  }
예제 #8
0
  public Cursecatcher(UUID ownerId) {
    super(ownerId, 34, "Cursecatcher", Rarity.UNCOMMON, new CardType[] {CardType.CREATURE}, "{U}");
    this.expansionSetCode = "SHM";
    this.subtype.add("Merfolk");
    this.subtype.add("Wizard");

    this.color.setBlue(true);
    this.power = new MageInt(1);
    this.toughness = new MageInt(1);

    // Sacrifice Cursecatcher: Counter target instant or sorcery spell unless its controller pays
    // {1}.
    SimpleActivatedAbility ability =
        new SimpleActivatedAbility(
            Zone.BATTLEFIELD,
            new CounterUnlessPaysEffect(new GenericManaCost(1)),
            new SacrificeSourceCost());
    ability.addTarget(new TargetSpell(filter));
    this.addAbility(ability);
  }
예제 #9
0
  public FeralHydra(UUID ownerId) {
    super(ownerId, 131, "Feral Hydra", Rarity.RARE, new CardType[] {CardType.CREATURE}, "{X}{G}");
    this.expansionSetCode = "ALA";
    this.subtype.add("Hydra");
    this.subtype.add("Beast");

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

    // Feral Hydra enters the battlefield with X +1/+1 counters on it.
    this.addAbility(new EntersBattlefieldAbility(new FeralHydraEffect(), true));
    // {3}: Put a +1/+1 counter on Feral Hydra. Any player may activate this ability.
    SimpleActivatedAbility ability =
        new SimpleActivatedAbility(
            Zone.BATTLEFIELD,
            new AddCountersSourceEffect(CounterType.P1P1.createInstance()),
            new ManaCostsImpl("{3}"));
    ability.setMayActivate(TargetController.ANY);
    ability.addEffect(new InfoEffect("Any player may activate this ability"));
    this.addAbility(ability);
  }
예제 #10
0
  public VampireHexmage(UUID ownerId) {
    super(
        ownerId,
        114,
        "Vampire Hexmage",
        Rarity.UNCOMMON,
        new CardType[] {CardType.CREATURE},
        "{B}{B}");
    this.expansionSetCode = "ZEN";
    this.subtype.add("Vampire");
    this.subtype.add("Shaman");

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

    this.addAbility(FirstStrikeAbility.getInstance());

    SimpleActivatedAbility vampireHexmageAbility =
        new SimpleActivatedAbility(
            Zone.BATTLEFIELD, new VampireHexmageEffect(), new SacrificeSourceCost());
    vampireHexmageAbility.addTarget(new TargetPermanent());
    this.addAbility(vampireHexmageAbility);
  }